summaryrefslogtreecommitdiff
path: root/data/en_us/hbr/2017-09-08/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/hbr/2017-09-08/api-docs.php
downloadacs-metadata-full-main.tar.gz
acs-metadata-full-main.zip
Diffstat (limited to 'data/en_us/hbr/2017-09-08/api-docs.php')
-rw-r--r--data/en_us/hbr/2017-09-08/api-docs.php18105
1 files changed, 18105 insertions, 0 deletions
diff --git a/data/en_us/hbr/2017-09-08/api-docs.php b/data/en_us/hbr/2017-09-08/api-docs.php
new file mode 100644
index 0000000..b8a3b5d
--- /dev/null
+++ b/data/en_us/hbr/2017-09-08/api-docs.php
@@ -0,0 +1,18105 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'hbr',
+ 'version' => '2017-09-08',
+ ],
+ 'directories' => [
+ [
+ 'id' => 129544,
+ 'title' => 'Backup vaults',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateVault',
+ 'CreateReplicationVault',
+ 'DeleteVault',
+ 'UpdateVault',
+ 'DescribeVaults',
+ ],
+ ],
+ [
+ 'id' => 129550,
+ 'title' => 'Backup plans',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateBackupPlan',
+ 'DeleteBackupPlan',
+ 'DisableBackupPlan',
+ 'EnableBackupPlan',
+ 'UpdateBackupPlan',
+ 'DescribeBackupPlans',
+ 'ExecuteBackupPlan',
+ ],
+ ],
+ [
+ 'id' => 176845,
+ 'title' => 'Backup policies',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreatePolicyV2',
+ 'DeletePolicyV2',
+ 'UpdatePolicyV2',
+ 'DescribePoliciesV2',
+ 'CreatePolicyBindings',
+ 'DeletePolicyBinding',
+ 'UpdatePolicyBinding',
+ 'DescribePolicyBindings',
+ 'ExecutePolicyV2',
+ ],
+ ],
+ [
+ 'id' => 129558,
+ 'title' => 'Backup clients',
+ 'type' => 'directory',
+ 'children' => [
+ 'DeleteBackupClient',
+ 'DeleteBackupClientResource',
+ 'UpdateClientSettings',
+ 'DescribeBackupClients',
+ 'InstallBackupClients',
+ 'UninstallBackupClients',
+ 'UpgradeBackupClients',
+ ],
+ ],
+ [
+ 'id' => 129566,
+ 'title' => 'Backup files',
+ 'type' => 'directory',
+ 'children' => [
+ 'DeleteSnapshot',
+ 'DescribeOtsTableSnapshots',
+ 'DescribeRecoverableOtsInstances',
+ 'SearchHistoricalSnapshots',
+ 'DescribeUdmSnapshots',
+ ],
+ ],
+ [
+ 'id' => 129571,
+ 'title' => 'Restore jobs',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateRestoreJob',
+ 'CancelRestoreJob',
+ 'DescribeRestoreJobs2',
+ ],
+ ],
+ [
+ 'id' => 129575,
+ 'title' => 'Backup jobs',
+ 'type' => 'directory',
+ 'children' => [
+ 'CancelBackupJob',
+ 'CreateBackupJob',
+ 'DescribeBackupJobs2',
+ ],
+ ],
+ [
+ 'id' => 166794,
+ 'title' => 'Backup of SAP HANA ',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateHanaBackupPlan',
+ 'CreateHanaInstance',
+ 'CreateClients',
+ 'DeleteClient',
+ 'CreateHanaRestore',
+ 'DeleteHanaBackupPlan',
+ 'DeleteHanaInstance',
+ 'UninstallClient',
+ 'UpdateHanaBackupPlan',
+ 'EnableHanaBackupPlan',
+ 'DisableHanaBackupPlan',
+ 'UpdateHanaInstance',
+ 'UpgradeClient',
+ 'StartHanaDatabaseAsync',
+ 'StopHanaDatabaseAsync',
+ 'UpdateHanaRetentionSetting',
+ 'UpdateHanaBackupSetting',
+ 'DescribeHanaBackupPlans',
+ 'DescribeHanaInstances',
+ 'DescribeClients',
+ 'DescribeHanaDatabases',
+ 'DescribeHanaRetentionSetting',
+ 'DescribeHanaBackupSetting',
+ 'DescribeHanaBackupsAsync',
+ 'DescribeHanaRestores',
+ ],
+ ],
+ [
+ 'id' => 199966,
+ 'title' => 'ECS Backup Basic Edition',
+ 'type' => 'directory',
+ 'children' => [
+ 'DeleteAirEcsInstance',
+ ],
+ ],
+ [
+ 'id' => 170460,
+ 'title' => 'Others',
+ 'type' => 'directory',
+ 'children' => [
+ 'OpenHbrService',
+ 'AddContainerCluster',
+ 'UpdateContainerCluster',
+ 'DescribeRegions',
+ 'DescribeTask',
+ 'DescribeVaultReplicationRegions',
+ 'DescribeContainerCluster',
+ 'DetachNasFileSystem',
+ 'GenerateRamPolicy',
+ 'ChangeResourceGroup',
+ 'CreateTempFileUploadUrl',
+ 'GetTempFileDownloadLink',
+ 'CheckRole',
+ 'DescribeCrossAccounts',
+ 'DescribeCrossAccounts',
+ 'DeleteUdmEcsInstance',
+ 'DeleteUdmDisk',
+ ],
+ ],
+ [
+ 'id' => 0,
+ 'title' => '其它',
+ 'type' => 'directory',
+ 'children' => [
+ 'AddCrossAccount',
+ 'DeleteCrossAccount',
+ 'ListProtectedResources',
+ 'CreateVaultReplication',
+ 'DeleteVaultReplication',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [
+ 'OtsDetail' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The names of the Tablestore tables.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TableNames' => [
+ 'title' => 'OTS table name list',
+ 'description' => 'public',
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the Tablestore table.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => '["table1", "table2", "table3"]',
+ 'extendType' => 'true',
+ ],
+ 'backendName' => 'tableNames',
+ ],
+ ],
+ ],
+ 'OtsTableRestoreDetail' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The information about the restoration of the Tablestore instance.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'object',
+ 'properties' => [
+ 'OverwriteExisting' => [
+ 'title' => 'Overwrite existing table or not',
+ 'description' => 'Specifies whether to overwrite existing tables.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'backendName' => 'overwriteExisting',
+ ],
+ 'RestoreIndex' => [
+ 'title' => 'Restore index or not',
+ 'description' => 'Specifies whether to restore indexes.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'backendName' => 'restoreIndex',
+ ],
+ 'IndexNameSuffix' => [
+ 'title' => 'Specify a suffix to restored index name',
+ 'description' => 'The name prefixes of the indexes that you want to restore.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'string',
+ 'example' => '2022xxxx143933',
+ 'backendName' => 'indexNameSuffix',
+ ],
+ 'RestoreSearchIndex' => [
+ 'title' => 'Restore search index or not',
+ 'description' => 'Specifies whether to restore search indexes.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'backendName' => 'restoreSearchIndex',
+ ],
+ 'SearchIndexNameSuffix' => [
+ 'title' => 'Specify a suffix to restored search index name',
+ 'description' => 'The name prefixes of the search indexes that you want to restore.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'string',
+ 'example' => '2022xxxx143933',
+ 'backendName' => 'searchIndexNameSuffix',
+ ],
+ 'ReGenerateAutoIncrementPK' => [
+ 'title' => 'Re-generate auto incrmental primary key or not',
+ 'description' => 'Specifies whether to regenerate auto-increment primary keys.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'backendName' => 'reGenerateAutoIncrementPK',
+ ],
+ 'BatchChannelCount' => [
+ 'title' => 'Concurrent processing channel count for each restore task',
+ 'description' => 'The number of concurrent processes for each restore job.'."\n",
+ 'visibility' => 'public',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ 'backendName' => 'batchChannelCount',
+ ],
+ ],
+ ],
+ 'Report' => [
+ 'title' => '',
+ 'description' => 'The report.',
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalFiles' => [
+ 'title' => '',
+ 'description' => 'The report path of total files.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'temp/report/r-0000dnz7p4pk31u6madf_total.csv',
+ 'backendName' => 'totalFiles',
+ ],
+ 'SuccessFiles' => [
+ 'title' => '',
+ 'description' => 'The report path of success files.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'temp/report/r-0000dnz7p4pk31u6madf_success.csv',
+ 'backendName' => 'successFiles',
+ ],
+ 'FailedFiles' => [
+ 'title' => '',
+ 'description' => 'The report path of failed files.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'temp/report/r-0000dnz7p4pk31u6madf_failed.csv',
+ 'backendName' => 'failedFiles',
+ ],
+ 'SkippedFiles' => [
+ 'title' => '',
+ 'description' => 'The report path of skipped files.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'temp/report/r-0000dnz7p4pk31u6madf_skipped.csv',
+ 'backendName' => 'skippedFiles',
+ ],
+ ],
+ ],
+ 'Rule' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'A short description of struct',
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'DestinationRetention' => [
+ 'title' => 'retention for remote replication',
+ 'description' => 'The retention period of remote backups. Minimum value: 1. Unit: days.',
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ 'backendName' => 'destinationRetention',
+ ],
+ 'Schedule' => [
+ 'title' => 'schedule setting',
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **BACKUP**. This parameter indicates the backup schedule settings. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'I|1631685600|P1D',
+ 'backendName' => 'schedule',
+ ],
+ 'Retention' => [
+ 'title' => 'retention of backup',
+ 'description' => 'This parameter indicates the retention period of the backup data. Minimum value: 1. Unit: days.',
+ 'visibility' => 'Public',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ 'backendName' => 'retention',
+ ],
+ 'Disabled' => [
+ 'title' => 'disable the rule or not',
+ 'description' => 'Whether the plan is disbaled for this data source.'."\n"
+ .'- **true**: disabled'."\n"
+ .'- **false**: Not disabled',
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ 'backendName' => 'disabled',
+ ],
+ 'DoCopy' => [
+ 'title' => 'copy to other region',
+ 'description' => 'Whether do copy.',
+ 'visibility' => 'Public',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ 'backendName' => 'doCopy',
+ ],
+ 'DestinationRegionId' => [
+ 'title' => 'copy target region id',
+ 'description' => 'The replication region id.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'cn-shenzhen',
+ 'backendName' => 'destinationRegionId',
+ ],
+ 'RuleName' => [
+ 'title' => 'rule name',
+ 'description' => 'The rule name.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'rule-com-backup-20241023-163113',
+ 'backendName' => 'ruleName',
+ ],
+ 'BackupType' => [
+ 'title' => 'backup type',
+ 'description' => 'The backup type.'."\n"
+ .'* COMPLETE:Full backup.'."\n"
+ .'* INCREMENTAL:Incremental backup.',
+ 'visibility' => 'Public',
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ 'backendName' => 'backupType',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'CreateVault' => [
+ 'summary' => 'Creates a backup vault.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95458',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrIA0YQI',
+ 'FEATUREhbrI97IXK',
+ 'FEATUREhbrTH4MM4',
+ 'FEATUREhbrAL60OZ',
+ 'FEATUREhbr9ZUQY7',
+ ],
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the backup vault resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'VaultName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup vault. The name must be 1 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'backupvaultname',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the backup vault. The description must be 0 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'description',
+ ],
+ ],
+ [
+ 'name' => 'VaultType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* **STANDARD**: standard backup vault'."\n"
+ .'* **OTS_BACKUP**: backup vault for Tablestore'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'OTS_BACKUP' => '',
+ 'STANDARD' => '',
+ ],
+ 'example' => 'STANDARD',
+ 'default' => 'STANDARD',
+ ],
+ ],
+ [
+ 'name' => 'VaultStorageClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The storage type of the backup vault.'."\n"
+ ."\n"
+ .'* **STANDARD**: standard storage.'."\n"
+ .'* **ARCHIVE**: This parameter is deprecated.'."\n"
+ .'* **COLD_ARCHIVE**: This parameter is deprecated.'."\n"
+ .'* **IA**: This parameter is deprecated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'STANDARD',
+ 'default' => 'STANDARD',
+ 'enum' => [
+ 'STANDARD',
+ 'IA',
+ 'ARCHIVE',
+ 'COLD_ARCHIVE',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'WormEnabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the immutable backup feature.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'EncryptType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The method that is used to encrypt the source data. This parameter is valid only if you set the VaultType parameter to STANDARD or OTS_BACKUP. Valid values:'."\n"
+ ."\n"
+ .'* **HBR_PRIVATE**: The source data is encrypted by using the built-in encryption method of Hybrid Backup Recovery (HBR).'."\n"
+ .'* **KMS**: The source data is encrypted by using Key Management Service (KMS).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'KMS' => '',
+ 'HBR_PRIVATE' => '',
+ ],
+ 'example' => 'KMS',
+ ],
+ ],
+ [
+ 'name' => 'KmsKeyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The customer master key (CMK) created in KMS or the alias of the key. This parameter is required only if you set the EncryptType parameter to KMS.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'alias/yzs-hhht',
+ ],
+ ],
+ [
+ 'name' => 'Replication',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the initialization task used to initialize the backup vault. You can call the DescribeTask operation to query the status of an initialization task.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VaultId\\": \\"v-*********************\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"TaskId\\": \\"t-*********************\\"\\n}","type":"json"}]',
+ 'title' => 'CreateVault',
+ 'description' => '* Each Alibaba Cloud account can create up to 100 backup vaults.'."\n"
+ ."\n"
+ .'* After a backup vault is created, the backup vault is in the INITIALIZING state, and the system automatically runs an initialization task to initialize the backup vault. After the initialization task is completed, the backup vault is in the CREATED state. A backup job can use a backup vault to store backup data only if the backup vault is in the CREATED state.'."\n"
+ ."\n"
+ .' **'."\n"
+ ."\n"
+ .' **Note** Before you call this operation, make sure that you fully understand the billing of Cloud Backup.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateReplicationVault' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '95445',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrGSUVI2',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the backup vault resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'VaultName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup vault. The name must be 1 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'mirrorvaultname',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the backup vault. The description must be 0 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'description',
+ ],
+ ],
+ [
+ 'name' => 'VaultStorageClass',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The storage type of the backup vault. Valid value: **STANDARD**, which indicates standard storage.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'STANDARD',
+ 'default' => 'STANDARD',
+ 'enum' => [
+ 'STANDARD',
+ 'IA',
+ 'ARCHIVE',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ReplicationSourceVaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ReplicationSourceRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the source vault resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'RedundancyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data redundancy type of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* LRS: standard locally redundant storage (LRS). Cloud Backup stores the copies of each object on multiple devices of different facilities in the same zone. This way, Cloud Backup ensures data durability and availability even if hardware failures occur.'."\n"
+ .'* ZRS: standard zone-redundant storage (ZRS). Cloud Backup uses the multi-zone mechanism to distribute data across three zones within the same region. If a zone fails, the data that is stored in the other two zones is still accessible.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LRS',
+ ],
+ ],
+ [
+ 'name' => 'EncryptType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The method that is used to encrypt the source data. This parameter is valid only if you set the VaultType parameter to STANDARD or OTS_BACKUP. Valid values:'."\n"
+ ."\n"
+ .'* **HBR_PRIVATE**: The source data is encrypted by using the built-in encryption method of Hybrid Backup Recovery (HBR).'."\n"
+ .'* **KMS**: The source data is encrypted by using Key Management Service (KMS).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HBR_PRIVATE',
+ ],
+ ],
+ [
+ 'name' => 'KmsKeyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The customer master key (CMK) created in KMS or the alias of the key. This parameter is required only if you set the EncryptType parameter to KMS.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'alias/test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the job that is used to initialize the backup vault. You can call the DescribeTask operation to query the job status.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"VaultId\\": \\"v-*********************\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"TaskId\\": \\"t-*********************\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateReplicationVaultResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <VaultId>v-*********************</VaultId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <TaskId>t-*********************</TaskId>\\n</CreateReplicationVaultResponse>","errorExample":""}]',
+ 'title' => 'CreateReplicationVault',
+ 'summary' => 'Creates a mirror vault.',
+ 'description' => 'After a backup vault is created, the backup vault is in the INITIALIZING state, and the system automatically runs an initialization task to initialize the backup vault. After the initialization task is completed, the backup vault is in the CREATED state.Call this operation in the region where the mirror vault resides, which is specified by the VaultRegionId parameter.',
+ ],
+ 'DeleteVault' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a*',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmoiyerpacj4q',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteVaultResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteVaultResponse>","errorExample":""}]',
+ 'title' => 'DeleteVault',
+ 'summary' => 'Deletes a backup vault.',
+ 'description' => '* You cannot delete a backup vault within 2 hours after the backup vault is created or a backup vault that is in the INITIALIZING state.'."\n"
+ .'* After you delete a backup vault, all resources that are associated with the backup vault are deleted. The resources include the Cloud Backup client of the old version, backup plans, backup jobs, snapshots, and restore jobs.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateVault' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95698',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrKJCQWH',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbr7WEYAR',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbrF83GXN',
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrIA0YQI',
+ 'FEATUREhbrI97IXK',
+ 'FEATUREhbrTH4MM4',
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup vault. The name must be 1 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vaultname',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the backup vault. The description must be 0 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vault description',
+ ],
+ ],
+ [
+ 'name' => 'WormEnabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the immutable backup feature for storage vaults. After the immutable backup feature is enabled, backup vaults and all backup data cannot be deleted until the retention period expires. The immutable backup feature cannot be disabled after it is enabled. Only standard backup vaults and archive vaults support the immutable backup feature.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2fa2xeiebyy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, a success message is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateVaultResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</UpdateVaultResponse>","errorExample":""}]',
+ 'title' => 'UpdateVault',
+ 'summary' => 'Updates the configuration information about the backup vault.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeVaults' => [
+ 'summary' => 'Queries the information about one or more backup vaults that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95569',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrFJ9107',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Backup vault ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID to which the backup vault belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* **UNKNOWN**: The backup vault is in an unknown state.'."\n"
+ .'* **INITIALIZING**: The backup vault is being initialized.'."\n"
+ .'* **CREATED**: The backup vault is created.'."\n"
+ .'* **ERROR**: An error occurs on the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CREATED',
+ 'enum' => [
+ 'UNKNOWN',
+ 'CREATED',
+ 'ERROR',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'VaultType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Backup repository type. The values are as follows: '."\n"
+ .'- **STANDARD**: Represents a standard repository, which can be used for ECS file backups, OSS backups, NAS backups, etc. '."\n"
+ .'- **OTS_BACKUP**: Represents a TableStore repository, which is only used for TableStore backups, and TableStore must use this type of repository.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'STANDARD',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Tag information. Supports up to 20 tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Tag information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the tag.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The Value of the tag.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'value1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'example' => '6a745bceffb042959b3b5206d6f12ad1',
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup vault. The name must be 1 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vaultname',
+ ],
+ ],
+ [
+ 'name' => 'VaultOwnerId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ ],
+ [
+ 'name' => 'Replication',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.'."\n"
+ .'- true: Success - false: Failure',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'Page number for pagination, starting from 1. The default value is 1.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'Page size, with a minimum value of 1, a maximum value of 99, and a default value of 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'Returns the total number of backup repositories.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'Vaults' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Vault' => [
+ 'description' => 'The backup vaults.'."\n",
+ 'example' => '{\'Vault\': []}',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The backup vaults.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* **UNKNOWN**: The backup vault is in an unknown state.'."\n"
+ .'* **INITIALIZING**: The backup vault is being initialized.'."\n"
+ .'* **CREATED**: The backup vault is created.'."\n"
+ .'* **ERROR**: An error occurs on the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'CREATED',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'ChargeType' => [
+ 'description' => 'The billing method of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'FREE',
+ ],
+ 'VaultType' => [
+ 'description' => 'The type of the backup vault. Valid value: **STANDARD**, which indicates a standard backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ 'Dedup' => [
+ 'description' => 'Indicates whether the deduplication feature is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ReplicationSourceVaultId' => [
+ 'description' => 'The ID of the source vault that corresponds to the remote backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'IndexUpdateTime' => [
+ 'description' => 'The time when the index was updated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1639645628',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'vault description',
+ ],
+ 'VaultStorageClass' => [
+ 'description' => 'The storage class of the backup vault. Valid value: **STANDARD**, which indicates standard storage.'."\n",
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup vault. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup vault was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'IndexLevel' => [
+ 'description' => 'The index level.'."\n"
+ ."\n"
+ .'* OFF: No indexes are created.'."\n"
+ .'* META: Metadata indexes are created.'."\n"
+ .'* ALL: Full-text indexes are created.'."\n",
+ 'type' => 'string',
+ 'example' => 'OFF',
+ ],
+ 'VaultName' => [
+ 'description' => 'The name of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'vaultname',
+ ],
+ 'StorageSize' => [
+ 'description' => 'The usage of the backup vault. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'LatestReplicationTime' => [
+ 'description' => 'The time when the last remote backup was synchronized. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'VaultStatusMessage' => [
+ 'description' => 'The status message that is returned when the backup vault is in the ERROR state. This parameter is valid only for remote backup vaults. Valid values:'."\n"
+ ."\n"
+ .'* **UNKNOWN_ERROR**: An unknown error occurs.'."\n"
+ .'* **SOURCE_VAULT_ALREADY_HAS_REPLICATION**: A mirror vault is configured for the source vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'SOURCE_VAULT_ALREADY_HAS_REPLICATION',
+ ],
+ 'Replication' => [
+ 'description' => 'Indicates whether the backup vault is a remote backup vault. Valid values:'."\n"
+ ."\n"
+ .'* true: The backup vault is a remote backup vault.'."\n"
+ .'* false: The backup vault is a local backup vault.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ReplicationSourceRegionId' => [
+ 'description' => 'The ID of the region in which the source vault resides. This parameter is valid only for remote backup vaults.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'VaultRegionId' => [
+ 'description' => 'The ID of the region in which the backup vault resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup vault was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-*********************',
+ ],
+ 'BucketName' => [
+ 'description' => 'The name of the OSS bucket used by the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbr-0005i51******t58',
+ ],
+ 'SearchEnabled' => [
+ 'description' => 'Indicates whether the backup search feature is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'IndexAvailable' => [
+ 'description' => 'Indicates whether indexes are available. Indexes are available when they are not being updated.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'BytesDone' => [
+ 'description' => 'The amount of data that is backed up. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The tags of the backup vault.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key of the backup vault. Valid values of N: 1 to 20.'."\n"
+ ."\n"
+ .'* The tag key cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag key cannot contain `http://` or `https://`.'."\n"
+ .'* The tag key cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'example' => 'aaa',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of the backup vault. Valid values of N: 1 to 20.'."\n"
+ ."\n"
+ .'* The tag value cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag value cannot contain `http://` or `https://`.'."\n"
+ .'* The tag value cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceTypes' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SourceType' => [
+ 'description' => 'The data source types of the backup vault.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The type of the data source.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ ],
+ ],
+ 'ReplicationProgress' => [
+ 'description' => 'The progress of data synchronization from the backup vault to the mirror vault.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'HistoricalReplicationProgress' => [
+ 'description' => 'The progress of historical data synchronization from the backup vault to the mirror vault. Valid values: 0 to 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'NewReplicationProgress' => [
+ 'description' => 'The latest synchronization time of incremental data in the mirror vault.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579413159',
+ ],
+ ],
+ ],
+ 'BackupPlanStatistics' => [
+ 'description' => 'The statistics of backup plans that use the backup vault.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Oracle' => [
+ 'description' => 'The number of backup plans for Oracle databases.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'LocalFile' => [
+ 'description' => 'The number of backup plans for on-premises servers.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Nas' => [
+ 'description' => 'The number of backup plans for NAS file systems.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CommonNas' => [
+ 'description' => 'The number of backup plans for General-purpose NAS file systems.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Isilon' => [
+ 'description' => 'The number of backup plans for Isilon storage systems.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Oss' => [
+ 'description' => 'The number of backup plans for OSS buckets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SqlServer' => [
+ 'description' => 'The number of backup plans for SQL Server databases.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Csg' => [
+ 'description' => 'The number of backup plans for Cloud Storage Gateway (CSG) gateways.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'EcsFile' => [
+ 'description' => 'The number of backup plans for ECS files.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MySql' => [
+ 'description' => 'The number of backup plans for MySQL databases.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'EcsHana' => [
+ 'description' => 'The number of backup plans for SAP HANA instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'LocalVm' => [
+ 'description' => 'The number of backup plans for on-premises virtual machines (VMs).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Ots' => [
+ 'description' => 'The number of backup plans for Tablestore instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Archive' => [
+ 'description' => 'The number of archive plans.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CommonFileSystem' => [
+ 'description' => 'The number of Cloud Parallel File Storage (CPFS) backup plans.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'TrialInfo' => [
+ 'description' => 'The free trial information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TrialStartTime' => [
+ 'description' => 'The start time of the free trial.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579413159',
+ ],
+ 'TrialVaultReleaseTime' => [
+ 'description' => 'The time when the free-trial backup vault is released.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1594965600',
+ ],
+ 'TrialExpireTime' => [
+ 'description' => 'The expiration time of the free trial.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1584597600',
+ ],
+ 'KeepAfterTrialExpiration' => [
+ 'description' => 'Indicates whether you are billed based on the pay-as-you-go method after the free trial ends.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'EncryptType' => [
+ 'description' => 'The encryption type of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* NONE: The backup vault is not encrypted.'."\n"
+ .'* HBR_PRIVATE (default): The backup vault is encrypted by using a key provided by Cloud Backup.'."\n"
+ .'* KMS: The backup vault is encrypted by using a custom master key (CMK) created in Key Management Service (KMS).'."\n",
+ 'type' => 'string',
+ 'example' => 'HBR_PRIVATE',
+ ],
+ 'WormEnabled' => [
+ 'description' => 'Indicates whether the immutable backup feature is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SnapshotCount' => [
+ 'description' => 'The number of snapshots in the backup vault.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'CompressionAlgorithm' => [
+ 'description' => 'The encryption algorithm used to compress the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* DISABLED: The backup vault is not compressed.'."\n"
+ .'* SNAPPY: The backup vault is compressed by using the SNAPPY encryption algorithm.'."\n"
+ .'* ZSTD: The backup vault is compressed by using Zstandard, a fast lossless compression algorithm.'."\n",
+ 'type' => 'string',
+ 'example' => 'ZSTD',
+ ],
+ 'RedundancyType' => [
+ 'description' => 'The data redundancy type of the backup vault. Valid values:'."\n"
+ ."\n"
+ .'* LRS: Locally redundant storage (LRS) is enabled for the backup vault. Cloud Backup stores the copies of each object on multiple devices of different facilities in the same zone. This way, Cloud Backup ensures data durability and availability even if hardware failures occur.'."\n"
+ .'* ZRS: Zone-redundant storage (ZRS) is enabled for the backup vault. Cloud Backup uses the multi-zone mechanism to distribute data across three zones within the same region. If a zone fails, the data that is stored in the other two zones is still accessible.'."\n",
+ 'type' => 'string',
+ 'example' => 'LRS',
+ ],
+ 'KmsKeyId' => [
+ 'description' => 'The ID or alias of the CMK created in KMS. This parameter is returned only when EncryptType is set to KMS.'."\n",
+ 'type' => 'string',
+ 'example' => 'alias/acs/acm',
+ ],
+ 'ChargedStorageSize' => [
+ 'description' => 'The billable storage usage of the archive vault. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024000',
+ ],
+ 'ArchiveStorageSize' => [
+ 'description' => 'The billable storage usage of the Archive tier. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024000',
+ ],
+ 'ArchiveBytesDone' => [
+ 'description' => 'Archival tier backup data volume. Unit: bytes.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024000',
+ ],
+ 'ReplicationSourceVault' => [
+ 'description' => 'Indicate whether the backup vault is the source vault that corresponds to the remote backup vault. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ReplicationTargetRegionId' => [
+ 'description' => 'Target region for remote backup repository.',
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'VaultOwnerId' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'ReplicationTargetVaultId' => [
+ 'type' => 'string',
+ ],
+ 'ReplicationSourceOwnerId' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'ReplicationTargetOwnerId' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'ReplicationStatus' => [
+ 'type' => 'string',
+ ],
+ 'RsTargetAccountIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RsTargetAccountId' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 8,\\n \\"Vaults\\": {\\n \\"Vault\\": [\\n {\\n \\"Status\\": \\"CREATED\\",\\n \\"VaultId\\": \\"v-*********************\\",\\n \\"ChargeType\\": \\"FREE\\",\\n \\"VaultType\\": \\"STANDARD\\",\\n \\"Dedup\\": true,\\n \\"ReplicationSourceVaultId\\": \\"v-*********************\\",\\n \\"IndexUpdateTime\\": 1639645628,\\n \\"Description\\": \\"vault description\\",\\n \\"VaultStorageClass\\": \\"STANDARD\\",\\n \\"Retention\\": 2,\\n \\"CreatedTime\\": 1554347313,\\n \\"IndexLevel\\": \\"OFF\\",\\n \\"VaultName\\": \\"vaultname\\",\\n \\"StorageSize\\": 10,\\n \\"LatestReplicationTime\\": 1554347313,\\n \\"VaultStatusMessage\\": \\"SOURCE_VAULT_ALREADY_HAS_REPLICATION\\",\\n \\"Replication\\": false,\\n \\"ReplicationSourceRegionId\\": \\"cn-shanghai\\",\\n \\"VaultRegionId\\": \\"cn-shanghai\\",\\n \\"UpdatedTime\\": 1554347313,\\n \\"ResourceGroupId\\": \\"rg-*********************\\",\\n \\"BucketName\\": \\"hbr-0005i51******t58\\",\\n \\"SearchEnabled\\": true,\\n \\"IndexAvailable\\": true,\\n \\"BytesDone\\": 20,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"aaa\\",\\n \\"Value\\": \\"a1\\"\\n }\\n ]\\n },\\n \\"SourceTypes\\": {\\n \\"SourceType\\": [\\n \\"ECS_FILE\\"\\n ]\\n },\\n \\"ReplicationProgress\\": {\\n \\"HistoricalReplicationProgress\\": 100,\\n \\"NewReplicationProgress\\": 1579413159\\n },\\n \\"BackupPlanStatistics\\": {\\n \\"Oracle\\": 1,\\n \\"LocalFile\\": 1,\\n \\"Nas\\": 1,\\n \\"CommonNas\\": 1,\\n \\"Isilon\\": 1,\\n \\"Oss\\": 1,\\n \\"SqlServer\\": 1,\\n \\"Csg\\": 1,\\n \\"EcsFile\\": 1,\\n \\"MySql\\": 1,\\n \\"EcsHana\\": 1,\\n \\"LocalVm\\": 1,\\n \\"Ots\\": 1,\\n \\"Archive\\": 1,\\n \\"CommonFileSystem\\": 1\\n },\\n \\"TrialInfo\\": {\\n \\"TrialStartTime\\": 1579413159,\\n \\"TrialVaultReleaseTime\\": 1594965600,\\n \\"TrialExpireTime\\": 1584597600,\\n \\"KeepAfterTrialExpiration\\": true\\n },\\n \\"EncryptType\\": \\"HBR_PRIVATE\\",\\n \\"WormEnabled\\": true,\\n \\"SnapshotCount\\": 0,\\n \\"CompressionAlgorithm\\": \\"ZSTD\\",\\n \\"RedundancyType\\": \\"LRS\\",\\n \\"KmsKeyId\\": \\"alias/acs/acm\\",\\n \\"ChargedStorageSize\\": 1024000,\\n \\"ArchiveStorageSize\\": 1024000,\\n \\"ArchiveBytesDone\\": 1024000,\\n \\"ReplicationSourceVault\\": false,\\n \\"ReplicationTargetRegionId\\": \\"cn-shanghai\\",\\n \\"VaultOwnerId\\": 0,\\n \\"ReplicationTargetVaultId\\": \\"v-123***7890\\",\\n \\"ReplicationSourceOwnerId\\": 0,\\n \\"ReplicationTargetOwnerId\\": 0,\\n \\"ReplicationStatus\\": \\"RUNNING\\",\\n \\"RsTargetAccountIds\\": {\\n \\"RsTargetAccountId\\": [\\n 0\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVaultsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>8</TotalCount>\\n <Vaults>\\n <Status>CREATED</Status>\\n <VaultId>v-*********************</VaultId>\\n <ChargeType>FREE</ChargeType>\\n <VaultType>STANDARD</VaultType>\\n <Dedup>true</Dedup>\\n <ReplicationSourceVaultId>v-*********************</ReplicationSourceVaultId>\\n <IndexUpdateTime>1639645628</IndexUpdateTime>\\n <Description>vault description</Description>\\n <VaultStorageClass>STANDARD</VaultStorageClass>\\n <Retention>2</Retention>\\n <CreatedTime>1554347313</CreatedTime>\\n <IndexLevel>OFF</IndexLevel>\\n <VaultName>vaultname</VaultName>\\n <StorageSize>10</StorageSize>\\n <LatestReplicationTime>1554347313</LatestReplicationTime>\\n <VaultStatusMessage>SOURCE_VAULT_ALREADY_HAS_REPLICATION</VaultStatusMessage>\\n <Replication>false</Replication>\\n <ReplicationSourceRegionId>v-*********************</ReplicationSourceRegionId>\\n <VaultRegionId>cn-shanghai</VaultRegionId>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <ResourceGroupId>rg-*********************</ResourceGroupId>\\n <BucketName>hbr-0005i51******t58</BucketName>\\n <SearchEnabled>true</SearchEnabled>\\n <IndexAvailable>true</IndexAvailable>\\n <BytesDone>20</BytesDone>\\n <Tags>\\n <Key>aaa</Key>\\n <Value>a1</Value>\\n </Tags>\\n <SourceTypes>ECS_FILE</SourceTypes>\\n <ReplicationProgress>\\n <HistoricalReplicationProgress>100</HistoricalReplicationProgress>\\n <NewReplicationProgress>1579413159</NewReplicationProgress>\\n </ReplicationProgress>\\n <BackupPlanStatistics>\\n <Oracle>1</Oracle>\\n <LocalFile>1</LocalFile>\\n <Nas>1</Nas>\\n <CommonNas>1</CommonNas>\\n <Isilon>1</Isilon>\\n <Oss>1</Oss>\\n <SqlServer>1</SqlServer>\\n <Csg>1</Csg>\\n <EcsFile>1</EcsFile>\\n <MySql>1</MySql>\\n <EcsHana>1</EcsHana>\\n <LocalVm>1</LocalVm>\\n <Ots>1</Ots>\\n </BackupPlanStatistics>\\n <TrialInfo>\\n <TrialStartTime>1579413159</TrialStartTime>\\n <TrialVaultReleaseTime>1594965600</TrialVaultReleaseTime>\\n <TrialExpireTime>1584597600</TrialExpireTime>\\n <KeepAfterTrialExpiration>true</KeepAfterTrialExpiration>\\n </TrialInfo>\\n <EncryptType>HBR_PRIVATE</EncryptType>\\n <WormEnabled>true</WormEnabled>\\n <SnapshotCount>0</SnapshotCount>\\n <CompressionAlgorithm>ZSTD</CompressionAlgorithm>\\n <RedundancyType>LRS</RedundancyType>\\n </Vaults>\\n</DescribeVaultsResponse>","errorExample":""}]',
+ 'title' => 'DescribeVaults',
+ 'translator' => 'machine',
+ ],
+ 'CreateBackupPlan' => [
+ 'summary' => 'Create a backup plan.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95429',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: File Storage NAS (NAS) file systems'."\n"
+ .'* **OTS**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n"
+ .'* **SYNC**: data synchronization'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'PlanName',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'description' => 'Name of the backup plan. 1 to 64 characters. The name must be unique for each data source type within a single backup vault.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'planname',
+ 'maxLength' => 64,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'BackupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Backup type. Value: **COMPLETE**, indicating a full backup.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Backup vault ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'v-0006******q',
+ ],
+ ],
+ [
+ 'name' => 'Schedule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Backup policy. Optional format: `I|{startTime}|{interval}`. This indicates that a backup task will be executed every `{interval}` starting from `{startTime}`. It does not compensate for missed backup tasks due to past time. If the previous backup task has not been completed, the next backup task will not be triggered. For example, `I|1631685600|P1D` means a backup is performed every day starting from 2021-09-15 14:00:00.'."\n"
+ ."\n"
+ .'- **startTime**: Start time of the backup, in UNIX timestamp, in seconds.'."\n"
+ .'- **interval**: ISO8601 time interval. For example, PT1H indicates an interval of one hour, and P1D indicates an interval of one day.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'I|1602673264|P1D',
+ ],
+ ],
+ [
+ 'name' => 'Retention',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Number of days to retain the backup, with a minimum value of 1, in days.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '7',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the client group that executes the data synchronization plan. This parameter is required only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-***************',
+ ],
+ ],
+ [
+ 'name' => 'FileSystemId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **NAS**. It represents the file system ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '005494',
+ ],
+ ],
+ [
+ 'name' => 'CreateTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **NAS**. It represents the creation time of the file system, in UNIX timestamp, in seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1607436917',
+ ],
+ ],
+ [
+ 'name' => 'Bucket',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **OSS**. It represents the OSS bucket name.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbr-backup-oss',
+ ],
+ ],
+ [
+ 'name' => 'Prefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **OSS**. It represents the backup prefix. When specified, only objects matching the prefix are backed up.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oss-prefix',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **ECS_FILE**. It represents the ECS instance ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-m5e*****6q',
+ ],
+ ],
+ [
+ 'name' => 'Detail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Details of the whole machine backup, in JSON string format.'."\n"
+ ."\n"
+ .'* snapshotGroup: Whether to use a consistent snapshot group (only valid if all instance disks are ESSD).'."\n"
+ .'* appConsistent: Whether to use application consistency (requires the use of preScriptPath and postScriptPath parameters).'."\n"
+ .'* preScriptPath: Path to the freeze script.'."\n"
+ .'* postScriptPath: Path to the thaw script.',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{\\"EnableFsFreeze\\":true,\\"appConsistent\\":false,\\"postScriptPath\\":\\"\\",\\"preScriptPath\\":\\"\\",\\"snapshotGroup\\":true,\\"timeoutInSeconds\\":60}',
+ ],
+ ],
+ [
+ 'name' => 'UdmRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Region where the whole machine backup instance is located.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SpeedLimit',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **ECS_FILE**. It represents the backup traffic control. Format: `{start}:{end}:{bandwidth}`. Multiple traffic control configurations are separated by |, and the configured times should not overlap.'."\n"
+ ."\n"
+ .'- **start**: Start hour.'."\n"
+ .'- **end**: End hour.'."\n"
+ .'- **bandwidth**: Limit rate, in KB/s.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0:24:5120',
+ ],
+ ],
+ [
+ 'name' => 'Include',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **ECS_FILE**. It represents the path to be backed up, and all files under this path will be backed up. Supports up to 255 characters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ ],
+ [
+ 'name' => 'Exclude',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required only when **SourceType** is set to **ECS_FILE**. It specifies the path that should not be backed up, meaning all files under this path will not be included in the backup. The maximum length is 255 characters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/var", "/proc"]',
+ ],
+ ],
+ [
+ 'name' => 'Options',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required when **SourceType** is set to **ECS_FILE**. It indicates whether to use the Windows system VSS to define the backup path.'."\n"
+ ."\n"
+ .'- This feature only supports Windows type ECS instances.'."\n"
+ .'- If there are data changes in the backup source and you need to ensure consistency between the backup data and the source data, you can configure it as `["UseVSS":true]`.'."\n"
+ .'- After choosing to use VSS, multiple file directories cannot be backed up simultaneously.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"UseVSS":false}',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the data source. This parameter is required only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ds-****************',
+ ],
+ ],
+ [
+ 'name' => 'Path',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Backup paths.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Backup paths. Up to 65536 characters.'."\n"
+ .'The rules for backup paths are as follows:'."\n"
+ ."\n"
+ .'- Without wildcards (*), you can input 20 lines of paths.'."\n"
+ .'- When using wildcards (*), only one line of path can be input, supporting wildcard patterns like `/*/*`.'."\n"
+ .'- Each line only supports absolute paths.'."\n"
+ .'- When using VSS, multiple paths, UNC paths, wildcards, and exclusion files are not supported.'."\n"
+ ."\n"
+ .'- When using UNC, VSS, wildcards, and exclusion files are not supported. If the backup source includes a UNC path, Windows ACLs will not be backed up.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home"]',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'Rule',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Backup plan rules.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Backup plan rules.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DestinationRetention' => [
+ 'description' => 'Number of days to retain offsite backups.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '7',
+ ],
+ 'Schedule' => [
+ 'description' => 'Backup strategy. Optional format: I|{startTime}|{interval}. This means that a backup task is executed every {interval} starting from {startTime}. Backup tasks for past times will not be executed. If the previous backup task has not been completed, the next backup task will not be triggered. For example, I|1631685600|P1D means a backup is performed every day starting from 2021-09-15 14:00:00.'."\n"
+ ."\n"
+ .'- startTime: The start time of the backup, in UNIX time, in seconds.'."\n"
+ .'- interval: ISO8601 time interval. For example, PT1H means an interval of one hour. P1D means an interval of one day.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1602673264|P1D',
+ ],
+ 'Retention' => [
+ 'description' => 'Backup retention period.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '7',
+ ],
+ 'Disabled' => [
+ 'description' => 'Whether the rule is enabled.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'DoCopy' => [
+ 'description' => 'Whether to enable offsite replication.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'DestinationRegionId' => [
+ 'description' => 'ID of the region for offsite replication.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ 'RuleName' => [
+ 'description' => 'Rule name.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rule-test-name',
+ ],
+ 'BackupType' => [
+ 'description' => 'Backup type.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 64,
+ ],
+ ],
+ [
+ 'name' => 'InstanceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Table store instance name.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'instancename',
+ ],
+ ],
+ [
+ 'name' => 'OtsDetail',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The details about the Tablestore instance.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/OtsDetail',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cross-account backup type. Supported values:'."\n"
+ .'- SELF_ACCOUNT: Backup within the same account'."\n"
+ .'- CROSS_ACCOUNT: Cross-account backup',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'SELF_ACCOUNT' => 'SELF_ACCOUNT',
+ 'CROSS_ACCOUNT' => 'CROSS_ACCOUNT',
+ ],
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The original account ID used for cross-account backup.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '15897534xxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The role name created in the RAM of the original account for cross-account backup.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ [
+ 'name' => 'KeepLatestSnapshots',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether to enable retaining at least one backup version.'."\n"
+ .'- 0 - Do not retain'."\n"
+ .'- 1 - Retain',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'enumValueTitles' => [
+ '',
+ '',
+ ],
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DestSourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Destination data source type. (Required only for synchronization)',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OSS',
+ ],
+ ],
+ [
+ 'name' => 'DestDataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Destination data source ID. (Required only for synchronization)',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ds-*********************'."\n",
+ ],
+ ],
+ [
+ 'name' => 'DestDataSourceDetail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Destination data source details. (Required only for synchronization)',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{\\"prefix\\":\\"/\\"}',
+ ],
+ ],
+ [
+ 'name' => 'ChangeListPath',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Configuration for the incremental file synchronization list. (Required only for synchronization)',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"dataSourceId": "ds-123456789", "path": "/changelist"}',
+ ],
+ ],
+ [
+ 'name' => 'Disabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Is the plan disabled by default',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'Returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'Return code, 200 indicates success.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'Description of the return message, usually returns \'successful\' upon success, and corresponding error messages in case of failure.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'PlanId' => [
+ 'description' => 'Backup plan ID.',
+ 'type' => 'string',
+ 'example' => 'plan-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.'."\n"
+ ."\n"
+ .'- true: Success.'."\n"
+ .'- false: Failure.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PlanId\\": \\"plan-*********************\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <PlanId>plan-*********************</PlanId>\\n <Success>true</Success>\\n</CreateBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'CreateBackupPlan',
+ 'description' => '- A backup plan associates data sources with backup policies and other necessary information for backups. After the execution of a backup plan, it generates a backup task that records the progress and results of the backup. If the backup task is successful, a backup snapshot is created. You can use the backup snapshot to create a recovery task.'."\n"
+ .'- A backup plan supports only one type of data source.'."\n"
+ .'- A backup plan supports only a single fixed interval backup cycle strategy.'."\n"
+ .'- A backup plan can back up to only one backup vault.',
+ 'translator' => 'machine',
+ ],
+ 'DeleteBackupPlan' => [
+ 'summary' => 'Deletes a backup plan.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95465',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault. This parameter is required if the SourceType parameter is not set to UDM_ECS.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS file systems'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n"
+ .'* **OTS**: Tablestore instances'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'RequireNoRunningJobs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether no running jobs are required.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteBackupPlanResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'DeleteBackupPlan',
+ 'description' => '* If you delete a backup plan, the backup jobs are also deleted.'."\n"
+ .'* If you delete a backup plan, the created snapshot files are not deleted.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableBackupPlan' => [
+ 'summary' => 'Disables a backup plan.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95581',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS (NAS) file systems'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableBackupPlanResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DisableBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'DisableBackupPlan',
+ 'description' => 'After you call this operation, the backup plan is suspended. In the DescribeBackupPlans operation, the Disabled parameter is set to true.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableBackupPlan' => [
+ 'summary' => 'Enables a backup plan.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95589',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: ECS files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS (NAS) file systems'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableBackupPlanResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</EnableBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'EnableBackupPlan',
+ 'description' => 'After you call this operation, the backup plan is restarted (Disabled is set to false in the DescribeBackupPlans operation). Cloud Backup continues to perform backups based on the policy specified in the backup plan.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateBackupPlan' => [
+ 'summary' => 'Updates a backup plan.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95667',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-20211***735',
+ ],
+ ],
+ [
+ 'name' => 'PlanName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'planname',
+ 'maxLength' => 64,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'Schedule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the `{startTime}` parameter and the subsequent backup jobs at an interval that is specified in the `{interval}` parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` specifies that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* **startTime**: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .'* **interval**: the interval at which the system runs a backup job. The interval must follow the ISO 8601 standard. For example, PT1H specifies an interval of one hour. P1D specifies an interval of one day.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1602673264|P1D',
+ ],
+ ],
+ [
+ 'name' => 'Retention',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The retention period of the backup data. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '7',
+ ],
+ ],
+ [
+ 'name' => 'Prefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if the **SourceType** parameter is set to **OSS**. This parameter specifies the prefix of objects that you want to back up. After a prefix is specified, only objects whose names start with the prefix are backed up.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oss-prefix',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-0006******q',
+ ],
+ ],
+ [
+ 'name' => 'Detail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The details about ECS instance backup. The value is a JSON string.'."\n"
+ ."\n"
+ .'* snapshotGroup: specifies whether to use a snapshot-consistent group. This parameter is valid only if all disks of the ECS instance are enhanced SSDs (ESSDs).'."\n"
+ .'* appConsistent: specifies whether to enable application consistency. If you set this parameter to true, you must also specify the preScriptPath and postScriptPath parameters.'."\n"
+ .'* preScriptPath: the path to the pre-freeze scripts.'."\n"
+ .'* postScriptPath: the path to the post-thaw scripts.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{\\"EnableFsFreeze\\":true,\\"appConsistent\\":false,\\"postScriptPath\\":\\"\\",\\"preScriptPath\\":\\"\\",\\"snapshotGroup\\":true,\\"timeoutInSeconds\\":60}',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS file systems'."\n"
+ .'* **OTS**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'SpeedLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if the **SourceType** parameter is set to **ECS_FILE**. This parameter specifies the throttling rules. To ensure business continuity, you can limit the bandwidth that is used for file backup during peak hours. Format: `{start}|{end}|{bandwidth}`. Separate multiple throttling rules with vertical bars (|). A specified time range cannot overlap with another time range.'."\n"
+ ."\n"
+ .'* **start**: the start hour'."\n"
+ .'* **end**: the end hour.'."\n"
+ .'* **bandwidth**: the bandwidth. Unit: KB/s.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0:24:5120',
+ ],
+ ],
+ [
+ 'name' => 'Include',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required only if the **SourceType** parameter is set to **ECS_FILE**. This parameter specifies the paths to the files that you want to back up. The value must be 1 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ ],
+ [
+ 'name' => 'Exclude',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required only if the **SourceType** parameter is set to **ECS_FILE**. This parameter specifies the paths to the files that are excluded from the backup job. The value must be 1 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/var", "/proc"]',
+ ],
+ ],
+ [
+ 'name' => 'Options',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'This parameter is required only if the **SourceType** parameter is set to **ECS_FILE**. This parameter specifies whether to use Windows Volume Shadow Copy Service (VSS) to define a source path.'."\n"
+ ."\n"
+ .'* This parameter is available only for Windows ECS instances.'."\n"
+ .'* If data changes occur in the backup source, the source data must be the same as the data to be backed up before you can set this parameter to `["UseVSS":true]`.'."\n"
+ .'* If you use VSS, you cannot back up data from multiple directories.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"UseVSS":false}',
+ ],
+ ],
+ [
+ 'name' => 'UpdatePaths',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to update the source path if the backup source is empty. Valid values:'."\n"
+ ."\n"
+ .'* true: The system replaces the original source path with the specified source path.'."\n"
+ .'* false: The system does not update the original source path. The system backs up data based on the source path that you specified when you created the backup plan.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'Path',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The source paths.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The source paths. The value must be 1 to 65,536 characters in length. You must specify source paths based on the following rules:'."\n"
+ ."\n"
+ .'* If you do not use wildcards (\\*), you can enter up to 20 source paths.'."\n"
+ .'* If you use wildcards (\\*), you can enter only one path. You must specify the path in the `/*/*` format.'."\n"
+ .'* Only absolute paths are supported.'."\n"
+ .'* If you use VSS, you can enter only one path. UNC paths and wildcards (\\*) are not supported. You cannot exclude files from the backup plan.'."\n"
+ .'* If you use UNC, VSS paths and wildcards (\\*) are not supported. You cannot exclude files from the backup plan. If a UNC path is specified, HBR does not back up the access control list (ACL) of Windows.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home"]',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'Rule',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The rule of the backup plan.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DestinationRetention' => [
+ 'description' => 'The retention period of the backup data. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '7',
+ ],
+ 'Schedule' => [
+ 'description' => 'The backup policy. Format: I|{startTime}|{interval}. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, I|1631685600|P1D specifies that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds. interval: the interval at which the system runs a backup job. The interval must follow the ISO 8601 standard. For example, PT1H specifies an interval of one hour. P1D specifies an interval of one day.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1631685600|P1D',
+ ],
+ 'Disabled' => [
+ 'description' => 'Specifies whether to disable the policy.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup data. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '7',
+ ],
+ 'DoCopy' => [
+ 'description' => 'Specifies whether to enable remote replication.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'DestinationRegionId' => [
+ 'description' => 'The ID of the region where the remote backup vault resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ 'RuleName' => [
+ 'description' => 'The name of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rule-test-name',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 64,
+ ],
+ ],
+ [
+ 'name' => 'OtsDetail',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The details about the Tablestore instance.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/OtsDetail',
+ ],
+ ],
+ [
+ 'name' => 'KeepLatestSnapshots',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the feature of keeping at least one backup version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The feature is disabled.'."\n"
+ .'* 1: The feature is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ChangeListPath',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the incremental file synchronization. This parameter is required for data synchronization only.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"dataSourceId": "ds-123456789", "path": "/changelist"}',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n</UpdateBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'UpdateBackupPlan',
+ ],
+ 'DescribeBackupPlans' => [
+ 'summary' => 'Queries the information about one or more backup plans that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95503',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: File Storage NAS (NAS) file systems'."\n"
+ .'* **OTS**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n"
+ .'* **SYNC**: data synchronization'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The filters.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The keys in the filter. Valid values:'."\n"
+ ."\n"
+ .'* **regionId**: the ID of a region'."\n"
+ .'* **planId**: the ID of a backup plan'."\n"
+ .'* **sourceType**: the type of a data source'."\n"
+ .'* **vaultId**: the ID of a backup vault'."\n"
+ .'* **instanceName**: the name of an instance'."\n"
+ .'* **instanceId**: the ID of an instance'."\n"
+ .'* **planName**: the name of a backup plan'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vaultId',
+ ],
+ 'Values' => [
+ 'description' => 'The values that you want to match in the filter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The value that you want to match in the filter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-*********************',
+ ],
+ 'required' => false,
+ 'example' => '["v-*********************"]',
+ 'maxItems' => 500,
+ ],
+ ],
+ 'required' => false,
+ 'description' => 'The filter.',
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned backup plans that meet the specified conditions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'BackupPlans' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BackupPlan' => [
+ 'description' => 'The queried backup plans.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'CreateTime' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **NAS**. This parameter indicates the time when the file system was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'DataSourceId' => [
+ 'description' => 'The ID of the data source.'."\n",
+ 'type' => 'string',
+ 'example' => 'ds-000ht6o9*****w61',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: ECS files'."\n"
+ .'* **OSS**: OSS buckets'."\n"
+ .'* **NAS**: NAS file systems'."\n"
+ .'* **OTS**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n"
+ .'* **SYNC**: data synchronization'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'Disabled' => [
+ 'description' => 'Indicates whether the backup plan is disabled. Valid values:'."\n"
+ ."\n"
+ .'* true: The backup plan is disabled.'."\n"
+ .'* false: The backup plan is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Prefix' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **OSS**. This parameter indicates the prefix of the objects that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => 'oss-prefix',
+ ],
+ 'Options' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **ECS_FILE**. This parameter indicates whether Windows Volume Shadow Copy Service (VSS) is used to define a source path.'."\n",
+ 'type' => 'string',
+ 'example' => '{"UseVSS":false}',
+ ],
+ 'ClientId' => [
+ 'description' => 'The ID of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-000ge4w*****1qb',
+ ],
+ 'Exclude' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **ECS_FILE**. This parameter indicates the paths to the files that are excluded from the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => '["/var", "/proc"] ',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup data. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup plan was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the client group.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-000ht6o9******h',
+ ],
+ 'Bucket' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **OSS**. This parameter indicates the name of the OSS bucket.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbr-backup-oss',
+ ],
+ 'Detail' => [
+ 'description' => 'The details about ECS instance backup.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"doCopy\\":true,\\"doBackup\\":false,\\"instanceName\\":\\"instance example\\",\\"appConsistent\\":false,\\"destinationRegionId\\":\\"cn-shanghai\\",\\"enableFsFreeze\\":true,\\"osNameEn\\":\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\",\\"osName\\":\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\",\\"diskIdList\\":[],\\"backupVaultId\\":\\"\\",\\"snapshotGroup\\":true,\\"destinationRetention\\":35,\\"platform\\":\\"Windows Server 2012\\",\\"timeoutInSeconds\\":60,\\"backupRetention\\":1,\\"osType\\":\\"windows\\",\\"preScriptPath\\":\\"\\",\\"postScriptPath\\":\\"\\",\\"enableWriters\\":true,\\"ecsDeleted\\":false}',
+ ],
+ 'Schedule' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified by `{startTime}` and the subsequent backup jobs at an interval that is specified by `{interval}`. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* **startTime**: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* **interval**: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'example' => 'I|1602673264|P1D',
+ ],
+ 'SpeedLimit' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **ECS_FILE**. This parameter indicates the throttling rules. Format: `{start}|{end}|{bandwidth}`. Multiple throttling rules are separated with vertical bars (`|`). A time range cannot overlap with another one.'."\n"
+ ."\n"
+ .'* start: the start hour.'."\n"
+ .'* end: the end hour.'."\n"
+ .'* bandwidth: the bandwidth. Unit: KB.'."\n",
+ 'type' => 'string',
+ 'example' => '0:24:5120',
+ ],
+ 'InstanceId' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **ECS_FILE**. This parameter indicates the ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-*********************',
+ ],
+ 'PlanId' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'plan-*********************',
+ ],
+ 'BackupSourceGroupId' => [
+ 'description' => 'The ID of the data source group.'."\n",
+ 'type' => 'string',
+ 'example' => 'System-Database',
+ ],
+ 'FileSystemId' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **NAS**. This parameter indicates the ID of the NAS file system.'."\n",
+ 'type' => 'string',
+ 'example' => '00594',
+ ],
+ 'OtsDetail' => [
+ 'description' => 'The details about the Tablestore instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TableNames' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The names of the tables in the Tablestore instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the destination table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test2_HBR_RESTORED',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup plan was updated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'PlanName' => [
+ 'description' => 'The name of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'planname',
+ ],
+ 'Include' => [
+ 'description' => 'This parameter is valid only when **SourceType** is set to **ECS_FILE**. This parameter indicates the paths to the files that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ 'Rules' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Rule' => [
+ 'description' => 'The backup policies. This parameter is valid only for disk backup.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DestinationRetention' => [
+ 'description' => 'The retention period of the backup data in remote backup mode. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '90',
+ ],
+ 'Schedule' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified by `{startTime}` and the subsequent backup jobs at an interval that is specified by `{interval}`. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* `startTime`: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* `interval`: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'example' => 'I|1631685600|P1D',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup data. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '90',
+ ],
+ 'Disabled' => [
+ 'description' => 'Indicates whether the policy is disabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DoCopy' => [
+ 'description' => 'Indicates whether the snapshot data is backed up to the backup vault.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'DestinationRegionId' => [
+ 'description' => 'The ID of the region in which the remote backup vault resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'RuleId' => [
+ 'description' => 'The policy ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rule-0008i52rf0ulpni6kn6m',
+ ],
+ 'RuleName' => [
+ 'description' => 'The policy name.'."\n",
+ 'type' => 'string',
+ 'example' => 'Disk Golden Rule',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ 'description' => 'The backup policy.',
+ ],
+ ],
+ ],
+ ],
+ 'Resources' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Resource' => [
+ 'description' => 'The backup resources. This parameter is valid only for disk backup.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid value: **UDM_DISK**.'."\n",
+ 'type' => 'string',
+ 'example' => 'UDMDISK',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the data source.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-j6cgioir6m******lu4',
+ ],
+ 'Extra' => [
+ 'description' => 'Additional information about the data source.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"doBackup\\":false,\\"diskName\\":\\"data_disk\\",\\"size\\":100,\\"type\\":\\"data\\",\\"category\\":\\"cloud_essd\\",\\"imageId\\":\\"\\",\\"device\\":\\"/dev/xvdb\\",\\"encrypted\\":false}',
+ ],
+ ],
+ 'description' => 'The backup resource.',
+ ],
+ ],
+ ],
+ ],
+ 'Paths' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Path' => [
+ 'description' => 'The source paths. This parameter is valid only when **SourceType** is set to **ECS_FILE**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The source path.'."\n",
+ 'type' => 'string',
+ 'example' => '["/home"]',
+ ],
+ ],
+ ],
+ ],
+ 'TrialInfo' => [
+ 'description' => 'The free trial information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TrialStartTime' => [
+ 'description' => 'The start time of the free trial.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579413159',
+ ],
+ 'TrialVaultReleaseTime' => [
+ 'description' => 'The time when the free-trial backup vault is released.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1594965600',
+ ],
+ 'TrialExpireTime' => [
+ 'description' => 'The expiration time of the free trial.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1584597600',
+ ],
+ 'KeepAfterTrialExpiration' => [
+ 'description' => 'Indicates whether you are billed based on the pay-as-you-go method after the free trial ends.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'InstanceGroupId' => [
+ 'description' => 'The ID of the instance group.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-**',
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Indicates whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT'."\n"
+ .'* CROSS_ACCOUNT'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1841642xxxxx9795',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'BackupRole',
+ ],
+ 'KeepLatestSnapshots' => [
+ 'description' => 'Indicates whether the feature of keeping at least one backup version is enabled. Valid values:'."\n"
+ ."\n"
+ .'* 0: The feature is disabled.'."\n"
+ .'* 1: The feature is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'DestSourceType' => [
+ 'description' => 'The data source type at the destination. This parameter is returned only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'DestDataSourceId' => [
+ 'description' => 'The data source ID at the destination. This parameter is returned only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => 'ds-*********************',
+ ],
+ 'DestDataSourceDetail' => [
+ 'description' => 'The data source details at the destination. This parameter is returned only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"prefix\\":\\"/\\"}',
+ ],
+ 'ChangeListPath' => [
+ 'description' => 'The configurations of the incremental file synchronization. This parameter is returned only for data synchronization.'."\n",
+ 'type' => 'string',
+ 'example' => '{"dataSourceId": "ds-123456789", "path": "/changelist"}',
+ ],
+ 'LatestExecuteJobId' => [
+ 'description' => 'The latest execution job id of plan.',
+ 'type' => 'string',
+ 'example' => 'job-12345678',
+ ],
+ 'LatestFinishJobId' => [
+ 'title' => '上一个结束的备份任务ID。',
+ 'type' => 'string',
+ 'example' => 'job-00**************9khz',
+ ],
+ 'CreatedByTag' => [
+ 'description' => 'Indicates whether a backup plan is automatically created based on tags.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'HitTags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'HitTag' => [
+ 'description' => 'The matched tag rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The matched tag rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'type',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Operator' => [
+ 'description' => 'The tag-based matching rule. Valid values:'."\n"
+ ."\n"
+ .'* **EQUAL**: Both the tag key and tag value are matched.'."\n"
+ .'* **NOT**: The tag key is matched and the tag value is not matched.'."\n",
+ 'type' => 'string',
+ 'example' => 'EQUAL',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'BusinessStatus' => [
+ 'title' => '业务状态',
+ 'type' => 'string',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 8,\\n \\"BackupPlans\\": {\\n \\"BackupPlan\\": [\\n {\\n \\"VaultId\\": \\"v-*********************\\",\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"CreateTime\\": 1554347313,\\n \\"DataSourceId\\": \\"ds-000ht6o9*****w61\\",\\n \\"SourceType\\": \\"ECS_FILE\\",\\n \\"Disabled\\": false,\\n \\"Prefix\\": \\"oss-prefix\\",\\n \\"Options\\": \\"{\\\\\\"UseVSS\\\\\\":false}\\",\\n \\"ClientId\\": \\"c-000ge4w*****1qb\\",\\n \\"Exclude\\": \\"[\\\\\\"/var\\\\\\", \\\\\\"/proc\\\\\\"]\\\\t\\",\\n \\"Retention\\": 7,\\n \\"CreatedTime\\": 1554347313,\\n \\"ClusterId\\": \\"cl-000ht6o9******h\\",\\n \\"Bucket\\": \\"hbr-backup-oss\\",\\n \\"Detail\\": \\"{\\\\\\\\\\\\\\"doCopy\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"doBackup\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"instanceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"instance example\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"appConsistent\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"destinationRegionId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enableFsFreeze\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"osNameEn\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"osName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"diskIdList\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"backupVaultId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"snapshotGroup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"destinationRetention\\\\\\\\\\\\\\":35,\\\\\\\\\\\\\\"platform\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2012\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timeoutInSeconds\\\\\\\\\\\\\\":60,\\\\\\\\\\\\\\"backupRetention\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"osType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"windows\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"preScriptPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"postScriptPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enableWriters\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ecsDeleted\\\\\\\\\\\\\\":false}\\",\\n \\"Schedule\\": \\"I|1602673264|P1D\\",\\n \\"SpeedLimit\\": \\"0:24:5120\\",\\n \\"InstanceId\\": \\"i-*********************\\",\\n \\"PlanId\\": \\"plan-*********************\\",\\n \\"BackupSourceGroupId\\": \\"System-Database\\",\\n \\"FileSystemId\\": \\"00594\\",\\n \\"OtsDetail\\": {\\n \\"TableNames\\": {\\n \\"TableName\\": [\\n \\"test2_HBR_RESTORED\\"\\n ]\\n }\\n },\\n \\"InstanceName\\": \\"instancename\\",\\n \\"UpdatedTime\\": 1554347313,\\n \\"PlanName\\": \\"planname\\",\\n \\"Include\\": \\"[\\\\\\"/home/alice/*.pdf\\\\\\", \\\\\\"/home/bob/*.txt\\\\\\"]\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"DestinationRetention\\": 90,\\n \\"Schedule\\": \\"I|1631685600|P1D\\",\\n \\"Retention\\": 90,\\n \\"Disabled\\": true,\\n \\"DoCopy\\": false,\\n \\"DestinationRegionId\\": \\"cn-shanghai\\",\\n \\"RuleId\\": \\"rule-0008i52rf0ulpni6kn6m\\",\\n \\"RuleName\\": \\"Disk Golden Rule\\",\\n \\"BackupType\\": \\"COMPLETE\\"\\n }\\n ]\\n },\\n \\"Resources\\": {\\n \\"Resource\\": [\\n {\\n \\"SourceType\\": \\"UDM_DISK\\",\\n \\"ResourceId\\": \\"d-j6cgioir6m******lu4\\",\\n \\"Extra\\": \\"{\\\\\\\\\\\\\\"doBackup\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"diskName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"data_disk\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"size\\\\\\\\\\\\\\":100,\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cloud_essd\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"imageId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"device\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/dev/xvdb\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"encrypted\\\\\\\\\\\\\\":false}\\"\\n }\\n ]\\n },\\n \\"Paths\\": {\\n \\"Path\\": [\\n \\"[\\\\\\"/home\\\\\\"]\\"\\n ]\\n },\\n \\"TrialInfo\\": {\\n \\"TrialStartTime\\": 1579413159,\\n \\"TrialVaultReleaseTime\\": 1594965600,\\n \\"TrialExpireTime\\": 1584597600,\\n \\"KeepAfterTrialExpiration\\": true\\n },\\n \\"InstanceGroupId\\": \\"i-**\\",\\n \\"CrossAccountType\\": \\"CROSS_ACCOUNT\\",\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"BackupRole\\",\\n \\"KeepLatestSnapshots\\": 0,\\n \\"DestSourceType\\": \\"OSS\\",\\n \\"DestDataSourceId\\": \\"ds-*********************\\",\\n \\"DestDataSourceDetail\\": \\"{\\\\\\\\\\\\\\"prefix\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"}\\",\\n \\"ChangeListPath\\": \\"{\\\\\\"dataSourceId\\\\\\": \\\\\\"ds-123456789\\\\\\", \\\\\\"path\\\\\\": \\\\\\"/changelist\\\\\\"}\\",\\n \\"LatestExecuteJobId\\": \\"job-12345678\\",\\n \\"LatestFinishJobId\\": \\"job-00**************9khz\\",\\n \\"CreatedByTag\\": false,\\n \\"HitTags\\": {\\n \\"HitTag\\": [\\n {\\n \\"Key\\": \\"type\\",\\n \\"Value\\": \\"0\\",\\n \\"Operator\\": \\"EQUAL\\"\\n }\\n ]\\n },\\n \\"BusinessStatus\\": \\"ACTIVE\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeBackupPlansResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>8</TotalCount>\\n <BackupPlans>\\n <VaultId>v-*********************</VaultId>\\n <BackupType>COMPLETE</BackupType>\\n <CreateTime>1554347313</CreateTime>\\n <DataSourceId>ds-000ht6o9*****w61</DataSourceId>\\n <SourceType>ECS_FILE</SourceType>\\n <Disabled>false</Disabled>\\n <Prefix>oss-prefix</Prefix>\\n <Options>{\\"UseVSS\\":false}</Options>\\n <ClientId>c-000ge4w*****1qb</ClientId>\\n <Exclude>[\\"/var\\", \\"/proc\\"]\\t</Exclude>\\n <Retention>7</Retention>\\n <CreatedTime>1554347313</CreatedTime>\\n <ClusterId>cl-000ht6o9******h</ClusterId>\\n <Bucket>hbr-backup-oss</Bucket>\\n <Detail>{\\\\\\"doCopy\\\\\\":true,\\\\\\"doBackup\\\\\\":false,\\\\\\"instanceName\\\\\\":\\\\\\"instance example\\\\\\",\\\\\\"appConsistent\\\\\\":false,\\\\\\"destinationRegionId\\\\\\":\\\\\\"cn-shanghai\\\\\\",\\\\\\"enableFsFreeze\\\\\\":true,\\\\\\"osNameEn\\\\\\":\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\",\\\\\\"osName\\\\\\":\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\",\\\\\\"diskIdList\\\\\\":[],\\\\\\"backupVaultId\\\\\\":\\\\\\"\\\\\\",\\\\\\"snapshotGroup\\\\\\":true,\\\\\\"destinationRetention\\\\\\":35,\\\\\\"platform\\\\\\":\\\\\\"Windows Server 2012\\\\\\",\\\\\\"timeoutInSeconds\\\\\\":60,\\\\\\"backupRetention\\\\\\":1,\\\\\\"osType\\\\\\":\\\\\\"windows\\\\\\",\\\\\\"preScriptPath\\\\\\":\\\\\\"\\\\\\",\\\\\\"postScriptPath\\\\\\":\\\\\\"\\\\\\",\\\\\\"enableWriters\\\\\\":true,\\\\\\"ecsDeleted\\\\\\":false}</Detail>\\n <Schedule>I|1602673264|P1D</Schedule>\\n <SpeedLimit>0:24:5120</SpeedLimit>\\n <InstanceId>i-*********************</InstanceId>\\n <PlanId>plan-*********************</PlanId>\\n <BackupSourceGroupId>System-Database</BackupSourceGroupId>\\n <FileSystemId>00594</FileSystemId>\\n <OtsDetail>\\n <TableNames>test2_HBR_RESTORED</TableNames>\\n </OtsDetail>\\n <InstanceName>instancename</InstanceName>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <PlanName>planname</PlanName>\\n <Include>[\\"/home/alice/*.pdf\\", \\"/home/bob/*.txt\\"]</Include>\\n <Rules>\\n <DestinationRetention>90</DestinationRetention>\\n <Schedule>I|1631685600|P1D</Schedule>\\n <Retention>90</Retention>\\n <Disabled>true</Disabled>\\n <DoCopy>false</DoCopy>\\n <DestinationRegionId>cn-shanghai</DestinationRegionId>\\n <RuleId>rule-0008i52rf0ulpni6kn6m</RuleId>\\n <RuleName>Disk Golden Rule</RuleName>\\n <BackupType>COMPLETE</BackupType>\\n </Rules>\\n <Resources>\\n <SourceType>UDMDISK</SourceType>\\n <ResourceId>d-j6cgioir6m******lu4</ResourceId>\\n <Extra>{\\\\\\"doBackup\\\\\\":false,\\\\\\"diskName\\\\\\":\\\\\\"data_disk\\\\\\",\\\\\\"size\\\\\\":100,\\\\\\"type\\\\\\":\\\\\\"data\\\\\\",\\\\\\"category\\\\\\":\\\\\\"cloud_essd\\\\\\",\\\\\\"imageId\\\\\\":\\\\\\"\\\\\\",\\\\\\"device\\\\\\":\\\\\\"/dev/xvdb\\\\\\",\\\\\\"encrypted\\\\\\":false}</Extra>\\n </Resources>\\n <Paths>[\\"/home\\"]</Paths>\\n <TrialInfo>\\n <TrialStartTime>1579413159</TrialStartTime>\\n <TrialVaultReleaseTime>1594965600</TrialVaultReleaseTime>\\n <TrialExpireTime>1584597600</TrialExpireTime>\\n <KeepAfterTrialExpiration>true</KeepAfterTrialExpiration>\\n </TrialInfo>\\n <InstanceGroupId>i-**</InstanceGroupId>\\n <CrossAccountType>CROSS_ACCOUNT</CrossAccountType>\\n <CrossAccountRoleName>BackupRole</CrossAccountRoleName>\\n </BackupPlans>\\n</DescribeBackupPlansResponse>","errorExample":""}]',
+ 'title' => 'DescribeBackupPlans',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ExecuteBackupPlan' => [
+ 'summary' => 'Executes a backup plan.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95593',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS (NAS) file systems'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rule-0002*****ux8',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'job-*********************',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"job-*********************\\"\\n}","errorExample":""},{"type":"xml","example":"<ExecuteBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <JobId>job-*********************</JobId>\\n</ExecuteBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'ExecuteBackupPlan',
+ ],
+ 'CreatePolicyV2' => [
+ 'summary' => 'Creates a backup policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '162846',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The name of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Daily Local Backup + Remote Backup'."\n",
+ ],
+ ],
+ [
+ 'name' => 'PolicyType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The policy type. Valid values:'."\n"
+ ."\n"
+ .'* **STANDARD**: the general backup policy. This type of policy applies to backups other than Elastic Compute Service (ECS) instance backup.'."\n"
+ .'* **UDM_ECS_ONLY**: This type of policy applies only to ECS instance backup.'."\n"
+ ."\n"
+ .'If the policy type is not specified, Cloud Backup automatically sets the policy type based on whether the backup vault is specified in the rules of the policy:'."\n"
+ ."\n"
+ .'* If the backup vault is specified, Cloud Backup sets the policy type to **STANDARD**.'."\n"
+ .'* If the backup vault is not specified, Cloud Backup sets the policy type to **UDM_ECS_ONLY**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'STANDARD',
+ ],
+ ],
+ [
+ 'name' => 'PolicyDescription',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The description of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Data is backed up at 10:00:00 every day and replicated to the China (Shanghai) region for geo-redundancy.'."\n",
+ ],
+ ],
+ [
+ 'name' => 'Rules',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The rules in the backup policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleType' => [
+ 'title' => 'TRANSITION: 过渡类规则, BACKUP: 定时类规则, REPLICATION: 镜像类规则',
+ 'description' => 'The type of the rule. Each backup policy must have at least one rule of the **BACKUP** type and only one rule of the **TRANSITION** type. Valid values:'."\n"
+ ."\n"
+ .'* **BACKUP**: backup rule'."\n"
+ .'* **TRANSITION**: lifecycle rule'."\n"
+ .'* **REPLICATION**: replication rule'."\n"
+ .'* **TAG**: tag-based resource association rule'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'BACKUP',
+ 'enum' => [
+ 'BACKUP',
+ 'TRANSITION',
+ 'REPLICATION',
+ 'SECURITY',
+ 'TAG',
+ ],
+ ],
+ 'Schedule' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **BACKUP**. This parameter specifies the backup schedule settings. Formats:'."\n"
+ ."\n"
+ .'* `I|{startTime}|{interval}`: The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .' * startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .' * interval: the interval at which the system runs a backup job. The interval must follow the ISO 8601 standard. For example, `PT1H` specifies an interval of 1 hour. `P1D` specifies an interval of one day.'."\n"
+ ."\n"
+ .'* `C|{startTime}|{crontab}`: The system runs backup jobs at a point in time that is specified in the {startTime} parameter based on the {crontab} expression. For example, C|1631685600|0 0 2 ?\\* 3,5,7 indicates that the system runs backup jobs at 02:00:00 every Tuesday, Thursday, and Saturday from14:00:00 on September 15, 2021.``'."\n"
+ ."\n"
+ .' * startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .' * crontab: the crontab expression. For example, 0 0 2 ?\\* 3,5,7 indicates 02:00:00 every Tuesday, Thursday, and Saturday.``'."\n"
+ ."\n"
+ .'The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1648647166|P1D',
+ ],
+ 'BackupType' => [
+ 'title' => 'Backup Rule (COMPLETE: Complete backup type, INCREMENTAL: Incremental backup type, DIFFERENTIAL: Differential backup type, LOG: Transaction log backup type, INDEX: 不备份数据,只对元数据建立索引, ARCHIVE: 归档, ARCHIVE_BY_SEARCH: 根据搜索结果进行归档)',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **BACKUP**. This parameter specifies the backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ 'enum' => [
+ 'COMPLETE',
+ 'INCREMENTAL',
+ 'DIFFERENTIAL',
+ 'LOG',
+ 'INDEX',
+ 'ARCHIVE',
+ 'ARCHIVE_BY_SEARCH',
+ ],
+ ],
+ 'Retention' => [
+ 'title' => 'Expiration',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **BACKUP**, **TRANSITION**, or **REPLICATION**.'."\n"
+ ."\n"
+ .'* If the **RuleType** parameter is set to **BACKUP**, this parameter specifies the retention period of the backup data. The priority is lower than the retention period when the **RuleType** parameter is set to **TRANSITION**. Minimum value: 1. Maximum value: 364635. Unit: days.'."\n"
+ .'* If the **RuleType** parameter is set to **TRANSITION**, this parameter specifies the retention period of the backup data. Minimum value: 1. Maximum value: 364635. Unit: days.'."\n"
+ .'* If the **RuleType** parameter is set to **REPLICATION**, this parameter specifies the retention period of remote backups. Minimum value: 1. Maximum value: 364635. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '7',
+ 'default' => '0',
+ ],
+ 'ReplicationRegionId' => [
+ 'title' => 'Replication',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **REPLICATION**. This parameter specifies the ID of the destination region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ 'RetentionRules' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TRANSITION**. This parameter specifies the special retention rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The special retention rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AdvancedRetentionType' => [
+ 'description' => 'The type of the special retention rule. Valid values:'."\n"
+ ."\n"
+ .'* **DAILY**: retains daily backups'."\n"
+ .'* **WEEKLY**: retains weekly backups'."\n"
+ .'* **MONTHLY**: retains monthly backups'."\n"
+ .'* **YEARLY**: retains yearly backups'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'YEARLY',
+ ],
+ 'WhichSnapshot' => [
+ 'description' => 'Specifies which backup is retained based on the special retention rule. Only the first backup can be retained.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'Retention' => [
+ 'description' => 'The special retention period of backups. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '730',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 99,
+ ],
+ 'VaultId' => [
+ 'description' => 'This parameter is required only if the RuleType parameter is set to BACKUP. The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-0001************aseg',
+ ],
+ 'KeepLatestSnapshots' => [
+ 'description' => 'Specifies whether to enable the feature of keeping at least one backup version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The feature is disabled.'."\n"
+ .'* 1: The feature is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'Immutable' => [
+ 'description' => 'This parameter is required only if the **PolicyType** parameter is set to **UDM_ECS_ONLY**. This parameter specifies whether to enable the immutable backup feature.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'DataSourceFilters' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TAG**. This parameter specifies the data source filter rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: Elastic Compute Service (ECS) instance This type of data source is supported only if the **PolicyType** parameter is set to **UDM_ECS_ONLY**.'."\n"
+ .'* **OSS**: Object Storage Service (OSS) bucket This type of data source is supported only if the **PolicyType** parameter is set to **STANDARD**.'."\n"
+ .'* **NAS**: File Storage NAS (NAS) file system This type of data source is supported only if the **PolicyType** parameter is set to **STANDARD**.'."\n"
+ .'* **ECS_FILE**: ECS file This type of data source is supported only if the **PolicyType** parameter is set to **STANDARD**.'."\n"
+ .'* **OTS**: Tablestore instance This type of data source is supported only if the **PolicyType** parameter is set to **STANDARD**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ 'DataSourceIds' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"i-uf6e6py**********bgc\\"]',
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => false,
+ ],
+ 'TagFilters' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TAG**. This parameter specifies the resource tag filter rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'env',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. If you leave this parameter empty, the value is any value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'prod',
+ ],
+ 'Operator' => [
+ 'description' => 'The tag-based matching rule. Valid values:'."\n"
+ ."\n"
+ .'* **EQUAL**: Both the tag key and tag value are matched.'."\n"
+ .'* **NOT**: The tag key is matched and the tag value is not matched.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'EQUAL',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'CreatePolicyResponse',
+ 'description' => 'CreatePolicyResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'EEC65C22-2152-5E31-8AD6-D6CBF1BFF49F',
+ ],
+ 'PolicyId' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'po-000000zemnuyx2li3y9y',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"EEC65C22-2152-5E31-8AD6-D6CBF1BFF49F\\",\\n \\"PolicyId\\": \\"po-000000zemnuyx2li3y9y\\"\\n}","type":"json"}]',
+ 'title' => 'CreatePolicyV2',
+ 'description' => 'A backup policy records the information required for backup. After you execute a backup policy, a backup job is generated to record the backup progress and the backup result. If a backup job is completed, a backup snapshot is generated. You can use a backup snapshot to create a restore job.'."\n"
+ ."\n"
+ .'* A backup policy supports multiple data sources. The data sources can be only Elastic Compute Service (ECS) instances.'."\n"
+ .'* You can specify only one interval as a backup cycle in a backup policy.'."\n"
+ .'* Each backup policy allows you to back up data to only one backup vault.'."\n",
+ ],
+ 'DeletePolicyV2' => [
+ 'summary' => 'Deletes a backup policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbr9ZUQY7',
+ 'FEATUREhbrAW9I1R',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************2l6',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DeletePolicyResponse',
+ 'description' => 'DeletePolicyResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '33AA3AAE-89E1-5D3A-A51D-0C0A80850F68',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"33AA3AAE-89E1-5D3A-A51D-0C0A80850F68\\"\\n}","type":"json"}]',
+ 'title' => 'DeletePolicyV2',
+ 'description' => 'If you delete a backup policy, the backup policy is disassociated with all data sources. Proceed with caution.'."\n",
+ ],
+ 'UpdatePolicyV2' => [
+ 'summary' => 'Modifies a backup policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '162850',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'required parameters',
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************viy',
+ ],
+ ],
+ [
+ 'name' => 'PolicyName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The name of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Daily Local Backup + Remote Backup'."\n",
+ ],
+ ],
+ [
+ 'name' => 'PolicyDescription',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The description of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Data is backed up at 10:00:00 every day and replicated to the China (Shanghai) region for geo-redundancy.'."\n",
+ ],
+ ],
+ [
+ 'name' => 'Rules',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The rules in the backup policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleId' => [
+ 'description' => 'The rule ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rule-000************rof',
+ ],
+ 'RuleType' => [
+ 'title' => 'TRANSITION: 过渡类规则, BACKUP: 定时类规则, REPLICATION: 镜像类规则',
+ 'description' => 'The type of the rule. Each backup policy must have at least one rule of the **BACKUP** type and only one rule of the **TRANSITION** type. Valid values:'."\n"
+ ."\n"
+ .'* **BACKUP**: backup rule'."\n"
+ .'* **TRANSITION**: lifecycle rule'."\n"
+ .'* **REPLICATION**: replication rule'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BACKUP',
+ 'enum' => [],
+ ],
+ 'Schedule' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **BACKUP**. This parameter specifies the backup schedule settings. Formats:'."\n"
+ ."\n"
+ .'* `I|{startTime}|{interval}`: The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .' * startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .' * interval: the interval at which the system runs a backup job. The interval must follow the ISO 8601 standard. For example, `PT1H` specifies an interval of 1 hour. `P1D` specifies an interval of one day.'."\n"
+ ."\n"
+ .'* `C|{startTime}|{crontab}`: The system runs backup jobs at a point in time that is specified in the {startTime} parameter based on the {crontab} expression. For example, C|1631685600|0 0 2 ?\\* 3,5,7 indicates that the system runs backup jobs at 02:00:00 every Tuesday, Thursday, and Saturday from14:00:00 on September 15, 2021.``'."\n"
+ ."\n"
+ .' * startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .' * crontab: the crontab expression. For example, 0 0 2 ?\\* 3,5,7 indicates 02:00:00 every Tuesday, Thursday, and Saturday.``'."\n"
+ ."\n"
+ .'The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1648647166|P1D',
+ ],
+ 'BackupType' => [
+ 'title' => 'Backup Rule (COMPLETE: Complete backup type, INCREMENTAL: Incremental backup type, DIFFERENTIAL: Differential backup type, LOG: Transaction log backup type, INDEX: 不备份数据,只对元数据建立索引, ARCHIVE: 归档, ARCHIVE_BY_SEARCH: 根据搜索结果进行归档)',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **BACKUP**. This parameter specifies the backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ ],
+ 'Retention' => [
+ 'title' => 'Expiration',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TRANSITION** or **REPLICATION**.'."\n"
+ ."\n"
+ .'* If the **RuleType** parameter is set to **TRANSITION**, this parameter specifies the retention period of the backup data. Minimum value: 1. Unit: days.'."\n"
+ .'* If the **RuleType** parameter is set to **REPLICATION**, this parameter specifies the retention period of remote backups. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '7',
+ 'default' => '0',
+ ],
+ 'ReplicationRegionId' => [
+ 'title' => 'Replication',
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **REPLICATION**. This parameter specifies the ID of the destination region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ 'ArchiveDays' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TRANSITION**. This parameter specifies the time when data is dumped from a backup vault to an archive vault. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '90',
+ 'default' => '0',
+ ],
+ 'ColdArchiveDays' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TRANSITION**. This parameter specifies the time when data is dumped from a backup vault to a cold archive vault. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '365',
+ 'default' => '0',
+ ],
+ 'VaultId' => [
+ 'description' => 'This parameter is required only if the RuleType parameter is set to BACKUP. The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-0001************aseg',
+ ],
+ 'RetentionRules' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TRANSITION**. This parameter specifies the special retention rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The special retention rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AdvancedRetentionType' => [
+ 'description' => 'The type of the special retention rule. Valid values:'."\n"
+ ."\n"
+ .'* **WEEKLY**: retains weekly backups'."\n"
+ .'* **MONTHLY**: retains monthly backups'."\n"
+ .'* **YEARLY**: retains yearly backups'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'YEARLY',
+ ],
+ 'WhichSnapshot' => [
+ 'description' => 'Specifies which backup is retained based on the special retention rule. Only the first backup can be retained.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'Retention' => [
+ 'description' => 'The special retention period of backups. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '365',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 99,
+ ],
+ 'KeepLatestSnapshots' => [
+ 'description' => 'Specifies whether to enable the feature of keeping at least one backup version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The feature is disabled.'."\n"
+ .'* 1: The feature is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'DataSourceFilters' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TAG**. This parameter specifies the data source filter rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: Elastic Compute Service (ECS) instance This type of data source is supported only if the **RuleType** parameter is set to **UDM_ECS_ONLY**.'."\n"
+ .'* **OSS**: Object Storage Service (OSS) bucket This type of data source is supported only if the **RuleType** parameter is set to **STANDARD**.'."\n"
+ .'* **NAS**: File Storage NAS (NAS) file system This type of data source is supported only if the **RuleType** parameter is set to **STANDARD**.'."\n"
+ .'* **ECS_FILE**: ECS file This type of data source is supported only if the **RuleType** parameter is set to **STANDARD**.'."\n"
+ .'* **OTS**: Tablestore instance This type of data source is supported only if the **RuleType** parameter is set to **STANDARD**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ 'DataSourceIds' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'deprecated',
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => false,
+ ],
+ 'TagFilters' => [
+ 'description' => 'This parameter is required only if the **RuleType** parameter is set to **TAG**. This parameter specifies the resource tag filter rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'env',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. If you leave this parameter empty, the value is any value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'prod',
+ ],
+ 'Operator' => [
+ 'description' => 'The tag-based matching rule. Valid values:'."\n"
+ ."\n"
+ .'* **EQUAL**: Both the tag key and tag value are matched.'."\n"
+ .'* **NOT**: The tag key is matched and the tag value is not matched.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'EQUAL',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => false,
+ ],
+ 'Immutable' => [
+ 'description' => 'This parameter is required only if the **PolicyType** parameter is set to **UDM_ECS_ONLY**. This parameter specifies whether to enable the immutable backup feature.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'UpdatePolicyResponse',
+ 'description' => 'UpdatePolicyResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
+ 'title' => 'UpdatePolicyV2',
+ 'description' => 'If you modify a backup policy, the modification takes effect on all data sources that are bound to the backup policy. Proceed with caution.'."\n",
+ ],
+ 'DescribePoliciesV2' => [
+ 'summary' => 'Queries one or more backup policies.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '162855',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbr7WEYAR',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The token that is used to obtain the next page of backup policies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of results for each query.'."\n"
+ ."\n"
+ .'Valid values: 10 to 100. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************2l6',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DescribePoliciesResponse',
+ 'description' => 'DescribePoliciesResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Policies' => [
+ 'description' => 'The backup policies.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the backup policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup policy was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1650248136',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup policy was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1662080404',
+ ],
+ 'PolicyId' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'po-000************bkz',
+ ],
+ 'PolicyName' => [
+ 'description' => 'The name of the backup policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'Daily Local Backup + Remote Backup'."\n",
+ ],
+ 'PolicyDescription' => [
+ 'description' => 'The description of the backup policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'Data is backed up at 10:00:00 every day and replicated to the China (Shanghai) region for geo-redundancy.'."\n",
+ ],
+ 'Rules' => [
+ 'description' => 'The rules in the backup policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleId' => [
+ 'description' => 'The rule ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rule-000************f1e',
+ ],
+ 'RuleType' => [
+ 'title' => 'TRANSITION, BACKUP, REPLICATION',
+ 'description' => 'The type of the rule. Each backup policy must have at least one rule of the **BACKUP** type and only one rule of the **TRANSITION** type. Valid values:'."\n"
+ ."\n"
+ .'* **BACKUP**: backup rule'."\n"
+ .'* **TRANSITION**: lifecycle rule'."\n"
+ .'* **REPLICATION**: replication rule'."\n",
+ 'type' => 'string',
+ 'example' => 'BACKUP',
+ ],
+ 'Schedule' => [
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **BACKUP**. This parameter indicates the backup schedule settings. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'example' => 'I|1648647166|P1D',
+ ],
+ 'BackupType' => [
+ 'title' => 'COMPLETE, INCREMENTAL, DIFFERENTIAL, LOG',
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **BACKUP**. This parameter indicates the backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'VaultId' => [
+ 'description' => 'This parameter is returned only if the value of the RuleType parameter is BACKUP. The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-000**************kgm',
+ ],
+ 'ReplicationRegionId' => [
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **REPLICATION**. This parameter indicates the ID of the destination region.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'Retention' => [
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **TRANSITION** or **REPLICATION**.'."\n"
+ ."\n"
+ .'* If the value of the **RuleType** parameter is **TRANSITION**, this parameter indicates the retention period of the backup data. Minimum value: 1. Unit: days.'."\n"
+ .'* If the value of the **RuleType** parameter is **REPLICATION**, this parameter indicates the retention period of remote backups. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'RetentionRules' => [
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **TRANSITION**. This parameter indicates the special retention rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The special retention rules.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AdvancedRetentionType' => [
+ 'title' => 'DAILY, WEEKLY, MONTHLY, YEARLY',
+ 'description' => 'The type of the special retention rule. Valid values:'."\n"
+ ."\n"
+ .'* **WEEKLY**: weekly backups'."\n"
+ .'* **MONTHLY**: monthly backups'."\n"
+ .'* **YEARLY**: yearly backups'."\n",
+ 'type' => 'string',
+ 'example' => 'YEARLY',
+ ],
+ 'WhichSnapshot' => [
+ 'description' => 'Indicates which backup is retained based on the special retention rule. Only the first backup can be retained.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'Retention' => [
+ 'description' => 'The special retention period of backups. Minimum value: 1. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '730',
+ ],
+ ],
+ ],
+ ],
+ 'ArchiveDays' => [
+ 'description' => 'This parameter is returned only if the value of the **RuleType** parameter is **TRANSITION**. This parameter indicates the time when data is dumped from a backup vault to an archive vault. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'KeepLatestSnapshots' => [
+ 'description' => 'Indicates whether the feature of keeping at least one backup version is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The feature is disabled.'."\n"
+ .'* **1**: The feature is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'DataSourceFilters' => [
+ 'description' => 'This parameter is required only when **RuleType** is set to **TAG**. It defines the data source filtering rule.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceType' => [
+ 'description' => 'Data source type. The value range is as follows: '."\n"
+ .'- **UDM_ECS**: Indicates ECS server backup. '."\n"
+ .'- **OSS**: Indicates OSS backup. '."\n"
+ .'- **NAS**: Indicates Alibaba Cloud NAS backup. '."\n"
+ .'- **ECS_FILE**: Indicates ECS file backup. '."\n"
+ .'- **OTS**: Indicates Tablestore backup.',
+ 'type' => 'string',
+ 'example' => 'UDM_ECS',
+ ],
+ 'DataSourceIds' => [
+ 'description' => 'Deprecated.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Deprecated.',
+ 'type' => 'string',
+ 'example' => 'Deprecated.'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'TagFilters' => [
+ 'description' => 'This parameter is required only when **RuleType** is set to **TAG**. It defines the resource tag filtering rule.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'Tag key',
+ 'type' => 'string',
+ 'example' => 'env',
+ ],
+ 'Value' => [
+ 'description' => 'Tag value.',
+ 'type' => 'string',
+ 'example' => 'prod',
+ ],
+ 'Operator' => [
+ 'description' => 'Tag matching rules, supporting: - **EQUAL**: Matches both the tag key and tag value. - **NOT**: Matches the tag key but not the tag value.',
+ 'type' => 'string',
+ 'example' => 'EQUAL',
+ ],
+ ],
+ ],
+ ],
+ 'Immutable' => [
+ 'description' => 'This parameter is returned only if the **PolicyType** is **UDM_ECS_ONLY**. This parameter indicates whether the immutable backup feature is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ 'PolicyBindingCount' => [
+ 'description' => 'The number of data sources that are bound to the backup policy.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'PolicyType' => [
+ 'description' => 'The policy type. Valid values:'."\n"
+ ."\n"
+ .'* **STANDARD**: the general backup policy. This type of policy applies to backups other than Elastic Compute Service (ECS) instance backup.'."\n"
+ .'* **UDM_ECS_ONLY**: the ECS instance backup policy. This type of policy applies only to ECS instance backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ 'BusinessStatus' => [
+ 'title' => '用户业务状态',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used to obtain the next page of backup policies.'."\n",
+ 'type' => 'string',
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of results for each query.'."\n"
+ ."\n"
+ .'Valid values: 10 to 100. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned entries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '12',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policies\\": [\\n {\\n \\"CreatedTime\\": 1650248136,\\n \\"UpdatedTime\\": 1662080404,\\n \\"PolicyId\\": \\"po-000************bkz\\",\\n \\"PolicyName\\": \\"每天备份 + 异地备份\\",\\n \\"PolicyDescription\\": \\"每天早上十点备份,异地复制到上海。\\",\\n \\"Rules\\": [\\n {\\n \\"RuleId\\": \\"rule-000************f1e\\",\\n \\"RuleType\\": \\"BACKUP\\",\\n \\"Schedule\\": \\"I|1648647166|P1D\\",\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"VaultId\\": \\"v-000**************kgm\\",\\n \\"ReplicationRegionId\\": \\"cn-shanghai\\",\\n \\"Retention\\": 7,\\n \\"RetentionRules\\": [\\n {\\n \\"AdvancedRetentionType\\": \\"YEARLY\\",\\n \\"WhichSnapshot\\": 1,\\n \\"Retention\\": 730\\n }\\n ],\\n \\"ArchiveDays\\": 30,\\n \\"KeepLatestSnapshots\\": 1,\\n \\"DataSourceFilters\\": [\\n {\\n \\"SourceType\\": \\"UDM_ECS\\",\\n \\"DataSourceIds\\": [\\n \\"已废弃。\\"\\n ]\\n }\\n ],\\n \\"TagFilters\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": \\"prod\\",\\n \\"Operator\\": \\"EQUAL\\"\\n }\\n ],\\n \\"Immutable\\": true\\n }\\n ],\\n \\"PolicyBindingCount\\": 5,\\n \\"PolicyType\\": \\"STANDARD\\",\\n \\"BusinessStatus\\": \\"ACTIVE\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCount\\": 12,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
+ 'title' => 'DescribePoliciesV2',
+ 'translator' => 'machine',
+ ],
+ 'CreatePolicyBindings' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '136856',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************8ep',
+ ],
+ ],
+ [
+ 'name' => 'PolicyBindingList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The data sources that you want to bind to the backup policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the data sources that you want to bind to the backup policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PolicyBindingDescription' => [
+ 'description' => 'The description of the association.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bind data sources to a backup policy'."\n",
+ ],
+ 'DataSourceId' => [
+ 'description' => 'The ID of the data source. The meaning of this parameter depends on the **SourceType** parameter. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: the ID of the Elastic Compute Service (ECS) instance'."\n"
+ .'* **OSS**: the name of the Object Storage Service (OSS) bucket'."\n"
+ .'* **NAS**: the ID of the File Storage NAS (NAS) file system'."\n"
+ .'* **COMMON_NAS**: the ID of the on-premises NAS file system'."\n"
+ .'* **ECS_FILE**: the ID of the ECS instance'."\n"
+ .'* **File**: the ID of the Cloud Backup client'."\n"
+ .'* **COMMON_FILE_SYSTEM**: the ID of the Cloud Parallel File Storage (CPFS) backup data source'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-bp1************dl8',
+ ],
+ 'Disabled' => [
+ 'description' => 'Specifies whether to disable the backup policy for the data source. Valid values:'."\n"
+ ."\n"
+ .'* true: disables the backup policy for the data source'."\n"
+ .'* false: enables the backup policy for the data source'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: ECS instance'."\n"
+ .'* **OSS**: OSS bucket'."\n"
+ .'* **NAS**: NAS file system'."\n"
+ .'* **COMMON_NAS**: on-premises NAS file system'."\n"
+ .'* **ECS_FILE**: ECS file'."\n"
+ .'* **File**: on-premises file'."\n"
+ .'* **COMMON_FILE_SYSTEM**: CPFS file system'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ 'Source' => [
+ 'description' => '* If the SourceType parameter is set to **OSS**, set the Source parameter to the prefix of the path to the folder that you want to back up. If you do not specify the Source parameter, the entire bucket (root directory) is backed up.'."\n"
+ .'* If the SourceType parameter is set to **ECS_FILE** or **File**, set the Source parameter to the path to the files that you want to back up. If you do not specify the Source parameter, all paths are backed up.'."\n"
+ .'* This parameter is required if the SourceType parameter is set to **COMMON_FILE_SYSTEM**. This parameter specifies the path to be backed up. To back up the /src path, enter \\["/src"]. To back up the root path, enter \\["/"].'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'backup/',
+ ],
+ 'Include' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE**, **File**, **NAS**, **COMMON_NAS**, or **COMMON_FILE_SYSTEM**. This parameter specifies the type of files to be backed up. All files of the specified type are backed up. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ 'Exclude' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE**, **File**, **NAS**, **COMMON_NAS**, or **COMMON_FILE_SYSTEM**. This parameter specifies the type of files that do not need to be backed up. No files of the specified type are backed up. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ 'SpeedLimit' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE** or **File**. This parameter specifies the throttling rules. Format: `{start}{end}{bandwidth}`. Separate multiple throttling rules with vertical bars (|). The time ranges of the throttling rules cannot overlap.'."\n"
+ ."\n"
+ .'* **start**: the start hour.'."\n"
+ .'* **end**: the end hour.'."\n"
+ .'* **bandwidth**: the bandwidth. Unit: KB/s.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0:24:1024',
+ ],
+ 'AdvancedOptions' => [
+ 'description' => 'The advanced options.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UdmDetail' => [
+ 'description' => 'The advanced options for ECS instance backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ExcludeDiskIdList' => [
+ 'description' => 'The IDs of the disks that do not need to be protected. If the DiskIdList parameter is not empty, this parameter is ignored.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the disk that does not need to be protected.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-bp1************apo',
+ ],
+ 'required' => false,
+ ],
+ 'DiskIdList' => [
+ 'description' => 'The IDs of the disks that need to be protected. If all disks need to be protected, this parameter is empty.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the disk that needs to be protected.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-bp1************apo',
+ ],
+ 'required' => false,
+ ],
+ 'SnapshotGroup' => [
+ 'description' => 'Specifies whether to create a snapshot-consistent group. You can create a snapshot-consistent group only if all disks are Enterprise SSDs (ESSDs).'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'AppConsistent' => [
+ 'description' => 'Specifies whether to enable application consistency. You can enable application consistency only if all disks are ESSDs.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'RamRoleName' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the name of the Resource Access Management (RAM) role that is required to create application-consistent snapshots.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AliyunECSInstanceForHbrRole',
+ ],
+ 'PreScriptPath' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the path of the pre-freeze scripts that are executed before application-consistent snapshots are created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/tmp/prescript.sh',
+ ],
+ 'PostScriptPath' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the path of the post-thaw scripts that are executed after application-consistent snapshots are created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/tmp/postscript.sh',
+ ],
+ 'EnableFsFreeze' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to enable Linux fsfreeze to put file systems into the read-only state before application-consistent snapshots are created. Default value: true.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'TimeoutInSeconds' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the I/O freeze timeout period. Default value: 30. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ 'EnableWriters' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to create application-consistent snapshots. Valid values:'."\n"
+ ."\n"
+ .'* true: creates application-consistent snapshots.'."\n"
+ .'* false: creates file system-consistent snapshots.'."\n"
+ ."\n"
+ .'Default value: true.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'OssDetail' => [
+ 'description' => 'The advanced options for Object Storage Service (OSS) backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InventoryId' => [
+ 'description' => 'The name of the OSS inventory. If this parameter is not empty, the OSS inventory is used for performance optimization.'."\n"
+ ."\n"
+ .'* If you want to back up more than 100 million OSS objects, we recommend that you use inventory lists to accelerate incremental backup. Storage fees for inventory lists are included into your OSS bills.'."\n"
+ .'* A certain amount of time is required for OSS to generate inventory lists. Before inventory lists are generated, OSS objects may fail to be backed up. In this case, you can back up the OSS objects in the next backup cycle.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oss-inventory-default',
+ ],
+ 'InventoryCleanupPolicy' => [
+ 'description' => 'Specifies whether the system deletes the inventory lists when a backup is completed. This parameter is valid only when OSS inventories are used. Valid values:'."\n"
+ ."\n"
+ .'* **NO_CLEANUP**: does not delete inventory lists.'."\n"
+ .'* **DELETE_CURRENT**: deletes the current inventory list.'."\n"
+ .'* **DELETE_CURRENT_AND_PREVIOUS**: deletes all inventory lists.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NO_CLEANUP',
+ ],
+ 'IgnoreArchiveObject' => [
+ 'title' => '不在任务统计和失败文件列表中提示归档型对象',
+ 'description' => 'Do not prompt for archival type objects in task statistics and failed file lists.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'FileDetail' => [
+ 'description' => 'The advanced options for file backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UseVSS' => [
+ 'description' => 'Specifies whether to enable the Volume Shadow Copy Service (VSS) feature. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables the feature.'."\n"
+ .'* **false**: disables the feature.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'AdvPolicy' => [
+ 'description' => 'Specifies whether to use an advanced policy. Valid values:'."\n"
+ ."\n"
+ .'* **true**: uses the advanced policy.'."\n"
+ .'* **false**: does not use the advanced policy.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'CommonNasDetail' => [
+ 'description' => 'The advanced options for on-premises NAS backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'FullOnIncrementFail' => [
+ 'description' => 'Specifies whether the system performs full backup if incremental backup fails. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The system performs full backup if incremental backup fails.'."\n"
+ .'* **false**: The system does not perform full backup if incremental backup fails.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'FetchSliceSize' => [
+ 'description' => 'The size of backup shards (the number of files).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100000',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the backup client group. When you perform on-premises NAS backup, Cloud Backup selects clients from the specified backup client group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-000**************ggu',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'CommonFileSystemDetail' => [
+ 'description' => 'The advanced options for CPFS backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'FullOnIncrementFail' => [
+ 'description' => 'Specifies whether the system performs full backup if incremental backup fails. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The system performs full backup if incremental backup fails.'."\n"
+ .'* **false**: The system does not perform full backup if incremental backup fails.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'FetchSliceSize' => [
+ 'description' => 'The size of backup shards (the number of files).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100000',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Specifies whether to back up and restore data within the same Alibaba Cloud account or across Alibaba Cloud accounts. Default value: SELF_ACCOUNT. Valid values:'."\n"
+ ."\n"
+ .'* **SELF_ACCOUNT**: backs up data within the same Alibaba Cloud account.'."\n"
+ .'* **CROSS_ACCOUNT**: backs up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '144**********732',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'CreatePolicyBindingsResponse',
+ 'description' => 'CreatePolicyBindingsResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '82CC5B6C-72F7-5D39-92F6-67887DF9AD46',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'PolicyAlreadyBoundWithThisDataSource',
+ 'errorMessage' => 'This datasource has already been bound with the policy, please use another one.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"82CC5B6C-72F7-5D39-92F6-67887DF9AD46\\"\\n}","type":"json"}]',
+ 'title' => 'CreatePolicyBindings',
+ 'summary' => 'Binds one or more data sources to a backup policy.',
+ 'description' => '* You can bind data sources to only one policy in each request.'."\n"
+ .'* Elastic Compute Service (ECS) instances can be bound to only one policy.'."\n",
+ ],
+ 'DeletePolicyBinding' => [
+ 'summary' => 'Disassociates one or more data sources from a backup policy. After you disassociate the data sources from the backup policy, the backup policy no longer protects the data sources. Proceed with caution.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbr9ZUQY7',
+ 'FEATUREhbrAW9I1R',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'po-000************hgp',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceIds',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of the data sources that you want to disassociate from the backup policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the data source that you want to disassociate from the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-2ze************quf',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: ECS instance backup'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DeletePolicyBindingResponse',
+ 'description' => 'DeletePolicyBindingResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3E961A5E-C5C6-566D-BFC3-0362A6A52EBA',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"3E961A5E-C5C6-566D-BFC3-0362A6A52EBA\\"\\n}","type":"json"}]',
+ 'title' => 'DeletePolicyBinding',
+ ],
+ 'UpdatePolicyBinding' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the backup policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'po-000************ky9',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the data source.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'i-bp1************dtv',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: ECS instance backup'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'UDM_ECS',
+ ],
+ ],
+ [
+ 'name' => 'PolicyBindingDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the association.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************5xx-i-2ze************nw4',
+ ],
+ ],
+ [
+ 'name' => 'Disabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to disable the backup policy for the data source. Valid values:'."\n"
+ ."\n"
+ .'* true: disables the backup policy for the data source'."\n"
+ .'* false: enables the backup policy for the data source'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '* If the SourceType parameter is set to **OSS**, set the Source parameter to the prefix of the path to the folder that you want to back up. If you do not specify the Source parameter, the entire bucket (root directory) is backed up.'."\n"
+ .'* If the SourceType parameter is set to **ECS_FILE** or **File**, set the Source parameter to the path to the files that you want to back up. If you do not specify the Source parameter, all paths backed up.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'backup/',
+ ],
+ ],
+ [
+ 'name' => 'Include',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE** or **File**. This parameter specifies the type of files to be backed up. All files of the specified type are backed up. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ ],
+ [
+ 'name' => 'Exclude',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE** or **File**. This parameter specifies the type of files that do not need to be backed up. No files of the specified type are backed up. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ ],
+ [
+ 'name' => 'SpeedLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **ECS_FILE** or **File**. This parameter specifies the throttling rules. Format: `{start}{end}{bandwidth}`. Separate multiple throttling rules with vertical bars (|). The time ranges of the throttling rules cannot overlap.'."\n"
+ ."\n"
+ .'* **start**: the start hour.'."\n"
+ .'* **end**: the end hour.'."\n"
+ .'* **bandwidth**: the bandwidth. Unit: KB/s.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0:24:5120',
+ ],
+ ],
+ [
+ 'name' => 'AdvancedOptions',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The advanced options.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UdmDetail' => [
+ 'description' => 'The details about Elastic Compute Service (ECS) instance backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ExcludeDiskIdList' => [
+ 'description' => 'The IDs of the disks that do not need to be protected. If the DiskIdList parameter is not empty, this parameter is ignored.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the disk that does not need to be protected.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-bp1************apo',
+ ],
+ 'required' => false,
+ ],
+ 'DiskIdList' => [
+ 'description' => 'The IDs of the disks that need to be protected. If all disks need to be protected, this parameter is empty.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the disk that needs to be protected.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-bp1************apo',
+ ],
+ 'required' => false,
+ ],
+ 'SnapshotGroup' => [
+ 'description' => 'Specifies whether to create a snapshot-consistent group. You can create a snapshot-consistent group only if all disks are Enterprise SSDs (ESSDs).'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'AppConsistent' => [
+ 'description' => 'Specifies whether to enable application consistency. You can enable application consistency only if all disks are ESSDs.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'RamRoleName' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the name of the Resource Access Management (RAM) role that is required to create application-consistent snapshots.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AliyunECSInstanceForHbrRole',
+ ],
+ 'PreScriptPath' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the path of the pre-freeze scripts that are executed before application-consistent snapshots are created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/tmp/prescript.sh',
+ ],
+ 'PostScriptPath' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the path of the post-thaw scripts that are executed after application-consistent snapshots are created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/tmp/postscript.sh',
+ ],
+ 'EnableFsFreeze' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to enable Linux fsfreeze to put file systems into the read-only state before application-consistent snapshots are created. Default value: true.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'TimeoutInSeconds' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the I/O freeze timeout period. Default value: 30. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '30',
+ ],
+ 'EnableWriters' => [
+ 'description' => 'This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to create application-consistent snapshots. Valid values:'."\n"
+ ."\n"
+ .'* true: creates application-consistent snapshots'."\n"
+ .'* false: creates file system-consistent snapshots'."\n"
+ ."\n"
+ .'Default value: true.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'OssDetail' => [
+ 'description' => 'The details about Object Storage Service (OSS) backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InventoryId' => [
+ 'description' => 'The name of the OSS inventory. If this parameter is not empty, the OSS inventory is used for performance optimization.'."\n"
+ ."\n"
+ .'* If you want to back up more than 100 million OSS objects, we recommend that you use inventory lists to accelerate incremental backup. Storage fees for inventory lists are included into your OSS bills.'."\n"
+ .'* A certain amount of time is required for OSS to generate inventory lists. Before inventory lists are generated, OSS objects may fail to be backed up. In this case, you can back up the OSS objects in the next backup cycle.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '30663060',
+ ],
+ 'InventoryCleanupPolicy' => [
+ 'description' => 'Specifies whether the system deletes the inventory lists when a backup is completed. This parameter is valid only when OSS inventories are used. Valid values:'."\n"
+ ."\n"
+ .'* **NO_CLEANUP**: does not delete inventory lists.'."\n"
+ .'* **DELETE_CURRENT**: deletes the current inventory list.'."\n"
+ .'* **DELETE_CURRENT_AND_PREVIOUS**: deletes all inventory lists.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NO_CLEANUP',
+ ],
+ 'IgnoreArchiveObject' => [
+ 'title' => '不在任务统计和失败文件列表中提示归档型对象',
+ 'description' => 'Do not prompt for archival type objects in task statistics and failed file lists.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'CommonFileSystemDetail' => [
+ 'description' => 'The details about large-scale file system backup.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'FullOnIncrementFail' => [
+ 'description' => 'Specifies whether the system performs full backup if incremental backup fails. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The system performs full backup if incremental backup fails.'."\n"
+ .'* **false**: The system does not perform full backup if incremental backup fails.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'FetchSliceSize' => [
+ 'description' => 'The size of backup shards (the number of files).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100000',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'UpdatePolicyBindingResponse',
+ 'description' => 'UpdatePolicyBindingResponse'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B6F24C46-54B9-519B-9AB8-A8988D705E67',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"B6F24C46-54B9-519B-9AB8-A8988D705E67\\"\\n}","type":"json"}]',
+ 'title' => 'UpdatePolicyBinding',
+ 'summary' => 'Modifies the association between a backup policy and a data source.',
+ ],
+ 'DescribePolicyBindings' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '136855',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Token required to fetch the next page of policy and data source associations.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Number of results per query.'."\n"
+ ."\n"
+ .'Range: 10~100. Default: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Policy ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'po-000************hky',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceIds',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'List of data source IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Data source ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-uf6************68n',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Data source type. Possible values:'."\n"
+ .'* **UDM_ECS**: Indicates ECS full machine backup.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Query filters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Query filters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'Key in the query filter. Possible values include:'."\n"
+ ."\n"
+ .'- **PolicyId**: Backup policy ID'."\n"
+ .'- **DataSourceId**: ECS instance ID'."\n"
+ .'- **DataSourceType**: Data source type',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DataSourceType',
+ ],
+ 'Operator' => [
+ 'description' => 'Matching method. Default is IN. This refers to the matching operation (Operator) supported by the Key and Value in the filter. Possible values include:'."\n"
+ ."\n"
+ .'- **EQUAL**: Equal to'."\n"
+ .'- **NOT_EQUAL**: Not equal to'."\n"
+ .'- **GREATER_THAN**: Greater than'."\n"
+ .'- **GREATER_THAN_OR_EQUAL**: Greater than or equal to'."\n"
+ .'- **LESS_THAN**: Less than'."\n"
+ .'- **LESS_THAN_OR_EQUAL**: Less than or equal to'."\n"
+ .'- **BETWEEN**: Range, where value is a JSON array `[lower_bound, upper_bound]`.'."\n"
+ .'- **IN**: In the set, where value is an array.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IN',
+ ],
+ 'Values' => [
+ 'description' => 'Values to be matched in the query filter.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Values to be matched in the query filter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'DescribePolicyBindingsResponse',
+ 'description' => 'DescribePolicyBindingsResponse',
+ 'type' => 'object',
+ 'properties' => [
+ 'PolicyBindings' => [
+ 'description' => 'List of bound policies.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Details of the bound policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreatedTime' => [
+ 'description' => 'Creation time. UNIX timestamp, in seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1661399570',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'Update time. UNIX timestamp, in seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1653611573',
+ ],
+ 'PolicyBindingId' => [
+ 'description' => 'Bound policy ID.',
+ 'type' => 'string',
+ 'example' => 'pd-000************slc',
+ ],
+ 'PolicyBindingDescription' => [
+ 'description' => 'Bound policy description.',
+ 'type' => 'string',
+ 'example' => 'po-000************eslc-i-uf6************y5g',
+ ],
+ 'PolicyId' => [
+ 'description' => 'Policy ID.',
+ 'type' => 'string',
+ 'example' => 'po-000************56y',
+ ],
+ 'DataSourceId' => [
+ 'description' => 'Data source ID.',
+ 'type' => 'string',
+ 'example' => 'i-8vb************5ly',
+ ],
+ 'Disabled' => [
+ 'description' => 'Whether the policy is disbaled for this data source.'."\n"
+ .'- true: disabled'."\n"
+ .'- false: Not disabled',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Source' => [
+ 'description' => '- When **SourceType** is **OSS**, it indicates the prefix to be backed up. If not specified, it means backing up the entire root directory of the Bucket.'."\n"
+ .'- When **SourceType** is **ECS_FILE** or **File**, it indicates the file directory to be backed up. If not specified, it means backing up all directories.',
+ 'type' => 'string',
+ 'example' => 'backup/',
+ ],
+ 'Include' => [
+ 'description' => 'This parameter is required only when **SourceType** is **ECS_FILE** or **File**. It specifies the file types to be backed up, and all files of these types will be backed up. Supports up to 255 characters.',
+ 'type' => 'string',
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ 'Exclude' => [
+ 'description' => 'This parameter is required only when **SourceType** is **ECS_FILE** or **File**. It specifies the file types that should not be backed up, and all files of these types will be excluded. Supports up to 255 characters.',
+ 'type' => 'string',
+ 'example' => '[\\"*.doc\\",\\"*.xltm\\"]',
+ ],
+ 'SpeedLimit' => [
+ 'description' => 'This parameter is required only when **SourceType** is **ECS_FILE** or **File**. It specifies the backup traffic control. The format is `{start}{end}{bandwidth}`. Multiple traffic control configurations are separated by commas, and the configured times must not overlap.'."\n"
+ ."\n"
+ .'- **start**: Start hour.'."\n"
+ .'- **end**: End hour.'."\n"
+ .'- **bandwidth**: Limit rate, in KB/s.',
+ 'type' => 'string',
+ 'example' => '0:24:10240',
+ ],
+ 'AdvancedOptions' => [
+ 'description' => 'Advanced options.',
+ 'type' => 'object',
+ 'properties' => [
+ 'UdmDetail' => [
+ 'description' => 'Advanced options for full machine backup.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ExcludeDiskIdList' => [
+ 'description' => 'List of disk IDs that do not need protection. This parameter is ignored if DiskIdList is not empty.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Disk ID that does not need protection.',
+ 'type' => 'string',
+ 'example' => 'd-bp1************apo'."\n",
+ ],
+ ],
+ 'DiskIdList' => [
+ 'description' => 'List of disk IDs that need protection. This value is empty when protecting all disks.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Disk ID that needs protection.',
+ 'type' => 'string',
+ 'example' => 'd-bp1************apo'."\n",
+ ],
+ ],
+ 'SnapshotGroup' => [
+ 'description' => 'Indicates whether to create a snapshot consistency group. Only supported when all disk types are ESSD.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'AppConsistent' => [
+ 'description' => '是否创建应用一致性。仅云盘类型全部为ESSD时,支持创建快照应用一致性。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'RamRoleName' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It specifies the RAM role name needed for creating an application-consistent snapshot.',
+ 'type' => 'string',
+ 'example' => 'AliyunECSInstanceForHbrRole',
+ ],
+ 'PreScriptPath' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It specifies the path of the freeze script to be executed before creating an application-consistent snapshot.',
+ 'type' => 'string',
+ 'example' => '/tmp/prescript.sh',
+ ],
+ 'PostScriptPath' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It specifies the path of the unfreeze script to be executed after creating an application-consistent snapshot.',
+ 'type' => 'string',
+ 'example' => '/tmp/postscript.sh',
+ ],
+ 'EnableFsFreeze' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It indicates whether to use the Linux FsFreeze mechanism to ensure the file system is in a read-only consistent state before creating an application-consistent snapshot. The default value is true.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'TimeoutInSeconds' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It specifies the IO freeze timeout duration. The default value is 30 seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'EnableWriters' => [
+ 'description' => 'This parameter is required when **AppConsistent** is **true**. It determines whether to set an application-consistent snapshot:'."\n"
+ .'- **true**: Create an application-consistent snapshot'."\n"
+ .'- **false**: Create a file system-consistent snapshot'."\n"
+ ."\n"
+ .'The default value is true.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DestinationKmsKeyId' => [
+ 'description' => 'The custom KMS key ID in the destination region. When this field is not empty and cross-region replication is enabled, the specified key will be used for encrypting the cross-region replication.',
+ 'type' => 'string',
+ 'example' => '4ed37b1e-da51-4187-aceb-9db4f9b7148b',
+ ],
+ ],
+ ],
+ 'OssDetail' => [
+ 'description' => 'Advanced options for OSS backup.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InventoryId' => [
+ 'description' => 'The name of the OSS inventory. If this value is not empty, the OSS inventory will be used for performance optimization.'."\n"
+ .'- It is recommended to use an inventory for backing up more than 100 million OSS objects to improve incremental performance. Storage costs for the inventory files are charged separately by the OSS service.'."\n"
+ .'- The generation of the OSS inventory file takes time, and the backup may fail before the inventory file is generated. You can wait for the next cycle to execute.',
+ 'type' => 'string',
+ 'example' => 'inventory_test',
+ ],
+ 'InventoryCleanupPolicy' => [
+ 'description' => 'Whether to delete the inventory file after the backup. This is only effective when using an OSS inventory. Supported values:'."\n"
+ .'- **NO_CLEANUP**: Do not delete.'."\n"
+ .'- **DELETE_CURRENT**: Delete the current file.'."\n"
+ .'- **DELETE_CURRENT_AND_PREVIOUS**: Delete all files.',
+ 'type' => 'string',
+ 'example' => 'DELETE_CURRENT_AND_PREVIOUS',
+ ],
+ 'IgnoreArchiveObject' => [
+ 'title' => '不在任务统计和失败文件列表中提示归档型对象',
+ 'description' => 'Do not prompt for archive-type objects in the task statistics and failed file list.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'FileDetail' => [
+ 'description' => 'Advanced options for file backup.',
+ 'type' => 'object',
+ 'properties' => [
+ 'UseVSS' => [
+ 'description' => 'Whether to enable VSS (Windows) functionality. Values:'."\n"
+ .'- **true**: Enable.'."\n"
+ .'- **false**: Disable.',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'AdvPolicy' => [
+ 'description' => 'Whether to use advanced policies. Values:'."\n"
+ .'- **true**: Use.'."\n"
+ .'- **false**: Do not use.',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'CommonNasDetail' => [
+ 'description' => 'Advanced options for local NAS.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FullOnIncrementFail' => [
+ 'description' => 'Whether to switch to a full backup when an incremental backup fails. Values:'."\n"
+ .'- **true**: Switch to full backup on failure.'."\n"
+ .'- **false**: Do not switch to full backup on failure.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FetchSliceSize' => [
+ 'description' => 'Backup slice size (number of files).',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100000',
+ ],
+ 'ClientId' => [
+ 'description' => 'Backup client ID.',
+ 'type' => 'string',
+ 'example' => 'c-0001eg6mcvjs93f46s2d',
+ ],
+ 'ClusterId' => [
+ 'description' => 'Client group ID.',
+ 'type' => 'string',
+ 'example' => 'cl-000gkcofngi04j6k680a',
+ ],
+ ],
+ ],
+ 'CommonFileSystemDetail' => [
+ 'description' => 'Advanced options for large-scale file system backup.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FullOnIncrementFail' => [
+ 'description' => 'Whether to switch to a full backup when an incremental backup fails. Values:'."\n"
+ .'- **true**: Switch to full backup on failure.'."\n"
+ .'- **false**: Do not switch to full backup on failure.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FetchSliceSize' => [
+ 'description' => 'Backup shard size (number of files).',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SourceType' => [
+ 'description' => 'Data source type, with the value range:'."\n"
+ .'- **UDM_ECS**: indicates ECS full machine backup',
+ 'type' => 'string',
+ 'example' => 'UDM_ECS',
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Cross-account backup type. Supported values: '."\n"
+ .'- SELF_ACCOUNT: Backup within the same account'."\n"
+ .'- CROSS_ACCOUNT: Cross-account backup',
+ 'type' => 'string',
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the original account for cross-account backup.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1480************',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the role created in the RAM of the original account for cross-account backup.',
+ 'type' => 'string',
+ 'example' => 'hbrcrossrole',
+ ],
+ 'CreatedByTag' => [
+ 'description' => 'Whether the resource is automatically associated through the backup policy resource tag.',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'HitTags' => [
+ 'description' => 'Hit tag rules.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'Tag key.',
+ 'type' => 'string',
+ 'example' => 'env',
+ ],
+ 'Value' => [
+ 'description' => 'Tag value.',
+ 'type' => 'string',
+ 'example' => 'prod',
+ ],
+ 'Operator' => [
+ 'description' => 'Tag matching rule.'."\n"
+ .'- **EQUAL**: Matches both the tag key and tag value.'."\n"
+ .'- **NOT**: Matches the tag key but not the tag value.',
+ 'type' => 'string',
+ 'example' => 'EQUAL',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'NextToken' => [
+ 'description' => 'The token required to fetch the next page of policy and data source bindings.',
+ 'type' => 'string',
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of results per query.'."\n"
+ ."\n"
+ .'Range: 10~100. Default: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'Total number of records.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '38',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'- true: Success'."\n"
+ .'- false: Failure',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'Return code, 200 indicates success.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'Description of the return message. A successful response usually returns \'successful\', while an error will return a corresponding error message.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '5225929A-4EBD-55EE-9FE1-4A130E582A76',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PolicyBindings\\": [\\n {\\n \\"CreatedTime\\": 1661399570,\\n \\"UpdatedTime\\": 1653611573,\\n \\"PolicyBindingId\\": \\"pd-000************slc\\",\\n \\"PolicyBindingDescription\\": \\"po-000************eslc-i-uf6************y5g\\",\\n \\"PolicyId\\": \\"po-000************56y\\",\\n \\"DataSourceId\\": \\"i-8vb************5ly\\",\\n \\"Disabled\\": true,\\n \\"Source\\": \\"backup/\\",\\n \\"Include\\": \\"[\\\\\\\\\\\\\\"*.doc\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"*.xltm\\\\\\\\\\\\\\"]\\",\\n \\"Exclude\\": \\"[\\\\\\\\\\\\\\"*.doc\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"*.xltm\\\\\\\\\\\\\\"]\\",\\n \\"SpeedLimit\\": \\"0:24:10240\\",\\n \\"AdvancedOptions\\": {\\n \\"UdmDetail\\": {\\n \\"ExcludeDiskIdList\\": [\\n \\"d-bp1************apo\\\\n\\"\\n ],\\n \\"DiskIdList\\": [\\n \\"d-bp1************apo\\\\n\\"\\n ],\\n \\"SnapshotGroup\\": true,\\n \\"AppConsistent\\": false,\\n \\"RamRoleName\\": \\"AliyunECSInstanceForHbrRole\\",\\n \\"PreScriptPath\\": \\"/tmp/prescript.sh\\",\\n \\"PostScriptPath\\": \\"/tmp/postscript.sh\\",\\n \\"EnableFsFreeze\\": true,\\n \\"TimeoutInSeconds\\": 30,\\n \\"EnableWriters\\": true,\\n \\"DestinationKmsKeyId\\": \\"4ed37b1e-da51-4187-aceb-9db4f9b7148b\\"\\n },\\n \\"OssDetail\\": {\\n \\"InventoryId\\": \\"inventory_test\\",\\n \\"InventoryCleanupPolicy\\": \\"DELETE_CURRENT_AND_PREVIOUS\\",\\n \\"IgnoreArchiveObject\\": true\\n },\\n \\"FileDetail\\": {\\n \\"UseVSS\\": false,\\n \\"AdvPolicy\\": false\\n },\\n \\"CommonNasDetail\\": {\\n \\"FullOnIncrementFail\\": true,\\n \\"FetchSliceSize\\": 100000,\\n \\"ClientId\\": \\"c-0001eg6mcvjs93f46s2d\\",\\n \\"ClusterId\\": \\"cl-000gkcofngi04j6k680a\\"\\n },\\n \\"CommonFileSystemDetail\\": {\\n \\"FullOnIncrementFail\\": true,\\n \\"FetchSliceSize\\": 100000\\n }\\n },\\n \\"SourceType\\": \\"UDM_ECS\\",\\n \\"CrossAccountType\\": \\"CROSS_ACCOUNT\\",\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"hbrcrossrole\\",\\n \\"CreatedByTag\\": false,\\n \\"HitTags\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": \\"prod\\",\\n \\"Operator\\": \\"EQUAL\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCount\\": 38,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"5225929A-4EBD-55EE-9FE1-4A130E582A76\\"\\n}","type":"json"}]',
+ 'title' => 'DescribePolicyBindings',
+ 'summary' => 'Query one or more data sources bound to a policy, or query one or more policies bound to a data source.',
+ 'translator' => 'machine',
+ ],
+ 'ExecutePolicyV2' => [
+ 'summary' => 'Execute a policy for one or all bound data sources.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '163243',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr4JQRTT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Policy ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'po-000************hky',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Data source ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-bp1************dtv',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Data source type, with the value range as follows:'."\n"
+ ."\n"
+ .'- **UDM_ECS**: Represents ECS full machine backup.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UDM_ECS',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Rule ID, limited to executing rules of **RuleType** **BACKUP**.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'rule-0002*****ux8',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ExecutePolicyResponse',
+ 'description' => 'ExecutePolicyResponse',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'- true: Success'."\n"
+ .'- false: Failure',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'Return code, 200 indicates success.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'Description of the return message, usually returns \'successful\' on success, and corresponding error messages on failure.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => 'F4EEB401-DD21-588D-AE3B-1E835C7655E1',
+ ],
+ 'JobId' => [
+ 'description' => 'Backup job ID.',
+ 'type' => 'string',
+ 'example' => 'job-*********************',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"F4EEB401-DD21-588D-AE3B-1E835C7655E1\\",\\n \\"JobId\\": \\"job-*********************\\"\\n}","type":"json"}]',
+ 'title' => 'Execute Policy',
+ 'translator' => 'machine',
+ ],
+ 'DeleteBackupClient' => [
+ 'summary' => 'Deletes a Cloud Backup client.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrS7MI6C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'c-*********************',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteBackupClientResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteBackupClientResponse>","errorExample":""}]',
+ 'title' => 'DeleteBackupClient',
+ 'description' => '* You cannot delete the active Cloud Backup clients that receive heartbeat packets within 1 hour. You can call the UninstallBackupClients operation to uninstall a Cloud Backup client. Then, the client becomes inactive.'."\n"
+ ."\n"
+ .'* When you perform this operation, resources that are associated with the client are also deleted, including:'."\n"
+ ."\n"
+ .' * Backup plans'."\n"
+ .' * Backup jobs'."\n"
+ .' * Snapshots'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteBackupClientResource' => [
+ 'summary' => 'Deletes the resources that are related to one or more HBR clients.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of HBR clients. The value can be a JSON array that consists of up to 100 client IDs. Separate the IDs with commas (,).',
+ 'type' => 'object',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '["c-0007kyu045r0********", "c-000b6818umvo********"]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteBackupClientResourceResponse>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Message>successful</Message>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DeleteBackupClientResourceResponse>","errorExample":""}]',
+ 'title' => 'DeleteBackupClientResource',
+ 'description' => 'This operation deletes only the resources that are related to HBR clients. The resources include backup plans, backup jobs, and backup snapshots. The operation does not delete HBR clients.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateClientSettings' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95671',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UseHttps',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to transmit the data on the data plane over HTTPS. Valid values:'."\n"
+ ."\n"
+ .'* true: Data is transmitted over HTTPS.'."\n"
+ .'* false: Data is transmitted over HTTP.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault. This parameter is required for the old HBR client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the HBR client.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'c-*********************',
+ ],
+ ],
+ [
+ 'name' => 'DataNetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the endpoint on the data plane. Valid values:'."\n"
+ ."\n"
+ .'* **PUBLIC**: Internet'."\n"
+ .'* **VPC**: virtual private cloud (VPC)'."\n"
+ .'* **CLASSIC**: classic network'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VPC',
+ ],
+ ],
+ [
+ 'name' => 'MaxCpuCore',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of CPU cores used by a single backup job. The value 0 indicates that the number is unlimited.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '999',
+ 'minimum' => '0',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxWorker',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of concurrent backup jobs. The value 0 indicates that the number is unlimited.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '999',
+ 'minimum' => '0',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DataProxySetting',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The proxy configuration on the data plane. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: The proxy is not used.'."\n"
+ .'* **USE_CONTROL_PROXY** (default): The configuration is the same as that on the control plane.'."\n"
+ .'* **CUSTOM**: The configuration is customized (HTTP).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'USE_CONTROL_PROXY',
+ 'enum' => [
+ 'DISABLE',
+ 'USE_CONTROL_PROXY',
+ 'CUSTOM',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ProxyHost',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom host IP address of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.11.100',
+ ],
+ ],
+ [
+ 'name' => 'ProxyPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom host port of the proxy server on the data plane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65536',
+ 'minimum' => '1',
+ 'example' => '3128',
+ ],
+ ],
+ [
+ 'name' => 'ProxyUser',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom username of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'user',
+ ],
+ ],
+ [
+ 'name' => 'ProxyPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom password of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '******',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-*********************',
+ ],
+ ],
+ [
+ 'name' => 'MaxMemory',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum memory that can be used by the client. Unit: bytes. Only V2.13.0 and later are supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'maximum' => '1099511627776',
+ 'exclusiveMaximum' => false,
+ 'minimum' => '0',
+ 'example' => '4096',
+ ],
+ ],
+ [
+ 'name' => 'AlertOnPartialComplete',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to generate alert for partially completed jobs. This parameter is valid only for on-premises file backup and ECS file backup.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateClientSettingsResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</UpdateClientSettingsResponse>","errorExample":""}]',
+ 'title' => 'UpdateClientSettings',
+ 'summary' => 'Updates the configurations of an HBR client.',
+ 'description' => 'You can call this operation to update the configurations of both the old and new HBR clients.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeBackupClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '95500',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ClientType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the HBR client. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_CLIENT**: HBR client for Elastic Compute Service (ECS) file backup'."\n"
+ .'* **CONTAINER_CLIENT**: HBR client for container backup'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => [
+ 'CONTAINER_CLIENT' => 'CONTAINER_CLIENT',
+ 'LOCAL_CLIENT' => 'LOCAL_CLIENT',
+ 'ECS_CLIENT' => 'ECS_CLIENT',
+ ],
+ 'example' => 'ECS_CLIENT',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster for the backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-000ge4wa61b4d337xblq',
+ ],
+ ],
+ [
+ 'name' => 'ClientIds',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of HBR clients.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the HBR client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-*********************',
+ ],
+ 'required' => false,
+ 'example' => '["c-*********************"]',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of ECS instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-*********************',
+ ],
+ 'required' => false,
+ 'example' => '["i-*********************"]',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key of the backup vault. Valid values of N: 1 to 20.'."\n"
+ ."\n"
+ .'* The tag key cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag key cannot contain `http://` or `https://`.'."\n"
+ .'* The tag key cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TestKey',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of the backup vault. Valid values of N: 1 to 20.'."\n"
+ ."\n"
+ .'* The tag value cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag value cannot contain `http://` or `https://`.'."\n"
+ .'* The tag value cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TestValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'example' => '33738719#',
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '129374672382xxxx',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Values' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'maxItems' => 5,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned HBR clients that meet the specified conditions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'Clients' => [
+ 'description' => 'The queried backup clients.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup client. Valid values:'."\n"
+ ."\n"
+ .'* **REGISTERED**: The backup client is registered.'."\n"
+ .'* **ACTIVATED**: The backup client is activated.'."\n"
+ .'* **DEACTIVATED**: The backup client fails to be activated.'."\n"
+ .'* **INSTALLING**: The backup client is being installed.'."\n"
+ .'* **INSTALL_FAILED**: The backup client fails to be installed.'."\n"
+ .'* **NOT_INSTALLED**: The backup client is not installed.'."\n"
+ .'* **UPGRADING**: The backup client is being upgraded.'."\n"
+ .'* **UPGRADE_FAILED**: The backup client fails to be upgraded.'."\n"
+ .'* **UNINSTALLING**: The backup client is being uninstalled.'."\n"
+ .'* **UNINSTALL_FAILED**: The backup client fails to be uninstalled.'."\n"
+ .'* **STOPPED**: The backup client is out of service.'."\n"
+ .'* **UNKNOWN**: The backup client is disconnected.'."\n",
+ 'type' => 'string',
+ 'example' => 'ACTIVATED',
+ ],
+ 'BackupStatus' => [
+ 'description' => 'The protection status of the backup client. Valid values:'."\n"
+ ."\n"
+ .'* **UNPROTECTED**: The backup client is not protected.'."\n"
+ .'* **PROTECTED**: The backup client is protected.'."\n",
+ 'type' => 'string',
+ 'example' => 'PROTECTED',
+ ],
+ 'ArchType' => [
+ 'description' => 'This parameter is valid only if the **ClientType** parameter is set to **ECS_CLIENT**. This parameter indicates the system architecture where the backup client resides. Valid values:'."\n"
+ ."\n"
+ .'* **amd64**'."\n"
+ .'* **386**'."\n",
+ 'type' => 'string',
+ 'example' => 'amd64',
+ ],
+ 'ClientId' => [
+ 'description' => 'The ID of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-*********************',
+ ],
+ 'MaxClientVersion' => [
+ 'description' => 'The latest version number of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => '2.4.5',
+ ],
+ 'PrivateIpV4' => [
+ 'description' => 'This parameter is valid only if the **ClientType** parameter is set to **ECS_CLIENT**. This parameter indicates the internal IP address of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.1.1',
+ ],
+ 'InstanceName' => [
+ 'description' => 'This parameter is valid only if the **ClientType** parameter is set to **ECS_CLIENT**. This parameter indicates the name of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup client was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'LastHeartBeatTime' => [
+ 'description' => 'The last heartbeat time of the backup client. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'ClientType' => [
+ 'description' => 'The type of the backup client. Valid value: **ECS_CLIENT**, which indicates a client for ECS file backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_CLIENT',
+ ],
+ 'Hostname' => [
+ 'description' => 'The hostname of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'hostname',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The instance ID.'."\n"
+ ."\n"
+ .'* If the client is used to back up ECS files, this parameter indicates the ID of an ECS instance.'."\n"
+ .'* If the client is used to back up on-premises files, this parameter indicates the hardware fingerprint that is generated based on the system information.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-*********************',
+ ],
+ 'Appliance' => [
+ 'description' => 'Indicates whether the client is installed on an all-in-one PC that integrates hardware and monitoring program. Valid values:'."\n"
+ ."\n"
+ .'* true: The client is installed on an all-in-one PC that integrates hardware and monitoring program.'."\n"
+ .'* false: The client is not installed on an all-in-one PC that integrates hardware and monitoring program.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup client was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'OsType' => [
+ 'description' => 'This parameter is valid only if the **ClientType** parameter is set to **ECS_CLIENT**. This parameter indicates the operating system type of the backup client. Valid values:'."\n"
+ ."\n"
+ .'* **windows**'."\n"
+ .'* **linux**'."\n",
+ 'type' => 'string',
+ 'example' => 'linux',
+ ],
+ 'ZoneId' => [
+ 'description' => 'This parameter is valid only if the **ClientType** parameter is set to **ECS_CLIENT**. This parameter indicates the zone of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou-f',
+ ],
+ 'ClientVersion' => [
+ 'description' => 'The version number of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => '2.4.5',
+ ],
+ 'Tags' => [
+ 'description' => 'The tag information.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key of the backup vault. Valid values of N: 1 to 20'."\n"
+ ."\n"
+ .'* The tag key cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag key cannot contain `http://` or `https://`.'."\n"
+ .'* The tag key cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestKey',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of the backup vault. Valid values of N: 1 to 20'."\n"
+ ."\n"
+ .'* The tag value cannot start with `aliyun` or `acs:`.'."\n"
+ .'* The tag value cannot contain `http://` or `https://`.'."\n"
+ .'* The tag value cannot be an empty string.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestValue',
+ ],
+ ],
+ ],
+ ],
+ 'Settings' => [
+ 'description' => 'The configuration information of the backup client.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ProxyHost' => [
+ 'description' => 'The custom host IP address of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.11.100',
+ ],
+ 'MaxCpuCore' => [
+ 'description' => 'The number of CPU cores used by a single backup job. The value 0 indicates that the number is unlimited.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'ProxyPort' => [
+ 'description' => 'The custom host port of the proxy server on the data plane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3128',
+ ],
+ 'UseHttps' => [
+ 'description' => 'Indicates whether data on the data plane is transmitted over HTTPS. Valid values:'."\n"
+ ."\n"
+ .'* true: Data is transmitted over HTTPS.'."\n"
+ .'* false: Data is transmitted over HTTP.'."\n",
+ 'type' => 'string',
+ 'example' => 'false',
+ ],
+ 'ProxyPassword' => [
+ 'description' => 'The custom password of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'example' => '******',
+ ],
+ 'ProxyUser' => [
+ 'description' => 'The custom username of the proxy server on the data plane.'."\n",
+ 'type' => 'string',
+ 'example' => 'user',
+ ],
+ 'DataProxySetting' => [
+ 'description' => 'The proxy configuration on the data plane. Valid values:'."\n"
+ ."\n"
+ .'* **DISABLE**: The proxy is not used.'."\n"
+ .'* **USE_CONTROL_PROXY** (default): The configuration is the same as that on the control plane.'."\n"
+ .'* **CUSTOM**: The configuration is customized (HTTP).'."\n",
+ 'type' => 'string',
+ 'example' => 'USE_CONTROL_PROXY',
+ ],
+ 'DataNetworkType' => [
+ 'description' => 'The type of the endpoint on the data plane. Valid values:'."\n"
+ ."\n"
+ .'* **PUBLIC**: Internet'."\n"
+ .'* **VPC**: virtual private cloud (VPC)'."\n"
+ .'* **CLASSIC**: classic network'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'MaxWorker' => [
+ 'description' => 'The number of concurrent backup jobs. The value 0 indicates that the number is unlimited.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'MaxMemory' => [
+ 'description' => 'The maximum memory that can be used by the client. Unit: bytes. Only V2.13.0 and later are supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'AlertOnPartialComplete' => [
+ 'description' => 'Indicates whether alerts are generated for partially completed jobs. This parameter is valid only for on-premises file backup and ECS file backup.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'example' => '{\'Client\': []}',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 8,\\n \\"Clients\\": [\\n {\\n \\"Status\\": \\"ACTIVATED\\",\\n \\"BackupStatus\\": \\"PROTECTED\\",\\n \\"ArchType\\": \\"amd64\\",\\n \\"ClientId\\": \\"c-*********************\\",\\n \\"MaxClientVersion\\": \\"2.4.5\\",\\n \\"PrivateIpV4\\": \\"192.168.1.1\\",\\n \\"InstanceName\\": \\"instancename\\",\\n \\"CreatedTime\\": 1554347313,\\n \\"LastHeartBeatTime\\": 1554347313,\\n \\"ClientType\\": \\"ECS_CLIENT\\",\\n \\"Hostname\\": \\"hostname\\",\\n \\"InstanceId\\": \\"i-*********************\\",\\n \\"Appliance\\": false,\\n \\"UpdatedTime\\": 1554347313,\\n \\"OsType\\": \\"linux\\",\\n \\"ZoneId\\": \\"cn-hangzhou-f\\",\\n \\"ClientVersion\\": \\"2.4.5\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ],\\n \\"Settings\\": {\\n \\"ProxyHost\\": \\"192.168.11.100\\",\\n \\"MaxCpuCore\\": \\"1\\",\\n \\"ProxyPort\\": 3128,\\n \\"UseHttps\\": \\"false\\",\\n \\"ProxyPassword\\": \\"******\\",\\n \\"ProxyUser\\": \\"user\\",\\n \\"DataProxySetting\\": \\"USE_CONTROL_PROXY\\",\\n \\"DataNetworkType\\": \\"VPC\\",\\n \\"MaxWorker\\": \\"1\\",\\n \\"MaxMemory\\": 0,\\n \\"AlertOnPartialComplete\\": false\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeBackupClientsResponse>\\n<TotalCount>8</TotalCount>\\n<PageSize>10</PageSize>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<PageNumber>1</PageNumber>\\n<Clients>\\n <Status>ACTIVATED</Status>\\n <PrivateIpV4>192.168.1.1</PrivateIpV4>\\n <ClientType>ECS_CLIENT</ClientType>\\n <CreatedTime>1554347313</CreatedTime>\\n <ZoneId>cn-hangzhou-f</ZoneId>\\n <InstanceId>i-*********************</InstanceId>\\n <Hostname>hostname</Hostname>\\n <ClientVersion>2.4.5</ClientVersion>\\n <InstanceName>instancename</InstanceName>\\n <MaxClientVersion>2.4.5</MaxClientVersion>\\n <Appliance>false</Appliance>\\n <ArchType>amd64</ArchType>\\n <OsType>linux</OsType>\\n <LastHeartBeatTime>1554347313</LastHeartBeatTime>\\n <ClientId>c-*********************</ClientId>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <BackupStatus>PROTECTED</BackupStatus>\\n <Tags>\\n <Value>TestValue</Value>\\n <Key>TestKey</Key>\\n </Tags>\\n <Settings>\\n <MaxCpuCore>1</MaxCpuCore>\\n <DataNetworkType>VPC</DataNetworkType>\\n <UseHttps>false</UseHttps>\\n <DataProxySetting>USE_CONTROL_PROXY</DataProxySetting>\\n <MaxWorker>1</MaxWorker>\\n <ProxyPassword>******</ProxyPassword>\\n <ProxyUser>user</ProxyUser>\\n <ProxyHost>192.168.11.100</ProxyHost>\\n <ProxyPort>3128</ProxyPort>\\n </Settings>\\n</Clients>\\n<Code>200</Code>\\n<Success>true</Success>\\n</DescribeBackupClientsResponse>","errorExample":""}]',
+ 'title' => 'DescribeBackupClients',
+ 'summary' => 'Queries the information about one or more HBR clients that meet the specified conditions.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'InstallBackupClients' => [
+ 'summary' => 'Installs an HBR client on one or more Elastic Compute Service (ECS) instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95625',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of the ECS instances. You can specify up to 20 IDs.'."\n",
+ 'type' => 'object',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '["i-0xi5wj5*****v3j3bh2gj5"]',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '16392782xxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceStatuses' => [
+ 'description' => 'The status of the ECS instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidInstance' => [
+ 'description' => 'Indicates whether an HBR client can be installed on the ECS instance. Valid values:'."\n"
+ ."\n"
+ .'* true: An HBR client can be installed on the ECS instance.'."\n"
+ .'* false: An HBR client cannot be installed on the ECS instance.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-0xi5w***v3j3bh2gj5',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code that is returned. Valid values:'."\n"
+ ."\n"
+ .'* If the value is empty, the call is successful.'."\n"
+ .'* **InstanceNotExists**: The ECS instance does not exist.'."\n"
+ .'* **InstanceNotRunning**: The ECS instance is not running.'."\n"
+ .'* **CloudAssistNotRunningOnInstance**: Cloud Assistant is unavailable.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceNotExists',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-*********************\\",\\n \\"Success\\": true,\\n \\"InstanceStatuses\\": [\\n {\\n \\"ValidInstance\\": true,\\n \\"InstanceId\\": \\"i-0xi5w***v3j3bh2gj5\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<InstallBackupClientsResponse>\\n<TaskId>t-*********************</TaskId>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Message>successful</Message>\\n<InstanceStatuses>\\n <InstanceId>i-0xi5w***v3j3bh2gj5</InstanceId>\\n <ErrorCode>InstanceNotExists</ErrorCode>\\n <ValidInstance>true</ValidInstance>\\n</InstanceStatuses>\\n<Code>200</Code>\\n<Success>true</Success>\\n</InstallBackupClientsResponse>","errorExample":""}]',
+ 'title' => 'InstallBackupClients',
+ 'description' => '* This operation creates an asynchronous job at the backend and calls Cloud Assistant to install an HBR client on an ECS instance.'."\n"
+ .'* You can call the [DescribeTask](~~431265~~) operation to query the execution result of an asynchronous job.'."\n"
+ .'* The timeout period of an asynchronous job is 15 minutes. We recommend that you call the DescribeTask operation to run the first query 60 seconds after you call the InstallBackupClients operation to install HBR clients. Then, run the next queries at an interval of 30 seconds.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UninstallBackupClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95660',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of Elastic Compute Service (ECS) instances. You can specify a maximum of 20 ECS instances.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '["i-0xi5wj5*****v3j3bh2gj5"]',
+ 'default' => '[]',
+ ],
+ ],
+ [
+ 'name' => 'ClientIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of Cloud Backup clients. The sum of the number of Cloud Backup client IDs and the number of ECS instance IDs cannot exceed 20. Otherwise, an error occurs.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '["c-*********************"]',
+ 'default' => '[]',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up and restored within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up and restored within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up and restored across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up and restore data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '129349237xxxxx',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up and restore data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the request is successful, a value of successful is returned. If the request fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of the asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n"
+ ."\n"
+ .'* true: The request is successful.'."\n"
+ .'* false: The request fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceStatuses' => [
+ 'description' => 'The status of the ECS instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidInstance' => [
+ 'description' => 'Indicates whether a backup client can be installed on the ECS instance.'."\n"
+ ."\n"
+ .'* true: A backup client can be installed on the ECS instance.'."\n"
+ .'* false: A backup client cannot be installed on the ECS instance.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-0xi5w***v3j3bh2gj5',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. Valid values:'."\n"
+ ."\n"
+ .'* If the value is empty, the request is successful.'."\n"
+ .'* **InstanceNotExists**: The ECS instance does not exist.'."\n"
+ .'* **InstanceNotRunning**: The ECS instance is not running.'."\n"
+ .'* **CloudAssistNotRunningOnInstance**: Cloud Assistant is unavailable.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceNotExists',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-*********************\\",\\n \\"Success\\": true,\\n \\"InstanceStatuses\\": [\\n {\\n \\"ValidInstance\\": true,\\n \\"InstanceId\\": \\"i-0xi5w***v3j3bh2gj5\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UninstallBackupClientsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <TaskId>t-*********************</TaskId>\\n <Success>true</Success>\\n <InstanceStatuses>\\n <ValidInstance>true</ValidInstance>\\n <InstanceId>i-0xi5w***v3j3bh2gj5</InstanceId>\\n <ErrorCode>InstanceNotExists</ErrorCode>\\n </InstanceStatuses>\\n</UninstallBackupClientsResponse>","errorExample":""}]',
+ 'title' => 'UninstallBackupClients',
+ 'summary' => 'Uninstalls a Cloud Backup client from one or more Elastic Compute Service (ECS) instance.',
+ 'description' => '* This operation creates an asynchronous job at the backend and calls Cloud Assistant to uninstall a backup client from an ECS instance.'."\n"
+ .'* You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n"
+ .'* The timeout period of an asynchronous job is 15 minutes. We recommend that you call the DescribeTask operation to run the first query 30 seconds after you call the UninstallBackupClients operation to uninstall backup clients. Then, run the next queries at an interval of 30 seconds.'."\n",
+ ],
+ 'UpgradeBackupClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95706',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrS7MI6C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of Elastic Compute Service (ECS) instances. The total number of ECS instance IDs and Cloud Backup client IDs cannot exceed 100.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '["c-*********************"]',
+ 'default' => '[]',
+ ],
+ ],
+ [
+ 'name' => 'ClientIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The IDs of Cloud Backup clients. The total number of Cloud Backup client IDs and ECS instance IDs cannot exceed 100.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '["i-0xi5wj******3j3bh2gj5"]',
+ 'default' => '[]',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1283948272xxxxx',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceStatuses' => [
+ 'description' => 'The status of the ECS instance. If the status of an ECS instance cannot meet the requirements to install an HBR client and the value of the InstanceIds parameter is greater than 1, an error message is returned based on the value of this parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidInstance' => [
+ 'description' => 'Indicates whether an HBR client can be installed on the ECS instance. Valid values:'."\n"
+ ."\n"
+ .'* true: An HBR client can be installed on the ECS instance.'."\n"
+ .'* false: An HBR client cannot be installed on the ECS instance.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-0xi5w***v3j3bh2gj5',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code that is returned. Valid values:'."\n"
+ ."\n"
+ .'* If the value is empty, the call is successful.'."\n"
+ .'* **InstanceNotExists**: The ECS instance does not exist.'."\n"
+ .'* **InstanceNotRunning**: The ECS instance is not running.'."\n"
+ .'* **CloudAssistNotRunningOnInstance**: Cloud Assistant is unavailable.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceNotExists',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-*********************\\",\\n \\"Success\\": true,\\n \\"InstanceStatuses\\": [\\n {\\n \\"ValidInstance\\": true,\\n \\"InstanceId\\": \\"i-0xi5w***v3j3bh2gj5\\",\\n \\"ErrorCode\\": \\"InstanceNotExists\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpgradeBackupClientsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <TaskId>t-*********************</TaskId>\\n <Success>true</Success>\\n <InstanceStatuses>\\n <ValidInstance>true</ValidInstance>\\n <InstanceId>i-0xi5w***v3j3bh2gj5</InstanceId>\\n <ErrorCode>InstanceNotExists</ErrorCode>\\n </InstanceStatuses>\\n</UpgradeBackupClientsResponse>","errorExample":""}]',
+ 'title' => 'UpgradeBackupClients',
+ 'summary' => 'Upgrades an HBR client on one or more Elastic Compute Service (ECS) instances.',
+ 'description' => '* This operation creates an asynchronous job at the backend and calls Cloud Assistant to upgrade an HBR client that is installed on an ECS instance.'."\n"
+ .'* You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n"
+ .'* The timeout period of an asynchronous job is 15 minutes.'."\n",
+ ],
+ 'DeleteSnapshot' => [
+ 'summary' => 'Deletes a backup snapshot.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95482',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrQ3MV3B',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that you want to delete.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02WJDOE7',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Cloud Backup client. If you delete a backup snapshot for Elastic Compute Service (ECS) instances, you must specify one of the ClientId and **InstanceId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SnapshotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 's-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the backup source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: backup snapshots for ECS files'."\n"
+ .'* **OSS**: backup snapshots for Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: backup snapshots for Apsara File Storage NAS (NAS) file systems'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ECS instance. If you delete a backup snapshot for ECS instances, you must specify one of the InstanceId and **ClientId** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-*********************',
+ ],
+ ],
+ [
+ 'name' => 'Force',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'boolean',
+ 'deprecated' => true,
+ 'required' => false,
+ 'example' => 'Deprected.',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSnapshotResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n</DeleteSnapshotResponse>","errorExample":""}]',
+ 'title' => 'DeleteSnapshot',
+ ],
+ 'DescribeOtsTableSnapshots' => [
+ 'summary' => 'Queries the details about Tablestore instances that are backed up.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The start time of the backup. The value must be a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1611109271630',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The end time of the backup. The value must be a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1652068250881',
+ ],
+ ],
+ [
+ 'name' => 'SnapshotIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The snapshot IDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The snapshot ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 's-00047mxg17p26****3c',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'OtsInstances',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The Tablestore instances that are backed up.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of Tablestore instances that are backed up.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'instancename',
+ ],
+ 'TableNames' => [
+ 'description' => 'The names of the tables in the Tablestore instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tablename',
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The maximum number of rows that you want the current query to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The token that is required to obtain the next page of backup snapshots.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The UID of the source account used for cross-account backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '144015xxxxx98732',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '09376812-6290-5E36-B504-E8010D72D1F0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Limit' => [
+ 'description' => 'The number of backup snapshots that are displayed on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Snapshots' => [
+ 'description' => 'The backup snapshots.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup job. Valid values:'."\n"
+ ."\n"
+ .'* **COMPLETE**: The backup job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The backup job is partially completed.'."\n"
+ .'* **FAILED**: The backup job has failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'SnapshotHash' => [
+ 'description' => 'The hash value of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe...',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault that stores the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-00030j*******sn',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the Tablestore instance was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1607436917',
+ ],
+ 'ActualBytes' => [
+ 'description' => 'The actual data amount of backup snapshots after duplicates are removed. Unit: bytes.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: backup snapshots for Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: backup snapshots for Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: backup snapshots for Apsara File Storage NAS file systems'."\n"
+ .'* **OTS_TABLE**: backup snapshots for Tablestore instances'."\n",
+ 'type' => 'string',
+ 'example' => 'OTS_TABLE',
+ ],
+ 'BytesTotal' => [
+ 'description' => 'The total amount of data. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'CompleteTime' => [
+ 'description' => 'The time when the backup snapshot was completed. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup snapshot. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '730',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup snapshot was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'ParentSnapshotHash' => [
+ 'description' => 'The hash value of the parent backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe..',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the backup snapshot started. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496543',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup snapshot was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'SnapshotId' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 's-00047mxg17p26*****b',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'job-00030j3chkt******2',
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'TableName' => [
+ 'description' => 'The name of the table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'table2',
+ ],
+ 'RangeStart' => [
+ 'description' => 'The time when the backup job started. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642492553038',
+ ],
+ 'RangeEnd' => [
+ 'description' => 'The time when the backup job ended. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642521709966',
+ ],
+ ],
+ 'description' => 'The list of backup snapshots.',
+ ],
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is required to obtain the next page of backup snapshots.'."\n",
+ 'type' => 'string',
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09376812-6290-5E36-B504-E8010D72D1F0\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Limit\\": 10,\\n \\"Snapshots\\": [\\n {\\n \\"Status\\": \\"COMPLETE\\",\\n \\"SnapshotHash\\": \\"f2fe...\\",\\n \\"VaultId\\": \\"v-00030j*******sn\\",\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"CreateTime\\": 1607436917,\\n \\"ActualBytes\\": \\"0\\",\\n \\"SourceType\\": \\"OTS_TABLE\\",\\n \\"BytesTotal\\": 0,\\n \\"CompleteTime\\": 1642496679,\\n \\"Retention\\": 730,\\n \\"CreatedTime\\": 1642496679,\\n \\"ParentSnapshotHash\\": \\"f2fe..\\",\\n \\"StartTime\\": 1642496543,\\n \\"UpdatedTime\\": 1642496679,\\n \\"SnapshotId\\": \\"s-00047mxg17p26*****b\\",\\n \\"JobId\\": \\"job-00030j3chkt******2\\",\\n \\"InstanceName\\": \\"instancename\\",\\n \\"TableName\\": \\"table2\\",\\n \\"RangeStart\\": 1642492553038,\\n \\"RangeEnd\\": 1642521709966\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeOtsTableSnapshotsResponse>\\n <RequestId>09376812-6290-5E36-B504-E8010D72D1F0</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <Limit>10</Limit>\\n <Snapshots>\\n <Status>COMPLETE</Status>\\n <SnapshotHash>f2fe...</SnapshotHash>\\n <VaultId>v-00030j*******sn</VaultId>\\n <BackupType>COMPLETE</BackupType>\\n <CreateTime>1607436917</CreateTime>\\n <ActualBytes>0</ActualBytes>\\n <SourceType>OTS_TABLE</SourceType>\\n <BytesTotal>0</BytesTotal>\\n <CompleteTime>1642496679</CompleteTime>\\n <Retention>730</Retention>\\n <CreatedTime>1642496679</CreatedTime>\\n <ParentSnapshotHash>f2fe..</ParentSnapshotHash>\\n <StartTime>1642496543</StartTime>\\n <UpdatedTime>1642496679</UpdatedTime>\\n <SnapshotId>s-00047mxg17p26*****b</SnapshotId>\\n <JobId>job-00030j3chkt******2</JobId>\\n <InstanceName>instancename</InstanceName>\\n <TableName>table2</TableName>\\n <RangeStart>1642492553038</RangeStart>\\n <RangeEnd>1642521709966</RangeEnd>\\n </Snapshots>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a</NextToken>\\n</DescribeOtsTableSnapshotsResponse>","errorExample":""}]',
+ 'title' => 'DescribeOtsTableSnapshots',
+ ],
+ 'DescribeRecoverableOtsInstances' => [
+ 'summary' => 'Queries the tables of a restorable Tablestore instance.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '119714',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrAW9I1R',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1440155109798732',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '14DC089E-5DD3-5028-AEDB-93D78E11DB2A',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'OtsInstances' => [
+ 'description' => 'The list of Tablestore instances that can be restored and the tables in the instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of Tablestore instances that can be restored and the tables in the instances.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance that can be restored.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'TableNames' => [
+ 'description' => 'The names of the tables in the Tablestore instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The names of the tables in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => '["table1", "table2", "table3"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14DC089E-5DD3-5028-AEDB-93D78E11DB2A\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"OtsInstances\\": [\\n {\\n \\"InstanceName\\": \\"instancename\\",\\n \\"TableNames\\": [\\n \\"[\\\\\\"table1\\\\\\", \\\\\\"table2\\\\\\", \\\\\\"table3\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRecoverableOtsInstancesResponse>\\n <RequestId>14DC089E-5DD3-5028-AEDB-93D78E11DB2A</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <OtsInstances>\\n <InstanceName>instancename</InstanceName>\\n <TableNames>[\\"table1\\", \\"table2\\", \\"table3\\"]</TableNames>\\n </OtsInstances>\\n</DescribeRecoverableOtsInstancesResponse>","errorExample":""}]',
+ 'title' => 'DescribeRecoverableOtsInstances',
+ ],
+ 'SearchHistoricalSnapshots' => [
+ 'summary' => 'Queries the information about one or more backup snapshots that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95649',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: backup snapshots for Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: backup snapshots for Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: backup snapshots for Apsara File Storage NAS file systems'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Query',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The query conditions. Example:'."\n"
+ ."\n"
+ .' ['."\n"
+ .' {'."\n"
+ .' "field": "VaultId",'."\n"
+ .' "value": "v-0003rf9m*****qx5",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "InstanceId",'."\n"
+ .' "value": "i-bp1i20zq2*****e9368m",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "PlanId",'."\n"
+ .' "value": "plan-0005vk*****gkd1iu4f",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "CompleteTime",'."\n"
+ .' "value": "1626769913",'."\n"
+ .' "operation": "GREATER_THAN_OR_EQUAL"'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ ."\n"
+ .'* The following fields are supported:'."\n"
+ ."\n"
+ .' * VaultId: specifies the ID of the backup vault. This field is required.'."\n"
+ .' * InstanceId: specifies the ID of the Elastic Compute Service (ECS) instance. If the SourceType parameter is set to ECS_FILE, this field is required.'."\n"
+ .' * Bucket: specifies the name of the Object Storage Service (OSS) bucket. If the SourceType parameter is set to OSS, this field is required.'."\n"
+ .' * FileSystemId: specifies the ID of the File Storage NAS (NAS) file system. If the SourceType parameter is set to NAS, this field is required.'."\n"
+ .' * CreateTime: specifies the time when the NAS file system was created. If the SourceType parameter is set to NAS, this field is required.'."\n"
+ .' * CompleteTime: specifies the time when the backup snapshot was completed.'."\n"
+ .' * PlanId: the ID of a backup plan.'."\n"
+ ."\n"
+ .'* The following operations are supported:'."\n"
+ ."\n"
+ .' * MATCH_TERM: exact match.'."\n"
+ .' * GREATER_THAN: greater than.'."\n"
+ .' * GREATER_THAN_OR_EQUAL: greater than or equal to.'."\n"
+ .' * LESS_THAN: less than.'."\n"
+ .' * LESS_THAN_OR_EQUAL: less than or equal to.'."\n"
+ .' * BETWEEN: specifies a JSON array as a range. The results must fall within the range in the `[Minimum value,Maximum value]` format.'."\n"
+ .' * IN: specifies an array as a collection. The results must fall within the collection.'."\n"
+ .' * NOT_IN: specifies an array as a collection. The results cannot fall within the collection.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The query conditions. Example:'."\n"
+ ."\n"
+ .' ['."\n"
+ .' {'."\n"
+ .' "field": "VaultId",'."\n"
+ .' "value": "v-0003rf9m*****qx5",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "InstanceId",'."\n"
+ .' "value": "i-bp1i20zq2*****e9368m",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "PlanId",'."\n"
+ .' "value": "plan-0005vk*****gkd1iu4f",'."\n"
+ .' "operation": "MATCH_TERM"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "field": "CompleteTime",'."\n"
+ .' "value": "1626769913",'."\n"
+ .' "operation": "GREATER_THAN_OR_EQUAL"'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ ."\n"
+ .'* The following fields are supported:'."\n"
+ ."\n"
+ .' * VaultId: specifies the ID of the backup vault. This field is required.'."\n"
+ .' * InstanceId: specifies the ID of the ECS instance. If the SourceType parameter is set to ECS_FILE, this field is required.'."\n"
+ .' * Bucket: specifies the name of the OSS bucket. If the SourceType parameter is set to OSS, this field is required.'."\n"
+ .' * FileSystemId: specifies the ID of the NAS file system. If the SourceType parameter is set to NAS, this field is required.'."\n"
+ .' * CreateTime: specifies the time when the NAS file system was created. If the SourceType parameter is set to NAS, this field is required.'."\n"
+ .' * CompleteTime: specifies the time when the backup snapshot was completed.'."\n"
+ .' * PlanId: the ID of a backup plan.'."\n"
+ ."\n"
+ .'* The following operations are supported:'."\n"
+ ."\n"
+ .' * MATCH_TERM: exact match.'."\n"
+ .' * GREATER_THAN: greater than.'."\n"
+ .' * GREATER_THAN_OR_EQUAL: greater than or equal to.'."\n"
+ .' * LESS_THAN: less than.'."\n"
+ .' * LESS_THAN_OR_EQUAL: less than or equal to.'."\n"
+ .' * BETWEEN: specifies a JSON array as a range. The results must fall within the range in the `[Minimum value,Maximum value]` format.'."\n"
+ .' * IN: specifies an array as a collection. The results must fall within the collection.'."\n"
+ .' * NOT_IN: specifies an array as a collection. The results cannot fall within the collection.'."\n",
+ 'type' => 'any',
+ 'required' => false,
+ 'example' => '[ { "field": "VaultId", "value": "v-0003rf9m17pap3ltpqx5", "operation": "MATCH_TERM" }, { "field": "InstanceId", "value": "i-bp1i20zq2wuzdie9368m", "operation": "MATCH_TERM" }, { "field": "PlanId", "value": "plan-0005vkqhpesqgkd1iu4f", "operation": "MATCH_TERM" }, { "field": "CompleteTime", "value": 1626769913, "operation": "GREATER_THAN_OR_EQUAL" } ]',
+ ],
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[ { "field": "VaultId", "value": "v-0003rf9m17pap3ltpqx5", "operation": "MATCH_TERM" }, { "field": "InstanceId", "value": "i-bp1i20zq2wuzdie9368m", "operation": "MATCH_TERM" }, { "field": "PlanId", "value": "plan-0005vkqhpesqgkd1iu4f", "operation": "MATCH_TERM" }, { "field": "CompleteTime", "value": 1626769913, "operation": "GREATER_THAN_OR_EQUAL" } ]',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of rows that you want the current query to return. To query only the number of matched rows without the need to return specific data, you can set the Limit parameter to `0`. Then, the operation returns only the number of matched rows.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is required to obtain the next page of backup snapshots.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
+ ],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The field that is used to sort data.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CreatedTime',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ordering mode. Valid values:'."\n"
+ ."\n"
+ .'* ASC (default): ascending order'."\n"
+ .'* DESC: descending order'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ASC',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'BASIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The token that is required to obtain the next page of backup snapshots.'."\n",
+ 'type' => 'string',
+ 'example' => 'BE',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Limit' => [
+ 'description' => 'The number of historical backup snapshots that are displayed on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned backup snapshots that meet the specified conditions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Snapshots' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Snapshot' => [
+ 'description' => 'The historical backup snapshots.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup job. Valid values:'."\n"
+ ."\n"
+ .'* **COMPLETE**: The backup job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The backup job is partially completed.'."\n"
+ .'* **FAILED**: The backup job has failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'SnapshotHash' => [
+ 'description' => 'The hash value of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe...',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault that stores the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-0003rf9m17pap3ltpqx5',
+ ],
+ 'ActualItems' => [
+ 'description' => 'The actual number of backup snapshots.'."\n"
+ ."\n"
+ .'> This parameter is available only for file backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'CreateTime' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the time when the file system was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1607436917',
+ ],
+ 'ActualBytes' => [
+ 'description' => 'The actual data amount of backup snapshots after duplicates are removed. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '600',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: backup snapshots for ECS files'."\n"
+ .'* **OSS**: backup snapshots for OSS buckets'."\n"
+ .'* **NAS**: backup snapshots for NAS file systems'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'Prefix' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **OSS**. This parameter indicates the prefix of objects that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => 'example/',
+ ],
+ 'ClientId' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the ID of the HBR client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-*********************',
+ ],
+ 'BytesTotal' => [
+ 'description' => 'The total amount of data. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'ItemsDone' => [
+ 'description' => 'The number of objects that are backed up.'."\n"
+ ."\n"
+ .'> This parameter is available only for file backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'CompleteTime' => [
+ 'description' => 'The time when the backup snapshot was completed. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup snapshot. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup snapshot was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'Bucket' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **OSS**. This parameter indicates the name of the OSS bucket.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbr-backup-oss',
+ ],
+ 'ParentSnapshotHash' => [
+ 'description' => 'The hash value of the parent backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe..',
+ ],
+ 'InstanceId' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-*********************',
+ ],
+ 'FileSystemId' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the ID of the NAS file system.'."\n",
+ 'type' => 'string',
+ 'example' => '005494',
+ ],
+ 'ErrorFile' => [
+ 'description' => 'The files that record the information about backup failures, including the information about partially completed backups.'."\n",
+ 'type' => 'string',
+ 'example' => 'Item Error Message C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\14.3.558.0000.105\\Bin\\service.dat Open: open \\\\?\\C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\14.3.558.0000.105\\Bin\\service.dat: The process cannot access the file because it is being used by another process. C:\\ProgramData\\McAfee\\Agent\\data\\InstallerFiles\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini Open: open \\\\?\\C:\\ProgramData\\McAfee\\Agent\\data\\InstallerFiles\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini: Access is denied.',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the backup snapshot started. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup snapshot was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'SnapshotId' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 's-*********************',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-*********************',
+ ],
+ 'Path' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the path to the files that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => '["/home"]',
+ ],
+ 'ItemsTotal' => [
+ 'description' => 'The total number of objects in the data source.'."\n"
+ ."\n"
+ .'> This parameter is available only for file backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'BytesDone' => [
+ 'description' => 'The actual amount of data that is generated by incremental backups. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'Paths' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Path' => [
+ 'description' => 'The source paths.'."\n",
+ 'example' => '"/home"',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the path to the files that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => '"/home"',
+ ],
+ ],
+ ],
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'TableName' => [
+ 'description' => 'The name of a table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'table2',
+ ],
+ 'RangeStart' => [
+ 'description' => 'The time when the backup job started. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642492553038',
+ ],
+ 'RangeEnd' => [
+ 'description' => 'The time when the backup job ended. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642521709966',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the snapshot expired. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1640334062',
+ ],
+ 'SourceSnapshotHash' => [
+ 'description' => 'Snapshot HASH value before archiving',
+ 'type' => 'string',
+ 'example' => 'qwer***',
+ ],
+ 'SourceParentSnapshotHash' => [
+ 'description' => 'Parent snapshot HASH value before archiving.',
+ 'type' => 'string',
+ 'example' => 'qwer***',
+ ],
+ 'StorageClass' => [
+ 'description' => 'Storage type. Values: '."\n"
+ .'- **Standard**: Standard. '."\n"
+ .'- **Archive**: Archive. '."\n"
+ .'- **ColdArchive**: Cold Archive.',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ 'ArchiveTime' => [
+ 'description' => 'Time to archive',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1640334062',
+ ],
+ 'UseCommonNas' => [
+ 'description' => 'Whether to use local NAS.',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Include' => [
+ 'description' => 'Backup paths included in the backup job.',
+ 'type' => 'string',
+ 'example' => '[\\"/test/example_cn-huhehaote_3.txt\\", \\"/test/example_cn-huhehaote_9.txt\\", \\"/test/example_cn-huhehaote_5.txt\\", \\"/test/example_cn-huhehaote_1.txt\\", \\"/test/example_cn-huhehaote_7.txt\\"]',
+ ],
+ 'Exclude' => [
+ 'description' => 'Backup paths not included in the backup job.',
+ 'type' => 'string',
+ 'example' => '[\\"/test/example_cn-hangzhou_7.txt\\", \\"/test/example_cn-hangzhou_1.txt\\", \\"/test/example_cn-hangzhou_3.txt\\", \\"/test/example_cn-hangzhou_9.txt\\", \\"/test/example_cn-hangzhou_6.txt\\"]',
+ ],
+ 'ProtectedDataSize' => [
+ 'title' => '保护的源端数据量,单位Byte。当SourceType=ECS_FILE时,表示已保护的云盘容量。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '42949672960',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"BE\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Limit\\": 10,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"TotalCount\\": 20,\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n {\\n \\"Status\\": \\"COMPLETE\\",\\n \\"SnapshotHash\\": \\"f2fe...\\",\\n \\"VaultId\\": \\"v-0003rf9m17pap3ltpqx5\\",\\n \\"ActualItems\\": 6,\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"CreateTime\\": 1607436917,\\n \\"ActualBytes\\": 600,\\n \\"SourceType\\": \\"ECS_FILE\\",\\n \\"Prefix\\": \\"example/\\",\\n \\"ClientId\\": \\"c-*********************\\",\\n \\"BytesTotal\\": 1000,\\n \\"ItemsDone\\": 8,\\n \\"CompleteTime\\": 1554347313,\\n \\"Retention\\": 7,\\n \\"CreatedTime\\": 1554347313,\\n \\"Bucket\\": \\"hbr-backup-oss\\",\\n \\"ParentSnapshotHash\\": \\"f2fe..\\",\\n \\"InstanceId\\": \\"i-*********************\\",\\n \\"FileSystemId\\": \\"005494\\",\\n \\"ErrorFile\\": \\"Item\\\\tError Message C:\\\\\\\\Program Files (x86)\\\\\\\\Symantec\\\\\\\\Symantec Endpoint Protection\\\\\\\\14.3.558.0000.105\\\\\\\\Bin\\\\\\\\service.dat\\\\tOpen: open \\\\\\\\\\\\\\\\?\\\\\\\\C:\\\\\\\\Program Files (x86)\\\\\\\\Symantec\\\\\\\\Symantec Endpoint Protection\\\\\\\\14.3.558.0000.105\\\\\\\\Bin\\\\\\\\service.dat: The process cannot access the file because it is being used by another process. C:\\\\\\\\ProgramData\\\\\\\\McAfee\\\\\\\\Agent\\\\\\\\data\\\\\\\\InstallerFiles\\\\\\\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini\\\\tOpen: open \\\\\\\\\\\\\\\\?\\\\\\\\C:\\\\\\\\ProgramData\\\\\\\\McAfee\\\\\\\\Agent\\\\\\\\data\\\\\\\\InstallerFiles\\\\\\\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini: Access is denied.\\",\\n \\"StartTime\\": 1554347313,\\n \\"UpdatedTime\\": 1554347313,\\n \\"SnapshotId\\": \\"s-*********************\\",\\n \\"JobId\\": \\"v-*********************\\",\\n \\"Path\\": \\"[\\\\\\"/home\\\\\\"]\\",\\n \\"ItemsTotal\\": 10,\\n \\"BytesDone\\": 800,\\n \\"Paths\\": {\\n \\"Path\\": [\\n \\"\\\\\\"/home\\\\\\"\\"\\n ]\\n },\\n \\"InstanceName\\": \\"instancename\\",\\n \\"TableName\\": \\"table2\\",\\n \\"RangeStart\\": 1642492553038,\\n \\"RangeEnd\\": 1642521709966,\\n \\"ExpireTime\\": 1640334062,\\n \\"SourceSnapshotHash\\": \\"qwer***\\",\\n \\"SourceParentSnapshotHash\\": \\"qwer***\\",\\n \\"StorageClass\\": \\"STANDARD\\",\\n \\"ArchiveTime\\": 1640334062,\\n \\"UseCommonNas\\": false,\\n \\"Include\\": \\"[\\\\\\\\\\\\\\"/test/example_cn-huhehaote_3.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-huhehaote_9.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-huhehaote_5.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-huhehaote_1.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-huhehaote_7.txt\\\\\\\\\\\\\\"]\\",\\n \\"Exclude\\": \\"[\\\\\\\\\\\\\\"/test/example_cn-hangzhou_7.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-hangzhou_1.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-hangzhou_3.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-hangzhou_9.txt\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"/test/example_cn-hangzhou_6.txt\\\\\\\\\\\\\\"]\\",\\n \\"ProtectedDataSize\\": 42949672960\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SearchHistoricalSnapshotsResponse>\\n <NextToken>BE</NextToken>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <Limit>10</Limit>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <TotalCount>20</TotalCount>\\n <Snapshots>\\n <Status>COMPLETE</Status>\\n <SnapshotHash>f2fe...</SnapshotHash>\\n <VaultId>v-0003rf9m17pap3ltpqx5</VaultId>\\n <ActualItems>6</ActualItems>\\n <BackupType>COMPLETE</BackupType>\\n <CreateTime>1607436917</CreateTime>\\n <ActualBytes>600</ActualBytes>\\n <SourceType>ECS_FILE</SourceType>\\n <Prefix>example/</Prefix>\\n <ClientId>c-*********************</ClientId>\\n <BytesTotal>1000</BytesTotal>\\n <ItemsDone>8</ItemsDone>\\n <CompleteTime>1554347313</CompleteTime>\\n <Retention>7</Retention>\\n <CreatedTime>1554347313</CreatedTime>\\n <Bucket>hbr-backup-oss</Bucket>\\n <ParentSnapshotHash>f2fe..</ParentSnapshotHash>\\n <InstanceId>i-*********************</InstanceId>\\n <FileSystemId>005494</FileSystemId>\\n <ErrorFile>Item\\tError Message C:\\\\Program Files (x86)\\\\Symantec\\\\Symantec Endpoint Protection\\\\14.3.558.0000.105\\\\Bin\\\\service.dat\\tOpen: open \\\\\\\\?\\\\C:\\\\Program Files (x86)\\\\Symantec\\\\Symantec Endpoint Protection\\\\14.3.558.0000.105\\\\Bin\\\\service.dat: The process cannot access the file because it is being used by another process. C:\\\\ProgramData\\\\McAfee\\\\Agent\\\\data\\\\InstallerFiles\\\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini\\tOpen: open \\\\\\\\?\\\\C:\\\\ProgramData\\\\McAfee\\\\Agent\\\\data\\\\InstallerFiles\\\\172e8a3b04b7ab0fd0215f4fb7707e3744b37d83b6743b3eacb94447c74dc9af_contrib.ini: Access is denied.</ErrorFile>\\n <StartTime>1554347313</StartTime>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <SnapshotId>s-*********************</SnapshotId>\\n <JobId>v-*********************</JobId>\\n <Path>[\\"/home\\"]</Path>\\n <ItemsTotal>10</ItemsTotal>\\n <BytesDone>800</BytesDone>\\n <Paths>\\"/home\\"</Paths>\\n <InstanceName>instancename</InstanceName>\\n <TableName>table2</TableName>\\n <RangeStart>1642492553038</RangeStart>\\n <RangeEnd>1642521709966</RangeEnd>\\n <ExpireTime>1640334062</ExpireTime>\\n </Snapshots>\\n</SearchHistoricalSnapshotsResponse>","errorExample":""}]',
+ 'title' => 'SearchHistoricalSnapshots',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'DescribeUdmSnapshots' => [
+ 'summary' => 'Queries the backup snapshots of an Elastic Compute Service (ECS) instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95555',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB1KQ9G',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: ECS instance backup'."\n"
+ .'* **UDM_ECS_DISK**: disk backup subtask of ECS instance backup'."\n"
+ .'* **UDM_DISK**: disk backup'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'UDM_ECS',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. The value must be a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1642057551',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value must be a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1643092168',
+ ],
+ ],
+ [
+ 'name' => 'UdmRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ECS instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'i-bp18x2k7sw925ir7ofh8',
+ ],
+ ],
+ [
+ 'name' => 'DiskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the disk.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd-bp1560750pclffpzxy70',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'job-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SnapshotIds',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The list of backup snapshots.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '[\\"s-000e3vhhu62xsm6v92r0\\"]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '51CDEECB-7001-51CC-94AC-2A0F2A4B71D2',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of backup snapshots.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Snapshots' => [
+ 'description' => 'The details about snapshots.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details about snapshots.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup job. Valid values:'."\n"
+ ."\n"
+ .'* **COMPLETE**: The backup job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The backup job is partially completed.'."\n"
+ .'* **FAILED**: The backup job has failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'SnapshotHash' => [
+ 'description' => 'The hash value of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe...',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the backup snapshot was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1607436917',
+ ],
+ 'ActualBytes' => [
+ 'description' => 'The size of the backup snapshot. Unit: bytes.'."\n",
+ 'type' => 'string',
+ 'example' => '600',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: ECS instance backup'."\n"
+ .'* **UDM_ECS_DISK**: disk backup subtask of ECS instance backup'."\n"
+ .'* **UDM_DISK**: disk backup'."\n",
+ 'type' => 'string',
+ 'example' => 'UDM_ECS',
+ ],
+ 'Prefix' => [
+ 'description' => 'The prefix of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'example/',
+ ],
+ 'DiskId' => [
+ 'description' => 'The ID of the cloud disk or local disk.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-2ze86h5fga5rfwxxa8ef',
+ ],
+ 'BytesTotal' => [
+ 'description' => 'The total amount of data. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'NativeSnapshotInfo' => [
+ 'description' => 'The snapshot information.'."\n",
+ 'type' => 'string',
+ 'example' => '{'."\n"
+ .' "sourceDiskId":"d-bp17misjuy636t82v7b0",'."\n"
+ .' "lastModifiedTime":"2022-03-09T11:35:12Z",'."\n"
+ .' "snapshotSN":"64588-429372675-857161235",'."\n"
+ .' "snapshotId":"s-bp1fbtwv3e6xr6wpe9e0",'."\n"
+ .' "creationTime":"2022-03-09T11:31:12Z",'."\n"
+ .' "snapshotType":"user",'."\n"
+ .' "usage":"none",'."\n"
+ .' "description":"",'."\n"
+ .' "sourceStorageType":"disk",'."\n"
+ .' "tags":['."\n"
+ .' {'."\n"
+ .' "tagValue":"job-0007e0wqjl0imbrtkmnm",'."\n"
+ .' "tagKey":"HBR JobId"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "productCode":"",'."\n"
+ .' "encrypted":false,'."\n"
+ .' "sourceDiskType":"system",'."\n"
+ .' "retentionDays":30,'."\n"
+ .' "snapshotName":"Created-from-HBR-job:job-0007e0wqjl0imbrtkmnm",'."\n"
+ .' "kMSKeyId":"",'."\n"
+ .' "progress":"100%",'."\n"
+ .' "category":"standard",'."\n"
+ .' "sourceDiskSize":"20",'."\n"
+ .' "status":"accomplished"'."\n"
+ .' }',
+ ],
+ 'CompleteTime' => [
+ 'description' => 'The time when the backup snapshot was completed. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1646895666',
+ ],
+ 'Retention' => [
+ 'description' => 'The retention period of the backup snapshot. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '7',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup snapshot was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'RealSnapshotTime' => [
+ 'description' => 'The timestamp of the backup snapshot. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'ParentSnapshotHash' => [
+ 'description' => 'The hash value of the parent backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe..',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-bp1f0pe78dxizrsdcgxd',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the backup snapshot was created. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup snapshot was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642496679',
+ ],
+ 'SnapshotId' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 's-00047mxg17p26*****b',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'job-00030j3chkt******2',
+ ],
+ 'NativeSnapshotId' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 's-00047mg17p26x*****b',
+ ],
+ 'Detail' => [
+ 'description' => 'The snapshot details.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DiskDevName' => [
+ 'description' => 'The name of the disk.'."\n",
+ 'type' => 'string',
+ 'example' => '/dev/xvdb',
+ ],
+ 'DowngradeReason' => [
+ 'description' => 'The reason for the downgrade.'."\n",
+ 'type' => 'string',
+ 'example' => 'HBR.NoRamRoleBound',
+ ],
+ 'OsDiskId' => [
+ 'description' => 'The ID of the system disk.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-bp1e6427vhd320hifvc',
+ ],
+ 'OsName' => [
+ 'description' => 'The name of the operating system.'."\n",
+ 'type' => 'string',
+ 'example' => 'Debian 10.10 64-bit (UEFI)',
+ ],
+ 'ContainOsDisk' => [
+ 'description' => 'Indicates whether the system disk is included.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ConsistentLevel' => [
+ 'description' => 'The consistency level.'."\n",
+ 'type' => 'string',
+ 'example' => 'CRASH',
+ ],
+ 'VmName' => [
+ 'description' => 'The name of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'BNSHSVR42 IPGUARD',
+ ],
+ 'DiskHbrSnapshotIdWithDeviceMap' => [
+ 'description' => 'The mapping between the device and the recovery point ID.'."\n",
+ 'type' => 'object',
+ 'example' => '{'."\n"
+ .' "/dev/xvdb":"s-0000u7y6wm3v1e7hxh5a", '."\n"
+ .' "/dev/xvda":"s-0004bl6yr5pt89jjsv5a"'."\n"
+ .'}',
+ ],
+ 'InstanceIdWithDiskIdListMap' => [
+ 'description' => 'The mapping between the instance ID and the disk ID.'."\n",
+ 'type' => 'object',
+ 'example' => '{'."\n"
+ .' "i-bp1dlp0keohh7ids4uo6":"d-bp1e6427vhd320hifvs", '."\n"
+ .' "i-bp1dlp0keohh7ids4uo6":"d-bp1e6427vhd320hifvd"'."\n"
+ .'}',
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'swh-hbr',
+ ],
+ 'OsType' => [
+ 'description' => 'The type of the operating system. Valid values: linux and windows.'."\n",
+ 'type' => 'string',
+ 'example' => 'windows',
+ ],
+ 'Platform' => [
+ 'description' => 'The system platform.'."\n",
+ 'type' => 'string',
+ 'example' => 'CentOS',
+ ],
+ 'OsNameEn' => [
+ 'description' => 'The English name of the operating system.'."\n",
+ 'type' => 'string',
+ 'example' => 'Debian 11.1 64 bit',
+ ],
+ 'HostName' => [
+ 'description' => 'The hostname.'."\n",
+ 'type' => 'string',
+ 'example' => 'iZbpxxxxxxxxxxxxxxxxe2Z',
+ ],
+ 'SystemDisk' => [
+ 'description' => 'Indicates whether the disk is a system disk.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DiskIdList' => [
+ 'description' => 'The IDs of the disks that are backed up at the recovery point.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the disk that is backed up at the recovery point.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-bp1e6427vhd320hifvs',
+ ],
+ ],
+ 'NativeSnapshotIdList' => [
+ 'description' => 'The list of snapshot IDs, corresponding to DiskIdList.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 's-0004bl6yr5pt89jjsv5a',
+ ],
+ ],
+ 'SnapshotGroupId' => [
+ 'description' => 'The ID of the snapshot group.'."\n",
+ 'type' => 'string',
+ 'example' => 'ssg-uf6856txcaq31uj***',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The specifications of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs.c6.xlarge',
+ ],
+ 'DiskCategory' => [
+ 'description' => 'The type of the source disk.'."\n",
+ 'type' => 'string',
+ 'example' => 'cloud_essd',
+ ],
+ 'PerformanceLevel' => [
+ 'description' => 'The performance level of the source disk.'."\n",
+ 'type' => 'string',
+ 'example' => 'PL0',
+ ],
+ 'InstantAccess' => [
+ 'description' => 'Indicates whether the backup is created by the instant clone feature.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'AdvancedRetentionType' => [
+ 'description' => 'The special retention type, which is valid only for special backups. Valid values:'."\n"
+ ."\n"
+ .'* **WEEKLY**: weekly backups'."\n"
+ .'* **MONTHLY**: monthly backups'."\n"
+ .'* **YEARLY**: yearly backups'."\n",
+ 'type' => 'string',
+ 'example' => 'WEEKLY',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The expiration time of the backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1640334062',
+ ],
+ 'CanBeDeleted' => [
+ 'description' => 'Indicates whether the disk backup point can be deleted. This parameter is valid only if the value of SourceType is UDM_ECS_DISK.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ArchiveStatus' => [
+ 'type' => 'string',
+ ],
+ 'ArchiveErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'ArchiveTriggerTime' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"51CDEECB-7001-51CC-94AC-2A0F2A4B71D2\\",\\n \\"TotalCount\\": 3,\\n \\"Success\\": true,\\n \\"Snapshots\\": [\\n {\\n \\"Status\\": \\"COMPLETE\\",\\n \\"SnapshotHash\\": \\"f2fe...\\",\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"CreateTime\\": 1607436917,\\n \\"ActualBytes\\": \\"600\\",\\n \\"SourceType\\": \\"UDM_ECS\\",\\n \\"Prefix\\": \\"example/\\",\\n \\"DiskId\\": \\"d-2ze86h5fga5rfwxxa8ef\\",\\n \\"BytesTotal\\": 1000,\\n \\"NativeSnapshotInfo\\": \\"{\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"sourceDiskId\\\\\\":\\\\\\"d-bp17misjuy636t82v7b0\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"lastModifiedTime\\\\\\":\\\\\\"2022-03-09T11:35:12Z\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"snapshotSN\\\\\\":\\\\\\"64588-429372675-857161235\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"snapshotId\\\\\\":\\\\\\"s-bp1fbtwv3e6xr6wpe9e0\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"creationTime\\\\\\":\\\\\\"2022-03-09T11:31:12Z\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"snapshotType\\\\\\":\\\\\\"user\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"usage\\\\\\":\\\\\\"none\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"description\\\\\\":\\\\\\"\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"sourceStorageType\\\\\\":\\\\\\"disk\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"tags\\\\\\":[\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t{\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"tagValue\\\\\\":\\\\\\"job-0007e0wqjl0imbrtkmnm\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"tagKey\\\\\\":\\\\\\"HBR JobId\\\\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t],\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"productCode\\\\\\":\\\\\\"\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"encrypted\\\\\\":false,\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"sourceDiskType\\\\\\":\\\\\\"system\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"retentionDays\\\\\\":30,\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"snapshotName\\\\\\":\\\\\\"Created-from-HBR-job:job-0007e0wqjl0imbrtkmnm\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"kMSKeyId\\\\\\":\\\\\\"\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"progress\\\\\\":\\\\\\"100%\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"category\\\\\\":\\\\\\"standard\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"sourceDiskSize\\\\\\":\\\\\\"20\\\\\\",\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\\"status\\\\\\":\\\\\\"accomplished\\\\\\"\\\\n\\\\t\\\\t\\\\t\\\\t}\\",\\n \\"CompleteTime\\": 1646895666,\\n \\"Retention\\": 7,\\n \\"CreatedTime\\": 1642496679,\\n \\"RealSnapshotTime\\": 1642496679,\\n \\"ParentSnapshotHash\\": \\"f2fe..\\",\\n \\"InstanceId\\": \\"i-bp1f0pe78dxizrsdcgxd\\",\\n \\"StartTime\\": 1554347313,\\n \\"UpdatedTime\\": 1642496679,\\n \\"SnapshotId\\": \\"s-00047mxg17p26*****b\\",\\n \\"JobId\\": \\"job-00030j3chkt******2\\",\\n \\"NativeSnapshotId\\": \\"s-00047mg17p26x*****b\\",\\n \\"Detail\\": {\\n \\"DiskDevName\\": \\"/dev/xvdb\\",\\n \\"DowngradeReason\\": \\"HBR.NoRamRoleBound\\",\\n \\"OsDiskId\\": \\"d-bp1e6427vhd320hifvc\\",\\n \\"OsName\\": \\"Debian 10.10 64-bit (UEFI)\\",\\n \\"ContainOsDisk\\": true,\\n \\"ConsistentLevel\\": \\"CRASH\\",\\n \\"VmName\\": \\"BNSHSVR42 IPGUARD\\",\\n \\"DiskHbrSnapshotIdWithDeviceMap\\": {\\n \\"/dev/xvdb\\": \\"s-0000u7y6wm3v1e7hxh5a\\",\\n \\"/dev/xvda\\": \\"s-0004bl6yr5pt89jjsv5a\\"\\n },\\n \\"InstanceIdWithDiskIdListMap\\": {\\n \\"i-bp1dlp0keohh7ids4uo6\\": \\"d-bp1e6427vhd320hifvd\\"\\n },\\n \\"InstanceName\\": \\"swh-hbr\\",\\n \\"OsType\\": \\"windows\\",\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsNameEn\\": \\"Debian 11.1 64 bit\\",\\n \\"HostName\\": \\"iZbpxxxxxxxxxxxxxxxxe2Z\\",\\n \\"SystemDisk\\": true,\\n \\"DiskIdList\\": [\\n \\"d-bp1e6427vhd320hifvs\\"\\n ],\\n \\"NativeSnapshotIdList\\": [\\n \\"s-0004bl6yr5pt89jjsv5a\\"\\n ],\\n \\"SnapshotGroupId\\": \\"ssg-uf6856txcaq31uj***\\",\\n \\"InstanceType\\": \\"ecs.c6.xlarge\\",\\n \\"DiskCategory\\": \\"cloud_essd\\",\\n \\"PerformanceLevel\\": \\"PL0\\",\\n \\"InstantAccess\\": false\\n },\\n \\"AdvancedRetentionType\\": \\"WEEKLY\\",\\n \\"ExpireTime\\": 1640334062,\\n \\"CanBeDeleted\\": false,\\n \\"ArchiveStatus\\": \\"ARCHIVED\\",\\n \\"ArchiveErrorMessage\\": \\"InternalError\\",\\n \\"ArchiveTriggerTime\\": 1763373304\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeUdmSnapshotsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>51CDEECB-7001-51CC-94AC-2A0F2A4B71D2</RequestId>\\n <TotalCount>3</TotalCount>\\n <Success>true</Success>\\n <Snapshots>\\n <Status>COMPLETE</Status>\\n <SnapshotHash>f2fe...</SnapshotHash>\\n <BackupType>COMPLETE</BackupType>\\n <CreateTime>1607436917</CreateTime>\\n <ActualBytes>600</ActualBytes>\\n <SourceType>UDM_ECS</SourceType>\\n <Prefix>example/</Prefix>\\n <DiskId>d-2ze86h5fga5rfwxxa8ef</DiskId>\\n <BytesTotal>1000</BytesTotal>\\n <NativeSnapshotInfo>{\\n\\t\\t\\t\\t\\t\\"sourceDiskId\\":\\"d-bp17misjuy636t82v7b0\\",\\n\\t\\t\\t\\t\\t\\"lastModifiedTime\\":\\"2022-03-09T11:35:12Z\\",\\n\\t\\t\\t\\t\\t\\"snapshotSN\\":\\"64588-429372675-857161235\\",\\n\\t\\t\\t\\t\\t\\"snapshotId\\":\\"s-bp1fbtwv3e6xr6wpe9e0\\",\\n\\t\\t\\t\\t\\t\\"creationTime\\":\\"2022-03-09T11:31:12Z\\",\\n\\t\\t\\t\\t\\t\\"snapshotType\\":\\"user\\",\\n\\t\\t\\t\\t\\t\\"usage\\":\\"none\\",\\n\\t\\t\\t\\t\\t\\"description\\":\\"\\",\\n\\t\\t\\t\\t\\t\\"sourceStorageType\\":\\"disk\\",\\n\\t\\t\\t\\t\\t\\"tags\\":[\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\"tagValue\\":\\"job-0007e0wqjl0imbrtkmnm\\",\\n\\t\\t\\t\\t\\t\\t\\t\\"tagKey\\":\\"HBR JobId\\"\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\t\\"productCode\\":\\"\\",\\n\\t\\t\\t\\t\\t\\"encrypted\\":false,\\n\\t\\t\\t\\t\\t\\"sourceDiskType\\":\\"system\\",\\n\\t\\t\\t\\t\\t\\"retentionDays\\":30,\\n\\t\\t\\t\\t\\t\\"snapshotName\\":\\"Created-from-HBR-job:job-0007e0wqjl0imbrtkmnm\\",\\n\\t\\t\\t\\t\\t\\"kMSKeyId\\":\\"\\",\\n\\t\\t\\t\\t\\t\\"progress\\":\\"100%\\",\\n\\t\\t\\t\\t\\t\\"category\\":\\"standard\\",\\n\\t\\t\\t\\t\\t\\"sourceDiskSize\\":\\"20\\",\\n\\t\\t\\t\\t\\t\\"status\\":\\"accomplished\\"\\n\\t\\t\\t\\t}</NativeSnapshotInfo>\\n <CompleteTime>1646895666</CompleteTime>\\n <Retention>7</Retention>\\n <CreatedTime>1642496679</CreatedTime>\\n <RealSnapshotTime>1642496679</RealSnapshotTime>\\n <ParentSnapshotHash>f2fe..</ParentSnapshotHash>\\n <InstanceId>i-bp1f0pe78dxizrsdcgxd</InstanceId>\\n <StartTime>1554347313</StartTime>\\n <UpdatedTime>1642496679</UpdatedTime>\\n <SnapshotId>s-00047mxg17p26*****b</SnapshotId>\\n <JobId>job-00030j3chkt******2</JobId>\\n <NativeSnapshotId>s-00047mg17p26x*****b</NativeSnapshotId>\\n <Detail>\\n <DiskDevName>/dev/xvdb</DiskDevName>\\n <DowngradeReason>HBR.NoRamRoleBound</DowngradeReason>\\n <OsDiskId>d-bp1e6427vhd320hifvc</OsDiskId>\\n <OsName>Debian 10.10 64-bit (UEFI)</OsName>\\n <ContainOsDisk>true</ContainOsDisk>\\n <ConsistentLevel>CRASH</ConsistentLevel>\\n <VmName>BNSHSVR42 IPGUARD</VmName>\\n <InstanceName>swh-hbr</InstanceName>\\n <OsType>windows</OsType>\\n <Platform>CentOS</Platform>\\n <OsNameEn>Debian 11.1 64 bit</OsNameEn>\\n <SystemDisk>true</SystemDisk>\\n <DiskIdList>d-bp1e6427vhd320hifvs</DiskIdList>\\n <NativeSnapshotIdList>s-0004bl6yr5pt89jjsv5a</NativeSnapshotIdList>\\n <SnapshotGroupId>ssg-uf6856txcaq31uj***</SnapshotGroupId>\\n </Detail>\\n </Snapshots>\\n</DescribeUdmSnapshotsResponse>","errorExample":""}]',
+ 'title' => 'DescribeUdmSnapshots',
+ ],
+ 'CreateRestoreJob' => [
+ 'summary' => 'Create a restore job.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95447',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RestoreType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the restore destination data source. Possible values:'."\n"
+ .' - **ECS_FILE**: Restore to ECS file.'."\n"
+ .' - **OSS**: Restore to Alibaba Cloud OSS.'."\n"
+ .' - **NAS**: Restore to Alibaba Cloud NAS.'."\n"
+ .' - **OTS_TABLE**: Restore to Alibaba Cloud OTS.'."\n"
+ .' - **UDM_ECS_ROLLBACK**: Restore to Alibaba Cloud ECS whole machine.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault that the snapshot belongs to.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'SnapshotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup snapshot.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 's-********************',
+ ],
+ ],
+ [
+ 'name' => 'SnapshotHash',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The HASH value of the backup snapshot.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'f2fe...',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Possible values:'."\n"
+ .' - **ECS_FILE**: Restore ECS file.'."\n"
+ .' - **OSS**: Restore Alibaba Cloud OSS.'."\n"
+ .' - **NAS**: Restore Alibaba Cloud NAS.'."\n"
+ .' - **OTS_TABLE**: Restore to Alibaba Cloud OTS.'."\n"
+ .' - **UDM_ECS**: Restore to Alibaba Cloud ECS whole machine.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Options',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Parameters for the restore job.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{\\"includes\\":[],\\"excludes\\":[],\\"conflictPolicy\\":\\"OVERWRITE_EXISTING\\"}',
+ ],
+ ],
+ [
+ 'name' => 'TargetFileSystemId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **NAS**. Indicates the ID of the file system at the restore destination.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '005494',
+ ],
+ ],
+ [
+ 'name' => 'TargetCreateTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **NAS**. Indicates the creation time of the file system at the restore destination.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1554347313',
+ ],
+ ],
+ [
+ 'name' => 'TargetPath',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **ECS_FILE**. Indicates the file path at the restore destination.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'C:\\',
+ ],
+ ],
+ [
+ 'name' => 'TargetBucket',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **OSS**. Indicates the name of the OSS bucket at the restore destination.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbr-backup-oss',
+ ],
+ ],
+ [
+ 'name' => 'TargetPrefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **OSS**. Indicates the object prefix at the restore destination.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbr',
+ ],
+ ],
+ [
+ 'name' => 'UdmDetail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The parameter is valid only when the SourceType is set to UDM_ECS. It represents the details of the entire machine backup and is a JSON string. Depending on the value of RestoreType, different details must be passed as follows:'."\n"
+ .'- **UDM_ECS_DISK**: ECS disk cloning.'."\n"
+ .' - **targetInstanceId**: string (required). Specifies the target ECS instance ID to which the cloned disk will be attached.'."\n"
+ .' - **diskCategory**: string (required). Specifies the type of the target disk.'."\n"
+ .' - **diskPerformanceLevel**: string. When diskCategory is "essd", this indicates the disk performance level, supporting PL0, PL1, PL2, and PL3, with PL1 as the default.'."\n"
+ .'- **UDM_ECS_DISK_ROLLBACK**: ECS disk rollback.'."\n"
+ .' - **sourceInstanceId**: string (required). Specifies the source ECS instance ID.'."\n"
+ .' - **forceRestore**: bool (default: false). Indicates whether to force restore. NOTE: If forceRestore is set to true, the disk restoration will proceed even if the backup disk has been unmounted from the original ECS instance or mounted to another instance. Exercise caution when using this option.'."\n"
+ .' - **bootAfterRestore**: bool (default: false). Indicates whether to start the ECS instance after restoration.'."\n"
+ .'- **UDM_ECS**: Full ECS cloning.'."\n"
+ .' - **bootAfterRestore**: bool (default: false). Indicates whether to start the ECS instance after restoration.'."\n"
+ .' - **diskCategory**: string (required). Specifies the type of the target disk.'."\n"
+ .' - **diskPerformanceLevel**: string. When diskCategory is "essd", this indicates the disk performance level (PL0/PL1/PL2/PL3), defaulting to PL1.'."\n"
+ .' - **instanceType**: string (required). Specifies the specification of the target ECS instance.'."\n"
+ .' - **restoredNetwork**: string (required). Specifies the vSwitch ID for the target ECS instance.'."\n"
+ .' - **securityGroup**: string (required). Specifies the security group ID for the target ECS instance.'."\n"
+ .' - **restoredName:** string (required). Specifies the instance name of the target ECS instance.'."\n"
+ .' - **restoredHostName**: string (required). Specifies the host name of the target ECS instance.'."\n"
+ .' - **allocatePublicIp**: bool (default: false). Indicates whether to assign a public IP to the target ECS instance.'."\n"
+ .' - **privateIpAddress**: string. Specifies the internal IP address of the target ECS instance. If not specified, an IP will be assigned via DHCP.'."\n"
+ .'- **UDM_ECS_ROLLBACK**: Full ECS rollback.'."\n"
+ .' - **sourceInstanceId**: string (required). Specifies the source ECS instance ID.'."\n"
+ .' - **forceRestore**: bool (default: false). Indicates whether to force restore. NOTE: If forceRestore is set to true, the disk restoration will proceed even if the backup disk has been unmounted from the original ECS instance or mounted to another instance. Exercise caution when using this option.'."\n"
+ .' - **bootAfterRestore**: bool (default: false). Indicates whether to start the ECS instance after restoration.',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{\\"sourceInstanceId\\":\\"i-uf62te6pm3iwsyxyz66q\\",\\"bootAfterRestore\\":false}',
+ ],
+ ],
+ [
+ 'name' => 'UdmRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Valid only when **SourceType** is **UDM_ECS**. Indicates the target region for the restore.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'TargetInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Valid only when **RestoreType** is **ECS_FILE**. Indicates the ECS instance ID at the restore destination.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-*********************',
+ ],
+ ],
+ [
+ 'name' => 'Include',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The path to be restored. All documents under this path will be restored. Maximum length is 255 characters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ ],
+ [
+ 'name' => 'Exclude',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The path not to be restored. All documents under this path will not be restored. Maximum length is 255 characters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/var", "/proc"]',
+ ],
+ ],
+ [
+ 'name' => 'TargetContainer',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Details of the target container.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{\\"host\\":\\"k8s-node1\\",\\"hostPrefix\\":\\"/var/lib/kubelet/pods/4acb31fe-8577-40ff-bc8c-eccabd835f73/volumes/kubernetes.io~csi/pvc-b050b00e-ef17-4792-aab1-1642355cf1f4/mount\\",\\"pvPath\\":\\"/\\"}',
+ ],
+ ],
+ [
+ 'name' => 'InitiatedByAck',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Indicates whether it is called by the container service. Default is false.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'TargetContainerClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the target container cluster.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cc-000amjsc7o1h9506oob7',
+ ],
+ ],
+ [
+ 'name' => 'TargetInstanceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the target Table Store instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'instancename',
+ ],
+ ],
+ [
+ 'name' => 'TargetTableName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data table in the target Table Store.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tablename',
+ ],
+ ],
+ [
+ 'name' => 'TargetTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time of the Table Store to be restored. UNIX timestamp, in seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1642496881',
+ ],
+ ],
+ [
+ 'name' => 'OtsDetail',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Details of the Table Store instance.',
+ 'required' => false,
+ '$ref' => '#/components/schemas/OtsTableRestoreDetail',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cross-account backup type. Supported values:'."\n"
+ .'- SELF_ACCOUNT: Backup within the same account'."\n"
+ .'- CROSS_ACCOUNT: Cross-account backup',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The original account ID managed by the current account for cross-account backup.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the role created in the RAM of the original account for cross-account backup managed by the current account.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ [
+ 'name' => 'FailbackDetail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Details of restoring to the local environment.',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"cpu":4,"extra":"{\\"restoreVMNamePrefix\\":\\"627-\\",\\"dataCenterName\\":\\"SDDC-Datacenter\\",\\"dataStoreId\\":\\"datastore-50\\",\\"folderId\\":\\"group-v49\\",\\"resourcePoolId\\":\\"resgroup-46\\",\\"locationName\\":\\"vcenter.pc-uf600a******1.acvs.aliyuncs.com/SDDC-Datacenter/Workloads\\",\\"computeResourceName\\":\\"SDDC-Datacenter/Default_c-uf600a******\\",\\"dataStoreName\\":\\"Default_c-uf600a******/WorkloadDatastore\\",\\"networkMoReference\\":\\"DistributedVirtualPortgroup:dvportgroup-1001\\",\\"useHotAdd\\":false}","instanceId":"i-2vc******z","memoryInMB":8192,"serverId":"0fdc0c86-eb92-4e05-91ab-eeaf9fb6ad01","uefiBoot":false}',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'Return code, 200 indicates success.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'Description of the return message, usually \'successful\' when successful, and corresponding error messages when there is an error.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Whether the request was successful.'."\n"
+ .' - true: Success'."\n"
+ .' - false: Failure',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RestoreId' => [
+ 'description' => 'Restore job ID.',
+ 'type' => 'string',
+ 'example' => 'r-*********************',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"RestoreId\\": \\"r-*********************\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateRestoreJobResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <RestoreId>r-*********************</RestoreId>\\n</CreateRestoreJobResponse>","errorExample":""}]',
+ 'title' => 'CreateRestoreJob',
+ 'description' => '- Create a restore job based on the selected snapshot and the restore destination.'."\n"
+ .'- Currently, the data source type must match the restore destination data source type.',
+ 'translator' => 'machine',
+ ],
+ 'CancelRestoreJob' => [
+ 'summary' => 'Cancels a restore job.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RestoreId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the restore job.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'r-*********************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CancelRestoreJobResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</CancelRestoreJobResponse>","errorExample":""}]',
+ 'title' => 'CancelRestoreJob',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRestoreJobs2' => [
+ 'summary' => 'Queries one or more restore jobs that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95541',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'RestoreType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS file systems'."\n"
+ .'* **OTS_TABLE**: Tablestore instances'."\n"
+ .'* **UDM_ECS_ROLLBACK**: ECS instances'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The keys in the filter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The key in the filter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key in the filter. Valid values:'."\n"
+ ."\n"
+ .'* **RegionId**: the region ID'."\n"
+ .'* **PlanId**: the ID of a backup plan'."\n"
+ .'* **JobId**: the ID of a backup job'."\n"
+ .'* **VaultId**: the ID of a backup vault'."\n"
+ .'* **InstanceId**: the ID of an ECS instance'."\n"
+ .'* **Bucket**: the name of an OSS bucket'."\n"
+ .'* **FileSystemId**: the ID of a file system'."\n"
+ .'* **Status**: the status of a backup job'."\n"
+ .'* **CompleteTime**: the end time of a backup job'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VaultId',
+ ],
+ 'Values' => [
+ 'description' => 'The values that you want to match in the filter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The value that you want to match in the filter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["v-*********************"]',
+ ],
+ 'required' => false,
+ 'maxItems' => 500,
+ ],
+ 'Operator' => [
+ 'description' => 'The matching method. Default value: IN. This parameter specifies the operator that you want to use to match a key and a value in the filter. Valid values:'."\n"
+ ."\n"
+ .'* **EQUAL**: equal to'."\n"
+ .'* **NOT_EQUAL**: not equal to'."\n"
+ .'* **GREATER_THAN**: greater than'."\n"
+ .'* **GREATER_THAN_OR_EQUAL**: greater than or equal to'."\n"
+ .'* **LESS_THAN**: less than'."\n"
+ .'* **LESS_THAN_OR_EQUAL**: less than or equal to'."\n"
+ .'* **BETWEEN**: specifies a JSON array as a range. The results must fall within the range in the `[Minimum value,Maximum value]` format.'."\n"
+ .'* **IN**: specifies an array as a collection. The results must fall within the collection.'."\n"
+ ."\n"
+ .'> If you specify the **CompleteTime** parameter as a key to query backup jobs, you cannot use the IN operator to perform a match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IN',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RestoreJobs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RestoreJob' => [
+ 'description' => 'The queried restore jobs.'."\n",
+ 'example' => '{\'RestoreJob\': []}',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details about the restore job.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SnapshotHash' => [
+ 'description' => 'The hash value of the backup snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'f2fe...',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the restore job. Valid values:'."\n"
+ ."\n"
+ .'* **COMPLETE**: The job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The job is partially completed.'."\n"
+ .'* **FAILED**: The job failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned for the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'PARTIAL_COMPLETE',
+ ],
+ 'ActualItems' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the actual number of objects that are restored by the restore job.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-0006******q',
+ ],
+ 'ActualBytes' => [
+ 'description' => 'The actual amount of data that is restored after duplicates are removed. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '600',
+ ],
+ 'UdmDetail' => [
+ 'description' => 'The details about Elastic Compute Service (ECS) instance backup.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"doCopy\\":true,\\"doBackup\\":false,\\"instanceName\\":\\"instance example\\",\\"appConsistent\\":false,\\"destinationRegionId\\":\\"cn-shanghai\\",\\"enableFsFreeze\\":true,\\"osNameEn\\":\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\",\\"osName\\":\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\",\\"diskIdList\\":[],\\"backupVaultId\\":\\"\\",\\"snapshotGroup\\":true,\\"destinationRetention\\":35,\\"platform\\":\\"Windows Server 2012\\",\\"timeoutInSeconds\\":60,\\"backupRetention\\":1,\\"osType\\":\\"windows\\",\\"preScriptPath\\":\\"\\",\\"postScriptPath\\":\\"\\",\\"enableWriters\\":true,\\"ecsDeleted\\":false}',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: ECS files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS (NAS) file systems'."\n"
+ .'* **OTS_TABLE**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'Options' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates whether Windows Volume Shadow Copy Service (VSS) is used to define a restoration path.'."\n"
+ ."\n"
+ .'* This parameter is available only for Windows ECS instances.'."\n"
+ .'* If data changes occur in the backup source, the source data must be the same as the data to be backed up before you can set this parameter to `["UseVSS":true]`.'."\n"
+ .'* If you use VSS, you cannot restore data from multiple directories.'."\n",
+ 'type' => 'string',
+ 'example' => '{"UseVSS":false}',
+ ],
+ 'SourceInstanceId' => [
+ 'type' => 'string',
+ ],
+ 'RestoreType' => [
+ 'description' => 'The type of the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'TargetCreateTime' => [
+ 'description' => 'The time when the file system was created. This parameter is returned only for NAS file systems.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1634714531',
+ ],
+ 'ItemsDone' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the number of restored objects.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'BytesTotal' => [
+ 'description' => 'The total amount of data that was backed up from the data source. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'Exclude' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the paths to the files that are excluded from the restore job. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'example' => '["/var", "/proc"]',
+ ],
+ 'ParentId' => [
+ 'description' => 'The ID of the parent job.'."\n",
+ 'type' => 'string',
+ 'example' => 'r-0003hd2an3x4dyv0l18b',
+ ],
+ 'CompleteTime' => [
+ 'description' => 'The time when the restore job was completed. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the restore job was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'TargetBucket' => [
+ 'description' => 'The name of the destination OSS bucket. This parameter is returned only for OSS buckets.'."\n",
+ 'type' => 'string',
+ 'example' => 'target-bucket',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the client group used for restoration.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-000******hp6',
+ ],
+ 'TargetFileSystemId' => [
+ 'description' => 'The ID of the destination NAS file system. This parameter is returned only for NAS file systems.'."\n",
+ 'type' => 'string',
+ 'example' => '0be9****9c9',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the restore job. Valid values: \\[0,10000]. For example, 10000 indicates that the progress is 100%.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10000',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the restore job expires.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1634714531',
+ ],
+ 'TargetDataSourceId' => [
+ 'description' => 'The ID of the destination data source.'."\n",
+ 'type' => 'string',
+ 'example' => 'ds-000*****997',
+ ],
+ 'TargetPrefix' => [
+ 'description' => 'The prefix of the objects that are restored. This parameter is returned only for OSS buckets.'."\n",
+ 'type' => 'string',
+ 'example' => '"/target"',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The destination file path of the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => '"D:\\\\rebk"',
+ ],
+ 'ErrorFile' => [
+ 'description' => 'The files that failed to be restored.'."\n",
+ 'type' => 'string',
+ 'example' => '"test.csv"',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the restore job started. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the restore job was updated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'SnapshotId' => [
+ 'description' => 'The ID of the snapshot used for restoration.'."\n",
+ 'type' => 'string',
+ 'example' => 's-0002******ga88',
+ ],
+ 'RestoreId' => [
+ 'description' => 'The ID of the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'r-0003*****8a',
+ ],
+ 'TargetClientId' => [
+ 'description' => 'The ID of the destination client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-000e*****397',
+ ],
+ 'ItemsTotal' => [
+ 'description' => 'This parameter is valid only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the total number of objects in the data source.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'Include' => [
+ 'description' => 'The paths to the files that are included in the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ 'BytesDone' => [
+ 'description' => 'The amount of data that was restored. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'TargetInstanceName' => [
+ 'description' => 'The name of the destination Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'TargetTableName' => [
+ 'description' => 'The name of the destination table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'tablename',
+ ],
+ 'Speed' => [
+ 'description' => 'The average speed at which data is backed up. Unit: KB/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '500',
+ ],
+ 'TargetTime' => [
+ 'description' => 'The time when the Tablestore instance was backed up. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1642560261',
+ ],
+ 'OtsDetail' => [
+ 'description' => 'The details about the Tablestore instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'BatchChannelCount' => [
+ 'description' => 'The number of channels processed by each Tablestore restore job.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'OverwriteExisting' => [
+ 'description' => 'Indicates whether the existing Tablestore restore job was overwritten.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Indicates whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '158975xxxxxx4625',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'BackupRole',
+ ],
+ 'Report' => [
+ 'description' => 'The report of the restore job.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalFiles' => [
+ 'description' => 'The full files that are restored based on the file list.'."\n",
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/job-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_total.csv',
+ ],
+ 'SuccessFiles' => [
+ 'description' => 'The files that are successfully executed.'."\n",
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_success.zip'."\n",
+ ],
+ 'FailedFiles' => [
+ 'description' => 'The files that failed to be executed.'."\n",
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_failed.zip',
+ ],
+ 'SkippedFiles' => [
+ 'description' => 'The skipped files.'."\n",
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_skipped.zip',
+ ],
+ 'ReportTaskStatus' => [
+ 'description' => 'The status of the report generation.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ ],
+ 'MeteringBytesDone' => [
+ 'description' => 'The amount of data that was restored. Unit: bytes. This parameter is valid only if the StorageClass parameter is set to ARCHIVE. The minimum billable size of the data stored at the Archive tier is 1 MB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1048576',
+ ],
+ 'MeteringBytesTotal' => [
+ 'description' => 'The total amount of data that was backed up from the data source. Unit: bytes. This parameter is valid only if the StorageClass parameter is set to ARCHIVE. The minimum billable size of the data stored at the Archive tier is 1 MB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1048576',
+ ],
+ 'StorageClass' => [
+ 'description' => 'The storage class of the backup data. Valid values:'."\n"
+ ."\n"
+ .'* **STANDARD**'."\n"
+ .'* **ARCHIVE**'."\n",
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ 'FailbackDetail' => [
+ 'description' => 'The details about the VMware failback task.'."\n",
+ 'type' => 'string',
+ 'example' => '{"cpu":4,"extra":"{\\"restoreVMNamePrefix\\":\\"627-\\",\\"dataCenterName\\":\\"SDDC-Datacenter\\",\\"dataStoreId\\":\\"datastore-50\\",\\"folderId\\":\\"group-v49\\",\\"resourcePoolId\\":\\"resgroup-46\\",\\"locationName\\":\\"vcenter.pc-uf600arcwi9td3eyj641.acvs.aliyuncs.com/SDDC-Datacenter/Workloads\\",\\"computeResourceName\\":\\"SDDC-Datacenter/Default_c-uf600arcwi9td3eyj640\\",\\"dataStoreName\\":\\"Default_c-uf600arcwi9td3eyj640/WorkloadDatastore\\",\\"networkMoReference\\":\\"DistributedVirtualPortgroup:dvportgroup-1001\\",\\"useHotAdd\\":false}","instanceId":"i-2vc357i2eannmmotcagz","memoryInMB":8192,"serverId":"0fdc0c86-eb92-4e05-91ab-eeaf9fb6ad01","uefiBoot":false}',
+ ],
+ 'TargetInstanceId' => [
+ 'description' => 'The ID of the destination instance for the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-2ze3m7ktcgw******cs',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RestoreJobs\\": {\\n \\"RestoreJob\\": [\\n {\\n \\"SnapshotHash\\": \\"f2fe...\\",\\n \\"Status\\": \\"COMPLETE\\",\\n \\"ErrorMessage\\": \\"PARTIAL_COMPLETE\\",\\n \\"ActualItems\\": 6,\\n \\"VaultId\\": \\"v-0006******q\\",\\n \\"ActualBytes\\": 600,\\n \\"UdmDetail\\": \\"{\\\\\\\\\\\\\\"doCopy\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"doBackup\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"instanceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"instance example\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"appConsistent\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"destinationRegionId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enableFsFreeze\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"osNameEn\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"osName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2019 Data Center Edition 64bit Chinese Edition\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"diskIdList\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"backupVaultId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"snapshotGroup\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"destinationRetention\\\\\\\\\\\\\\":35,\\\\\\\\\\\\\\"platform\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Windows Server 2012\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timeoutInSeconds\\\\\\\\\\\\\\":60,\\\\\\\\\\\\\\"backupRetention\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"osType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"windows\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"preScriptPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"postScriptPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"enableWriters\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"ecsDeleted\\\\\\\\\\\\\\":false}\\",\\n \\"SourceType\\": \\"ECS_FILE\\",\\n \\"Options\\": \\"{\\\\\\"UseVSS\\\\\\":false}\\",\\n \\"SourceInstanceId\\": \\"i-2ze3m7ktcgw******cs\\",\\n \\"RestoreType\\": \\"ECS_FILE\\",\\n \\"TargetCreateTime\\": 1634714531,\\n \\"ItemsDone\\": 8,\\n \\"BytesTotal\\": 1000,\\n \\"Exclude\\": \\"[\\\\\\"/var\\\\\\", \\\\\\"/proc\\\\\\"]\\",\\n \\"ParentId\\": \\"r-0003hd2an3x4dyv0l18b\\",\\n \\"CompleteTime\\": 1554347313,\\n \\"CreatedTime\\": 1554347313,\\n \\"TargetBucket\\": \\"target-bucket\\",\\n \\"ClusterId\\": \\"cl-000******hp6\\",\\n \\"TargetFileSystemId\\": \\"0be9****9c9\\",\\n \\"Progress\\": 10000,\\n \\"ExpireTime\\": 1634714531,\\n \\"TargetDataSourceId\\": \\"ds-000*****997\\",\\n \\"TargetPrefix\\": \\"\\\\\\"/target\\\\\\"\\",\\n \\"TargetPath\\": \\"\\\\\\"D:\\\\\\\\\\\\\\\\rebk\\\\\\"\\",\\n \\"ErrorFile\\": \\"\\\\\\"test.csv\\\\\\"\\",\\n \\"StartTime\\": 1554347313,\\n \\"UpdatedTime\\": 1554347313,\\n \\"SnapshotId\\": \\"s-0002******ga88\\",\\n \\"RestoreId\\": \\"r-0003*****8a\\",\\n \\"TargetClientId\\": \\"c-000e*****397\\",\\n \\"ItemsTotal\\": 10,\\n \\"Include\\": \\"[\\\\\\"/home/alice/*.pdf\\\\\\", \\\\\\"/home/bob/*.txt\\\\\\"]\\",\\n \\"BytesDone\\": 800,\\n \\"TargetInstanceName\\": \\"instancename\\",\\n \\"TargetTableName\\": \\"tablename\\",\\n \\"Speed\\": 500,\\n \\"TargetTime\\": 1642560261,\\n \\"OtsDetail\\": {\\n \\"BatchChannelCount\\": 2,\\n \\"OverwriteExisting\\": false\\n },\\n \\"CrossAccountType\\": \\"SELF_ACCOUNT\\",\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"BackupRole\\",\\n \\"Report\\": {\\n \\"TotalFiles\\": \\"/temp/report/158975xxxxxx4625/job-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_total.csv\\",\\n \\"SuccessFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_success.zip\\\\n\\",\\n \\"FailedFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_failed.zip\\",\\n \\"SkippedFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_skipped.zip\\",\\n \\"ReportTaskStatus\\": \\"COMPLETE\\"\\n },\\n \\"MeteringBytesDone\\": 1048576,\\n \\"MeteringBytesTotal\\": 1048576,\\n \\"StorageClass\\": \\"STANDARD\\",\\n \\"FailbackDetail\\": \\"{\\\\\\"cpu\\\\\\":4,\\\\\\"extra\\\\\\":\\\\\\"{\\\\\\\\\\\\\\"restoreVMNamePrefix\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"627-\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dataCenterName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"SDDC-Datacenter\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dataStoreId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"datastore-50\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"folderId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"group-v49\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourcePoolId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"resgroup-46\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"locationName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"vcenter.pc-uf600arcwi9td3eyj641.acvs.aliyuncs.com/SDDC-Datacenter/Workloads\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"computeResourceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"SDDC-Datacenter/Default_c-uf600arcwi9td3eyj640\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dataStoreName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Default_c-uf600arcwi9td3eyj640/WorkloadDatastore\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"networkMoReference\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DistributedVirtualPortgroup:dvportgroup-1001\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"useHotAdd\\\\\\\\\\\\\\":false}\\\\\\",\\\\\\"instanceId\\\\\\":\\\\\\"i-2vc357i2eannmmotcagz\\\\\\",\\\\\\"memoryInMB\\\\\\":8192,\\\\\\"serverId\\\\\\":\\\\\\"0fdc0c86-eb92-4e05-91ab-eeaf9fb6ad01\\\\\\",\\\\\\"uefiBoot\\\\\\":false}\\",\\n \\"TargetInstanceId\\": \\"i-2ze3m7ktcgw******cs\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeRestoreJobs2',
+ ],
+ 'CancelBackupJob' => [
+ 'summary' => 'Cancels a backup job.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95404',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'j-******************************',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-*****************************',
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the request is successful, a value of successful is returned. If the request fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n"
+ ."\n"
+ .'* true: The request is successful.'."\n"
+ .'* false: The request fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CancelBackupJobResponse>\\n<Message>successful</Message>\\n<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n<Code>200</Code>\\n<Success>true</Success>\\n</CancelBackupJobResponse>","errorExample":""}]',
+ 'title' => 'CancelBackupJob',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateBackupJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '95428',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup job.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k8s-backup-infra-20220131150046-hbr',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **UDM_ECS**: Elastic Compute Service (ECS) instance'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => [
+ 'UDM_ECS' => '',
+ ],
+ 'example' => 'CONTAINER',
+ ],
+ ],
+ [
+ 'name' => 'Retention',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The retention period of the backup data. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **UDM_ECS**. This parameter specifies the ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'i-bp1xxxxxxxxxxxxxxysm',
+ ],
+ ],
+ [
+ 'name' => 'Detail',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'This parameter is required only if you set the **SourceType** parameter to **UDM_ECS**. The value is a JSON string. Valid values:'."\n"
+ ."\n"
+ .'* doCopy: specifies whether to enable remote replication.'."\n"
+ ."\n"
+ .'* destinationRegionId: the destination region for remote replication.'."\n"
+ ."\n"
+ .'* destinationRetention: the retention period of the backup point for remote replication.'."\n"
+ ."\n"
+ .'* diskIdList: the IDs of the disks that are to be backed up. If this parameter is left empty, all disks are backed up.'."\n"
+ ."\n"
+ .'* snapshotGroup: specifies whether to use a snapshot-consistent group. This parameter is valid only if all disks of the ECS instance are Enterprise SSDs (ESSDs).'."\n"
+ ."\n"
+ .'* appConsistent: specifies whether to use the application-consistent backup feature. This parameter must be used with the preScriptPath and postScriptPath parameters.'."\n"
+ ."\n"
+ .'* preScriptPath: the path to the pre-freeze scripts.'."\n"
+ ."\n"
+ .'* postScriptPath: the path to the post-thaw scripts.'."\n"
+ ."\n"
+ .'* enableWriters: This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to create application-consistent snapshots.'."\n"
+ ."\n"
+ .' * true: creates application-consistent snapshots.'."\n"
+ .' * false: creates file system-consistent snapshots.'."\n"
+ ."\n"
+ .'* enableFsFreeze: This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies whether to enable Linux fsfreeze to put file systems into the read-only state before application-consistent snapshots are created. Default value: true.'."\n"
+ ."\n"
+ .'* timeoutSeconds: This parameter is required only if you set the **AppConsistent** parameter to **true**. This parameter specifies the I/O freeze timeout period. Default value: 30. Unit: seconds.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '{'."\n"
+ .' "doCopy": false,'."\n"
+ .' "destinationRegionId": "",'."\n"
+ .' "destinationRetention": null,'."\n"
+ .' "diskIdList": [],'."\n"
+ .' "snapshotGroup": false,'."\n"
+ .' "appConsistent": false,'."\n"
+ .' "enableWriters": true,'."\n"
+ .' "preScriptPath": "",'."\n"
+ .' "postScriptPath": "",'."\n"
+ .' "enableFsFreeze": true,'."\n"
+ .' "timeoutInSeconds": 60'."\n"
+ .'}',
+ ],
+ ],
+ [
+ 'name' => 'BackupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup type. This parameter is required only if you set the SourceType parameter to UDM_ECS.'."\n"
+ ."\n"
+ .'* **COMPLETE**: full backup'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'COMPLETE' => '',
+ ],
+ 'example' => 'INCREMENTAL',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault. This parameter is not required if you set the SourceType parameter to UDM_ECS.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000xxxxxxxxxxxxxxy1v',
+ ],
+ ],
+ [
+ 'name' => 'SpeedLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter does not take effect if you set the **SourceType** parameter to **UDM_ECS**. This parameter specifies the throttling rules. Format: `{start}|{end}|{bandwidth}`. Separate multiple throttling rules with vertical bars (|). A specified time range cannot overlap with another time range.'."\n"
+ ."\n"
+ .'* **start**: the start hour.'."\n"
+ .'* **end**: the end hour.'."\n"
+ .'* **bandwidth**: the bandwidth. Unit: KB/s.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0:24:NaN',
+ ],
+ ],
+ [
+ 'name' => 'Options',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"UseVSS":false}',
+ ],
+ ],
+ [
+ 'name' => 'Include',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter does not take effect if you set the **SourceType** parameter to **UDM_ECS**. This parameter specifies the paths to the files that are backed up. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ ],
+ [
+ 'name' => 'Exclude',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter does not take effect if you set the **SourceType** parameter to **UDM_ECS**. This parameter specifies the paths to the files that are excluded from the backup job. The value can be up to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["/var", "/proc"]',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-00068btz******oku',
+ ],
+ ],
+ [
+ 'name' => 'ContainerResources',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{\\"resourceType\\":\\"PV\\",\\"backupMethod\\":\\"FILE\\",\\"resourceId\\":\\"674dac6d-74cd-47e9-a675-09e2f10d2c45\\",\\"resourceInfo\\":\\"{\\\\\\"pv_name\\\\\\":\\\\\\"nas-650dac6d-74cd-47e9-a675-09e2f10d2c45\\\\\\",\\\\\\"pv_size\\\\\\":\\\\\\"8Gi\\\\\\",\\\\\\"storage_class\\\\\\":\\\\\\"alibabacloud-cnfs-nas\\\\\\",\\\\\\"pvc_name\\\\\\":\\\\\\"data-postgresql-default-0\\\\\\",\\\\\\"namespace\\\\\\":\\\\\\"database\\\\\\"}\\",\\"host\\":\\"cn-huhehaote.192.168.13.133\\",\\"hostPrefix\\":\\"6f5e758e-8d35-4584-b9ce-8333adfc7547/volumes/kubernetes.io~csi/nas-670dac6d-74cd-47e9-a675-09e2f10d2c45/mount\\",\\"pvPath\\":\\"/\\"}]',
+ ],
+ ],
+ [
+ 'name' => 'InitiatedByAck',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'false or left empty'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ContainerClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cc-000xxxxxxxxxxxxxxi00',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '25F49E7B-7E39-542E-83AD-62E6E7F73786',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'job-000csy09q50a2jdcbwbo',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"25F49E7B-7E39-542E-83AD-62E6E7F73786\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"job-000csy09q50a2jdcbwbo\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBackupJobResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>25F49E7B-7E39-542E-83AD-62E6E7F73786</RequestId>\\n <Success>true</Success>\\n <JobId>job-000csy09q50a2jdcbwbo</JobId>\\n</CreateBackupJobResponse>","errorExample":""}]',
+ 'title' => 'CreateBackupJob',
+ 'summary' => 'Creates a backup job.',
+ ],
+ 'DescribeBackupJobs2' => [
+ 'summary' => 'Queries the information about one or more backup jobs that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95502',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: Elastic Compute Service (ECS) files'."\n"
+ .'* **OSS**: Object Storage Service (OSS) buckets'."\n"
+ .'* **NAS**: Apsara File Storage NAS file systems'."\n"
+ .'* **OTS**: Tablestore instances'."\n"
+ .'* **UDM_ECS**: ECS instances'."\n"
+ .'* **UDM_ECS_DISK**: ECS disks'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ECS_FILE',
+ ],
+ ],
+ [
+ 'name' => 'SortDirection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which you want to sort the results. Valid values:'."\n"
+ ."\n"
+ .'* **ASCEND**: sorts the results in ascending order'."\n"
+ .'* **DESCEND** (default value): sorts the results in descending order'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DESCEND',
+ 'default' => 'DESCEND',
+ 'enum' => [
+ 'ASCEND',
+ 'DESCEND',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The keys that you want to match in the filter.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The keys that you want to match in the filter.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The keys in the filter. Valid values:'."\n"
+ ."\n"
+ .'* **RegionId**: the ID of a region'."\n"
+ .'* **PlanId**: the ID of a backup plan'."\n"
+ .'* **JobId**: the ID of a backup job'."\n"
+ .'* **VaultId**: the ID of a backup vault'."\n"
+ .'* **InstanceId**: the ID of an ECS instance'."\n"
+ .'* **Bucket**: the name of an OSS bucket'."\n"
+ .'* **FileSystemId**: the ID of a file system'."\n"
+ .'* **Status**: the status of a backup job'."\n"
+ .'* **CreatedTime**: the start time of a backup job'."\n"
+ .'* **CompleteTime**: the end time of a backup job'."\n"
+ .'* **instanceName**: the name of a Tablestore instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VaultId',
+ ],
+ 'Values' => [
+ 'description' => 'The values that you want to match in the filter.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The values that you want to match in the filter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ ],
+ 'required' => false,
+ 'maxItems' => 500,
+ ],
+ 'Operator' => [
+ 'description' => 'The matching method. Default value: IN. This parameter specifies the operator that you want to use to match a key and a value in the filter. Valid values:'."\n"
+ ."\n"
+ .'* **EQUAL**: equal to'."\n"
+ .'* **NOT_EQUAL**: not equal to'."\n"
+ .'* **GREATER_THAN**: greater than'."\n"
+ .'* **GREATER_THAN_OR_EQUAL**: greater than or equal to'."\n"
+ .'* **LESS_THAN**: less than'."\n"
+ .'* **LESS_THAN_OR_EQUAL**: less than or equal to'."\n"
+ .'* **BETWEEN**: specifies a JSON array as a range. The results must fall within the range in the `[Minimum value,maximum value]` format.'."\n"
+ .'* **IN**: specifies an array as a collection. The results must fall within the collection.'."\n"
+ ."\n"
+ .'> If you specify **CompleteTime** as a key to query backup jobs, you cannot use the IN operator to perform a match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IN',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ ],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '版本类型,支持BASIC和STANDARD,默认值为STANDARD。',
+ 'type' => 'string',
+ 'example' => 'STANDARD',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful.'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned backup jobs that meet the specified conditions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'BackupJobs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BackupJob' => [
+ 'description' => 'The returned backup jobs that meet the specified conditions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The returned backup job that meet the specified conditions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the backup job. Valid values:'."\n"
+ ."\n"
+ .'* **COMPLETE**: The backup job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The backup job is partially completed.'."\n"
+ .'* **FAILED**: The restore job has failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned for the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'PARTIAL_COMPLETE',
+ ],
+ 'ActualItems' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the actual number of objects that are backed up by the backup job.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-0006******q',
+ ],
+ 'ActualBytes' => [
+ 'description' => 'The actual amount of data that is backed up after duplicates are removed. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '600',
+ ],
+ 'CreateTime' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the time when the file system was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1607436917',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid value: **COMPLETE**, which indicates full backup.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'Prefix' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **OSS**. This parameter indicates the prefix of objects that are backed up.'."\n",
+ 'type' => 'string',
+ 'example' => 'example/',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the data source. Valid values:'."\n"
+ ."\n"
+ .'* **ECS_FILE**: ECS files'."\n"
+ .'* **OSS**: OSS buckets'."\n"
+ .'* **NAS**: NAS file systems'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'Options' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates whether Windows VSS is used to define a backup path.'."\n"
+ ."\n"
+ .'* This parameter is available only for Windows ECS instances.'."\n"
+ .'* If data changes occur in the backup source, the source data must be the same as the data to be backed up before the system sets this parameter to `["UseVSS":true]`.'."\n"
+ .'* If you use VSS, you cannot back up data from multiple directories.'."\n",
+ 'type' => 'string',
+ 'example' => '{"UseVSS":false}',
+ ],
+ 'ClientId' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the ID of the backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-*********************',
+ ],
+ 'ItemsDone' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the number of objects that are backed up.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'BytesTotal' => [
+ 'description' => 'The total amount of data that is backed up from the data source. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'Exclude' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the paths to the files that are excluded from the backup job. The value must be 1 to 255 characters in length.'."\n",
+ 'type' => 'string',
+ 'example' => '["/var", "/proc"]',
+ ],
+ 'JobName' => [
+ 'description' => 'The name of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'jobname',
+ ],
+ 'CompleteTime' => [
+ 'description' => 'The time when the backup job was completed. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the backup job was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'Bucket' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **OSS**. This parameter indicates the name of the OSS bucket that is backed up.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbr-backup-oss',
+ ],
+ 'Progress' => [
+ 'description' => 'The backup progress. For example, 10000 indicates that the progress is 100%.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10000',
+ ],
+ 'SpeedLimit' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the throttling rules. Format: `{start}{end}{bandwidth}`. Multiple throttling rules are separated with vertical bars (`{start}|{end}|{bandwidth}`). A specified time range cannot overlap with another one.'."\n"
+ ."\n"
+ .'* **start**: the start hour'."\n"
+ .'* **end**: the end hour'."\n"
+ .'* **bandwidth**: the bandwidth. Unit: KB/s.'."\n",
+ 'type' => 'string',
+ 'example' => '0:24:5120',
+ ],
+ 'InstanceId' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-*********************',
+ ],
+ 'PlanId' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'plan-20********35',
+ ],
+ 'FileSystemId' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **NAS**. This parameter indicates the ID of the NAS file system.'."\n",
+ 'type' => 'string',
+ 'example' => '005494',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the backup job started. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the backup job was updated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => 'job-000g********w7',
+ ],
+ 'ItemsTotal' => [
+ 'description' => 'This parameter is returned only if the **SourceType** parameter is set to **ECS_FILE**. This parameter indicates the total number of objects in the data source.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'Include' => [
+ 'description' => 'The paths to the files that are included in the backup job.'."\n",
+ 'type' => 'string',
+ 'example' => '["/home/alice/*.pdf", "/home/bob/*.txt"]',
+ ],
+ 'BytesDone' => [
+ 'description' => 'The actual amount of data that is generated by incremental backups. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '800',
+ ],
+ 'Paths' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Path' => [
+ 'description' => 'The backup paths.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The backup path.',
+ 'type' => 'string',
+ 'example' => '"/home"',
+ ],
+ ],
+ ],
+ ],
+ 'Detail' => [
+ 'description' => 'The udm backup job detail.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DoCopy' => [
+ 'description' => 'Indicates whether remote replication is enabled.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DestinationNativeSnapshotId' => [
+ 'description' => 'The ID of the remote replication snapshot.',
+ 'type' => 'string',
+ 'example' => 's-******************',
+ ],
+ 'DestinationNativeSnapshotProgress' => [
+ 'description' => 'The progress of the remote replication.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '85',
+ ],
+ 'DestinationNativeSnapshotStatus' => [
+ 'description' => 'The state of the remote replication.',
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'DestinationRetention' => [
+ 'description' => 'The retention period of the remote replication backup.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'DestinationSnapshotId' => [
+ 'description' => 'The ID of the remote replication backup.',
+ 'type' => 'string',
+ 'example' => 's-******************',
+ ],
+ 'DestinationNativeSnapshotErrorMessage' => [
+ 'description' => 'The information about the remote replication failure.',
+ 'type' => 'string',
+ 'example' => 'ECS.CreatingSnapshot',
+ ],
+ 'NativeSnapshotId' => [
+ 'description' => 'The ID of the backup snapshot.',
+ 'type' => 'string',
+ 'example' => 's-******************',
+ ],
+ 'DiskNativeSnapshotIdList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DiskNativeSnapshotId' => [
+ 'description' => 'The mapping between snapshots and disks.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The native snapshot id.',
+ 'type' => 'string',
+ 'example' => 's-******************',
+ ],
+ ],
+ ],
+ ],
+ 'InstanceInfos' => [
+ 'description' => 'The ecs instance infos.',
+ 'type' => 'object',
+ 'example' => '{'."\n"
+ .' "i-xxxxxxxx": {'."\n"
+ .' "hostName": "test",'."\n"
+ .' "instanceName": "test",'."\n"
+ .' "instanceType": "ecs.c7.xlarge",'."\n"
+ .' "osType": "linux",'."\n"
+ .' "diskIds": ['."\n"
+ .' "d-xxxxxxxx01",'."\n"
+ .' "d-xxxxxxxx02"'."\n"
+ .' ],'."\n"
+ .' "osNameEn": "Rocky Linux 8.8 64 bit",'."\n"
+ .' "osName": "Rocky Linux 8.8 64位",'."\n"
+ .' "platform": "Rocky Linux"'."\n"
+ .' }'."\n"
+ .'}',
+ ],
+ ],
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'instancename',
+ ],
+ 'OtsDetail' => [
+ 'description' => 'The details about the Tablestore instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TableNames' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TableName' => [
+ 'description' => 'The names of the destination tables in the Tablestore instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the table.'."\n",
+ 'type' => 'string',
+ 'example' => '["table1", "table2", "table3"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Speed' => [
+ 'description' => 'The average speed at which data is backed up. Unit: KB/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '500',
+ ],
+ 'TableName' => [
+ 'description' => 'The name of a destination table in the Tablestore instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'table1',
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '158975xxxxx4625',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'BackupRole',
+ ],
+ 'Report' => [
+ 'description' => 'Task Report',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalFiles' => [
+ 'description' => 'List of all files. (This field is not returned for data synchronization)',
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/job-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_total.csv',
+ ],
+ 'SuccessFiles' => [
+ 'description' => 'List of successful files.',
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_success.zip',
+ ],
+ 'FailedFiles' => [
+ 'description' => 'List of failed files',
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_failed.zip',
+ ],
+ 'SkippedFiles' => [
+ 'description' => 'List of skipped files',
+ 'type' => 'string',
+ 'example' => '/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_skipped.zip',
+ ],
+ 'ReportTaskStatus' => [
+ 'description' => 'Report generation status.',
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ ],
+ 'Identifier' => [
+ 'title' => '仅SourceType=CONTAINER时返回,表示容器备份任务备份的集群标识。当集群类型为阿里云容器服务Kubernetes集群时,该值为Kubernetes集群ID。',
+ 'description' => 'The identifier of the container cluster. For a Container Service for Kubernetes (ACK) cluster, specify the cluster ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'c83**************************b76',
+ ],
+ 'DestSourceType' => [
+ 'description' => 'Destination data source type. (Required only for synchronization)',
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'DestDataSourceId' => [
+ 'description' => 'Destination data source ID. (Required only for synchronization)',
+ 'type' => 'string',
+ 'example' => 'ds-000cov4ufudxklj24zdk',
+ ],
+ 'DestDataSourceDetail' => [
+ 'description' => 'Destination data source details. (Required only for synchronization)',
+ 'type' => 'string',
+ 'example' => '{\\"prefix\\":\\"/\\"}',
+ ],
+ 'ChangeListPath' => [
+ 'description' => 'The data source details at the destination. Thisparameter is returned only for data synchronization.',
+ 'type' => 'string',
+ 'example' => '{"dataSourceId": "ds-123456789", "path": "/changelist"}',
+ ],
+ 'FilesTotal' => [
+ 'description' => 'The total number of files to be processed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'FilesDone' => [
+ 'description' => 'The number of files that have been processed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '9',
+ ],
+ 'ActualFiles' => [
+ 'description' => 'The number of files that are actually processed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 8,\\n \\"BackupJobs\\": {\\n \\"BackupJob\\": [\\n {\\n \\"Status\\": \\"COMPLETE\\",\\n \\"ErrorMessage\\": \\"PARTIAL_COMPLETE\\",\\n \\"ActualItems\\": 6,\\n \\"VaultId\\": \\"v-0006******q\\",\\n \\"ActualBytes\\": 600,\\n \\"CreateTime\\": 1607436917,\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"Prefix\\": \\"example/\\",\\n \\"SourceType\\": \\"ECS_FILE\\",\\n \\"Options\\": \\"{\\\\\\"UseVSS\\\\\\":false}\\",\\n \\"ClientId\\": \\"c-*********************\\",\\n \\"ItemsDone\\": 8,\\n \\"BytesTotal\\": 1000,\\n \\"Exclude\\": \\"[\\\\\\"/var\\\\\\", \\\\\\"/proc\\\\\\"]\\",\\n \\"JobName\\": \\"jobname\\",\\n \\"CompleteTime\\": 1554347313,\\n \\"CreatedTime\\": 1554347313,\\n \\"Bucket\\": \\"hbr-backup-oss\\",\\n \\"Progress\\": 10000,\\n \\"SpeedLimit\\": \\"0:24:5120\\",\\n \\"InstanceId\\": \\"i-*********************\\",\\n \\"PlanId\\": \\"plan-20********35\\",\\n \\"FileSystemId\\": \\"005494\\",\\n \\"StartTime\\": 1554347313,\\n \\"UpdatedTime\\": 1554347313,\\n \\"JobId\\": \\"job-000g********w7\\",\\n \\"ItemsTotal\\": 10,\\n \\"Include\\": \\"[\\\\\\"/home/alice/*.pdf\\\\\\", \\\\\\"/home/bob/*.txt\\\\\\"]\\",\\n \\"BytesDone\\": 800,\\n \\"Paths\\": {\\n \\"Path\\": [\\n \\"\\\\\\"/home\\\\\\"\\"\\n ]\\n },\\n \\"Detail\\": {\\n \\"DoCopy\\": true,\\n \\"DestinationNativeSnapshotId\\": \\"s-******************\\",\\n \\"DestinationNativeSnapshotProgress\\": 85,\\n \\"DestinationNativeSnapshotStatus\\": \\"COMPLETE\\",\\n \\"DestinationRetention\\": 30,\\n \\"DestinationSnapshotId\\": \\"s-******************\\",\\n \\"DestinationNativeSnapshotErrorMessage\\": \\"ECS.CreatingSnapshot\\",\\n \\"NativeSnapshotId\\": \\"s-******************\\",\\n \\"DiskNativeSnapshotIdList\\": {\\n \\"DiskNativeSnapshotId\\": [\\n \\"s-******************\\"\\n ]\\n },\\n \\"InstanceInfos\\": {\\n \\"i-xxxxxxxx\\": {\\n \\"hostName\\": \\"test\\",\\n \\"instanceName\\": \\"test\\",\\n \\"instanceType\\": \\"ecs.c7.xlarge\\",\\n \\"osType\\": \\"linux\\",\\n \\"diskIds\\": [\\n \\"d-xxxxxxxx01\\",\\n \\"d-xxxxxxxx02\\"\\n ],\\n \\"osNameEn\\": \\"Rocky Linux 8.8 64 bit\\",\\n \\"osName\\": \\"Rocky Linux 8.8 64位\\",\\n \\"platform\\": \\"Rocky Linux\\"\\n }\\n }\\n },\\n \\"InstanceName\\": \\"instancename\\",\\n \\"OtsDetail\\": {\\n \\"TableNames\\": {\\n \\"TableName\\": [\\n \\"[\\\\\\"table1\\\\\\", \\\\\\"table2\\\\\\", \\\\\\"table3\\\\\\"]\\"\\n ]\\n }\\n },\\n \\"Speed\\": 500,\\n \\"TableName\\": \\"table1\\",\\n \\"CrossAccountType\\": \\"SELF_ACCOUNT\\",\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"BackupRole\\",\\n \\"Report\\": {\\n \\"TotalFiles\\": \\"/temp/report/158975xxxxxx4625/job-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_total.csv\\",\\n \\"SuccessFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_success.zip\\",\\n \\"FailedFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_failed.zip\\",\\n \\"SkippedFiles\\": \\"/temp/report/158975xxxxxx4625/r-0001hfxxxxxymsspjjtl/job-0001hfxxxxxymsspjjtl_skipped.zip\\",\\n \\"ReportTaskStatus\\": \\"COMPLETE\\"\\n },\\n \\"Identifier\\": \\"c83**************************b76\\",\\n \\"DestSourceType\\": \\"OSS\\",\\n \\"DestDataSourceId\\": \\"ds-000cov4ufudxklj24zdk\\",\\n \\"DestDataSourceDetail\\": \\"{\\\\\\\\\\\\\\"prefix\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/\\\\\\\\\\\\\\"}\\",\\n \\"ChangeListPath\\": \\"{\\\\\\"dataSourceId\\\\\\": \\\\\\"ds-123456789\\\\\\", \\\\\\"path\\\\\\": \\\\\\"/changelist\\\\\\"}\\",\\n \\"FilesTotal\\": 10,\\n \\"FilesDone\\": 9,\\n \\"ActualFiles\\": 8\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeBackupJobs2Response>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>8</TotalCount>\\n <BackupJobs>\\n <Status>COMPLETE</Status>\\n <ErrorMessage>PARTIAL_COMPLETE</ErrorMessage>\\n <ActualItems>6</ActualItems>\\n <VaultId>v-0006******q</VaultId>\\n <ActualBytes>600</ActualBytes>\\n <CreateTime>1607436917</CreateTime>\\n <BackupType>COMPLETE</BackupType>\\n <Prefix>example/</Prefix>\\n <SourceType>ECS_FILE</SourceType>\\n <Options>{\\"UseVSS\\":false}</Options>\\n <ClientId>c-*********************</ClientId>\\n <ItemsDone>8</ItemsDone>\\n <BytesTotal>1000</BytesTotal>\\n <Exclude>[\\"/var\\", \\"/proc\\"]</Exclude>\\n <JobName>jobname</JobName>\\n <CompleteTime>1554347313</CompleteTime>\\n <CreatedTime>1554347313</CreatedTime>\\n <Bucket>hbr-backup-oss</Bucket>\\n <Progress>10000</Progress>\\n <SpeedLimit>0:24:5120</SpeedLimit>\\n <InstanceId>i-*********************</InstanceId>\\n <PlanId>plan-20********35</PlanId>\\n <FileSystemId>005494</FileSystemId>\\n <StartTime>1554347313</StartTime>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <JobId>job-000g********w7</JobId>\\n <ItemsTotal>10</ItemsTotal>\\n <Include>[\\"/home/alice/*.pdf\\", \\"/home/bob/*.txt\\"]</Include>\\n <BytesDone>800</BytesDone>\\n <Paths>\\"/home\\"</Paths>\\n <InstanceName>instancename</InstanceName>\\n <OtsDetail>\\n <TableNames>[\\"table1\\", \\"table2\\", \\"table3\\"]</TableNames>\\n </OtsDetail>\\n <Speed>500</Speed>\\n <TableName>table1</TableName>\\n <CrossAccountType>SELF_ACCOUNT</CrossAccountType>\\n <CrossAccountRoleName>BackupRole</CrossAccountRoleName>\\n </BackupJobs>\\n</DescribeBackupJobs2Response>","errorExample":""}]',
+ 'title' => 'DescribeBackupJobs2',
+ 'translator' => 'machine',
+ ],
+ 'CreateHanaBackupPlan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0002pcwhdn******wmi',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-00024vyjj9******v',
+ ],
+ ],
+ [
+ 'name' => 'PlanName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-20220110-113108',
+ ],
+ ],
+ [
+ 'name' => 'Schedule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` specifies that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time must follow the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval must follow the ISO 8601 standard. For example, PT1H specifies an interval of one hour. P1D specifies an interval of one day.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'I|1602673264|P1D',
+ ],
+ ],
+ [
+ 'name' => 'BackupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup type. Valid values:'."\n"
+ ."\n"
+ .'* COMPLETE: full backup'."\n"
+ .'* INCREMENTAL: incremental backup'."\n"
+ .'* DIFFERENTIAL: differential backup'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => [],
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ [
+ 'name' => 'BackupPrefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup prefix.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DIFF_DATA_BACKUP',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmvnf22m7itha',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '33AA3AAE-89E1-5D3A-A51D-0C0A80850F68',
+ ],
+ 'PlanId' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'pl-000756jdlk2zmqig2nea',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"33AA3AAE-89E1-5D3A-A51D-0C0A80850F68\\",\\n \\"PlanId\\": \\"pl-000756jdlk2zmqig2nea\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateHanaBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>33AA3AAE-89E1-5D3A-A51D-0C0A80850F68</RequestId>\\n <PlanId>pl-000756jdlk2zmqig2nea</PlanId>\\n <Success>true</Success>\\n</CreateHanaBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'CreateHanaBackupPlan',
+ 'summary' => 'Creates a backup plan for an SAP HANA instance.',
+ 'description' => '* A backup plan defines the data source, backup policy, and other configurations. After you execute a backup plan, a backup job is generated to record the backup progress and the backup result. If a backup job is completed, a backup snapshot is generated. You can use a backup snapshot to create a restore job.'."\n"
+ .'* You can specify only one type of data source in a backup plan.'."\n"
+ .'* You can specify only one interval as a backup cycle in a backup plan.'."\n"
+ .'* Each backup plan allows you to back up data to only one backup vault.'."\n",
+ ],
+ 'CreateHanaInstance' => [
+ 'summary' => 'Registers an SAP HANA instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95438',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0003v4a******gfv2',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'HanaName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HANA-DEV',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'Host',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The private or internal IP address of the host where the primary node of the SAP HANA instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '47.100.XX.XX',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance number of the SAP HANA system.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '00',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the SYSTEMDB database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'admin',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password that is used to connect with the SAP HANA database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '************',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'UseSsl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to connect with the SAP HANA database over Secure Sockets Layer (SSL).'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ValidateCertificate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to verify the SSL certificate of the SAP HANA database.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'AlertSetting',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert settings. Valid value: INHERITED, which indicates that the Cloud Backup client sends alert notifications by using the same method configured for the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'INHERITED',
+ ],
+ ],
+ [
+ 'name' => 'EcsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IDs of the ECS instances that host the SAP HANA instance to be registered. Cloud Backup installs backup clients on the specified ECS instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[\\"i-uf6ir9y******hvisj\\"]',
+ ],
+ ],
+ [
+ 'name' => 'Sid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The security identifier (SID) of the SAP HANA database. For more information, see [How to find sid user and instance number of HANA db?](https://answers.sap.com/questions/555192/how-to-find-sid-user-and-instance-number-of-hana-d.html?spm=a2c4g.11186623.0.0.55c34b4ftZeXNK).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HXE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4ebtpkzx7zy',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup type. Valid values:'."\n"
+ ."\n"
+ .'- **SELF_ACCOUNT**: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'- **CROSS_ACCOUNT**: Data is backed up across Alibaba Cloud accounts.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'EB526A5D-1FE2-51C1-B790-1732C1DBA969',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-000dp1sz******6hn',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"EB526A5D-1FE2-51C1-B790-1732C1DBA969\\",\\n \\"Success\\": true,\\n \\"ClusterId\\": \\"cl-000dp1sz******6hn\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHanaInstanceResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>EB526A5D-1FE2-51C1-B790-1732C1DBA969</RequestId>\\n <Success>true</Success>\\n <ClusterId>cl-000dp1sz******6hn</ClusterId>\\n</CreateHanaInstanceResponse>","errorExample":""}]',
+ 'title' => 'CreateHanaInstance',
+ 'description' => 'To register an SAP HANA instance, you must configure the SAP HANA connection information. After the SAP HANA instance is registered, Cloud Backup installs a backup client on the node of the SAP HANA instance.'."\n",
+ ],
+ 'CreateClients' => [
+ 'summary' => 'Installs one or more Cloud Backup clients on specified instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95433',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0001ufe******kgm',
+ ],
+ ],
+ [
+ 'name' => 'AlertSetting',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert settings. Valid value: INHERITED, which indicates that the HBR client sends alert notifications by using the same method configured for the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'INHERITED',
+ ],
+ ],
+ [
+ 'name' => 'ClientInfo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The installation information of the HBR clients.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[ { "instanceId": "i-bp116lr******te9q2", "accessKeyId": "", "accessKeySecret": "", "clusterId": "cl-000csy09q******9rfz9", "sourceTypes": [ "HANA" ] }, { "instanceId": "i-bp116lrux******hte9q4", "accessKeyId": "", "accessKeySecret": "", "clusterId": "cl-000csy09q5094vw9rfz9", "sourceTypes": [ "HANA" ] }]',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'UseHttps',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to transmit data over HTTPS. Valid values:'."\n"
+ ."\n"
+ .'* true: transmits data over HTTPS.'."\n"
+ .'* false: transmits data over HTTP.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekzvx7d3c4kpny',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup type. Valid values:'."\n"
+ ."\n"
+ .'- **SELF_ACCOUNT**: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'- **CROSS_ACCOUNT**: Data is backed up across Alibaba Cloud accounts.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4A8A9AE4-F798-5E6D-853E-10F9F5A1BD4E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-000h9x5t02vhyksf1x7k',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceStatuses' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InstanceStatus' => [
+ 'description' => 'The status of the ECS instance. If you specify more than one instance IDs in the request and the status of an ECS instance does not meet the requirements to install an HBR client, an error message is returned based on the value of this parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the ECS instance. If you specify more than one instance IDs in the request and the status of an ECS instance does not meet the requirements to install an HBR client, an error message is returned based on the value of this parameter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidInstance' => [
+ 'description' => 'Indicates whether an HBR client can be installed on the ECS instance. Valid values:'."\n"
+ ."\n"
+ .'* true: An HBR client can be installed on the ECS instance.'."\n"
+ .'* false: An HBR client cannot be installed on the ECS instance.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-2zegp3cdu******uj9i',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"4A8A9AE4-F798-5E6D-853E-10F9F5A1BD4E\\",\\n \\"TaskId\\": \\"t-000h9x5t02vhyksf1x7k\\",\\n \\"Success\\": true,\\n \\"InstanceStatuses\\": {\\n \\"InstanceStatus\\": [\\n {\\n \\"ValidInstance\\": true,\\n \\"InstanceId\\": \\"i-2zegp3cdu******uj9i\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateClientsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>4A8A9AE4-F798-5E6D-853E-10F9F5A1BD4E</RequestId>\\n <TaskId>t-000h9x5t02vhyksf1x7k</TaskId>\\n <Success>true</Success>\\n <InstanceStatuses>\\n <ValidInstance>true</ValidInstance>\\n <InstanceId>i-2zegp3cdu******uj9i</InstanceId>\\n </InstanceStatuses>\\n</CreateClientsResponse>","errorExample":""}]',
+ 'title' => 'CreateClients',
+ 'description' => 'Before you call this operation, make sure that you fully understand the billing methods and pricing of Cloud Backup. For more information, see [Billing methods and billable items](~~89062~~).'."\n",
+ ],
+ 'DeleteClient' => [
+ 'summary' => '删除客户端',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000************gs3',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-000************f3h',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acf************kwy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C51A9094-64B7-5DC0-B9FE-5FC1AC7E081D',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"C51A9094-64B7-5DC0-B9FE-5FC1AC7E081D\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'DeleteClient',
+ ],
+ 'CreateHanaRestore' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000************yqr',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance that you want to restore.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000fbrs5******ka9w',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database that you want to restore.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'TS2',
+ ],
+ ],
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '1645628400235',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The recovery mode. Valid values:'."\n"
+ ."\n"
+ .'* **RECOVERY_TO_MOST_RECENT**: restores the database to the recently available state to which the database has been backed up.'."\n"
+ .'* **RECOVERY_TO_POINT_IN_TIME**: restores the database to a specified point in time.'."\n"
+ .'* **RECOVERY_TO_SPECIFIC_BACKUP**: restores the database to a specified backup.'."\n"
+ .'* **RECOVERY_TO_LOG_POSITION**: restores the database to a specified log position.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RECOVERY_TO_POINT_IN_TIME',
+ ],
+ ],
+ [
+ 'name' => 'RecoveryPointInTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The point in time to which you want to restore the database. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_POINT_IN_TIME**. HBR restores the database to a state closest to the specified point in time.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1635315505',
+ ],
+ ],
+ [
+ 'name' => 'LogPosition',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The log position to which you want to restore the database. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'VolumeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the volume that you want to restore. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'UseCatalog',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to use a catalog backup to restore the database. This parameter is required only if you set the Mode parameter to **RECOVERY_TO_SPECIFIC_BACKUP**. If you turn off Use Catalog, you must specify the prefix of a backup file. Then, Cloud Backup finds the backup file based on the specified prefix and restores the backup file.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'BackupPrefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup prefix.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'COMPLETE_DATA_BACKUP_2022_05_02_15_39',
+ ],
+ ],
+ [
+ 'name' => 'SystemCopy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to restore the database to a different instance.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the source system. This parameter specifies the name of the source database that you want to restore. You must set the parameter in the `<Source database name>@SID` format.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HNP@HNP',
+ ],
+ ],
+ [
+ 'name' => 'SourceClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-000ii8tzv******xm0t',
+ ],
+ ],
+ [
+ 'name' => 'ClearLog',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to delete all log entries from the log area after the log entries are restored. Valid values: true and false. If you set the value to false, all log entries are deleted from the log area after the log entries are restored.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CheckAccess',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to validate the differential backup and log backup. Valid values: true and false. If you set the value to true, HBR checks whether the required differential backup and log backup are available before the restore job starts. If the differential backup or log backup is unavailable, HBR does not start the restore job.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'UseDelta',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to use a differential backup or an incremental backup to restore the database. Valid values: true and false. If you want to use a differential backup or an incremental backup to restore the database, set the value to true. If you set the value to false, HBR uses a log backup to restore the database.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SidAdmin',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SID admin account that is created by SAP HANA.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DB',
+ ],
+ ],
+ [
+ 'name' => 'MasterClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the client where the primary node of the SAP HANA resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-000ii8tzv**********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'EEC65C22-2152-5E31-8AD6-D6CBF1BFF49F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RestoreId' => [
+ 'description' => 'The ID of the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'hr-000fb9bz190p1rse6jwv',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"EEC65C22-2152-5E31-8AD6-D6CBF1BFF49F\\",\\n \\"Success\\": true,\\n \\"RestoreId\\": \\"hr-000fb9bz190p1rse6jwv\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHanaRestoreResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>EEC65C22-2152-5E31-8AD6-D6CBF1BFF49F</RequestId>\\n <Success>true</Success>\\n <RestoreId>hr-000fb9bz190p1rse6jwv</RestoreId>\\n</CreateHanaRestoreResponse>","errorExample":""}]',
+ 'title' => 'CreateHanaRestore',
+ 'summary' => 'Creates a restore job for an SAP HANA database.',
+ 'description' => 'If you call this operation to restore a database, the database is restored to a specified state. Proceed with caution. For more information, see [Restore databases to an SAP HANA instance](~~101178~~).'."\n",
+ ],
+ 'DeleteHanaBackupPlan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0007o******1ssno',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-000br3******0ooy2',
+ ],
+ ],
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'pl-00035lc8pwp1azdf3qku',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4ebtpkzx7zy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '071E4789-6256-526B-B22E-2A9CDDB9EB21',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"071E4789-6256-526B-B22E-2A9CDDB9EB21\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteHanaBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>071E4789-6256-526B-B22E-2A9CDDB9EB21</RequestId>\\n <Success>true</Success>\\n</DeleteHanaBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'DeleteHanaBackupPlan',
+ 'summary' => 'Deletes an SAP HANA backup plan.',
+ ],
+ 'DeleteHanaInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'v-0008n2******ax3',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000g4z09******9cfc',
+ ],
+ ],
+ [
+ 'name' => 'Sid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The security identifier (SID) of the SAP HANA database. You must specify a valid SID. The SID must be three characters in length and start with a letter. For more information, see [How to find sid user and instance number of HANA db?](https://answers.sap.com/questions/555192/how-to-find-sid-user-and-instance-number-of-hana-d.html?)'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'HXE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmwutpyat2kwy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '28EAF89A-E0D8-5C04-9A1D-B373B29BCFB9',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"28EAF89A-E0D8-5C04-9A1D-B373B29BCFB9\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteHanaInstanceResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>28EAF89A-E0D8-5C04-9A1D-B373B29BCFB9</RequestId>\\n <Success>true</Success>\\n</DeleteHanaInstanceResponse>","errorExample":""}]',
+ 'title' => 'DeleteHanaInstance',
+ 'summary' => 'Deletes an SAP HANA instance.',
+ 'description' => 'If you delete an SAP HANA instance, the existing backup data is also deleted and the running backup and restore jobs fail to be completed. Before you delete the SAP HANA instance, make sure that you no longer need the backup data of the instance and no backup or restore jobs are running for the instance. To delete an SAP HANA instance, you must specify the security identifier (SID) of the instance. The SID is three characters in length and starts with a letter. For more information, see [How to find sid user and instance number of HANA db?](https://answers.sap.com/questions/555192/how-to-find-sid-user-and-instance-number-of-hana-d.html?)'."\n",
+ ],
+ 'UninstallClient' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '95661',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-0008n2q******ax3',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the HBR client.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'c-000iuqo******zi3rn',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm3erpwweavki',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '048A2164-3732-5DF5-88B5-F97FA56DAEB1',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-0009qs5qcnvuvqrl2mxl',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"048A2164-3732-5DF5-88B5-F97FA56DAEB1\\",\\n \\"TaskId\\": \\"t-0009qs5qcnvuvqrl2mxl\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UninstallClientResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>048A2164-3732-5DF5-88B5-F97FA56DAEB1</RequestId>\\n <TaskId>t-0009qs5qcnvuvqrl2mxl</TaskId>\\n <Success>true</Success>\\n</UninstallClientResponse>","errorExample":""}]',
+ 'title' => 'UninstallClient',
+ 'summary' => 'Uninstalls an HBR client.',
+ 'description' => 'If you call this operation, the specified HBR client is uninstalled. To reinstall the HBR client, call the CreateClients operation.'."\n",
+ ],
+ 'UpdateHanaBackupPlan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0000rcw******5c6',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-0005dhe******f38',
+ ],
+ ],
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'pl-000br3cm4dqvmtph7cul',
+ ],
+ ],
+ [
+ 'name' => 'PlanName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'plan-20211109-162411',
+ ],
+ ],
+ [
+ 'name' => 'Schedule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'I|1602673264|P1D',
+ ],
+ ],
+ [
+ 'name' => 'BackupPrefix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup prefix.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE_DATA_BACKUP',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmze36euddwjq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F23BCC67-09B4-582C-AE70-C813C8548DCC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"F23BCC67-09B4-582C-AE70-C813C8548DCC\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateHanaBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>F23BCC67-09B4-582C-AE70-C813C8548DCC</RequestId>\\n <Success>true</Success>\\n</UpdateHanaBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'UpdateHanaBackupPlan',
+ 'summary' => 'Updates an SAP HANA backup plan.',
+ 'description' => '* A backup plan defines the data source, backup policy, and other configurations. After you execute a backup plan, a backup job is generated to record the backup progress and the backup result. If a backup job is completed, a backup snapshot is generated. You can use a backup snapshot to create a restore job.'."\n"
+ .'* You can specify only one type of data source in a backup plan.'."\n"
+ .'* You can specify only one interval as a backup cycle in a backup plan.'."\n"
+ .'* Each backup plan allows you to back up data to only one backup vault.'."\n",
+ ],
+ 'EnableHanaBackupPlan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-00030j3c******sn',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-0001zfcn******0pr3',
+ ],
+ ],
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'plan-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4ebtpkzx7zy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableHanaBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <Success>true</Success>\\n</EnableHanaBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'EnableHanaBackupPlan',
+ 'summary' => 'Enables an SAP HANA backup plan.',
+ 'description' => 'To disable the backup plan again, call the DisableHanaBackupPlan operation.'."\n",
+ ],
+ 'DisableHanaBackupPlan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-000f9z******vilrr',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-0003tu******y5oc',
+ ],
+ ],
+ [
+ 'name' => 'PlanId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'pl-0006o11ectqr650ceoct',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm3erpwweavki',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'FFC87EC8-8126-5967-9C4D-82715F8DFC97',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"FFC87EC8-8126-5967-9C4D-82715F8DFC97\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableHanaBackupPlanResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>FFC87EC8-8126-5967-9C4D-82715F8DFC97</RequestId>\\n <Success>true</Success>\\n</DisableHanaBackupPlanResponse>","errorExample":""}]',
+ 'title' => 'DisableHanaBackupPlan',
+ 'summary' => 'Disables an SAP HANA backup plan.',
+ 'description' => 'To enable the backup plan again, call the EnableHanaBackupPlan operation.'."\n",
+ ],
+ 'UpdateHanaInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-0003v4ah******9xp',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-000axjt******c6j8',
+ ],
+ ],
+ [
+ 'name' => 'HanaName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SAP-HANA-DEV',
+ ],
+ ],
+ [
+ 'name' => 'Host',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The private or internal IP address of the host where the primary node of the SAP HANA instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '47.100.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'InstanceNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance number of the SAP HANA system.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '00',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the SYSTEMDB database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'admin',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password that is used to connect with the SAP HANA database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '**********',
+ ],
+ ],
+ [
+ 'name' => 'UseSsl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to connect with the SAP HANA database over Secure Sockets Layer (SSL). Valid values:'."\n"
+ ."\n"
+ .'* true: The SAP HANA database is connected over SSL.'."\n"
+ .'* false: The SAP HANA database is not connected over SSL.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ValidateCertificate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to verify the SSL certificate of the SAP HANA database. Valid values:'."\n"
+ ."\n"
+ .'* true: The SSL certificate of the SAP HANA database is verified.'."\n"
+ .'* false: The SSL certificate of the SAP HANA database is not verified.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'AlertSetting',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alert settings. Valid value: INHERITED, which indicates that the Cloud Backup client sends alert notifications by using the same method configured for the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'INHERITED',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekzvx7d3c4kpny',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A6AB6D5A-9D21-5529-9335-A894FB045ED6',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"A6AB6D5A-9D21-5529-9335-A894FB045ED6\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateHanaInstanceResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>A6AB6D5A-9D21-5529-9335-A894FB045ED6</RequestId>\\n <Success>true</Success>\\n</UpdateHanaInstanceResponse>","errorExample":""}]',
+ 'title' => 'UpdateHanaInstance',
+ 'summary' => 'Updates an SAP HANA instance.',
+ ],
+ 'UpgradeClient' => [
+ 'summary' => 'Upgrades the Cloud Backup client.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrTH4MM4',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000djw8ci******3ic',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-000boklw******63a9',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmy6uja5wyc2i',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '22D97921-16BD-547C-B175-1DC25B1DCD73',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-000i97jujk0z58a2ignf',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"22D97921-16BD-547C-B175-1DC25B1DCD73\\",\\n \\"TaskId\\": \\"t-000i97jujk0z58a2ignf\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpgradeClientResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>22D97921-16BD-547C-B175-1DC25B1DCD73</RequestId>\\n <TaskId>t-000i97jujk0z58a2ignf</TaskId>\\n <Success>true</Success>\\n</UpgradeClientResponse>","errorExample":""}]',
+ 'title' => 'UpgradeClient',
+ 'description' => 'You can call this operation to upgrade a Cloud Backup client to the latest version. After the Cloud Backup client is upgraded, the version of the client cannot be rolled back.'."\n",
+ ],
+ 'StartHanaDatabaseAsync' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95654',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0000hrh******vhr3i',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-000a9ipe******sme',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'HXE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the job that is used to initialize the backup vault. You can call the DescribeTask operation to query the job status.'."\n",
+ 'type' => 'string',
+ 'example' => 't-000bjt479yefheij1o0x',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-000bjt479yefheij1o0x\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StartHanaDatabaseAsyncResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <TaskId>t-000bjt479yefheij1o0x</TaskId>\\n <Success>true</Success>\\n</StartHanaDatabaseAsyncResponse>","errorExample":""}]',
+ 'title' => 'StartHanaDatabaseAsync',
+ 'summary' => 'Starts an SAP HANA database.',
+ 'description' => 'To stop the database again, call the StopHanaDatabaseAsync operation.'."\n",
+ ],
+ 'StopHanaDatabaseAsync' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95656',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-0006wkn******gzkn',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-000dw******45ijer',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'BWP',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'CD8B903B-DE8F-5969-9414-B2C634D504D9',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-0007o3vqfukgd3y5bxxr',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"CD8B903B-DE8F-5969-9414-B2C634D504D9\\",\\n \\"TaskId\\": \\"t-0007o3vqfukgd3y5bxxr\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopHanaDatabaseAsyncResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>CD8B903B-DE8F-5969-9414-B2C634D504D9</RequestId>\\n <TaskId>t-0007o3vqfukgd3y5bxxr</TaskId>\\n <Success>true</Success>\\n</StopHanaDatabaseAsyncResponse>","errorExample":""}]',
+ 'title' => 'StopHanaDatabaseAsync',
+ 'summary' => 'Stops an SAP HANA database.',
+ 'description' => 'To start the database again, call the StartHanaDatabaseAsync operation.'."\n",
+ ],
+ 'UpdateHanaRetentionSetting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95682',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-000fb0v2ly******k6',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cl-00024vyjj******srrq',
+ ],
+ ],
+ [
+ 'name' => 'Schedule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The policy to update the retention period. Format: `I|{startTime}|{interval}`. The retention period is updated at an interval of {interval} starting from {startTime}.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour, and P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'I|0|P1D',
+ ],
+ ],
+ [
+ 'name' => 'RetentionDays',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The retention period of the backup data. Unit: days. If you set the Disabled parameter to false, the backup is retained for the number of days specified by this parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '90',
+ ],
+ ],
+ [
+ 'name' => 'Disabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to permanently retain the backup. Valid values:'."\n"
+ ."\n"
+ .'* true: The backup is permanently retained.'."\n"
+ .'* false: The backup is retained for the specified number of days.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7BEE26EB-8EE3-57A0-A9DE-5FD700165DE5',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"7BEE26EB-8EE3-57A0-A9DE-5FD700165DE5\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateHanaRetentionSettingResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>7BEE26EB-8EE3-57A0-A9DE-5FD700165DE5</RequestId>\\n <Success>true</Success>\\n</UpdateHanaRetentionSettingResponse>","errorExample":""}]',
+ 'title' => 'UpdateHanaRetentionSetting',
+ 'summary' => 'Updates the backup retention period of an SAP HANA database.',
+ 'description' => '* If you want to update the backup parameters of a database, you can call the UpdateHanaBackupSetting operation.'."\n"
+ .'* Cloud Backup deletes the expired catalogs and data that are related to Backint and file backup. The deleted catalogs and data cannot be restored. We recommend that you set the retention period based on your business requirements.'."\n",
+ ],
+ 'UpdateHanaBackupSetting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-0005n******rluw5',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000ezvg******8znz',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ [
+ 'name' => 'EnableAutoLogBackup',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable automatic log backup. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables automatic log backup.'."\n"
+ .'* **false**: disables automatic log backup.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataBackupParameterFile',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration file for data backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ ],
+ [
+ 'name' => 'LogBackupParameterFile',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration file for log backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ ],
+ [
+ 'name' => 'LogBackupUsingBackint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to use Backint to back up logs. Valid values:'."\n"
+ ."\n"
+ .'* true: Backint is used to back up logs.'."\n"
+ .'* false: Backint is not used to back up logs.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'LogBackupTimeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The interval at which logs are backed up. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '900',
+ ],
+ ],
+ [
+ 'name' => 'CatalogBackupUsingBackint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to use Backint to back up catalogs. Valid values:'."\n"
+ ."\n"
+ .'* true: Backint is used to back up catalogs.'."\n"
+ .'* false: Backint is not used to back up catalogs.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'CatalogBackupParameterFile',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration file for catalog backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4892D474-9A4A-5298-BCD3-E46112A1EFD0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"4892D474-9A4A-5298-BCD3-E46112A1EFD0\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateHanaBackupSettingResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>4892D474-9A4A-5298-BCD3-E46112A1EFD0</RequestId>\\n <Success>true</Success>\\n</UpdateHanaBackupSettingResponse>","errorExample":""}]',
+ 'title' => 'UpdateHanaBackupSetting',
+ 'summary' => 'Updates the backup parameters of an SAP HANA database.',
+ 'description' => 'You can call the UpdateHanaRetentionSetting operation to update the backup retention period of a database.'."\n",
+ ],
+ 'DescribeHanaBackupPlans' => [
+ 'summary' => 'Queries one or more SAP HANA backup plans that meet the specified conditions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95518',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000i4lg4kz******ahl',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000chxz******lz7bk',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmvywqfey5njq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F029C1C7-26B6-5ADD-A73E-D85CCD7C73A9',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6',
+ ],
+ 'HanaBackupPlans' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'HanaBackupPlan' => [
+ 'description' => 'The details of the backup plan.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the backup plan.',
+ 'type' => 'object',
+ 'properties' => [
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-000csihw82pqkd7hcjws',
+ ],
+ 'BackupPrefix' => [
+ 'description' => 'The backup prefix.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE_DATA_BACKUP',
+ ],
+ 'Schedule' => [
+ 'description' => 'The backup policy. Format: `I|{startTime}|{interval}`. The system runs the first backup job at a point in time that is specified in the {startTime} parameter and the subsequent backup jobs at an interval that is specified in the {interval} parameter. The system does not run a backup job before the specified point in time. Each backup job, except the first one, starts only after the previous backup job is completed. For example, `I|1631685600|P1D` indicates that the system runs the first backup job at 14:00:00 on September 15, 2021 and the subsequent backup jobs once a day.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'example' => 'I|1602673264|P1D',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYSTEMDB',
+ ],
+ 'BackupType' => [
+ 'description' => 'The backup type. Valid values:'."\n"
+ ."\n"
+ .'* COMPLETE: full backup'."\n"
+ .'* INCREMENTAL: incremental backup'."\n"
+ .'* DIFFERENTIAL: differential backup'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'Disabled' => [
+ 'description' => 'Indicates whether the backup plan is disabled. Valid values:'."\n"
+ ."\n"
+ .'* true: The backup plan is disabled.'."\n"
+ .'* false: The backup plan is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'PlanId' => [
+ 'description' => 'The ID of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'pl-0000tnyndg3ne5m4ubeu',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0002scknka*****',
+ ],
+ 'PlanName' => [
+ 'description' => 'The name of the backup plan.'."\n",
+ 'type' => 'string',
+ 'example' => 'plan-20220118-141153',
+ ],
+ 'BusinessStatus' => [
+ 'title' => '业务状态',
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F029C1C7-26B6-5ADD-A73E-D85CCD7C73A9\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 6,\\n \\"HanaBackupPlans\\": {\\n \\"HanaBackupPlan\\": [\\n {\\n \\"VaultId\\": \\"v-000csihw82pqkd7hcjws\\",\\n \\"BackupPrefix\\": \\"COMPLETE_DATA_BACKUP\\",\\n \\"Schedule\\": \\"I|1602673264|P1D\\",\\n \\"DatabaseName\\": \\"SYSTEMDB\\",\\n \\"BackupType\\": \\"COMPLETE\\",\\n \\"Disabled\\": false,\\n \\"PlanId\\": \\"pl-0000tnyndg3ne5m4ubeu\\",\\n \\"ClusterId\\": \\"cl-0002scknka*****\\",\\n \\"PlanName\\": \\"plan-20220118-141153\\",\\n \\"BusinessStatus\\": \\"ACTIVE\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaBackupPlansResponse>\\n <RequestId>F029C1C7-26B6-5ADD-A73E-D85CCD7C73A9</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>6</TotalCount>\\n <HanaBackupPlans>\\n <VaultId>v-000csihw82pqkd7hcjws</VaultId>\\n <BackupPrefix>COMPLETE_DATA_BACKUP</BackupPrefix>\\n <Schedule>I|1602673264|P1D</Schedule>\\n <DatabaseName>SYSTEMDB</DatabaseName>\\n <BackupType>COMPLETE</BackupType>\\n <Disabled>false</Disabled>\\n <PlanId>pl-0000tnyndg3ne5m4ubeu</PlanId>\\n <ClusterId>cl-0002scknka*****</ClusterId>\\n <PlanName>plan-20220118-141153</PlanName>\\n </HanaBackupPlans>\\n</DescribeHanaBackupPlansResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaBackupPlans',
+ ],
+ 'DescribeHanaInstances' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '95523',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000b0ov******6zs',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-0001zfc******50pr3',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags of the SAP HANA instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags of SAP HANA instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ace:rm:rgld',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmwutpyat2kwy',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aekz24ikcjyqjkq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4003DD68-3C3C-5071-B4FC-631A6C1BAC1C',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '21',
+ ],
+ 'Hanas' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Hana' => [
+ 'description' => 'The information about the SAP HANA instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The SAP HANA instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the SAP HANA instance. Valid values:'."\n"
+ ."\n"
+ .'* INITIALIZING: The instance is being initialized.'."\n"
+ .'* INITIALIZED: The instance is registered.'."\n"
+ .'* INVALID_HANA_NODE: The instance is invalid.'."\n"
+ .'* INITIALIZE_FAILED: The client fails to be installed on the instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => 'INITIALIZED',
+ ],
+ 'Host' => [
+ 'description' => 'The private or internal IP address of the host where the primary node of the SAP HANA instance resides.'."\n",
+ 'type' => 'string',
+ 'example' => '47.100.XX.XX',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-0000s974******1hl',
+ ],
+ 'UseSsl' => [
+ 'description' => 'Indicates whether the SAP HANA instance is connected over Secure Sockets Layer (SSL). Valid values:'."\n"
+ ."\n"
+ .'* true: The SAP HANA instance is connected over SSL.'."\n"
+ .'* false: The SAP HANA instance is not connected over SSL.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HanaName' => [
+ 'description' => 'The name of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'HANA-DEV',
+ ],
+ 'InstanceNumber' => [
+ 'description' => 'The instance number of the SAP HANA system.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '00',
+ ],
+ 'ValidateCertificate' => [
+ 'description' => 'Indicates whether the SSL certificate of the SAP HANA instance is verified.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'AlertSetting' => [
+ 'description' => 'The alert settings. Valid value: INHERITED, which indicates that the Cloud Backup client sends alert notifications by using the same method configured for the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'INHERITED',
+ ],
+ 'UserName' => [
+ 'description' => 'The username of the SYSTEMDB database.'."\n",
+ 'type' => 'string',
+ 'example' => 'admin',
+ ],
+ 'StatusMessage' => [
+ 'description' => 'The status information.'."\n",
+ 'type' => 'string',
+ 'example' => 'INSTALL_CLIENT_FAILED',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0004cf6g6******0yd7y',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The tags of the SAP HANA instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags of SAP HANA instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'ace:rm:rgld',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmwutpyat2kwy',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfmvnf22m7itha',
+ ],
+ 'CrossAccountType' => [
+ 'description' => 'Specifies whether data is backed up within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* **SELF_ACCOUNT**: Data is backed up within the same Alibaba Cloud account.'."\n"
+ .'* **CROSS_ACCOUNT**: Data is backed up across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '158975xxxxx4625'."\n",
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4003DD68-3C3C-5071-B4FC-631A6C1BAC1C\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 21,\\n \\"Hanas\\": {\\n \\"Hana\\": [\\n {\\n \\"Status\\": 0,\\n \\"Host\\": \\"47.100.XX.XX\\",\\n \\"VaultId\\": \\"v-0000s974******1hl\\",\\n \\"UseSsl\\": true,\\n \\"HanaName\\": \\"HANA-DEV\\",\\n \\"InstanceNumber\\": 0,\\n \\"ValidateCertificate\\": false,\\n \\"AlertSetting\\": \\"INHERITED\\",\\n \\"UserName\\": \\"admin\\",\\n \\"StatusMessage\\": \\"INSTALL_CLIENT_FAILED\\",\\n \\"ClusterId\\": \\"cl-0004cf6g6******0yd7y\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"ace:rm:rgld\\",\\n \\"Value\\": \\"rg-acfmwutpyat2kwy\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmvnf22m7itha\\",\\n \\"CrossAccountType\\": \\"CROSS_ACCOUNT\\",\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"hbrcrossrole\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaInstancesResponse>\\n <RequestId>4003DD68-3C3C-5071-B4FC-631A6C1BAC1C</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>21</TotalCount>\\n <Hanas>\\n <Host>47.100.XX.XX</Host>\\n <VaultId>v-0000s974******1hl</VaultId>\\n <UseSsl>true</UseSsl>\\n <HanaName>HANA-DEV</HanaName>\\n <InstanceNumber>0</InstanceNumber>\\n <ValidateCertificate>false</ValidateCertificate>\\n <AlertSetting>INHERITED</AlertSetting>\\n <UserName>admin</UserName>\\n <StatusMessage>INSTALL_CLIENT_FAILED</StatusMessage>\\n <ClusterId>cl-0004cf6g6******0yd7y</ClusterId>\\n <Tags>\\n <Key>ace:rm:rgld</Key>\\n <Value>rg-acfmwutpyat2kwy</Value>\\n </Tags>\\n <ResourceGroupId>rg-acfmvnf22m7itha</ResourceGroupId>\\n </Hanas>\\n</DescribeHanaInstancesResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaInstances',
+ 'summary' => 'Queries one or more SAP HANA instances that meet the specified conditions.',
+ ],
+ 'DescribeClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '95507',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrI97IXK',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'v-0001vk0z******xdyr',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-000ed600******6b0',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ClientType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the Cloud Backup client. Valid value: **ECS_AGENT**, which indicates an SAP HANA backup client.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ECS_AGENT',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the data source. Valid value:**HANA**, which indicates SAP HANA backup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HANA',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-0005ni1******2l87',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmw6bxl7o5qyq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '17189276-465D-5EF3-8FFD-0FF51B5A41A0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12',
+ ],
+ 'Clients' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Client' => [
+ 'description' => 'The Cloud Backup clients.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The client information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the Cloud Backup client. Valid values:'."\n"
+ ."\n"
+ .'* **REGISTERED**: The backup client is registered.'."\n"
+ .'* **ACTIVATED**: The backup client is activated.'."\n"
+ .'* **DEACTIVATED**: The backup client fails to be activated.'."\n"
+ .'* **INSTALLING**: The backup client is being installed.'."\n"
+ .'* **INSTALL_FAILED**: The backup client fails to be installed.'."\n"
+ .'* **NOT_INSTALLED**: The backup client is not installed.'."\n"
+ .'* **UPGRADING**: The backup client is being upgraded.'."\n"
+ .'* **UPGRADE_FAILED**: The backup client fails to be upgraded.'."\n"
+ .'* **UNINSTALLING**: The backup client is being uninstalled.'."\n"
+ .'* **UNINSTALL_FAILED**: The backup client fails to be uninstalled.'."\n"
+ .'* **STOPPED**: The backup client is out of service.'."\n"
+ .'* **UNKNOWN**: The backup client is disconnected.'."\n",
+ 'type' => 'string',
+ 'example' => 'ACTIVATED',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-00029mx6o******n85lg',
+ ],
+ 'UseHttps' => [
+ 'description' => 'Indicates whether data is transmitted over HTTPS. Valid values:'."\n"
+ ."\n"
+ .'* true: Data is transmitted over HTTPS.'."\n"
+ .'* false: Data is transmitted over HTTP.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'NetworkType' => [
+ 'description' => 'The network type. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: the classic network'."\n"
+ .'* **VPC**: the virtual private cloud (VPC)'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'ClientName' => [
+ 'description' => 'The client name.'."\n",
+ 'type' => 'string',
+ 'example' => 'client-20211224-101226',
+ ],
+ 'ClientId' => [
+ 'description' => 'The ID of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'c-00062uu******2fgj',
+ ],
+ 'AlertSetting' => [
+ 'description' => 'The alert settings. Valid value: INHERITED, which indicates that the Cloud Backup client sends alert notifications by using the same method configured for the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'INHERITED',
+ ],
+ 'InstanceName' => [
+ 'description' => 'The name of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'swh-hbr',
+ ],
+ 'MaxVersion' => [
+ 'description' => 'The maximum version number of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'example' => '1.11.23',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the Cloud Backup client was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'StatusMessage' => [
+ 'description' => 'The status information.'."\n",
+ 'type' => 'string',
+ 'example' => 'HANA_NOT_SUPPORT',
+ ],
+ 'ClientType' => [
+ 'description' => 'The type of the Cloud Backup client. Valid value: **ECS_AGENT**, which indicates an SAP HANA backup client.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS_AGENT',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The instance ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-wz9b6wya******n8yo',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the Cloud Backup client was updated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ 'ClientVersion' => [
+ 'description' => 'The version number of the Cloud Backup client.'."\n",
+ 'type' => 'string',
+ 'example' => '1.11.16',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0008c48frr******ncpk',
+ ],
+ 'HeartBeatTime' => [
+ 'description' => 'The latest heartbeat time of the Cloud Backup client. This value is a UNIX timestamp. Unit: seconds.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1554347313',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"17189276-465D-5EF3-8FFD-0FF51B5A41A0\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 12,\\n \\"Clients\\": {\\n \\"Client\\": [\\n {\\n \\"Status\\": \\"ACTIVATED\\",\\n \\"VaultId\\": \\"v-00029mx6o******n85lg\\",\\n \\"UseHttps\\": false,\\n \\"NetworkType\\": \\"VPC\\",\\n \\"ClientName\\": \\"client-20211224-101226\\",\\n \\"ClientId\\": \\"c-00062uu******2fgj\\",\\n \\"AlertSetting\\": \\"INHERITED\\",\\n \\"InstanceName\\": \\"swh-hbr\\",\\n \\"MaxVersion\\": \\"1.11.23\\",\\n \\"CreatedTime\\": 1554347313,\\n \\"StatusMessage\\": \\"HANA_NOT_SUPPORT\\",\\n \\"ClientType\\": \\"ECS_AGENT\\",\\n \\"InstanceId\\": \\"i-wz9b6wya******n8yo\\",\\n \\"UpdatedTime\\": 1554347313,\\n \\"ClientVersion\\": \\"1.11.16\\",\\n \\"ClusterId\\": \\"cl-0008c48frr******ncpk\\",\\n \\"HeartBeatTime\\": 1554347313\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClientsResponse>\\n <RequestId>17189276-465D-5EF3-8FFD-0FF51B5A41A0</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>12</TotalCount>\\n <Clients>\\n <Status>ACTIVATED</Status>\\n <VaultId>v-00029mx6o******n85lg</VaultId>\\n <UseHttps>false</UseHttps>\\n <NetworkType>VPC</NetworkType>\\n <ClientName>client-20211224-101226</ClientName>\\n <ClientId>c-00062uu******2fgj</ClientId>\\n <AlertSetting>INHERITED</AlertSetting>\\n <InstanceName>swh-hbr</InstanceName>\\n <MaxVersion>1.11.23</MaxVersion>\\n <CreatedTime>1554347313</CreatedTime>\\n <StatusMessage>HANA_NOT_SUPPORT</StatusMessage>\\n <ClientType>ECS_AGENT</ClientType>\\n <InstanceId>i-wz9b6wya******n8yo</InstanceId>\\n <UpdatedTime>1554347313</UpdatedTime>\\n <ClientVersion>1.11.16</ClientVersion>\\n <ClusterId>cl-0008c48frr******ncpk</ClusterId>\\n </Clients>\\n</DescribeClientsResponse>","errorExample":""}]',
+ 'title' => 'DescribeClients',
+ 'summary' => 'Queries one or more Cloud Backup clients that meet the specified conditions.',
+ 'description' => 'This operation is applicable only to SAP HANA backup. For Cloud Backup clients of other data sources, call the DescribeBackupClients operation.'."\n",
+ ],
+ 'DescribeHanaDatabases' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-00063fq******8xjr',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000hpc******uv14x',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmw2azsegupmi',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'DAAB6A29-34EB-5F56-962F-D5BDBFE8A5C2',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'HanaDatabases' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'HanaDatabase' => [
+ 'description' => 'The information about SAP HANA databases.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about SAP HANA databases.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Host' => [
+ 'description' => 'The hostname.'."\n",
+ 'type' => 'string',
+ 'example' => 'izbp1jbf3zy******antqmz',
+ ],
+ 'SqlPort' => [
+ 'description' => 'The port number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30013',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYSTEMDB',
+ ],
+ 'ServiceName' => [
+ 'description' => 'The service name.'."\n",
+ 'type' => 'string',
+ 'example' => 'indexserver',
+ ],
+ 'ActiveStatus' => [
+ 'description' => 'Indicates whether the database is started. Valid values:'."\n"
+ ."\n"
+ .'* **YES**: The database is started.'."\n"
+ .'* **NO**: The database is not started.'."\n",
+ 'type' => 'string',
+ 'example' => 'YES',
+ ],
+ 'Detail' => [
+ 'description' => 'The detailed information.'."\n",
+ 'type' => 'string',
+ 'example' => 'master',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DAAB6A29-34EB-5F56-962F-D5BDBFE8A5C2\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10,\\n \\"HanaDatabases\\": {\\n \\"HanaDatabase\\": [\\n {\\n \\"Host\\": \\"izbp1jbf3zy******antqmz\\",\\n \\"SqlPort\\": 30013,\\n \\"DatabaseName\\": \\"SYSTEMDB\\",\\n \\"ServiceName\\": \\"indexserver\\",\\n \\"ActiveStatus\\": \\"YES\\",\\n \\"Detail\\": \\"master\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaDatabasesResponse>\\n <RequestId>DAAB6A29-34EB-5F56-962F-D5BDBFE8A5C2</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>10</TotalCount>\\n <HanaDatabases>\\n <Host>izbp1jbf3zy******antqmz</Host>\\n <SqlPort>30013</SqlPort>\\n <DatabaseName>SYSTEMDB</DatabaseName>\\n <ServiceName>indexserver</ServiceName>\\n <ActiveStatus>YES</ActiveStatus>\\n <Detail>master</Detail>\\n </HanaDatabases>\\n</DescribeHanaDatabasesResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaDatabases',
+ 'summary' => 'Queries the information about SAP HANA databases.',
+ 'description' => 'After you register an SAP HANA instance and install a Cloud Backup client on the instance, you can call this operation to query the information about SAP HANA databases. You can call the StartHanaDatabaseAsync operation to start a database and call the StopHanaDatabaseAsync operation to stop a database.'."\n",
+ ],
+ 'DescribeHanaRetentionSetting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'v-000ii8t******ntrt2',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-0002ys1i******wwtf',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'C4P',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '280DD872-EE25-52E8-9CB4-491067173DD0',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-0006wkn7******zkn',
+ ],
+ 'Schedule' => [
+ 'description' => 'The policy to update the retention period. Format: `I|{startTime}|{interval}`, which indicates that the retention period is updated at an interval of {interval} starting from {startTime}.'."\n"
+ ."\n"
+ .'* startTime: the time at which the system starts to run a backup job. The time follows the UNIX time format. Unit: seconds.'."\n"
+ .'* interval: the interval at which the system runs a backup job. The interval follows the ISO 8601 standard. For example, PT1H indicates an interval of 1 hour. P1D indicates an interval of one day.'."\n",
+ 'type' => 'string',
+ 'example' => 'I|0|P1D',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q01',
+ ],
+ 'Disabled' => [
+ 'description' => 'Indicates whether the backup is permanently retained. Valid values:'."\n"
+ ."\n"
+ .'* true: The backup is permanently retained.'."\n"
+ .'* false: The backup is retained for the specified number of days.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RetentionDays' => [
+ 'description' => 'The number of days for which the backup is retained. If the value of the Disabled parameter is false, the backup is retained for the number of days specified by this parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3650',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0003jyv******fsku5m',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"280DD872-EE25-52E8-9CB4-491067173DD0\\",\\n \\"VaultId\\": \\"v-0006wkn7******zkn\\",\\n \\"Schedule\\": \\"I|0|P1D\\",\\n \\"Success\\": true,\\n \\"DatabaseName\\": \\"Q01\\",\\n \\"Disabled\\": false,\\n \\"Code\\": \\"200\\",\\n \\"RetentionDays\\": 3650,\\n \\"Message\\": \\"successful\\",\\n \\"ClusterId\\": \\"cl-0003jyv******fsku5m\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaRetentionSettingResponse>\\n <RequestId>280DD872-EE25-52E8-9CB4-491067173DD0</RequestId>\\n <VaultId>v-0006wkn7******zkn</VaultId>\\n <Schedule>I|0|P1D</Schedule>\\n <Success>true</Success>\\n <DatabaseName>Q01</DatabaseName>\\n <Disabled>false</Disabled>\\n <Code>200</Code>\\n <RetentionDays>3650</RetentionDays>\\n <Message>successful</Message>\\n <ClusterId>cl-0003jyv******fsku5m</ClusterId>\\n</DescribeHanaRetentionSettingResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaRetentionSetting',
+ 'summary' => 'Queries the backup retention period of an SAP HANA database.',
+ 'description' => '* If you want to query the backup parameters of a database, you can call the DescribeHanaBackupSetting operation.'."\n"
+ .'* Cloud Backup deletes the expired catalogs and data that are related to Backint and file backup. The deleted catalogs and data cannot be restored. We recommend that you set the retention period based on your business requirements.'."\n",
+ ],
+ 'DescribeHanaBackupSetting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000css******za5uyqr',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-00068btz******oku',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the database.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9D0DB5BC-5071-5ADF-BCD1-14EBB0C17C54',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HanaBackupSetting' => [
+ 'description' => 'The backup settings.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseName' => [
+ 'description' => 'The name of the database.'."\n",
+ 'type' => 'string',
+ 'example' => 'SYSTEMDB',
+ ],
+ 'LogBackupUsingBackint' => [
+ 'description' => 'Indicates whether Backint is used to back up logs. Valid values:'."\n"
+ ."\n"
+ .'* true: Backint is used to back up logs.'."\n"
+ .'* false: Backint is not used to back up logs.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'CatalogBackupParameterFile' => [
+ 'description' => 'The configuration file for catalog backup.'."\n",
+ 'type' => 'string',
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ 'CatalogBackupUsingBackint' => [
+ 'description' => 'Indicates whether Backint is used to back up catalogs. Valid values:'."\n"
+ ."\n"
+ .'* true: Backint is used to back up catalogs.'."\n"
+ .'* false: Backint is not used to back up catalogs.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'DataBackupParameterFile' => [
+ 'description' => 'The configuration file for data backup.'."\n",
+ 'type' => 'string',
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ 'LogBackupTimeout' => [
+ 'description' => 'The interval at which logs are backed up. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '900',
+ ],
+ 'EnableAutoLogBackup' => [
+ 'description' => 'Indicates whether automatic log backup is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: Automatic log backup is enabled.'."\n"
+ .'* **false**: Automatic log backup is disabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'LogBackupParameterFile' => [
+ 'description' => 'The configuration file for log backup.'."\n",
+ 'type' => 'string',
+ 'example' => '/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"9D0DB5BC-5071-5ADF-BCD1-14EBB0C17C54\\",\\n \\"Success\\": true,\\n \\"HanaBackupSetting\\": {\\n \\"DatabaseName\\": \\"SYSTEMDB\\",\\n \\"LogBackupUsingBackint\\": true,\\n \\"CatalogBackupParameterFile\\": \\"/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param\\",\\n \\"CatalogBackupUsingBackint\\": false,\\n \\"DataBackupParameterFile\\": \\"/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param\\",\\n \\"LogBackupTimeout\\": 900,\\n \\"EnableAutoLogBackup\\": true,\\n \\"LogBackupParameterFile\\": \\"/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaBackupSettingResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>9D0DB5BC-5071-5ADF-BCD1-14EBB0C17C54</RequestId>\\n <Success>true</Success>\\n <HanaBackupSetting>\\n <DatabaseName>SYSTEMDB</DatabaseName>\\n <LogBackupUsingBackint>true</LogBackupUsingBackint>\\n <CatalogBackupParameterFile>/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param</CatalogBackupParameterFile>\\n <CatalogBackupUsingBackint>false</CatalogBackupUsingBackint>\\n <DataBackupParameterFile>/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param</DataBackupParameterFile>\\n <LogBackupTimeout>900</LogBackupTimeout>\\n <EnableAutoLogBackup>true</EnableAutoLogBackup>\\n <LogBackupParameterFile>/usr/sap/SID/SYS/global/hdb/opt/hdbconfig/param</LogBackupParameterFile>\\n </HanaBackupSetting>\\n</DescribeHanaBackupSettingResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaBackupSetting',
+ 'summary' => 'Queries the backup parameters of an SAP HANA database.',
+ 'description' => 'If you want to query the backup retention period of a database, you can call the DescribeHanaRetentionSetting operation.'."\n",
+ ],
+ 'DescribeHanaBackupsAsync' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000270c******pi81',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-00098******yuqvu',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BPD',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The recovery mode. Valid values:'."\n"
+ ."\n"
+ .'* **RECOVERY_TO_MOST_RECENT**: restores the database to the recently available state to which the database has been backed up.'."\n"
+ .'* **RECOVERY_TO_POINT_IN_TIME**: restores the database to a specified point in time.'."\n"
+ .'* **RECOVERY_TO_SPECIFIC_BACKUP**: restores the database to a specified backup.'."\n"
+ .'* **RECOVERY_TO_LOG_POSITION**: restores the database to a specified log position.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RECOVERY_TO_SPECIFIC_BACKUP',
+ 'default' => 'RECOVERY_TO_MOST_RECENT',
+ ],
+ ],
+ [
+ 'name' => 'RecoveryPointInTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The point in time to which you want to restore the database. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_POINT_IN_TIME**. Cloud Backup restores the database to a state closest to the specified point in time.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1649851200',
+ ],
+ ],
+ [
+ 'name' => 'LogPosition',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The log position to which you want to restore the database. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'VolumeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the volume that you want to restore. This parameter is valid only if you set the Mode parameter to **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'SystemCopy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to restore the database to a different instance.'."\n"
+ ."\n"
+ .'* true: restores the database to a different instance.'."\n"
+ .'* false: restores the database within the same instance.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the source system. This parameter specifies the name of the source database that you want to restore. You must set the parameter in the `<Source database name>@SID` format.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'P01@HP1',
+ ],
+ ],
+ [
+ 'name' => 'SourceClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cl-0000g3m******5cj',
+ ],
+ ],
+ [
+ 'name' => 'IncludeDifferential',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to include differential backups in the query results. Valid values:'."\n"
+ ."\n"
+ .'* true: includes differential backups.'."\n"
+ .'* false: excludes differential backups.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'IncludeIncremental',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to include incremental backups in the query results. Valid values:'."\n"
+ ."\n"
+ .'* true: includes incremental backups.'."\n"
+ .'* false: excludes incremental backups.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'IncludeLog',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to include log backups in the query results. Valid values:'."\n"
+ ."\n"
+ .'* true: includes log backups.'."\n"
+ .'* false: excludes log backups.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'UseBackint',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether Backint is used. Valid values:'."\n"
+ ."\n"
+ .'* true: Backint is used.'."\n"
+ .'* false: Backint is not used.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmz7mced2ldhy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '31F97233-8563-563D-8880-914B00EEA928',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-0006xmbplrqebt9dhkth',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"31F97233-8563-563D-8880-914B00EEA928\\",\\n \\"TaskId\\": \\"t-0006xmbplrqebt9dhkth\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaBackupsAsyncResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>31F97233-8563-563D-8880-914B00EEA928</RequestId>\\n <TaskId>t-0006xmbplrqebt9dhkth</TaskId>\\n <Success>true</Success>\\n</DescribeHanaBackupsAsyncResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaBackupsAsync',
+ 'summary' => 'Queries one or more SAP HANA backups that meet the specified conditions.',
+ 'description' => 'After you call the DescribeHanaBackupsAsync operation to query the SAP HANA backups that meet the specified conditions, call the DescribeTask operation to query the final result.'."\n",
+ ],
+ 'DescribeHanaRestores' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v-000au6bq******mpu',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cl-000b******soejg',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.\\`'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'RestoreId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the restore job.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'r-0007o3vqfukfe92hvf13',
+ ],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SYSTEMDB',
+ ],
+ ],
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The backup ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1632754800158',
+ ],
+ ],
+ [
+ 'name' => 'RestoreStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the restore job. Valid values:'."\n"
+ ."\n"
+ .'* **RUNNING**: The job is running.'."\n"
+ .'* **COMPLETE**: The job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The job is partially completed.'."\n"
+ .'* **FAILED**: The job failed.'."\n"
+ .'* **CANCELED**: The job is canceled.'."\n"
+ .'* **EXPIRED**: The job timed out.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'COMPLETE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4ebtpkzx7zy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7DEFC897-8F05-5C05-912C-C9A9510FBFF1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '19',
+ ],
+ 'HanaRestore' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'HanaRestores' => [
+ 'description' => 'The information about restore jobs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The restore job.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the restore job. Valid values:'."\n"
+ ."\n"
+ .'* **RUNNING**: The job is running.'."\n"
+ .'* **COMPLETE**: The job is completed.'."\n"
+ .'* **PARTIAL_COMPLETE**: The job is partially completed.'."\n"
+ .'* **FAILED**: The job failed.'."\n"
+ .'* **CANCELED**: The job is canceled.'."\n"
+ .'* **EXPIRED**: The job timed out.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETE',
+ ],
+ 'ReachedTime' => [
+ 'description' => 'The point in time at which the database is restored.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1635315505',
+ ],
+ 'VaultId' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'example' => 'v-000g9acf******gta',
+ ],
+ 'CurrentPhase' => [
+ 'description' => 'The current recovery phase. This value is obtained from SAP HANA.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'ClearLog' => [
+ 'description' => 'Indicates whether all log entries are deleted from the log area after the log entries are restored. Valid values: true and false. If the return value is false, all log entries are deleted from the log area after the log entries are restored.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Message' => [
+ 'description' => 'The details of the recovery phase.'."\n",
+ 'type' => 'string',
+ 'example' => 'SQL Error 448 - recovery could not be completed:',
+ ],
+ 'CheckAccess' => [
+ 'description' => 'Indicates whether the differential backup and log backup are validated. Valid values:'."\n"
+ ."\n"
+ .'* true: Cloud Backup checks whether the required differential backup and log backup are available before the restore job starts. If the differential backup or log backup is unavailable, Cloud Backup does not start the restore job.'."\n"
+ .'* false: Cloud Backup does not check whether the required differential backup and log backup are available before the restore job starts.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Mode' => [
+ 'description' => 'The recovery mode. Valid values:'."\n"
+ ."\n"
+ .'* **RECOVERY_TO_MOST_RECENT**: The database is restored to the recently available state to which the database has been backed up.'."\n"
+ .'* **RECOVERY_TO_POINT_IN_TIME**: The database is restored to a specified point in time.'."\n"
+ .'* **RECOVERY_TO_SPECIFIC_BACKUP**: The database is restored to a specified backup.'."\n"
+ .'* **RECOVERY_TO_LOG_POSITION**: The database is restored to a specified log position.'."\n",
+ 'type' => 'string',
+ 'example' => 'RECOVERY_TO_SPECIFIC_BACKUP',
+ ],
+ 'SystemCopy' => [
+ 'description' => 'Indicates whether the database is restored to a different instance. Valid values:'."\n"
+ ."\n"
+ .'* true: The database is restored to a different instance.'."\n"
+ .'* false: The database is restored within the same instance.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'CurrentProgress' => [
+ 'description' => 'The current progress. This value is obtained from SAP HANA.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'UseDelta' => [
+ 'description' => 'Indicates whether a differential backup or an incremental backup is used to restore the database. Valid values: true and false. If the return value is true, Cloud Backup uses a differential backup or an incremental backup to restore the database. If the return value is false, Cloud Backup uses a log backup to restore the database.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'BackupID' => [
+ 'description' => 'The backup ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1635315505',
+ ],
+ 'SourceClusterId' => [
+ 'description' => 'The ID of the source SAP HANA instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0000g3mvy******5cj',
+ ],
+ 'VolumeId' => [
+ 'description' => 'The ID of the volume that is restored. This parameter is returned only if the value of the Mode parameter is **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DatabaseName' => [
+ 'description' => 'The database name.'."\n",
+ 'type' => 'string',
+ 'example' => 'BWD',
+ ],
+ 'Phase' => [
+ 'description' => 'The recovery phase.'."\n",
+ 'type' => 'string',
+ 'example' => 'restart',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the SAP HANA instance that is restored.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-000923yu******p00j4',
+ ],
+ 'DatabaseRestoreId' => [
+ 'description' => 'The ID of the database recovery.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1644038961030',
+ ],
+ 'State' => [
+ 'description' => 'The recovery status. This value is obtained from SAP HANA.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Source' => [
+ 'description' => 'The name of the source system. This parameter indicates the name of the source database that is restored. Format: `<Source database name>@SID`.'."\n",
+ 'type' => 'string',
+ 'example' => 'PRD@H4P',
+ ],
+ 'MaxPhase' => [
+ 'description' => 'The maximum recovery phase. This value is obtained from SAP HANA.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'EndTime' => [
+ 'description' => 'The time when the restore job ends. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1634356382',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the restore job starts. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1636970413',
+ ],
+ 'BackupPrefix' => [
+ 'description' => 'The backup prefix.'."\n",
+ 'type' => 'string',
+ 'example' => 'INC_DATA_BACKUP',
+ ],
+ 'RestoreId' => [
+ 'description' => 'The ID of the restore job.'."\n",
+ 'type' => 'string',
+ 'example' => 'r-000c1en183ayn9sesgqh',
+ ],
+ 'LogPosition' => [
+ 'description' => 'The log position to which the database is restored. This parameter is returned only if the value of the Mode parameter is **RECOVERY_TO_LOG_POSITION**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'RecoveryPointInTime' => [
+ 'description' => 'The point in time to which the database is restored. This parameter is returned only if the value of the Mode parameter is **RECOVERY_TO_POINT_IN_TIME**. Cloud Backup restores the database to a state closest to the specified point in time.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1649851200',
+ ],
+ 'MaxProgress' => [
+ 'description' => 'The maximum progress. This value is obtained from SAP HANA.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'UseCatalog' => [
+ 'description' => 'Indicates whether a catalog backup is used to restore the database. This parameter is returned only if the value of the Mode parameter is **RECOVERY_TO_SPECIFIC_BACKUP**. If the return value is false, Cloud Backup finds the backup file based on the specified prefix and then restores the backup file.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7DEFC897-8F05-5C05-912C-C9A9510FBFF1\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 19,\\n \\"HanaRestore\\": {\\n \\"HanaRestores\\": [\\n {\\n \\"Status\\": \\"COMPLETE\\",\\n \\"ReachedTime\\": 1635315505,\\n \\"VaultId\\": \\"v-000g9acf******gta\\",\\n \\"CurrentPhase\\": 2,\\n \\"ClearLog\\": true,\\n \\"Message\\": \\"SQL Error 448 - recovery could not be completed:\\",\\n \\"CheckAccess\\": true,\\n \\"Mode\\": \\"RECOVERY_TO_SPECIFIC_BACKUP\\",\\n \\"SystemCopy\\": true,\\n \\"CurrentProgress\\": 1,\\n \\"UseDelta\\": true,\\n \\"BackupID\\": 1635315505,\\n \\"SourceClusterId\\": \\"cl-0000g3mvy******5cj\\",\\n \\"VolumeId\\": 0,\\n \\"DatabaseName\\": \\"BWD\\",\\n \\"Phase\\": \\"restart\\",\\n \\"ClusterId\\": \\"cl-000923yu******p00j4\\",\\n \\"DatabaseRestoreId\\": 1644038961030,\\n \\"State\\": \\"successful\\",\\n \\"Source\\": \\"PRD@H4P\\",\\n \\"MaxPhase\\": 4,\\n \\"EndTime\\": 1634356382,\\n \\"StartTime\\": 1636970413,\\n \\"BackupPrefix\\": \\"INC_DATA_BACKUP\\",\\n \\"RestoreId\\": \\"r-000c1en183ayn9sesgqh\\",\\n \\"LogPosition\\": 0,\\n \\"RecoveryPointInTime\\": 1649851200,\\n \\"MaxProgress\\": 1,\\n \\"UseCatalog\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHanaRestoresResponse>\\n <RequestId>7DEFC897-8F05-5C05-912C-C9A9510FBFF1</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>19</TotalCount>\\n <HanaRestore>\\n <Status>COMPLETE</Status>\\n <ReachedTime>1635315505</ReachedTime>\\n <VaultId>v-000g9acf******gta</VaultId>\\n <CurrentPhase>2</CurrentPhase>\\n <ClearLog>true</ClearLog>\\n <Message>SQL Error 448 - recovery could not be completed:</Message>\\n <CheckAccess>true</CheckAccess>\\n <Mode>RECOVERY_TO_SPECIFIC_BACKUP</Mode>\\n <SystemCopy>true</SystemCopy>\\n <CurrentProgress>1</CurrentProgress>\\n <UseDelta>true</UseDelta>\\n <BackupID>1635315505</BackupID>\\n <SourceClusterId>cl-0000g3mvy******5cj</SourceClusterId>\\n <VolumeId>0</VolumeId>\\n <DatabaseName>BWD</DatabaseName>\\n <Phase>restart</Phase>\\n <ClusterId>cl-000923yu******p00j4</ClusterId>\\n <DatabaseRestoreId>1644038961030</DatabaseRestoreId>\\n <State>successful</State>\\n <Source>PRD@H4P</Source>\\n <MaxPhase>4</MaxPhase>\\n <EndTime>1634356382</EndTime>\\n <StartTime>1636970413</StartTime>\\n <BackupPrefix>INC_DATA_BACKUP</BackupPrefix>\\n <RestoreId>r-000c1en183ayn9sesgqh</RestoreId>\\n <LogPosition>0</LogPosition>\\n <RecoveryPointInTime>1649851200</RecoveryPointInTime>\\n <MaxProgress>1</MaxProgress>\\n <UseCatalog>false</UseCatalog>\\n </HanaRestore>\\n</DescribeHanaRestoresResponse>","errorExample":""}]',
+ 'title' => 'DescribeHanaRestores',
+ 'summary' => 'Queries one or more SAP HANA restore jobs that meet the specified conditions.',
+ ],
+ 'DeleteAirEcsInstance' => [
+ 'summary' => 'Removes the Elastic Compute Service (ECS) instance that is used for restoration only in ECS Backup Essential Edition.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201610',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrIF7VXM',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'EcsInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Elastic Compute Service (ECS) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i-uf6ir9y******hvisj',
+ ],
+ ],
+ [
+ 'name' => 'UninstallClientSourceTypes',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The data sources for which the client needs to be uninstalled.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data source for which the client needs to be uninstalled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => '33AA3AAE-89E1-5D3A-A51D-0C0A80850F68',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of an asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"33AA3AAE-89E1-5D3A-A51D-0C0A80850F68\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"TaskId\\": \\"t-*********************\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteAirEcsInstance',
+ 'translator' => 'machine',
+ ],
+ 'OpenHbrService' => [
+ 'summary' => 'Activates Cloud Backup.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ [
+ 'APP' => [],
+ ],
+ [
+ 'PrivateKey' => [],
+ ],
+ [
+ 'BearerToken' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95631',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OrderId' => [
+ 'description' => 'The ID of the order.',
+ 'type' => 'string',
+ 'example' => '215463686160696',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'F4A1D5F4-5055-549A-8B25-6DD23311E299',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": \\"215463686160696\\",\\n \\"RequestId\\": \\"F4A1D5F4-5055-549A-8B25-6DD23311E299\\"\\n}","type":"json"}]',
+ 'title' => 'OpenHbrService',
+ ],
+ 'AddContainerCluster' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '95396',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrFWIWBG',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the cluster that you want to register.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cca8f35f0e0d84540b49d994511c2c87a',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ack_pv_backup_location',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the cluster.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'description ack pv backup',
+ ],
+ ],
+ [
+ 'name' => 'ClusterType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the cluster. Only Container Service for Kubernetes (ACK) clusters are supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ACK',
+ ],
+ ],
+ [
+ 'name' => 'NetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The network type of the cluster. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: the classic network'."\n"
+ .'* **VPC**: a virtual private cloud (VPC)'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'VPC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1FCBC078-FFCB-542A-8555-566477679720',
+ ],
+ 'Token' => [
+ 'description' => 'The token that is used to register the Hybrid Backup Recovery (HBR) client in the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'eyJhY2NvdW*****VnZpgXQC5A==',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n"
+ ."\n"
+ .'* true: The request is successful.'."\n"
+ .'* false: The request fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the request is successful, a value of successful is returned. If the request fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'cc-00049slr9iuvvv6pp134',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1FCBC078-FFCB-542A-8555-566477679720\\",\\n \\"Token\\": \\"eyJhY2NvdW*****VnZpgXQC5A==\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"ClusterId\\": \\"cc-00049slr9iuvvv6pp134\\"\\n}","errorExample":""},{"type":"xml","example":"<AddContainerClusterResponse>\\n <RequestId>1FCBC078-FFCB-542A-8555-566477679720</RequestId>\\n <Token>eyJhY2NvdW*****VnZpgXQC5A==</Token>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <ClusterId>cc-00049slr9iuvvv6pp134</ClusterId>\\n</AddContainerClusterResponse>","errorExample":""}]',
+ 'title' => 'AddContainerCluster',
+ 'summary' => 'Registers a Container Service for Kubernetes (ACK) cluster.',
+ ],
+ 'UpdateContainerCluster' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cluster ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cc-000**************134',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cluster name.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ack_pv_backup_location',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Cluster description.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'description ack pv backup',
+ ],
+ ],
+ [
+ 'name' => 'NetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Network type, with possible values including:'."\n"
+ .'* **CLASSIC**: Classic Network.'."\n"
+ .'* **VPC**: Virtual Private Cloud.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VPC',
+ ],
+ ],
+ [
+ 'name' => 'RenewToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Whether to regenerate the token.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TokenUpdated' => [
+ 'description' => 'Indicates whether the cluster token has been updated.',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Token' => [
+ 'description' => 'Cluster token, used for registering HBR clients within the cluster.',
+ 'type' => 'string',
+ 'example' => 'eyJhY2NvdW*****VnZpgXQC5A==',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates if the request was successful.'."\n"
+ ."\n"
+ .'- true: Success'."\n"
+ .'- false: Failure',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'Return code, 200 indicates success.',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'Return information.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TokenUpdated\\": false,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Token\\": \\"eyJhY2NvdW*****VnZpgXQC5A==\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]',
+ 'title' => 'Update Container Cluster Information',
+ 'summary' => 'Update container cluster information, including the container cluster name, network type, etc.',
+ 'translator' => 'machine',
+ ],
+ 'DescribeRegions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '95538',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrKJCQWH',
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbr5DOJ9F',
+ 'FEATUREhbrN8YWXB',
+ 'FEATUREhbr88PDT6',
+ 'FEATUREhbr461GQI',
+ 'FEATUREhbrS7MI6C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrO5EHNR',
+ 'FEATUREhbr7WEYAR',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrFJ9107',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbrQ3MV3B',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrF83GXN',
+ 'FEATUREhbrIA0YQI',
+ 'FEATUREhbrI97IXK',
+ 'FEATUREhbrTH4MM4',
+ 'FEATUREhbrAL60OZ',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B3395EC6-7A4A-5282-A9AB-7A442F2CFC90',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Regions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Region' => [
+ 'description' => 'The regions returned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => [
+ 'description' => 'The region name.'."\n",
+ 'type' => 'string',
+ 'example' => 'China (Hangzhou)',
+ ],
+ 'RegionId' => [
+ 'description' => 'The region ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"B3395EC6-7A4A-5282-A9AB-7A442F2CFC90\\",\\n \\"Success\\": true,\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>B3395EC6-7A4A-5282-A9AB-7A442F2CFC90</RequestId>\\n <Success>true</Success>\\n <Regions>\\n <VaultCount>11</VaultCount>\\n <LocalName>China (Hangzhou)</LocalName>\\n <RegionId>cn-hangzhou</RegionId>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]',
+ 'title' => 'DescribeRegions',
+ 'summary' => 'Queries available regions.',
+ ],
+ 'DescribeTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '95552',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The access token.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '01W3ZZOQ',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the job.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 't-*********************',
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmvywqfey5njq',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Progress' => [
+ 'description' => 'The progress of the job. Valid values: 0 to 100. Unit: percentage (%). If the job fails, the value -1 is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'CompletedTime' => [
+ 'description' => 'The time when the task was complete. The time is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1615607706',
+ ],
+ 'Result' => [
+ 'description' => 'The result of the job.'."\n",
+ 'type' => 'string',
+ 'example' => '{}',
+ ],
+ 'Description' => [
+ 'description' => 'The status of the job. Valid values:'."\n"
+ ."\n"
+ .'* **created**: The job is created.'."\n"
+ .'* **expired**: The job expires.'."\n"
+ .'* **completed**: The job is completed.'."\n"
+ .'* **cancelled**: The job is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'completed',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the job was updated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1615607706',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful.'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'HttpCode'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the job.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstallBackupClientsTask',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the job was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1615607706',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Progress\\": 100,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"CompletedTime\\": 1615607706,\\n \\"Result\\": \\"{}\\",\\n \\"Description\\": \\"completed\\",\\n \\"UpdatedTime\\": 1615607706,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Name\\": \\"InstallBackupClientsTask\\",\\n \\"CreatedTime\\": 1615607706\\n}","errorExample":""},{"type":"xml","example":"<DescribeTaskResponse>\\n <Progress>100</Progress>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <CompletedTime>1615607706</CompletedTime>\\n <Result>{}</Result>\\n <Description>completed</Description>\\n <UpdatedTime>1615607706</UpdatedTime>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <Name>InstallBackupClientsTask</Name>\\n <CreatedTime>1615607706</CreatedTime>\\n</DescribeTaskResponse>","errorExample":""}]',
+ 'title' => 'DescribeTask',
+ 'summary' => 'Queries an asynchronous job. ',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeVaultReplicationRegions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '95568',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrGSUVI2',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '01W3ZZOQ',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is deprecated.'."\n",
+ 'type' => 'string',
+ 'deprecated' => true,
+ 'required' => false,
+ 'example' => 'v-00030j3c******sn',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F4EEB401-DD21-588D-AE3B-1E835C7655E1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful.'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Regions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RegionId' => [
+ 'description' => 'The regions that support cross-region replication.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The regions that support cross-region replication.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"F4EEB401-DD21-588D-AE3B-1E835C7655E1\\",\\n \\"Success\\": true,\\n \\"Regions\\": {\\n \\"RegionId\\": [\\n \\"cn-hangzhou\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVaultReplicationRegionsResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>F4EEB401-DD21-588D-AE3B-1E835C7655E1</RequestId>\\n <Success>true</Success>\\n <Regions>cn-hangzhou</Regions>\\n</DescribeVaultReplicationRegionsResponse>","errorExample":""}]',
+ 'title' => 'DescribeVaultReplicationRegions',
+ 'summary' => 'Queries the regions that support cross-region replication. ',
+ ],
+ 'DescribeContainerCluster' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The cluster ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cc-000*************hg9',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '容器集群标识符,对于阿里云容器服务Kubernetes集群,该参数指Kubernetes集群ID。',
+ 'description' => 'The identifier of the container cluster. For a Container Service for Kubernetes (ACK) cluster, specify the cluster ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cca*******************************87a',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CC94B755-C3C2-5B9D-BD77-E0FE819A4DB2',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of returned entries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '8',
+ ],
+ 'Clusters' => [
+ 'description' => 'The information of clusters.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information of clusters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Token' => [
+ 'description' => 'The token that is used to register the Hybrid Backup Recovery (HBR) client in the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'eyJhY2Nvd******A/VnZpgXQC5A==',
+ ],
+ 'Description' => [
+ 'description' => 'The description.'."\n",
+ 'type' => 'string',
+ 'example' => 'description ack pv backup',
+ ],
+ 'ClusterType' => [
+ 'description' => 'The type of the cluster. Valid value: ACK, which indicates ACK clusters.'."\n",
+ 'type' => 'string',
+ 'example' => 'ACK',
+ ],
+ 'Identifier' => [
+ 'description' => 'The identifier of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'c5bbd0931a30947f4ab85efd19380a72d',
+ ],
+ 'NetworkType' => [
+ 'description' => 'The network type of the cluster. Valid values:'."\n"
+ ."\n"
+ .'* **CLASSIC**: the classic network'."\n"
+ .'* **VPC**: virtual private cloud (VPC)'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ack_pv_backup_location',
+ ],
+ 'AgentStatus' => [
+ 'description' => 'The status of the client. Valid values:'."\n"
+ ."\n"
+ .'* **MISS**: The client is disconnected.'."\n"
+ .'* **UNKNOWN**: The client is in an unknown state.'."\n"
+ .'* **READY**: The client is ready.'."\n",
+ 'type' => 'string',
+ 'example' => 'READY',
+ ],
+ 'ClusterId' => [
+ 'description' => 'The ID of the cluster.'."\n",
+ 'type' => 'string',
+ 'example' => 'cl-0006gwppd0jtttpmb0ri',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CC94B755-C3C2-5B9D-BD77-E0FE819A4DB2\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageSize\\": 100,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 8,\\n \\"Clusters\\": [\\n {\\n \\"Token\\": \\"eyJhY2Nvd******A/VnZpgXQC5A==\\",\\n \\"Description\\": \\"description ack pv backup\\",\\n \\"ClusterType\\": \\"ACK\\",\\n \\"Identifier\\": \\"c5bbd0931a30947f4ab85efd19380a72d\\",\\n \\"NetworkType\\": \\"VPC\\",\\n \\"Name\\": \\"ack_pv_backup_location\\",\\n \\"AgentStatus\\": \\"READY\\",\\n \\"ClusterId\\": \\"cl-0006gwppd0jtttpmb0ri\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerClusterResponse>\\n <RequestId>CC94B755-C3C2-5B9D-BD77-E0FE819A4DB2</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <PageSize>100</PageSize>\\n <PageNumber>1</PageNumber>\\n <TotalCount>8</TotalCount>\\n <Clusters>\\n <Token>eyJhY2Nvd******A/VnZpgXQC5A==</Token>\\n <Description>description ack pv backup</Description>\\n <ClusterType>ACK</ClusterType>\\n <Identifier>c5bbd0931a30947f4ab85efd19380a72d</Identifier>\\n <NetworkType>VPC</NetworkType>\\n <Name>ack_pv_backup_location</Name>\\n <AgentStatus>READY</AgentStatus>\\n <ClusterId>cl-0006gwppd0jtttpmb0ri</ClusterId>\\n </Clusters>\\n</DescribeContainerClusterResponse>","errorExample":""}]',
+ 'title' => 'DescribeContainerCluster',
+ 'summary' => 'Queries one or more container clusters that meet the specified conditions.',
+ 'description' => 'You can call this operation to query only Container Service for Kubernetes (ACK) clusters.'."\n",
+ ],
+ 'DetachNasFileSystem' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95580',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrFWIWBG',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'FileSystemId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the file system.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '005494',
+ ],
+ ],
+ [
+ 'name' => 'CreateTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when the file system was created. The value must be a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1607436917',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether data is backed up and restored within the same Alibaba Cloud account or across Alibaba Cloud accounts. Valid values:'."\n"
+ ."\n"
+ .'* SELF_ACCOUNT: Data is backed up and restored within the same Alibaba Cloud account.'."\n"
+ .'* CROSS_ACCOUNT: Data is backed up and restored across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'SELF_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up and restore data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up and restore data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the request is successful, a value of successful is returned. If the request fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the asynchronous job. You can call the DescribeTask operation to query the execution result of the asynchronous job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n"
+ ."\n"
+ .'* true: The request is successful.'."\n"
+ .'* false: The request fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TaskId\\": \\"t-*********************\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'DetachNasFileSystem',
+ 'summary' => 'Deletes an internal mount target created by Cloud Backup.',
+ 'description' => '* If the request is successful, the mount target is deleted.'."\n"
+ .'* After you create a backup plan for an Apsara File Storage NAS file system, HBR automatically creates a mount target for the file system. You can call this operation to delete the mount target. In the **Status** column of the mount target of the NAS file system, the following information is displayed: **This mount target is created by an Alibaba Cloud internal service and cannot be operated. Service name: HBR**.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GenerateRamPolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '95715',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RequireBasePolicy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to generate the policy based on an existing instance-specific rule. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ActionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of policy that you want to generate. Valid values:'."\n"
+ ."\n"
+ .'* BACKUP: the permission to back up data to a backup vault'."\n"
+ .'* RESTORE: the permission to restore data from a backup vault'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'system',
+ ],
+ ],
+ [
+ 'name' => 'VaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'v-0007al3m******7ao',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-*********************',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'PolicyDocument' => [
+ 'description' => 'The content of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "hbr:CreateRestore", "hbr:CreateRestoreJob", "hbr:CreateHanaRestore", "hbr:CreateUniRestorePlan", "hbr:CreateSqlServerRestore" ], "Resource": [ "acs:hbr:*:1178******531:vault/v-000******blx06", "acs:hbr:*:1178******531:vault/v-000******blx06/client/*" ] } ] }',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PolicyDocument\\": \\"{ \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\", \\\\\\"Statement\\\\\\": [ { \\\\\\"Effect\\\\\\": \\\\\\"Deny\\\\\\", \\\\\\"Action\\\\\\": [ \\\\\\"hbr:CreateRestore\\\\\\", \\\\\\"hbr:CreateRestoreJob\\\\\\", \\\\\\"hbr:CreateHanaRestore\\\\\\", \\\\\\"hbr:CreateUniRestorePlan\\\\\\", \\\\\\"hbr:CreateSqlServerRestore\\\\\\" ], \\\\\\"Resource\\\\\\": [ \\\\\\"acs:hbr:*:1178******531:vault/v-000******blx06\\\\\\", \\\\\\"acs:hbr:*:1178******531:vault/v-000******blx06/client/*\\\\\\" ] } ] }\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GenerateRamPolicyResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <PolicyDocument>{ \\"Version\\": \\"1\\", \\"Statement\\": [ { \\"Effect\\": \\"Deny\\", \\"Action\\": [ \\"hbr:CreateRestore\\", \\"hbr:CreateRestoreJob\\", \\"hbr:CreateHanaRestore\\", \\"hbr:CreateUniRestorePlan\\", \\"hbr:CreateSqlServerRestore\\" ], \\"Resource\\": [ \\"acs:hbr:*:1178******531:vault/v-000******blx06\\", \\"acs:hbr:*:1178******531:vault/v-000******blx06/client/*\\" ] } ] }</PolicyDocument>\\n <Success>true</Success>\\n</GenerateRamPolicyResponse>","errorExample":""}]',
+ 'title' => 'GenerateRamPolicy',
+ 'summary' => 'Generates a Resource Access Management (RAM) policy.',
+ ],
+ 'ChangeResourceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '95415',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'* **vault**: backup vault'."\n"
+ .'* **client**: backup client'."\n"
+ .'* **hanainstance**: SAP HANA instance'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vault',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the resource. The value of this parameter varies with the resource type. For example, if the ResourceType parameter is set to vault, the ResourceId parameter specifies the ID of the backup vault.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'v-0002vido6j5zyh5k****',
+ ],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the new resource group. You can view the available resource groups in the Resource Management console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'rg-bp67acfmxazb4p**** ',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C438054F-9088-5D1B-AED0-0EA86D9C65F4',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"C438054F-9088-5D1B-AED0-0EA86D9C65F4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ChangeResourceGroupResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>C438054F-9088-5D1B-AED0-0EA86D9C65F4</RequestId>\\n <Success>true</Success>\\n</ChangeResourceGroupResponse>","errorExample":""}]',
+ 'title' => 'ChangeResourceGroup',
+ 'summary' => 'Changes the resource group to which an instance belongs.',
+ 'description' => '* In the Cloud Backup console, you can use resource groups to manage resources such as backup vaults, Cloud Backup clients, and SAP HANA instances.'."\n"
+ .'* A resource is a cloud service entity that you create on Alibaba Cloud, such as an Elastic Compute Service (ECS) instance, a backup vault, or an SAP HANA instance.'."\n"
+ .'* You can sort resources owned by your Alibaba Cloud account into various resource groups. Resource groups facilitate resource management among multiple projects or applications within your Alibaba Cloud account and simplify permission management.'."\n",
+ ],
+ 'CreateTempFileUploadUrl' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '146297',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrKJCQWH',
+ 'FEATUREhbrS7MI6C',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'FileName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the file to be uploaded.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'file-list.txt',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Endpoint' => [
+ 'description' => 'The endpoint that is used to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'oss-cn-shenzhen.aliyuncs.com',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F4EEB401-DD21-588D-AE3B-1E835C7655E1',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The expiration time of the signature that is used to upload the file to OSS. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1654326678',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* true: The call is successful.'."\n"
+ .'* false: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'TempFileKey' => [
+ 'description' => 'The key that is used to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'temp/1440155109798732/upload/2022-07-29/49bed34c-b430-4e7e-89b1-4be2b734f95c/iaclone.diff',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the call is successful, "successful" is returned. If the call fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'BucketName' => [
+ 'description' => 'The name of the OSS bucket to which the file is uploaded.'."\n",
+ 'type' => 'string',
+ 'example' => 'hbr-temp-bucket',
+ ],
+ 'OssAccessKeyId' => [
+ 'description' => 'The AccessKey ID that is used to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'LTAI****Up',
+ ],
+ 'Policy' => [
+ 'description' => 'The policy that is used to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'eyJleH****V19',
+ ],
+ 'Signature' => [
+ 'description' => 'The signature that is used to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'RmhI****0A=',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Endpoint\\": \\"oss-cn-shenzhen.aliyuncs.com\\",\\n \\"RequestId\\": \\"F4EEB401-DD21-588D-AE3B-1E835C7655E1\\",\\n \\"ExpireTime\\": 1654326678,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"TempFileKey\\": \\"temp/1440155109798732/upload/2022-07-29/49bed34c-b430-4e7e-89b1-4be2b734f95c/iaclone.diff\\",\\n \\"Message\\": \\"successful\\",\\n \\"BucketName\\": \\"hbr-temp-bucket\\",\\n \\"OssAccessKeyId\\": \\"LTAI****Up\\",\\n \\"Policy\\": \\"eyJleH****V19\\",\\n \\"Signature\\": \\"RmhI****0A=\\"\\n}","type":"json"}]',
+ 'title' => 'CreateTempFileUploadUrl',
+ 'summary' => 'Generates the parameters and signature required for a file upload URL.',
+ 'description' => '1. You can directly upload a file to Object Storage Service (OSS) by using a form based on the returned value of this operation.'."\n"
+ .'2. For more information about how to upload a file to OSS by using a form, see OSS documentation.'."\n"
+ .'3. The system periodically deletes files that are uploaded to OSS.'."\n",
+ ],
+ 'GetTempFileDownloadLink' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '146984',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr56LH1C',
+ 'FEATUREhbrFWIWBG',
+ 'FEATUREhbrAW9I1R',
+ 'FEATUREhbrB1KQ9G',
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrAL60OZ',
+ 'FEATUREhbr9ZUQY7',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TempFileKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key that is used to download a file.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'temp/1797733170015112/report/r-000jdzknbp39cnf9hs99/r-000jdzknbp39cnf9hs99-total.csv',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Url' => [
+ 'description' => 'The download URL of the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://a-hbr-temp-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/job-0007yg2i0m6705wdhgb6_0.csv?Expires=1649406469&OSSAccessKeyId=LTAI************&Signature=26%2BgjegCrRmMDCpS5jzyG4ivKU8%3D',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned. If the request is successful, a value of successful is returned. If the request fails, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n"
+ ."\n"
+ .'* true: The request is successful.'."\n"
+ .'* false: The request fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Url\\": \\"https://a-hbr-temp-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/job-0007yg2i0m6705wdhgb6_0.csv?Expires=1649406469&OSSAccessKeyId=LTAI************&Signature=26%2BgjegCrRmMDCpS5jzyG4ivKU8%3D\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'GetTempFileDownloadLink',
+ 'summary' => 'Obtains download links of files such as job reports.',
+ ],
+ 'CheckRole' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '95418',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CheckRoleType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the role. Valid values:'."\n"
+ ."\n"
+ .'* EcsRole: a role with the permissions to access Elastic Compute Service (ECS) resources'."\n"
+ .'* CsgRole: a role with the permissions to perform Cloud Storage Gateway (CSG) backup'."\n"
+ .'* NasRole: a role with the permissions to perform NAS backup'."\n"
+ .'* OssRole: a role with the permissions to perform Object Storage Service (OSS) backup'."\n"
+ .'* UdmRole: a role with the permissions to perform ECS instance backup'."\n"
+ .'* VMwareLocalRole: a role with the permissions to back up on-premises VMware virtual machines (VMs)'."\n"
+ .'* VMwareCloudRole: a role with the permissions to back up VMs deployed on Alibaba Cloud VMware Service (ACVS)'."\n"
+ .'* EcsBackupRole: a role with the permissions to perform ECS backup'."\n"
+ .'* OtsRole: a role with the permissions to perform Tablestore backup'."\n"
+ .'* CrossAccountRole: a role with the permissions to perform cross-account backup'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OssRole',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '158975xxxxx4625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Resource Access Management (RAM) role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BackupRole',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '2F63CA9B-744E-51C0-A638-27882BB03078',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'CrossAccountBackupSlrNotExist',
+ 'errorMessage' => 'AliyunServiceRoleForHbrCrossAccountBackup doesn\'t exist, please create this role.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"2F63CA9B-744E-51C0-A638-27882BB03078\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'CheckRole',
+ 'summary' => 'Checks whether the user has permissions to access the current resource or page.',
+ ],
+ 'DescribeCrossAccounts' => [
+ 'summary' => 'Queries the information about the accounts used in cross-account backup.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '137629',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbr3BJQCT',
+ 'FEATUREhbrB08D1M',
+ ],
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 99. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '22',
+ ],
+ 'CrossAccounts' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'CrossAccount' => [
+ 'description' => 'The information about the accounts used in cross-account backup.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OwnerId' => [
+ 'description' => 'The ID of the current account.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '184164xxxxx49795',
+ ],
+ 'CrossAccountUserId' => [
+ 'description' => 'The ID of the source Alibaba Cloud account that authorizes the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15897534xxxxx625',
+ ],
+ 'CrossAccountRoleName' => [
+ 'description' => 'The name of the RAM role that is created within the source Alibaba Cloud account and assigned to the current Alibaba Cloud account to authorize the current Alibaba Cloud account to back up data across Alibaba Cloud accounts.'."\n",
+ 'type' => 'string',
+ 'example' => 'BackupRole',
+ ],
+ 'Alias' => [
+ 'description' => 'The account alias. The value can be up to 32 bits in length.'."\n",
+ 'type' => 'string',
+ 'example' => 'content',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the backup type.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'CreatedTime' => [
+ 'description' => 'The time when the account was created. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1654570439',
+ ],
+ 'UpdatedTime' => [
+ 'description' => 'The time when the account information was updated. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1640157098',
+ ],
+ 'CrossAccountType' => [
+ 'title' => '跨账号类型',
+ 'type' => 'string',
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 22,\\n \\"CrossAccounts\\": {\\n \\"CrossAccount\\": [\\n {\\n \\"OwnerId\\": 0,\\n \\"CrossAccountUserId\\": 0,\\n \\"CrossAccountRoleName\\": \\"BackupRole\\",\\n \\"Alias\\": \\"content\\",\\n \\"Id\\": 1,\\n \\"CreatedTime\\": 1654570439,\\n \\"UpdatedTime\\": 1640157098,\\n \\"CrossAccountType\\": \\"CROSS_ACCOUNT\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeCrossAccounts',
+ 'translator' => 'machine',
+ ],
+ 'DeleteUdmEcsInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '95487',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB1KQ9G',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ECS instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'i-2zed************tlrm',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '0497C0D3-82B5-56B2-8D64-D62E61B90E95',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"0497C0D3-82B5-56B2-8D64-D62E61B90E95\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'DeleteUdmEcsInstance',
+ 'summary' => 'Stops protection for Elastic Compute Service (ECS) instance backup.',
+ ],
+ 'DeleteUdmDisk' => [
+ 'summary' => 'Cancels a protected disk.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '230674',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB1KQ9G',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DiskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The disk ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-bp15************xy70',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Code' => [
+ 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message. If the request was successful, "successful" is returned. If the request failed, an error message is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'DeleteUdmDisk',
+ ],
+ 'AddCrossAccount' => [
+ 'summary' => '添加跨账号信息',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB08D1M',
+ ],
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1589753xxxxxx625',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ [
+ 'name' => 'Alias',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ ],
+ 'DeleteCrossAccount' => [
+ 'summary' => '删除跨账号信息',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '137630',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrB08D1M',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CrossAccountUserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1841xxxxx3649795',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountRoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hbrcrossrole',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccountType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CROSS_ACCOUNT',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '921E9989-735C-5254-A29F-6B8A5DDC1ED1',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"921E9989-735C-5254-A29F-6B8A5DDC1ED1\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteCrossAccountResponse>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <RequestId>921E9989-735C-5254-A29F-6B8A5DDC1ED1</RequestId>\\n <Success>true</Success>\\n</DeleteCrossAccountResponse>","errorExample":""}]',
+ ],
+ 'ListProtectedResources' => [
+ 'summary' => '查询已保护的资源列表',
+ 'path' => '',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrIF7VXM',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'aWQj********MCMy',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '0',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CreatedByProduct',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BASIC',
+ 'enum' => [
+ 'BASIC',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS_FILE',
+ 'enum' => [
+ 'ECS_FILE',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-wz95************7zrd',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'EB09****-****-****-****-********6C38',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'TotalCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'ProtectedResources' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SnapshotCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '30',
+ ],
+ 'ResourceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'i-wz95************7zrd',
+ ],
+ 'ProtectedResourceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'pr-0004************gs61',
+ ],
+ 'SourceType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ECS_FILE',
+ ],
+ 'ProtectedDataSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '107374182400',
+ ],
+ 'CreatedByProduct' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BASIC',
+ ],
+ 'ResourceOwnerId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1024********0703',
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'NextToken' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'eyJJ************MX0=',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EB09****-****-****-****-********6C38\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Success\\": true,\\n \\"TotalCount\\": 3,\\n \\"ProtectedResources\\": [\\n {\\n \\"SnapshotCount\\": 30,\\n \\"ResourceId\\": \\"i-wz95************7zrd\\",\\n \\"ProtectedResourceId\\": \\"pr-0004************gs61\\",\\n \\"SourceType\\": \\"ECS_FILE\\",\\n \\"ProtectedDataSize\\": 107374182400,\\n \\"CreatedByProduct\\": \\"BASIC\\",\\n \\"ResourceOwnerId\\": 0\\n }\\n ],\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"eyJJ************MX0=\\"\\n}","type":"json"}]',
+ ],
+ 'CreateVaultReplication' => [
+ 'summary' => '创建备份库复制',
+ 'path' => '',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '95458',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrGSUVI2',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ReplicationSourceVaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ReplicationTargetVaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'r-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ReplicationSourceRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '280DD872-EE25-52E8-9CB4-491067173DD0',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 't-*********************',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"280DD872-EE25-52E8-9CB4-491067173DD0\\",\\n \\"TaskId\\": \\"t-*********************\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteVaultReplication' => [
+ 'summary' => '关闭备份库复制',
+ 'path' => '',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '95458',
+ 'abilityTreeNodes' => [
+ 'FEATUREhbrGSUVI2',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ReplicationSourceVaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'v-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ReplicationTargetVaultId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'r-*********************',
+ ],
+ ],
+ [
+ 'name' => 'ReplicationSourceRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C438054F-9088-5D1B-AED0-0EA86D9C65F4',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C438054F-9088-5D1B-AED0-0EA86D9C65F4\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-qingdao',
+ 'endpoint' => 'hbr.cn-qingdao.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'hbr.cn-beijing.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'endpoint' => 'hbr.cn-zhangjiakou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'endpoint' => 'hbr.cn-huhehaote.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'endpoint' => 'hbr.cn-wulanchabu.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'hbr.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'hbr.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'hbr.cn-shenzhen.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-heyuan',
+ 'endpoint' => 'hbr.cn-heyuan.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-guangzhou',
+ 'endpoint' => 'hbr.cn-guangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'endpoint' => 'hbr.cn-chengdu.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'hbr.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'hbr.ap-northeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-2',
+ 'endpoint' => 'hbr.ap-northeast-2.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'hbr.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-2',
+ 'endpoint' => 'hbr.ap-southeast-2.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'hbr.ap-southeast-3.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'hbr.ap-southeast-5.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-6',
+ 'endpoint' => 'hbr.ap-southeast-6.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'hbr.us-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'hbr.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'endpoint' => 'hbr.eu-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'hbr.eu-central-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-south-1',
+ 'endpoint' => 'hbr.ap-south-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'hbr.me-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-finance',
+ 'endpoint' => 'hbr.cn-hangzhou-finance.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'hbr.cn-shanghai-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-finance-1',
+ 'endpoint' => 'hbr.cn-shenzhen-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-7',
+ 'endpoint' => 'hbr.ap-southeast-7.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing-finance-1',
+ 'endpoint' => 'hbr.cn-beijing-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-central-1',
+ 'endpoint' => 'hbr.me-central-1.aliyuncs.com',
+ ],
+ ],
+];