summaryrefslogtreecommitdiff
path: root/data/zh_cn/hsm/2023-11-13/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/hsm/2023-11-13/api-docs.php
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/zh_cn/hsm/2023-11-13/api-docs.php')
-rw-r--r--data/zh_cn/hsm/2023-11-13/api-docs.php15104
1 files changed, 4703 insertions, 10401 deletions
diff --git a/data/zh_cn/hsm/2023-11-13/api-docs.php b/data/zh_cn/hsm/2023-11-13/api-docs.php
index c7a0ca8..d4ecec3 100644
--- a/data/zh_cn/hsm/2023-11-13/api-docs.php
+++ b/data/zh_cn/hsm/2023-11-13/api-docs.php
@@ -1,95 +1,42 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'hsm',
- 'version' => '2023-11-13',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'hsm', 'version' => '2023-11-13'],
'directories' => [
[
- 'id' => 263960,
- 'title' => '审计日志',
+ 'children' => ['ConfigAuditLog', 'GetAuditLogStatus', 'InitializeAuditLog'],
'type' => 'directory',
- 'children' => [
- 'ConfigAuditLog',
- 'GetAuditLogStatus',
- 'InitializeAuditLog',
- ],
+ 'title' => '审计日志',
+ 'id' => 93818,
],
[
- 'id' => 263964,
- 'title' => '镜像',
+ 'children' => ['GetImage', 'ListImages', 'ConfigImageRemark', 'CopyImage', 'ExportImage'],
'type' => 'directory',
- 'children' => [
- 'GetImage',
- 'ListImages',
- 'ConfigImageRemark',
- 'CopyImage',
- 'ExportImage',
- ],
+ 'title' => '镜像',
+ 'id' => 20845,
],
[
- 'id' => 263970,
- 'title' => '备份',
+ 'children' => ['EnableBackup', 'GetBackup', 'ListBackups', 'ConfigBackupTask', 'ResetBackup', 'ConfigBackupRemark'],
'type' => 'directory',
- 'children' => [
- 'EnableBackup',
- 'GetBackup',
- 'ListBackups',
- 'ConfigBackupTask',
- 'ResetBackup',
- 'ConfigBackupRemark',
- ],
+ 'title' => '备份',
+ 'id' => 93827,
],
[
- 'id' => 263977,
- 'title' => '集群',
+ 'children' => ['DeleteCluster', 'JoinCluster', 'ConfigClusterSubnet', 'SyncCluster', 'InitializeCluster', 'SwitchClusterMaster', 'ConfigClusterName', 'LeaveCluster', 'CreateCluster', 'ListClusters', 'ConfigClusterCertificate', 'GetCluster', 'ConfigClusterWhitelist', 'QuickDeployCluster', 'RotateClusterManagedCert', 'DownloadClusterManagedCert'],
'type' => 'directory',
- 'children' => [
- 'DeleteCluster',
- 'JoinCluster',
- 'ConfigClusterSubnet',
- 'SyncCluster',
- 'InitializeCluster',
- 'SwitchClusterMaster',
- 'ConfigClusterName',
- 'LeaveCluster',
- 'CreateCluster',
- 'ListClusters',
- 'ConfigClusterCertificate',
- 'GetCluster',
- 'ConfigClusterWhitelist',
- 'QuickDeployCluster',
- 'RotateClusterManagedCert',
- 'DownloadClusterManagedCert',
- ],
+ 'title' => '集群',
+ 'id' => 20858,
],
[
- 'id' => 263994,
- 'title' => '实例',
+ 'children' => ['ConfigInstanceIpAddress', 'RestoreInstance', 'ResetInstance', 'QuickInitInstance', 'ConfigInstanceWhitelist', 'ResumeInstance', 'GetInstance', 'PauseInstance', 'ListInstances', 'ConfigInstanceRemark'],
'type' => 'directory',
- 'children' => [
- 'ConfigInstanceIpAddress',
- 'RestoreInstance',
- 'ResetInstance',
- 'QuickInitInstance',
- 'ConfigInstanceWhitelist',
- 'ResumeInstance',
- 'GetInstance',
- 'PauseInstance',
- 'ListInstances',
- 'ConfigInstanceRemark',
- ],
+ 'title' => '实例',
+ 'id' => 20873,
],
[
- 'id' => 264005,
- 'title' => '其他',
+ 'children' => ['GetJob', 'MoveResourceGroup', 'DescribeRegions'],
'type' => 'directory',
- 'children' => [
- 'GetJob',
- 'MoveResourceGroup',
- 'DescribeRegions',
- ],
+ 'title' => '其他',
+ 'id' => 20884,
],
],
'components' => [
@@ -97,15 +44,8 @@
],
'apis' => [
'ConfigAuditLog' => [
- 'summary' => '开通或关闭审计日志、配置审计日志投递Bucket。',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -117,30 +57,18 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
- 'abilityTreeNodes' => [
- 'FEATUREhsmVF2KT5',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'AuditOssBucket',
'in' => 'query',
- 'schema' => [
- 'description' => '审计日志投递Bucket。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'hsm-log',
- ],
+ 'schema' => ['description' => '审计日志投递Bucket。', 'type' => 'string', 'required' => false, 'example' => 'hsm-log'],
],
[
'name' => 'AuditAction',
@@ -153,10 +81,7 @@
'required' => true,
'enumValueTitles' => [],
'example' => 'enable',
- 'enum' => [
- 'disable',
- 'enable',
- ],
+ 'enum' => ['disable', 'enable'],
],
],
],
@@ -166,179 +91,251 @@
'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '42B118FB-16A6-56FB-B877-D58637EEC6AF',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '42B118FB-16A6-56FB-B877-D58637EEC6AF'],
],
],
],
],
'errorCodes' => [
403 => [
- [
- 'errorCode' => 'OSSPermissionDenied.Error',
- 'errorMessage' => '获取OSS bucket权限失败,请检查对应OSS权限设置: %s',
- ],
+ ['errorCode' => 'OSSPermissionDenied.Error', 'errorMessage' => '获取OSS bucket权限失败,请检查对应OSS权限设置: %s', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42B118FB-16A6-56FB-B877-D58637EEC6AF\\"\\n}","type":"json"}]',
'title' => '配置审计日志',
+ 'summary' => '开通或关闭审计日志、配置审计日志投递Bucket。',
'description' => '- Bucket所属地域需要和将要开通安全审计服务的地域相同。 '."\n"
.'- 开启安全审计期间,请勿删除OSS Bucket,否则将会导致审计文件投递失败。'."\n"
."\n"
.'- 目前安全审计服务,仅提供给中国内地密码机GVSM和EVSM使用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigAuditLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42B118FB-16A6-56FB-B877-D58637EEC6AF\\"\\n}","type":"json"}]',
],
- 'GetAuditLogStatus' => [
- 'summary' => '查询当前地域下审计日志开通状态。',
- 'methods' => [
- 'get',
- 'post',
+ 'ConfigBackupRemark' => [
+ 'summary' => '配置备份的名称及备注信息。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203655',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
+ 'parameters' => [
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => true, 'example' => 'backup-fdb897sdfg****'],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份备注信息。', 'type' => 'string', 'required' => false, 'example' => 'Backup-Feb-9-test-1B'],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份名称。', 'type' => 'string', 'required' => false, 'example' => 'backup-test'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回参数结构。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => 'Id of the request', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置备份备注信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigBackupRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ ],
+ 'ConfigBackupTask' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203664',
- 'abilityTreeNodes' => [
- 'FEATUREhsmVF2KT5',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => true, 'example' => 'backup-173620705****'],
+ ],
+ [
+ 'name' => 'BackupPeriod',
'in' => 'query',
'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
+ 'description' => '自动备份周期,单位天数。 取值为1、3、7、30。',
+ 'type' => 'integer',
+ 'format' => 'int64',
'required' => true,
- 'example' => 'cn-hangzhou',
+ 'maximum' => '30',
+ 'minimum' => '1',
+ 'enumValueTitles' => [],
+ 'example' => '3',
+ 'enum' => ['1', '3', '7', '30'],
],
],
[
- 'name' => 'GetOssBucket',
+ 'name' => 'BackupHourInDay',
'in' => 'query',
'schema' => [
- 'description' => '是否获取可用于存储审计日志的OSS Bucket列表。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
+ 'description' => '备份时间,24小时制整点时间。取值:1~24。',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '23',
+ 'minimum' => '0',
+ 'enumValueTitles' => [],
+ 'example' => '12',
+ 'enum' => [
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19',
+ '20', '21', '22', '23',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Manual2PeriodicList',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '手动备份更新为自动备份的镜像ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '手动备份更新为自动备份的镜像ID。', 'type' => 'string', 'required' => false, 'example' => 'image-haiduf23bj****'],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Periodic2ManualList',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '自动备份更新为手动备份的镜像ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '自动备份更新为手动备份的镜像ID。', 'type' => 'string', 'required' => false, 'example' => 'image-daiduahsbj****'],
'required' => false,
- 'example' => 'true',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Success' => [
- 'description' => '调用是否成功。'."\n"
- ."\n"
- .'- true:成功'."\n"
- ."\n"
- .'- false:失败',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'RegionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'AuditLogStatus' => [
- 'description' => '审计日志开通状态。'."\n"
- .'- enable:已开通 '."\n"
- .'- disable:未开通',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'enable',
- 'enum' => [
- 'enable',
- 'disable',
- ],
- ],
- 'GrantedServiceAccess' => [
- 'description' => '是否授权加密服务投递日志。'."\n"
- ."\n"
- .'- true:已授权'."\n"
- ."\n"
- .'- false:未授权',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'AuditOssBucket' => [
- 'description' => '审计日志存储的Bucket。',
- 'type' => 'string',
- 'example' => 'bucket-test',
- ],
- 'OssBuckets' => [
- 'description' => '可用于存储审计日志的OSS Bucket列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Bucket名称。',
- 'type' => 'string',
- 'example' => 'bucket-test',
- ],
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
+ 'description' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'OSSPermissionDenied.Error',
- 'errorMessage' => '获取对应OSS bucket权限失败,请检查OSS权限设置: %s',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置备份任务',
+ 'summary' => '修改备份任务执行模式。',
+ 'description' => '仅支持中国内地密码机实例备份调用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigBackupTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Success\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AuditLogStatus\\": \\"enable\\",\\n \\"GrantedServiceAccess\\": true,\\n \\"AuditOssBucket\\": \\"bucket-test\\",\\n \\"OssBuckets\\": [\\n \\"bucket-test\\"\\n ]\\n}","type":"json"}]',
- 'title' => '查询审计日志开通状态',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'InitializeAuditLog' => [
- 'summary' => '授权加密服务投递日志。',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigClusterCertificate' => [
+ 'summary' => '为非中国内地密码机集群配置证书。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -350,476 +347,589 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmVF2KT5',
+ 'abilityTreeNodes' => ['FEATUREhsmLBBV5W'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsg****'],
+ ],
+ [
+ 'name' => 'IssuerCertificate',
+ 'in' => 'formData',
+ 'schema' => ['description' => '自签名证书。', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----'."\n"
+ .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n"
+ .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n"
+ .'YmEgQ2xvdWQxFDA****'."\n"
+ .'-----END CERTIFICATE-----'],
+ ],
+ [
+ 'name' => 'ClusterCertificate',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群证书。', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----'."\n"
+ .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n"
+ .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n"
+ .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****-----END CERTIFICATE-----'],
],
],
- 'parameters' => [],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4FE969D9-E1C7-5274-BE7D-8C3534587605',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CreateServiceLinkedRole.Error %s',
- 'errorMessage' => 'sdfsfa %s',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'EntityNotExist.Service',
- 'errorMessage' => '服务不存在: %s',
- ],
- [
- 'errorCode' => 'EntityNotExist.User',
- 'errorMessage' => '角色不存在: %s',
- ],
- [
- 'errorCode' => 'NoPermission.Client',
- 'errorMessage' => '当前账户无创建服务角色权限!',
- ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'EntityAlreadyExists.Role',
- 'errorMessage' => '服务角色已存在,请勿重复创建!',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'title' => '配置集群证书',
+ 'description' => '如何在ECS上创建自签名证书和集群签名证书,请参见[创建GVSM(NIST FIPS)密码机集群](~~293585~~)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FE969D9-E1C7-5274-BE7D-8C3534587605\\"\\n}","type":"json"}]',
- 'title' => '初始化审计日志',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'GetImage' => [
- 'summary' => '查询指定镜像信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigClusterName' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '203665',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'ImageId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'image-wz9c5ths5dfuwx47****',
- ],
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsgfaisdf****'],
+ ],
+ [
+ 'name' => 'ClusterName',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群名称。', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Image' => [
- 'description' => '返回的镜像信息。',
- 'type' => 'object',
- 'properties' => [
- 'BackupId' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'example' => 'backup-1618017313',
- ],
- 'ExportTime' => [
- 'description' => '镜像生成时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1786776567788',
- ],
- 'ImageId' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'example' => 'image-wz9c5ths5dfuwx47****',
- ],
- 'InstanceId' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-9lb32vll****',
- ],
- 'RegionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Remark' => [
- 'description' => '备份备注。',
- 'type' => 'string',
- 'example' => 'hsm-test',
- ],
- 'Status' => [
- 'description' => '镜像状态。'."\n"
- ."\n"
- .'- NEW:未启用'."\n"
- ."\n"
- .'- DELETED:已删除'."\n"
- ."\n"
- .'- CREATING:创建中'."\n"
- ."\n"
- .'- NORMAL:创建完成',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'NEW',
- 'enum' => [
- 'CREATING',
- 'NEW',
- 'NORMAL',
- 'DELETED',
- ],
- ],
- 'Mode' => [
- 'description' => '镜像生成模式。'."\n"
- ."\n"
- .'- PERIODIC:自动生成'."\n"
- ."\n"
- .'- MANUAL:手动生成',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'MANUAL',
- 'enum' => [
- 'MANUAL',
- 'PERIODIC',
- ],
- ],
- 'VsmDigest' => [
- 'description' => '密码机实例摘要。',
- 'type' => 'string',
- 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****',
- ],
- 'SourceImageUid' => [
- 'description' => '源镜像ID。',
- 'type' => 'string',
- 'example' => 'image-kklhhhh****',
- ],
- 'SourceRegionId' => [
- 'description' => '源镜像的地域ID。',
- 'type' => 'string',
- 'example' => 'cn-beijing',
- ],
- 'SourceBackupUid' => [
- 'description' => '源备份ID。',
- 'type' => 'string',
- 'example' => 'backup-gfuiasdfa****',
- ],
- 'SourceInstanceId' => [
- 'description' => '源实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-wz9fnmvx190shfbk****',
- ],
- 'CopyTime' => [
- 'description' => '镜像复制时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1641275680000',
- ],
- ],
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '配置集群名称',
+ 'summary' => '修改集群名称。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterName',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Image\\": {\\n \\"BackupId\\": \\"backup-1618017313\\",\\n \\"ExportTime\\": 1786776567788,\\n \\"ImageId\\": \\"image-wz9c5ths5dfuwx47****\\",\\n \\"InstanceId\\": \\"hsm-cn-9lb32vll****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"hsm-test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"Mode\\": \\"MANUAL\\",\\n \\"VsmDigest\\": \\"3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****\\",\\n \\"SourceImageUid\\": \\"image-kklhhhh****\\",\\n \\"SourceRegionId\\": \\"cn-beijing\\",\\n \\"SourceBackupUid\\": \\"backup-gfuiasdfa****\\",\\n \\"SourceInstanceId\\": \\"hsm-wz9fnmvx190shfbk****\\",\\n \\"CopyTime\\": 1641275680000\\n }\\n}","type":"json"}]',
- 'title' => '查询镜像',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'ListImages' => [
- 'summary' => '查询符合条件的镜像集合。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigClusterSubnet' => [
+ 'summary' => '修改集群绑定的交换机列表。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203777',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'abilityTreeCode' => '211854',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'BackupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'backup-fdb897sdf****',
- ],
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。可以通过调用ListCluster获取集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsg****'],
],
[
'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '每页显示的镜像个数。取值:1~1000。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '20',
- ],
+ 'name' => 'VpcId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'VPC网络ID。', 'type' => 'string', 'required' => true, 'example' => 'vpc-7xvkh90cw39p0****'],
],
[
- 'name' => 'CurrentPage',
- 'in' => 'query',
+ 'name' => 'VSwitchIds',
+ 'in' => 'formData',
+ 'style' => 'json',
'schema' => [
- 'description' => '当前分页。',
- 'type' => 'integer',
- 'format' => 'int32',
+ 'description' => '集群配置的交换机列表。注意:必须包含集群要配置的所有交换机。',
+ 'type' => 'array',
+ 'items' => ['description' => '交换机ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-2zeqkh8ar8yey5ejv****'],
'required' => true,
- 'example' => '1',
],
],
- [
- 'name' => 'Mode',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '镜像生成模式。'."\n"
- .'- PERIODIC:自动生成'."\n"
- .'- MANUAL:手动生成',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'MANUAL',
- 'enum' => [
- 'MANUAL',
- 'PERIODIC',
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216'],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置集群交换机',
+ 'description' => '全量配置对应集群绑定的交换机列表,仅允许新增交换机,不允许删除交换机。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterSubnet',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
+ ],
+ 'ConfigClusterWhitelist' => [
+ 'summary' => '修改集群可访问的白名单列表。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsm01FLNB', 'FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-729dm40FG****'],
+ ],
+ [
+ 'name' => 'Whitelist',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群访问白名单列表。', 'type' => 'string', 'required' => true, 'example' => '18.68.XX.XX'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'TotalCount' => [
- 'description' => '返回的镜像总量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000',
- ],
- 'PageSize' => [
- 'description' => '每页显示的镜像个数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentPage' => [
- 'description' => '当前分页。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Images' => [
- 'description' => '返回的镜像信息列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '镜像详情。',
- 'type' => 'object',
- 'properties' => [
- 'BackupId' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'example' => 'backup-fdb897sdf****',
- ],
- 'ExportTime' => [
- 'description' => '镜像生成时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1782849566738',
- ],
- 'ImageId' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'example' => 'image-d79x4k11pmg19****',
- ],
- 'InstanceId' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-6ja1xknf****',
- ],
- 'RegionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Remark' => [
- 'description' => '备份备注。',
- 'type' => 'string',
- 'example' => 'hsm-test',
- ],
- 'Status' => [
- 'description' => '镜像状态。'."\n"
- ."\n"
- .'- NEW:未启用'."\n"
- ."\n"
- .'- DELETED:已删除'."\n"
- .'- CREATING:创建中'."\n"
- .'- NORMAL:创建完成',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'CREATING',
- 'enum' => [
- 'NORMAL',
- 'NEW',
- 'DELETED',
- 'CREATING',
- ],
- ],
- 'Mode' => [
- 'description' => '镜像生成模式。'."\n"
- .'- PERIODIC:自动生成'."\n"
- .'- MANUAL:手动生成',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'MANUAL',
- 'enum' => [
- 'PERIODIC',
- 'MANUAL',
- ],
- ],
- 'VsmDigest' => [
- 'description' => '密码机实例摘要。',
- 'type' => 'string',
- 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****',
- ],
- 'SourceImageUid' => [
- 'description' => '源镜像ID。',
- 'type' => 'string',
- 'example' => 'image-ooopjygsn****',
- ],
- 'SourceBackupUid' => [
- 'description' => '源备份ID。',
- 'type' => 'string',
- 'example' => 'backup-hodfhaol****',
- ],
- 'SourceRegionId' => [
- 'description' => '源镜像所在的地域ID。',
- 'type' => 'string',
- 'example' => 'cn-shanghai',
- ],
- 'SourceInstanceId' => [
- 'description' => '源密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-wz9i2dmefudfxtmb****',
- ],
- 'CopyTime' => [
- 'description' => '镜像复制时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1641275680000',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- [
- 'errorCode' => 'Backup.Deleted',
- 'errorMessage' => 'Backup has been deleted.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置集群白名单',
+ 'description' => '集群的白名单优先级高于实例的白名单。集群模式下建议您创建集群白名单,不需要再创建密码机白名单。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterWhitelist',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"TotalCount\\": 1000,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"Images\\": [\\n {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"ExportTime\\": 1782849566738,\\n \\"ImageId\\": \\"image-d79x4k11pmg19****\\",\\n \\"InstanceId\\": \\"hsm-cn-6ja1xknf****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"hsm-test\\",\\n \\"Status\\": \\"CREATING\\",\\n \\"Mode\\": \\"MANUAL\\",\\n \\"VsmDigest\\": \\"3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****\\",\\n \\"SourceImageUid\\": \\"image-ooopjygsn****\\",\\n \\"SourceBackupUid\\": \\"backup-hodfhaol****\\",\\n \\"SourceRegionId\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"hsm-cn-wz9i2dmefudfxtmb****\\",\\n \\"CopyTime\\": \\"1641275680000\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '查询镜像列表',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
'ConfigImageRemark' => [
'summary' => '修改镜像备注信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -827,27 +937,22 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
+ ],
'parameters' => [
[
'name' => 'ImageId',
'in' => 'query',
- 'schema' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'image-d79x4k11pmg19****',
- ],
+ 'schema' => ['description' => '镜像ID。', 'type' => 'string', 'required' => true, 'example' => 'image-d79x4k11pmg19****'],
],
[
'name' => 'Remark',
'in' => 'query',
- 'schema' => [
- 'description' => '镜像备注。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-****',
- ],
+ 'schema' => ['description' => '镜像备注。', 'type' => 'string', 'required' => true, 'example' => 'hsm-****'],
],
],
'responses' => [
@@ -857,485 +962,220 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置镜像备注',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigImageRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置镜像备注',
],
- 'CopyImage' => [
- 'summary' => '复制镜像到其他地域。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ConfigInstanceIpAddress' => [
+ 'summary' => '修改实例VPC网络地址。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '218511',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '211785',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'ImageUid',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'image-hafiudfahdd****',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'TargetRegionId',
+ 'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '目标地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****'],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例所属VPC ID。', 'type' => 'string', 'required' => true, 'example' => 'vpc-lmkmivmo6****'],
+ ],
+ [
+ 'name' => 'VSwitchId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例所属子网的交换机ID。', 'type' => 'string', 'required' => true, 'example' => 'vsw-u7gb0qahu****'],
+ ],
+ [
+ 'name' => 'Ip',
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例所属VPC网络内的IP地址。', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiAsyncJob>',
- 'description' => '任务详情。',
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-202401250936hze747fd7e0007005',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
- ."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1724379766191',
- ],
- 'Status' => [
- 'description' => '任务状态。',
- 'type' => 'string',
- 'example' => 'running',
- ],
- 'Response' => [
- 'description' => '当任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidZoneId',
- 'errorMessage' => 'Invalid parameter zoneId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidVsmType',
- 'errorMessage' => 'Invalid parameter vsmType.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IpAlreadyInUse', 'errorMessage' => 'Ip is in use, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.VpcIpNotMatched', 'errorMessage' => 'Vpc Ip must be in vpc network segment.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IpOverFlow', 'errorMessage' => 'Vpc ip last place can not be in [253-255].', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'User has no permission to access this resource.',
- ],
- [
- 'errorCode' => 'Trial.Forbidden',
- 'errorMessage' => 'Current user is not allowed for trials!',
- ],
- [
- 'errorCode' => 'Forbidden.InstanceInCluster',
- 'errorMessage' => 'This API is forbidden for instances in cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceIncorrectState',
- 'errorMessage' => 'Instance not in Active/Pending state.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Image.ImageStatusInValid',
- 'errorMessage' => 'Image status is invalid.',
- ],
- [
- 'errorCode' => 'CopyImage.ImageAlreadyCopied',
- 'errorMessage' => 'Image already copied, secondary copy is not supported.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenCN',
- 'errorMessage' => 'This API is forbidden for non-international site.',
- ],
- [
- 'errorCode' => 'CopyImage.RegionInvalid',
- 'errorMessage' => 'Source region or target region invalid.',
- ],
- [
- 'errorCode' => 'Backup.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'CopyImage.TargetRegionImageAlreadyExists',
- 'errorMessage' => 'Target region has the same digest image.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''],
+ ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''],
+ ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''],
+ ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict.InstanceModifying',
- 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置实例VPC网络地址',
+ 'description' => '已加入集群的实例无法修改VPC网络地址。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceIpAddress',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1724379766191\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '复制镜像',
- 'description' => '要求目标地域没有相同镜像。仅非中国内地密码机支持此接口调用。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'ExportImage' => [
- 'summary' => '导出指定密码机的镜像。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigInstanceRemark' => [
+ 'summary' => '修改实例备注。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1344,163 +1184,137 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203656',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
[
- 'name' => 'ImageId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '镜像ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'image-8vbdd5uc6v10ecn5****',
- ],
+ 'name' => 'Remark',
+ 'in' => 'formData',
+ 'schema' => ['description' => '备注信息。', 'type' => 'string', 'required' => true, 'example' => 'hsmOnline'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '响应信息。',
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Job' => [
- 'description' => '返回的异步任务信息。',
- 'type' => 'object',
- 'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'b1748ca6-6b55-49f4-a6d4-2d694a9f3693',
- ],
- 'Type' => [
- 'description' => '任务操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
- ."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。'."\n"
- ."\n"
- .'- true:已完成'."\n"
- ."\n"
- .'- false:未完成',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Status' => [
- 'description' => '任务状态。'."\n"
- .'- running:执行中'."\n"
- ."\n"
- .' - cancel:取消'."\n"
- .'- fail:失败 '."\n"
- .'- success:成功',
- 'type' => 'string',
- 'enumValueTitles' => [
- 'running' => '执行中',
- 'cancel' => '取消',
- 'fail' => '失败',
- 'success' => '成功',
- ],
- 'example' => 'running',
- 'enum' => [
- 'running',
- 'success',
- 'fail',
- 'cancel',
- ],
- ],
- 'Response' => [
- 'description' => '操作成功后的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '操作异常或者失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'Job.Canceled',
- ],
- 'Process' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
- ],
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'User has no permission to access this resource.',
- ],
- [
- 'errorCode' => 'Backup.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for this backup type.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置实例备注',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"b1748ca6-6b55-49f4-a6d4-2d694a9f3693\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"Job.Canceled\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]',
- 'title' => '导出镜像',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'EnableBackup' => [
- 'summary' => '将备份与指定实例绑定。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigInstanceWhitelist' => [
+ 'summary' => '修改实例白名单。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1512,701 +1326,765 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '203669',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-mp90fxef****',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
[
- 'name' => 'BackupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'backup-1736207****',
- ],
+ 'name' => 'Whitelist',
+ 'in' => 'formData',
+ 'schema' => ['description' => '要配置的白名单IP列表,多个IP之间用空格或半角逗号分隔。', 'type' => 'string', 'required' => true, 'example' => '18.68.XX.XX,18.68.XX.XX'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- [
- 'errorCode' => 'Backup.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for this backup type.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '配置实例白名单',
+ 'description' => '未加入集群且状态为ACTIVE(已启用)的密码机实例可以配置白名单。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceWhitelist',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '启用备份',
- 'description' => '仅支持中国内地备份调用。',
],
- 'GetBackup' => [
- 'summary' => '查询指定备份信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CopyImage' => [
+ 'summary' => '复制镜像到其他地域。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '203668',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '218511',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'BackupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'backup-fdb897sdf****',
- ],
+ 'name' => 'ImageUid',
+ 'in' => 'formData',
+ 'schema' => ['description' => '镜像ID。', 'type' => 'string', 'required' => false, 'example' => 'image-hafiudfahdd****'],
+ ],
+ [
+ 'name' => 'TargetRegionId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '目标地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '响应信息。',
+ 'title' => 'PlainResult<OpenApiAsyncJob>',
+ 'description' => '任务详情。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Backup' => [
- 'description' => '返回的备份信息。',
- 'type' => 'object',
- 'properties' => [
- 'BackupId' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'example' => 'backup-fdb897sdf****',
- ],
- 'CreateTime' => [
- 'description' => '备份创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1682417553781',
- ],
- 'ExpireTime' => [
- 'description' => '备份过期时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1682417553781',
- ],
- 'InstanceId' => [
- 'description' => '备份关联的密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-5yd35431****',
- ],
- 'Name' => [
- 'description' => '备份名称。',
- 'type' => 'string',
- 'example' => 'backup-te****',
- ],
- 'RegionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Remark' => [
- 'description' => '备份备注。',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Status' => [
- 'description' => '备份状态。'."\n"
- ."\n"
- .'- NEW:未启用'."\n"
- ."\n"
- .'- EXPIRED:已过期'."\n"
- ."\n"
- .'- ENABLED:已启用',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'NEW',
- 'enum' => [
- 'EXPIRED',
- 'ENABLED',
- 'NEW',
- ],
- ],
- 'MaxImageCount' => [
- 'description' => '最大镜像数量。',
- 'type' => 'string',
- 'example' => '3',
- ],
- 'Type' => [
- 'description' => '备份类型。'."\n"
- ."\n"
- .'- DEFAULT:默认备份'."\n"
- ."\n"
- .'- NORMAL:普通备份',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'DEFAULT',
- 'enum' => [
- 'DEFAULT',
- 'NORMAL',
- ],
- ],
- 'BackupPeriod' => [
- 'description' => '自动备份周期,单位天数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3',
- ],
- 'NextImageCreateTime' => [
- 'description' => '镜像下一次创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1682417553781',
- ],
- 'BackupHourInDay' => [
- 'description' => '备份时间,24小时制整点时间。',
- 'type' => 'string',
- 'example' => '10',
- ],
- 'SpInstanceId' => [
- 'description' => '售卖域备份ID。 仅中国内地密码机备份有此属性。',
- 'type' => 'string',
- 'example' => 'backup-fdb897sdfg53****',
- ],
- 'AutoImageCount' => [
- 'description' => '自动备份镜像数量。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'OwnerInstanceId' => [
- 'description' => '备份所属的密码机实例ID。仅非中国内地密码机备份有此属性,且与InstanceId一致。',
- 'type' => 'string',
- 'example' => 'hsm-cn-huoahd****',
- ],
- 'ReleaseTime' => [
- 'description' => '备份释放时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1641275680000',
- ],
- ],
- ],
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1724379766191'],
+ 'Status' => ['description' => '任务状态。', 'type' => 'string', 'example' => 'running'],
+ 'Response' => ['description' => '当任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''],
+ ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''],
+ ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''],
+ ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '复制镜像',
+ 'description' => '要求目标地域没有相同镜像。仅非中国内地密码机支持此接口调用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:CopyImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Backup\\": {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"CreateTime\\": 1682417553781,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-5yd35431****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"DEFAULT\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"BackupHourInDay\\": \\"10\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg53****\\",\\n \\"AutoImageCount\\": 1,\\n \\"OwnerInstanceId\\": \\"hsm-cn-huoahd****\\",\\n \\"ReleaseTime\\": 1641275680000\\n }\\n}","type":"json"}]',
- 'title' => '查询备份',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1724379766191\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'ListBackups' => [
- 'summary' => '获取符合查询条件的备份集合。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateCluster' => [
+ 'summary' => '选择一台密码机作为主密码机创建集群。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '203775',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
+ 'name' => 'ClusterName',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群名称。', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****'],
+ ],
+ [
'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'CurrentPage',
- 'in' => 'query',
+ 'name' => 'MasterInstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '主密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm_intl-sg-uz63ixak****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '当前分页。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '1',
+ 'title' => 'PlainResult<OpenApiCreateClusterResponse>',
+ 'description' => 'PlainResult<OpenApiCreateClusterResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '5F58413E-8F57-585B-BE48-64CC1E31133C'],
+ 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'cluster-729dm40FG****'],
+ ],
],
],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '每页显示的备份个数。取值:1~1000。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '20',
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '创建集群',
+ 'description' => '创建集群选择的密码机实例状态必须为ACTIVE(已启用)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:CreateCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5F58413E-8F57-585B-BE48-64CC1E31133C\\",\\n \\"ClusterId\\": \\"cluster-729dm40FG****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteCluster' => [
+ 'summary' => '删除指定集群。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'Name',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'hsm-te****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
+ ],
+ 'parameters' => [
[
- 'name' => 'BackupId',
- 'in' => 'query',
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-NZB9Oj5Yfd8Y****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'backup-1648438****',
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ ],
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'title' => '删除集群',
+ 'description' => '只有集群不存在密码机实例时可以删除。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DeleteCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ ],
+ 'DescribeRegions' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'InstanceId',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203661',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceptLanguage',
'in' => 'query',
'schema' => [
- 'description' => '密码机实例ID。',
+ 'description' => '要查询的语言。 '."\n"
+ ."\n"
+ .'- zh:中文'."\n"
+ ."\n"
+ .' - en:英文',
'type' => 'string',
'required' => false,
- 'example' => 'hsm-cn-vj30bil8****',
+ 'enumValueTitles' => [],
+ 'example' => 'zh',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'TotalCount' => [
- 'description' => '查询结果总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '30',
- ],
- 'PageSize' => [
- 'description' => '每页显示的备份个数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentPage' => [
- 'description' => '当前分页。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Backups' => [
- 'description' => '返回的备份列表。',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Regions' => [
+ 'description' => '地域信息列表。',
'type' => 'array',
'items' => [
- 'description' => '备份详情。',
+ 'description' => '地域信息。',
'type' => 'object',
'properties' => [
- 'BackupId' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'example' => 'backup-1648438****',
- ],
- 'CreateTime' => [
- 'description' => '备份创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1637229596000',
- ],
- 'ExpireTime' => [
- 'description' => '备份过期时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1682417553781'."\n",
- ],
- 'InstanceId' => [
- 'description' => '备份关联的密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-vj30bil8****',
- ],
- 'Name' => [
- 'description' => '备份名称。',
- 'type' => 'string',
- 'example' => 'backup-te****',
- ],
- 'RegionId' => [
- 'description' => '区域ID。',
- 'type' => 'string',
- 'example' => 'ap-southeast-1',
- ],
- 'Remark' => [
- 'description' => '备份备注。',
- 'type' => 'string',
- 'example' => 'normal backup',
- ],
- 'Status' => [
- 'description' => '备份状态。'."\n"
- .'- NEW:未启用'."\n"
- .'- EXPIRED:已过期'."\n"
- .'- ENABLED:已启用',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'ENABLED',
- 'enum' => [
- 'NEW',
- 'ENABLED',
- 'EXPIRED',
- ],
- ],
- 'MaxImageCount' => [
- 'description' => '镜像数量。',
- 'type' => 'string',
- 'example' => '3',
- ],
- 'Type' => [
- 'description' => '备份类型。'."\n"
- .'- DEFAULT:默认备份'."\n"
- .'- NORMAL:普通备份',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'NORMAL',
- 'enum' => [
- 'NORMAL',
- 'DEFAULT',
+ 'LocalName' => ['description' => '地域名称。', 'type' => 'string', 'example' => 'China (Hangzhou)'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'Zones' => [
+ 'description' => '可用区列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ZoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-a'],
+ 'LocalName' => ['description' => '可用区名称。', 'type' => 'string', 'example' => 'Hangzhou Zone A'],
+ 'Cluster' => ['description' => '是否支持集群。'."\n"
+ ."\n"
+ .'- yes:支持'."\n"
+ .'- no:不支持', 'type' => 'string', 'example' => 'yes'],
+ ],
],
],
- 'BackupPeriod' => [
- 'description' => '自动备份周期,单位天数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3',
- ],
- 'NextImageCreateTime' => [
- 'description' => '镜像下一次创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1682417553781'."\n",
- ],
- 'AutoImageCount' => [
- 'description' => '自动备份镜像数量。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'BackupHourInDay' => [
- 'description' => '备份时间,24小时制整点时间。',
- 'type' => 'string',
- 'example' => '13',
- ],
- 'SpInstanceId' => [
- 'description' => '售卖域备份ID。'."\n"
- .'仅中国内地密码机备份有此属性。',
- 'type' => 'string',
- 'example' => 'backup-fdb897sdfg534-****',
- ],
- 'ReleaseTime' => [
- 'description' => '备份释放时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1641275680000',
- ],
- 'OwnerInstanceId' => [
- 'description' => '备份所属的密码机实例ID。仅非中国内地密码机备份有此属性,且与InstanceId一致。',
- 'type' => 'string',
- 'example' => 'hsm-cn-vj30bil8****',
- ],
],
],
],
],
+ 'description' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
+ ['errorCode' => 'NoPermission.Error', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '查询支持加密服务的区域列表',
+ 'summary' => '查询支持加密服务的地域。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DescribeRegions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"TotalCount\\": 30,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"Backups\\": [\\n {\\n \\"BackupId\\": \\"backup-1648438****\\",\\n \\"CreateTime\\": 1637229596000,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"ap-southeast-1\\",\\n \\"Remark\\": \\"normal backup\\",\\n \\"Status\\": \\"ENABLED\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"NORMAL\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"AutoImageCount\\": 1,\\n \\"BackupHourInDay\\": \\"13\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg534-****\\",\\n \\"ReleaseTime\\": 1641275680000,\\n \\"OwnerInstanceId\\": \\"hsm-cn-vj30bil8****\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '查询备份列表',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LocalName\\": \\"Hangzhou Zone A\\",\\n \\"Cluster\\": \\"yes\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
- 'ConfigBackupTask' => [
- 'summary' => '修改备份任务执行模式。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DownloadClusterManagedCert' => [
+ 'summary' => '下载集群托管证书。',
+ 'description' => '仅支持中国站中国地域的证书托管集群调用。',
+ 'path' => '/',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'],
],
'parameters' => [
[
- 'name' => 'BackupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'backup-173620705****',
- ],
- ],
- [
- 'name' => 'BackupPeriod',
- 'in' => 'query',
- 'schema' => [
- 'description' => '自动备份周期,单位天数。 取值为1、3、7、30。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'maximum' => '30',
- 'minimum' => '1',
- 'enumValueTitles' => [],
- 'example' => '3',
- 'enum' => [
- '1',
- '3',
- '7',
- '30',
- ],
- ],
- ],
- [
- 'name' => 'BackupHourInDay',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份时间,24小时制整点时间。取值:1~24。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'maximum' => '23',
- 'minimum' => '0',
- 'enumValueTitles' => [],
- 'example' => '12',
- 'enum' => [
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- '10',
- '11',
- '12',
- '13',
- '14',
- '15',
- '16',
- '17',
- '18',
- '19',
- '20',
- '21',
- '22',
- '23',
- ],
- ],
- ],
- [
- 'name' => 'Manual2PeriodicList',
+ 'name' => 'ClusterId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => '手动备份更新为自动备份的镜像ID列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '手动备份更新为自动备份的镜像ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'image-haiduf23bj****',
- ],
- 'required' => false,
- ],
- ],
- [
- 'name' => 'Periodic2ManualList',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => '自动备份更新为手动备份的镜像ID列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '自动备份更新为手动备份的镜像ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'image-daiduahsbj****',
- ],
- 'required' => false,
- ],
+ 'schema' => ['title' => '**ClusterId**'."\n", 'description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-001***hui'],
],
],
'responses' => [
200 => [
+ 'description' => '成功响应',
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回值。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Content' => ['description' => 'base64转码过的zip压缩文件,需要用base64解码得获取zip文件原内容,最后通过zip解压缩获取证书文件。', 'type' => 'string', 'example' => 'emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk='],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'Cluster.ClusterManagedCertDownload.NotSupport', 'errorMessage' => 'download cluster managed cert not support.', 'description' => ''],
+ ['errorCode' => 'Cluster.CertsManageNotFinished', 'errorMessage' => 'cluster certs manage not finished.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- [
- 'errorCode' => 'Backup.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for this backup type.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '下载集群托管证书',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DownloadClusterManagedCert',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置备份任务',
- 'description' => '仅支持中国内地密码机实例备份调用。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Content\\": \\"emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=\\"\\n}","type":"json"}]',
],
- 'ResetBackup' => [
- 'summary' => '将备份与当前实例解绑。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'EnableBackup' => [
+ 'summary' => '将备份与指定实例绑定。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2218,80 +2096,69 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'abilityTreeCode' => '203669',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****'],
+ ],
+ [
'name' => 'BackupId',
'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'backup-fdb897sdfg5****',
- ],
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => true, 'example' => 'backup-1736207****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '返回参数结构。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
+ 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- [
- 'errorCode' => 'Backup.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for this backup type.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '启用备份',
+ 'description' => '仅支持中国内地备份调用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:EnableBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '重置备份',
- 'description' => '仅支持中国内地密码机实例调用。',
],
- 'ConfigBackupRemark' => [
- 'summary' => '配置备份的名称及备注信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ExportImage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2300,56 +2167,63 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '203655',
- 'abilityTreeNodes' => [
- 'FEATUREhsmQEGDGS',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203656',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'BackupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '备份ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'backup-fdb897sdfg****',
- ],
- ],
- [
- 'name' => 'Remark',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '备份备注信息。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2月9日test1B',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
[
- 'name' => 'Name',
+ 'name' => 'ImageId',
'in' => 'query',
- 'schema' => [
- 'description' => '备份名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'backup-test',
- ],
+ 'schema' => ['description' => '镜像ID。', 'type' => 'string', 'required' => true, 'example' => 'image-8vbdd5uc6v10ecn5****'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '返回参数结构。',
+ 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Job' => [
+ 'description' => '返回的异步任务信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'b1748ca6-6b55-49f4-a6d4-2d694a9f3693'],
+ 'Type' => ['description' => '任务操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:已完成'."\n"
+ ."\n"
+ .'- false:未完成', 'type' => 'boolean', 'example' => 'true'],
+ 'Status' => [
+ 'description' => '任务状态。'."\n"
+ .'- running:执行中'."\n"
+ ."\n"
+ .' - cancel:取消'."\n"
+ .'- fail:失败 '."\n"
+ .'- success:成功',
+ 'type' => 'string',
+ 'enumValueTitles' => ['running' => '执行中', 'cancel' => '取消', 'fail' => '失败', 'success' => '成功'],
+ 'example' => 'running',
+ 'enum' => ['running', 'success', 'fail', 'cancel'],
+ ],
+ 'Response' => ['description' => '操作成功后的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '操作异常或者失败时的错误信息。', 'type' => 'string', 'example' => 'Job.Canceled'],
+ 'Process' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
+ ],
],
],
],
@@ -2357,489 +2231,212 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '导出镜像',
+ 'summary' => '导出指定密码机的镜像。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ExportImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置备份备注信息',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"b1748ca6-6b55-49f4-a6d4-2d694a9f3693\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"Job.Canceled\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]',
],
- 'DeleteCluster' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetAuditLogStatus' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '203664',
+ 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-NZB9Oj5Yfd8Y****',
- ],
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'GetOssBucket',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否获取可用于存储审计日志的OSS Bucket列表。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Success' => ['description' => '调用是否成功。'."\n"
+ ."\n"
+ .'- true:成功'."\n"
+ ."\n"
+ .'- false:失败', 'type' => 'boolean', 'example' => 'true'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'AuditLogStatus' => [
+ 'description' => '审计日志开通状态。'."\n"
+ .'- enable:已开通 '."\n"
+ .'- disable:未开通',
'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ 'enumValueTitles' => [],
+ 'example' => 'enable',
+ 'enum' => ['enable', 'disable'],
+ ],
+ 'GrantedServiceAccess' => ['description' => '是否授权加密服务投递日志。'."\n"
+ ."\n"
+ .'- true:已授权'."\n"
+ ."\n"
+ .'- false:未授权', 'type' => 'boolean', 'example' => 'true'],
+ 'AuditOssBucket' => ['description' => '审计日志存储的Bucket。', 'type' => 'string', 'example' => 'bucket-test'],
+ 'OssBuckets' => [
+ 'description' => '可用于存储审计日志的OSS Bucket列表。',
+ 'type' => 'array',
+ 'items' => ['description' => 'Bucket名称。', 'type' => 'string', 'example' => 'bucket-test'],
],
],
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'OSSPermissionDenied.Error', 'errorMessage' => '获取对应OSS bucket权限失败,请检查OSS权限设置: %s', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'title' => '查询审计日志开通状态',
+ 'summary' => '查询当前地域下审计日志开通状态。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetAuditLogStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '删除集群',
- 'summary' => '删除指定集群。',
- 'description' => '只有集群不存在密码机实例时可以删除。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Success\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AuditLogStatus\\": \\"enable\\",\\n \\"GrantedServiceAccess\\": true,\\n \\"AuditOssBucket\\": \\"bucket-test\\",\\n \\"OssBuckets\\": [\\n \\"bucket-test\\"\\n ]\\n}","type":"json"}]',
],
- 'JoinCluster' => [
- 'summary' => '将集群外的一台密码机加入当前集群。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetBackup' => [
+ 'summary' => '查询指定备份信息。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeCode' => '203668',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'title' => '集群ID',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-NZB9Oj5Yfd8Y****',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'title' => '实例ID',
- 'description' => '加入集群的密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => false, 'example' => 'backup-fdb897sdf****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiJoinClusterResponse>',
- 'description' => 'PlainResult<OpenApiJoinClusterResponse>',
+ 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '请求的唯一标识符',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Job' => [
- 'title' => '异步任务对象',
- 'description' => '任务详情。',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Backup' => [
+ 'description' => '返回的备份信息。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'title' => '异步任务ID',
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-202401250936hze747fd7e0007005',
- ],
- 'Type' => [
- 'title' => '任务类型',
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
+ 'BackupId' => ['description' => '备份ID。', 'type' => 'string', 'example' => 'backup-fdb897sdf****'],
+ 'CreateTime' => ['description' => '备份创建时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'],
+ 'ExpireTime' => ['description' => '备份过期时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'],
+ 'InstanceId' => ['description' => '备份关联的密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-5yd35431****'],
+ 'Name' => ['description' => '备份名称。', 'type' => 'string', 'example' => 'backup-te****'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'Remark' => ['description' => '备份备注。', 'type' => 'string', 'example' => 'test'],
+ 'Status' => [
+ 'description' => '备份状态。'."\n"
."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'title' => '任务完成情况',
- 'description' => '任务是否完成。'."\n"
+ .'- NEW:未启用'."\n"
."\n"
- .'- true:是'."\n"
+ .'- EXPIRED:已过期'."\n"
."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'title' => '创建时间',
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
+ .'- ENABLED:已启用',
'type' => 'string',
- 'example' => '1711764127000',
+ 'enumValueTitles' => [],
+ 'example' => 'NEW',
+ 'enum' => ['EXPIRED', 'ENABLED', 'NEW'],
],
- 'Status' => [
- 'title' => '任务状态',
- 'description' => '任务状态。'."\n"
- ."\n"
- .'- success:任务成功'."\n"
- ."\n"
- .'- running:任务执行中'."\n"
+ 'MaxImageCount' => ['description' => '最大镜像数量。', 'type' => 'string', 'example' => '3'],
+ 'Type' => [
+ 'description' => '备份类型。'."\n"
."\n"
- .'- cancel:任务取消'."\n"
+ .'- DEFAULT:默认备份'."\n"
."\n"
- .'- fail:任务失败',
- 'type' => 'string',
- 'example' => 'running',
- ],
- 'Response' => [
- 'title' => '任务返回值',
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'title' => '任务报错信息',
- 'description' => '任务失败时的错误信息。',
+ .'- NORMAL:普通备份',
'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'title' => '任务进度',
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '86',
- ],
+ 'enumValueTitles' => [],
+ 'example' => 'DEFAULT',
+ 'enum' => ['DEFAULT', 'NORMAL'],
+ ],
+ 'BackupPeriod' => ['description' => '自动备份周期,单位天数。', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'NextImageCreateTime' => ['description' => '镜像下一次创建时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'],
+ 'BackupHourInDay' => ['description' => '备份时间,24小时制整点时间。', 'type' => 'string', 'example' => '10'],
+ 'SpInstanceId' => ['description' => '售卖域备份ID。 仅中国内地密码机备份有此属性。', 'type' => 'string', 'example' => 'backup-fdb897sdfg53****'],
+ 'AutoImageCount' => ['description' => '自动备份镜像数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'OwnerInstanceId' => ['description' => '备份所属的密码机实例ID。仅非中国内地密码机备份有此属性,且与InstanceId一致。', 'type' => 'string', 'example' => 'hsm-cn-huoahd****'],
+ 'ReleaseTime' => ['description' => '备份释放时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000'],
],
],
],
@@ -2847,389 +2444,149 @@
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'JoinCluster.InvalidDeviceVersion',
- 'errorMessage' => 'Instance version is lower than the master in the cluster.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ClusterModeInvalid',
- 'errorMessage' => 'This API is forbidden for current cluster mode.',
- ],
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- [
- 'errorCode' => 'JoinCluster.InvalidDeviceType',
- 'errorMessage' => 'Instance device type mismatches with the cluster\'s.',
- ],
- [
- 'errorCode' => 'JoinCluster.InvalidPqcStatus',
- 'errorMessage' => 'Instance pqc status mismatches with the cluster\'s.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询备份',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]',
- 'title' => '加入集群',
- 'description' => '- 只有已初始化(INITIALIZED)状态的集群可加入新的密码机实例。'."\n"
- .'- 待加入集群的密码机实例状态为已启用或未启用,且未初始化。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Backup\\": {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"CreateTime\\": 1682417553781,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-5yd35431****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"DEFAULT\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"BackupHourInDay\\": \\"10\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg53****\\",\\n \\"AutoImageCount\\": 1,\\n \\"OwnerInstanceId\\": \\"hsm-cn-huoahd****\\",\\n \\"ReleaseTime\\": 1641275680000\\n }\\n}","type":"json"}]',
],
- 'ConfigClusterSubnet' => [
- 'summary' => '修改集群绑定的交换机列表。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetCluster' => [
+ 'summary' => '查询指定集群信息。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '211854',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。可以通过调用ListCluster获取集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-BqxX63Bsg****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'VpcId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'VPC网络ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-7xvkh90cw39p0****',
- ],
- ],
- [
- 'name' => 'VSwitchIds',
- 'in' => 'formData',
- 'style' => 'json',
- 'schema' => [
- 'description' => '集群配置的交换机列表。注意:必须包含集群要配置的所有交换机。',
- 'type' => 'array',
- 'items' => [
- 'description' => '交换机ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-2zeqkh8ar8yey5ejv****',
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-p94y1dud9ts****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'PlainResult<OpenApiGetClusterResponse>',
+ 'description' => 'PlainResult<OpenApiGetClusterResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049366F216',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Cluster' => [
+ 'description' => '集群信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ClusterId' => ['title' => '集群基础信息', 'description' => '集群ID。', 'type' => 'string', 'example' => 'cluster-p94y1dud9ts****'],
+ 'ClusterName' => ['description' => '集群名称。', 'type' => 'string', 'example' => 'cluster_polar_****'],
+ 'Status' => ['description' => '集群状态。'."\n"
+ ."\n"
+ .'- NEW:未初始化'."\n"
+ ."\n"
+ .'- INITIALIZED:已初始化'."\n"
+ ."\n"
+ .'- DELETED:已删除'."\n"
+ ."\n"
+ .'- SYNCHRONIZING:同步中'."\n"
+ ."\n"
+ .'- TO_DELETE:待删除', 'type' => 'string', 'example' => 'NEW'],
+ 'CreateTime' => ['title' => '时间信息', 'description' => '集群创建时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000'],
+ 'RegionId' => ['title' => '地域与可用区信息', 'description' => '集群所在地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'VpcId' => ['title' => '网络配置信息', 'description' => '集群所属VPC ID。', 'type' => 'string', 'example' => 'vpc-8vbt0fjdm29hofvbo****'],
+ 'Whitelist' => ['description' => '集群访问白名单列表。', 'type' => 'string', 'example' => '130.176.XX.XX'],
+ 'Zones' => [
+ 'description' => '集群可用区列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VSwitchId' => ['description' => '交换机ID。', 'type' => 'string', 'example' => 'vsw-uf61s651p69bdgmki****'],
+ 'ZoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-j'],
+ ],
+ ],
+ ],
+ 'DeviceType' => ['title' => '规格信息', 'description' => '设备类型。', 'type' => 'string', 'example' => 'jnta'],
+ 'ClusterCsr' => ['title' => '证书信息', 'description' => '集群证书签名请求文件。', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE REQUEST-----\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****'."\n"
+ .'-----END CERTIFICATE REQUEST-----'],
+ 'ClusterCertificate' => ['description' => '集群证书。', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n"
+ .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n"
+ .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n"
+ .'YmEgQ2xvdWQxFDA****'."\n"
+ .'-----END CERTIFICATE-----'],
+ 'ClusterOwnerCertificate' => ['description' => '集群自签名证书。', 'type' => 'string', 'example' => '----BEGIN CERTIFICATE-----'."\n"
+ .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n"
+ .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n"
+ .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****'."\n"
+ .'-----END CERTIFICATE-----'],
+ 'Size' => ['title' => '实例信息', 'description' => '集群内实例数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'Instances' => [
+ 'description' => '集群实例列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '密码机实例信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['title' => '实例基础信息', 'description' => '密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-g6z3v0uf****'],
+ 'NodeId' => ['title' => '状态', 'description' => '密码机实例在集群中的编号。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Master' => ['description' => '是否为主密码机。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'true'],
+ ],
+ ],
+ ],
+ 'ClusterMode' => ['description' => '集群模式。'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- 0: 手动同步集群'."\n"
+ .'- 1: 自动同步集群(中国内地密码机集群)'."\n"
+ .'- 2: 自动同步集群(非中国内地密码机集群)'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n\n"
+ .'<props="intl">'."\n"
+ .'2: 自动同步集群'."\n"
+ .'</props>', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'EntityCertExpireTime' => ['description' => '集群托管证书到期时间,精确到毫秒,时间戳格式。'."\n"
+ .'仅当CertManaged为true时该值有意义。', 'type' => 'string', 'example' => '1641275680000'],
+ 'CertManaged' => ['description' => '集群证书是否托管。'."\n"
+ ."\n"
+ .'- true:托管'."\n"
+ ."\n"
+ .'- false:非托管', 'type' => 'boolean', 'example' => 'true'],
+ 'KmsInstanceId' => ['title' => 'KMS实例ID', 'type' => 'string', 'example' => 'kst-xxx'],
+ ],
],
],
],
@@ -3237,1027 +2594,585 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询集群',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
- 'title' => '配置集群交换机',
- 'description' => '全量配置对应集群绑定的交换机列表,仅允许新增交换机,不允许删除交换机。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Cluster\\": {\\n \\"ClusterId\\": \\"cluster-p94y1dud9ts****\\",\\n \\"ClusterName\\": \\"cluster_polar_****\\",\\n \\"Status\\": \\"NEW\\",\\n \\"CreateTime\\": 1641275680000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VpcId\\": \\"vpc-8vbt0fjdm29hofvbo****\\",\\n \\"Whitelist\\": \\"130.176.XX.XX\\",\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-uf61s651p69bdgmki****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-j\\"\\n }\\n ],\\n \\"DeviceType\\": \\"jnta\\",\\n \\"ClusterCsr\\": \\"-----BEGIN CERTIFICATE REQUEST-----\\\\\\\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\\\\\\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****\\\\n-----END CERTIFICATE REQUEST-----\\",\\n \\"ClusterCertificate\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV\\\\nBAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh\\\\nYmEgQ2xvdWQxFDA****\\\\n-----END CERTIFICATE-----\\",\\n \\"ClusterOwnerCertificate\\": \\"----BEGIN CERTIFICATE-----\\\\nMIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV\\\\nBAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG\\\\nA1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****\\\\n-----END CERTIFICATE-----\\",\\n \\"Size\\": 2,\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-g6z3v0uf****\\",\\n \\"NodeId\\": 1,\\n \\"Master\\": true\\n }\\n ],\\n \\"ClusterMode\\": 2,\\n \\"EntityCertExpireTime\\": \\"1641275680000\\",\\n \\"CertManaged\\": true,\\n \\"KmsInstanceId\\": \\"kst-xxx\\"\\n }\\n}","type":"json"}]',
],
- 'SyncCluster' => [
- 'summary' => '同步集群内实例数据。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetImage' => [
+ 'summary' => '查询指定镜像信息。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- ],
+ 'abilityTreeCode' => '203665',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-BqxX63Bsgytet****',
- ],
+ 'name' => 'ImageId',
+ 'in' => 'query',
+ 'schema' => ['description' => '镜像ID。', 'type' => 'string', 'required' => true, 'example' => 'image-wz9c5ths5dfuwx47****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiSyncClusterResponse>',
- 'description' => 'PlainResult<OpenApiSyncClusterResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Job' => [
- 'description' => '任务详情。',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Image' => [
+ 'description' => '返回的镜像信息。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-000bu7m5vjmyz9s7qz85',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
+ 'BackupId' => ['description' => '备份ID。', 'type' => 'string', 'example' => 'backup-1618017313'],
+ 'ExportTime' => ['description' => '镜像生成时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1786776567788'],
+ 'ImageId' => ['description' => '镜像ID。', 'type' => 'string', 'example' => 'image-wz9c5ths5dfuwx47****'],
+ 'InstanceId' => ['description' => '密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-9lb32vll****'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'Remark' => ['description' => '备份备注。', 'type' => 'string', 'example' => 'hsm-test'],
+ 'Status' => [
+ 'description' => '镜像状态。'."\n"
."\n"
- .'- create:创建任务'."\n"
+ .'- NEW:未启用'."\n"
."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。'."\n"
+ .'- DELETED:已删除'."\n"
."\n"
- .'- true:是'."\n"
+ .'- CREATING:创建中'."\n"
."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
+ .'- NORMAL:创建完成',
'type' => 'string',
- 'example' => '1711764127000',
+ 'enumValueTitles' => [],
+ 'example' => 'NEW',
+ 'enum' => ['CREATING', 'NEW', 'NORMAL', 'DELETED'],
],
- 'Status' => [
- 'description' => '任务状态。'."\n"
- ."\n"
- .'- success:任务成功'."\n"
- ."\n"
- .'- running:任务执行中'."\n"
+ 'Mode' => [
+ 'description' => '镜像生成模式。'."\n"
."\n"
- .'- cancel:任务取消'."\n"
+ .'- PERIODIC:自动生成'."\n"
."\n"
- .'- fail:任务失败',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
+ .'- MANUAL:手动生成',
'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '90',
- ],
+ 'enumValueTitles' => [],
+ 'example' => 'MANUAL',
+ 'enum' => ['MANUAL', 'PERIODIC'],
+ ],
+ 'VsmDigest' => ['description' => '密码机实例摘要。', 'type' => 'string', 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****'],
+ 'SourceImageUid' => ['description' => '源镜像ID。', 'type' => 'string', 'example' => 'image-kklhhhh****'],
+ 'SourceRegionId' => ['description' => '源镜像的地域ID。', 'type' => 'string', 'example' => 'cn-beijing'],
+ 'SourceBackupUid' => ['description' => '源备份ID。', 'type' => 'string', 'example' => 'backup-gfuiasdfa****'],
+ 'SourceInstanceId' => ['description' => '源实例ID。', 'type' => 'string', 'example' => 'hsm-wz9fnmvx190shfbk****'],
+ 'CopyTime' => ['description' => '镜像复制时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000'],
],
],
],
+ 'description' => '',
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'Cluster.CN.ClusterModeInvalid',
- 'errorMessage' => 'This API is forbidden for current cluster mode.',
- ],
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询镜像',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Image\\": {\\n \\"BackupId\\": \\"backup-1618017313\\",\\n \\"ExportTime\\": 1786776567788,\\n \\"ImageId\\": \\"image-wz9c5ths5dfuwx47****\\",\\n \\"InstanceId\\": \\"hsm-cn-9lb32vll****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"hsm-test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"Mode\\": \\"MANUAL\\",\\n \\"VsmDigest\\": \\"3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****\\",\\n \\"SourceImageUid\\": \\"image-kklhhhh****\\",\\n \\"SourceRegionId\\": \\"cn-beijing\\",\\n \\"SourceBackupUid\\": \\"backup-gfuiasdfa****\\",\\n \\"SourceInstanceId\\": \\"hsm-wz9fnmvx190shfbk****\\",\\n \\"CopyTime\\": 1641275680000\\n }\\n}","type":"json"}]',
+ ],
+ 'GetInstance' => [
+ 'summary' => '查询指定实例信息。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '209071',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmUNBCOF', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
+ ],
+ 'parameters' => [
[
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['title' => '密码机实例ID。', 'description' => '密码机实例ID。', 'type' => 'string', 'required' => false, 'example' => 'hsm-cn-vj30bil****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<OpenApiGetInstanceResponse>',
+ 'description' => 'PlainResult<OpenApiGetInstanceResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Instance' => [
+ 'title' => '实例信息。',
+ 'description' => '实例信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['title' => '实例基础信息', 'description' => '密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-g4t3jwsc****'],
+ 'Remark' => ['title' => '备注信息。', 'description' => '备注信息。', 'type' => 'string', 'example' => 'hsmOnline'],
+ 'RegionId' => ['title' => '地域ID。', 'description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'ZoneId' => ['title' => '可用区ID。', 'description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-b'],
+ 'Vendor' => ['title' => '硬件信息', 'description' => '厂商信息。', 'type' => 'string', 'example' => 'jnta'],
+ 'DeviceType' => ['title' => '设备类型。', 'description' => '设备类型。', 'type' => 'string', 'example' => 'jnta.SJJ1528-G'],
+ 'PqcEnabled' => [
+ 'title' => '实例是否启用PQC功能',
+ 'description' => '实例是否启用PQC功能',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ 'enum' => ['1', '0'],
+ ],
+ 'TpsEnabled' => [
+ 'description' => '实例是否支持TPS监控。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enumValueTitles' => ['不支持', '支持'],
+ 'example' => '1',
+ 'enum' => ['0', '1'],
+ ],
+ 'TenantIsolationType' => ['title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', 'description' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', 'type' => 'string', 'example' => 'hostedHsm'],
+ 'OrderId' => ['title' => '售卖信息', 'description' => '订单ID。', 'type' => 'string', 'example' => '23576634952****'],
+ 'IsTrial' => ['title' => '是否试用。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'description' => '是否试用。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'false'],
+ 'VpcId' => ['title' => '网络配置', 'description' => '实例所属VPC ID。', 'type' => 'string', 'example' => 'vpc-uf69i66j9kmoko52p****'],
+ 'VSwitchId' => ['title' => '密码机实例配置的交换机ID。', 'description' => '密码机实例配置的交换机ID。', 'type' => 'string', 'example' => 'vsw-bp1mvfs31ltt0wyhf****'],
+ 'Ip' => ['title' => '密码机实例在VPC网络中的IP地址。', 'description' => '密码机实例在VPC网络中的IP地址。', 'type' => 'string', 'example' => '10.192.XX.XX'],
+ 'Whitelist' => ['title' => '白名单IP列表。', 'description' => '白名单IP列表。', 'type' => 'string', 'example' => '18.68.XX.XX'],
+ 'CreateTime' => ['title' => '时间信息', 'description' => '实例创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1699515963000'],
+ 'ExpireTime' => ['title' => '实例过期时间。', 'description' => '实例过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1699496389720'],
+ 'ClusterId' => ['title' => '集群信息', 'description' => '实例所属集群ID。', 'type' => 'string', 'example' => 'cluster-w3G9vOJI2****'],
+ 'ClusterName' => ['title' => '集群名称。', 'description' => '集群名称。', 'type' => 'string', 'example' => 'cluster_online'],
+ 'Master' => ['title' => '是否为主密码机。 '."\n"
+ ."\n"
+ .'- true:主密码机'."\n"
+ ."\n"
+ .' - false:子密码机', 'description' => '是否为主密码机。 '."\n"
+ ."\n"
+ .'- true:主密码机'."\n"
+ ."\n"
+ .' - false:子密码机', 'type' => 'boolean', 'example' => 'true'],
+ 'Status' => ['title' => '数据状态', 'description' => '实例状态。 '."\n"
+ ."\n"
+ .'- PENDING:未启用'."\n"
+ ."\n"
+ .' - ACTIVE:已启用'."\n"
+ ."\n"
+ .' - EXPIRED:已过期'."\n"
+ ."\n"
+ .' - INVALID:已失效'."\n"
+ ."\n"
+ .' - FAILURE:生产失败'."\n"
+ ."\n"
+ .' - RESET:重置中'."\n"
+ ."\n"
+ .'- PAUSED:已停用'."\n"
+ ."\n"
+ .' - MODIFYING:变更中', 'type' => 'string', 'example' => 'EXPIRED'],
+ 'Certification' => ['title' => '密码机资质认证', 'description' => '密码机资质认证。', 'type' => 'string', 'example' => 'GM/T0028_LEVEL_2'],
+ 'CertificationUrl' => ['description' => '密码机资质认证证书下载链接。', 'type' => 'string', 'example' => 'https://xxxxxx'],
+ 'KmsInstanceId' => ['title' => 'KMS实例ID', 'type' => 'string', 'example' => 'kst-xxxxx'],
+ ],
+ ],
+ ],
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-000bu7m5vjmyz9s7qz85\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 90\\n }\\n}","type":"json"}]',
- 'title' => '同步集群',
- 'description' => '- 只有中国内地手动同步密码机集群支持此接口。'."\n"
- ."\n"
- .'- 同步集群预计需要5分钟,请在业务空闲期进行同步,以免影响业务运行。',
- ],
- 'InitializeCluster' => [
- 'summary' => '初始化集群。',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'https',
+ 'title' => '查询实例',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instance\\": {\\n \\"InstanceId\\": \\"hsm-cn-g4t3jwsc****\\",\\n \\"Remark\\": \\"hsmOnline\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"Vendor\\": \\"jnta\\",\\n \\"DeviceType\\": \\"jnta.SJJ1528-G\\",\\n \\"PqcEnabled\\": 1,\\n \\"TpsEnabled\\": 1,\\n \\"TenantIsolationType\\": \\"hostedHsm\\",\\n \\"OrderId\\": \\"23576634952****\\",\\n \\"IsTrial\\": false,\\n \\"VpcId\\": \\"vpc-uf69i66j9kmoko52p****\\",\\n \\"VSwitchId\\": \\"vsw-bp1mvfs31ltt0wyhf****\\",\\n \\"Ip\\": \\"10.192.XX.XX\\",\\n \\"Whitelist\\": \\"18.68.XX.XX\\",\\n \\"CreateTime\\": 1699515963000,\\n \\"ExpireTime\\": 1699496389720,\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"ClusterName\\": \\"cluster_online\\",\\n \\"Master\\": true,\\n \\"Status\\": \\"EXPIRED\\",\\n \\"Certification\\": \\"GM/T0028_LEVEL_2\\",\\n \\"CertificationUrl\\": \\"https://xxxxxx\\",\\n \\"KmsInstanceId\\": \\"kst-xxxxx\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetJob' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '201995',
+ 'abilityTreeNodes' => ['FEATUREhsm01FLNB', 'FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-p94y1dud9****',
- ],
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => ['description' => '任务ID。', 'type' => 'string', 'required' => true, 'example' => 'job-202401250936hze747fd7e0007005'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'Schema of Response',
+ 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049366F216',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Job' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:已完成'."\n"
+ ."\n"
+ .'- false:未完成', 'type' => 'boolean', 'example' => 'true'],
+ 'Status' => ['description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:成功'."\n"
+ ."\n"
+ .'- running:执行中'."\n"
+ ."\n"
+ .'- fail:失败'."\n"
+ .'- cancel:取消', 'type' => 'string', 'example' => 'fail'],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int64', 'example' => '95'],
+ ],
],
],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '获取异步任务',
+ 'summary' => '获取异步任务的详细信息。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"fail\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 95\\n }\\n}","type":"json"}]',
+ ],
+ 'InitializeAuditLog' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ 'AK' => [],
],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4FE969D9-E1C7-5274-BE7D-8C3534587605'],
+ ],
+ 'description' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'CreateServiceLinkedRole.Error %s', 'errorMessage' => 'sdfsfa %s', 'description' => ''],
+ ],
+ 404 => [
+ ['errorCode' => 'EntityNotExist.Service', 'errorMessage' => '服务不存在: %s', 'description' => ''],
+ ['errorCode' => 'EntityNotExist.User', 'errorMessage' => '角色不存在: %s', 'description' => ''],
+ ['errorCode' => 'NoPermission.Client', 'errorMessage' => '当前账户无创建服务角色权限!', 'description' => ''],
+ ],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'EntityAlreadyExists.Role', 'errorMessage' => '服务角色已存在,请勿重复创建!', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '初始化审计日志',
+ 'summary' => '授权加密服务投递日志。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:InitializeAuditLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
- 'title' => '初始化集群',
- 'description' => '- 集群为未初始化状态,且集群主密码机已初始化。'."\n"
- ."\n"
- .'- 集群已配置2个及以上交换机。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FE969D9-E1C7-5274-BE7D-8C3534587605\\"\\n}","type":"json"}]',
],
- 'SwitchClusterMaster' => [
- 'summary' => '将集群内一台子密码机切换为主密码机。中国内地手动同步集群不支持此接口。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'InitializeCluster' => [
+ 'summary' => '初始化集群。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4269,33 +3184,13 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-w3G9vOJI2****',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '切换为主密码机的密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-p94y1dud9****'],
],
],
'responses' => [
@@ -4305,349 +3200,181 @@
'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'Cluster.CN.ClusterModeInvalid',
- 'errorMessage' => 'This API is forbidden for current cluster mode.',
- ],
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '初始化集群',
+ 'description' => '- 集群为未初始化状态,且集群主密码机已初始化。'."\n"
+ ."\n"
+ .'- 集群已配置2个及以上交换机。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:InitializeCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '切换集群主密码机',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
],
- 'ConfigClusterName' => [
- 'summary' => '修改集群名称。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'JoinCluster' => [
+ 'summary' => '将集群外的一台密码机加入当前集群。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-BqxX63Bsgfaisdf****',
- ],
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-NZB9Oj5Yfd8Y****', 'title' => '集群ID'],
],
[
- 'name' => 'ClusterName',
+ 'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster_on****',
- ],
+ 'schema' => ['description' => '加入集群的密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => '实例ID'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'PlainResult<OpenApiJoinClusterResponse>',
+ 'description' => 'PlainResult<OpenApiJoinClusterResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => '请求的唯一标识符'],
+ 'Job' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005', 'title' => '异步任务ID'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create', 'title' => '任务类型'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'true', 'title' => '任务完成情况'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1711764127000', 'title' => '创建时间'],
+ 'Status' => ['description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:任务成功'."\n"
+ ."\n"
+ .'- running:任务执行中'."\n"
+ ."\n"
+ .'- cancel:任务取消'."\n"
+ ."\n"
+ .'- fail:任务失败', 'type' => 'string', 'example' => 'running', 'title' => '任务状态'],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success', 'title' => '任务返回值'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => '任务报错信息'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '86', 'title' => '任务进度'],
+ ],
+ 'title' => '异步任务对象',
],
],
],
@@ -4655,288 +3382,114 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'JoinCluster.InvalidDeviceVersion', 'errorMessage' => 'Instance version is lower than the master in the cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InvalidDeviceType', 'errorMessage' => 'Instance device type mismatches with the cluster\'s.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InvalidPqcStatus', 'errorMessage' => 'Instance pqc status mismatches with the cluster\'s.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '加入集群',
+ 'description' => '- 只有已初始化(INITIALIZED)状态的集群可加入新的密码机实例。'."\n"
+ .'- 待加入集群的密码机实例状态为已启用或未启用,且未初始化。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:JoinCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置集群名称',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]',
],
'LeaveCluster' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => '将集群内的一台密码机移出当前集群。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4948,27 +3501,18 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'ClusterId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-729dm40FG****',
- ],
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-729dm40FG****'],
],
[
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '移出集群的密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-mp90fxef****',
- ],
+ 'schema' => ['description' => '移出集群的密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****'],
],
],
'responses' => [
@@ -4978,661 +3522,252 @@
'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => '移出集群',
- 'summary' => '将集群内的一台密码机移出当前集群。',
'description' => '- 集群内存在子密码机时无法移出主密码机'."\n"
."\n"
.'- 主密码机移出后,集群进入待删除(TO_DELETE)状态,且无法恢复到可用状态,请谨慎操作。',
- ],
- 'CreateCluster' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:LeaveCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ ],
+ 'ListBackups' => [
+ 'summary' => '获取符合查询条件的备份集合。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '203775',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'ClusterName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster_on****',
- ],
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => '当前分页。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'],
],
[
- 'name' => 'MasterInstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '主密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm_intl-sg-uz63ixak****',
- ],
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '每页显示的备份个数。取值:1~1000。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '20'],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份名称。', 'type' => 'string', 'required' => false, 'example' => 'hsm-te****'],
+ ],
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => false, 'example' => 'backup-1648438****'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => false, 'example' => 'hsm-cn-vj30bil8****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiCreateClusterResponse>',
- 'description' => 'PlainResult<OpenApiCreateClusterResponse>',
+ 'description' => '响应信息。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '5F58413E-8F57-585B-BE48-64CC1E31133C',
- ],
- 'ClusterId' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'example' => 'cluster-729dm40FG****',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'TotalCount' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '30'],
+ 'PageSize' => ['description' => '每页显示的备份个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'CurrentPage' => ['description' => '当前分页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Backups' => [
+ 'description' => '返回的备份列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '备份详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'BackupId' => ['description' => '备份ID。', 'type' => 'string', 'example' => 'backup-1648438****'],
+ 'CreateTime' => ['description' => '备份创建时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1637229596000'],
+ 'ExpireTime' => ['description' => '备份过期时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'."\n"],
+ 'InstanceId' => ['description' => '备份关联的密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****'],
+ 'Name' => ['description' => '备份名称。', 'type' => 'string', 'example' => 'backup-te****'],
+ 'RegionId' => ['description' => '区域ID。', 'type' => 'string', 'example' => 'ap-southeast-1'],
+ 'Remark' => ['description' => '备份备注。', 'type' => 'string', 'example' => 'normal backup'],
+ 'Status' => [
+ 'description' => '备份状态。'."\n"
+ .'- NEW:未启用'."\n"
+ .'- EXPIRED:已过期'."\n"
+ .'- ENABLED:已启用',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'ENABLED',
+ 'enum' => ['NEW', 'ENABLED', 'EXPIRED'],
+ ],
+ 'MaxImageCount' => ['description' => '镜像数量。', 'type' => 'string', 'example' => '3'],
+ 'Type' => [
+ 'description' => '备份类型。'."\n"
+ .'- DEFAULT:默认备份'."\n"
+ .'- NORMAL:普通备份',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'NORMAL',
+ 'enum' => ['NORMAL', 'DEFAULT'],
+ ],
+ 'BackupPeriod' => ['description' => '自动备份周期,单位天数。', 'type' => 'integer', 'format' => 'int64', 'example' => '3'],
+ 'NextImageCreateTime' => ['description' => '镜像下一次创建时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'."\n"],
+ 'AutoImageCount' => ['description' => '自动备份镜像数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'BackupHourInDay' => ['description' => '备份时间,24小时制整点时间。', 'type' => 'string', 'example' => '13'],
+ 'SpInstanceId' => ['description' => '售卖域备份ID。'."\n"
+ .'仅中国内地密码机备份有此属性。', 'type' => 'string', 'example' => 'backup-fdb897sdfg534-****'],
+ 'ReleaseTime' => ['description' => '备份释放时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000'],
+ 'OwnerInstanceId' => ['description' => '备份所属的密码机实例ID。仅非中国内地密码机备份有此属性,且与InstanceId一致。', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****'],
+ ],
+ ],
],
],
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询备份列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListBackups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5F58413E-8F57-585B-BE48-64CC1E31133C\\",\\n \\"ClusterId\\": \\"cluster-729dm40FG****\\"\\n}","type":"json"}]',
- 'title' => '创建集群',
- 'summary' => '选择一台密码机作为主密码机创建集群。',
- 'description' => '创建集群选择的密码机实例状态必须为ACTIVE(已启用)。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"TotalCount\\": 30,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"Backups\\": [\\n {\\n \\"BackupId\\": \\"backup-1648438****\\",\\n \\"CreateTime\\": 1637229596000,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"ap-southeast-1\\",\\n \\"Remark\\": \\"normal backup\\",\\n \\"Status\\": \\"ENABLED\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"NORMAL\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"AutoImageCount\\": 1,\\n \\"BackupHourInDay\\": \\"13\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg534-****\\",\\n \\"ReleaseTime\\": 1641275680000,\\n \\"OwnerInstanceId\\": \\"hsm-cn-vj30bil8****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListClusters' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -5644,39 +3779,28 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'KmsInstanceId',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => 'kst-xxxx'],
],
[
'name' => 'CurrentPage',
'in' => 'formData',
- 'schema' => [
- 'description' => '当前页。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '当前页。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'formData',
- 'schema' => [
- 'description' => '每页展示的集群数量。取值:1~1000。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '20',
- ],
+ 'schema' => ['description' => '每页展示的集群数量。取值:1~1000。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20'],
],
],
'responses' => [
@@ -5686,29 +3810,10 @@
'description' => 'OpenApiPageResult<OpenApiListClustersResponse>',
'type' => 'object',
'properties' => [
- 'Total' => [
- 'description' => '集群总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '114',
- ],
- 'PageSize' => [
- 'description' => '每页展示的集群数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentPage' => [
- 'description' => '当前页。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'Total' => ['description' => '集群总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '114'],
+ 'PageSize' => ['description' => '每页展示的集群数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'CurrentPage' => ['description' => '当前页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
'Clusters' => [
'description' => '集群列表。',
'type' => 'array',
@@ -5716,26 +3821,18 @@
'description' => '集群信息。',
'type' => 'object',
'properties' => [
- 'ClusterId' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'example' => 'cluster-w3G9vOJI2****',
- ],
- 'Status' => [
- 'description' => '集群状态。'."\n"
- ."\n"
- .'- NEW:未初始化'."\n"
- ."\n"
- .'- INITIALIZED:已初始化'."\n"
- ."\n"
- .'- DELETED:已删除'."\n"
- ."\n"
- .'- SYNCHRONIZING:同步中'."\n"
- ."\n"
- .'- TO_DELETE:待删除',
- 'type' => 'string',
- 'example' => 'INITIALIZED',
- ],
+ 'ClusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'cluster-w3G9vOJI2****'],
+ 'Status' => ['description' => '集群状态。'."\n"
+ ."\n"
+ .'- NEW:未初始化'."\n"
+ ."\n"
+ .'- INITIALIZED:已初始化'."\n"
+ ."\n"
+ .'- DELETED:已删除'."\n"
+ ."\n"
+ .'- SYNCHRONIZING:同步中'."\n"
+ ."\n"
+ .'- TO_DELETE:待删除', 'type' => 'string', 'example' => 'INITIALIZED'],
],
],
],
@@ -5745,644 +3842,247 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 114,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"Status\\": \\"INITIALIZED\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => '查询集群列表',
'summary' => '获取符合查询条件的集群集合。',
- ],
- 'ConfigClusterCertificate' => [
- 'summary' => '为非中国内地密码机集群配置证书。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 114,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"Status\\": \\"INITIALIZED\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListImages' => [
+ 'summary' => '查询符合条件的镜像集合。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '203777',
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-BqxX63Bsg****',
- ],
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => true, 'example' => 'backup-fdb897sdf****'],
],
[
- 'name' => 'IssuerCertificate',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '自签名证书。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN CERTIFICATE-----'."\n"
- .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n"
- .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n"
- .'YmEgQ2xvdWQxFDA****'."\n"
- .'-----END CERTIFICATE-----',
- ],
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'ClusterCertificate',
- 'in' => 'formData',
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '每页显示的镜像个数。取值:1~1000。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20'],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => '当前分页。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
'schema' => [
- 'description' => '集群证书。',
+ 'description' => '镜像生成模式。'."\n"
+ .'- PERIODIC:自动生成'."\n"
+ .'- MANUAL:手动生成',
'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN CERTIFICATE-----'."\n"
- .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n"
- .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n"
- .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****-----END CERTIFICATE-----',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'MANUAL',
+ 'enum' => ['MANUAL', 'PERIODIC'],
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'TotalCount' => ['description' => '返回的镜像总量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'],
+ 'PageSize' => ['description' => '每页显示的镜像个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'CurrentPage' => ['description' => '当前分页。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Images' => [
+ 'description' => '返回的镜像信息列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '镜像详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'BackupId' => ['description' => '备份ID。', 'type' => 'string', 'example' => 'backup-fdb897sdf****'],
+ 'ExportTime' => ['description' => '镜像生成时间,精确到毫秒。时间戳格式。', 'type' => 'integer', 'format' => 'int64', 'example' => '1782849566738'],
+ 'ImageId' => ['description' => '镜像ID。', 'type' => 'string', 'example' => 'image-d79x4k11pmg19****'],
+ 'InstanceId' => ['description' => '密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-6ja1xknf****'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'Remark' => ['description' => '备份备注。', 'type' => 'string', 'example' => 'hsm-test'],
+ 'Status' => [
+ 'description' => '镜像状态。'."\n"
+ ."\n"
+ .'- NEW:未启用'."\n"
+ ."\n"
+ .'- DELETED:已删除'."\n"
+ .'- CREATING:创建中'."\n"
+ .'- NORMAL:创建完成',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'CREATING',
+ 'enum' => ['NORMAL', 'NEW', 'DELETED', 'CREATING'],
+ ],
+ 'Mode' => [
+ 'description' => '镜像生成模式。'."\n"
+ .'- PERIODIC:自动生成'."\n"
+ .'- MANUAL:手动生成',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'MANUAL',
+ 'enum' => ['PERIODIC', 'MANUAL'],
+ ],
+ 'VsmDigest' => ['description' => '密码机实例摘要。', 'type' => 'string', 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****'],
+ 'SourceImageUid' => ['description' => '源镜像ID。', 'type' => 'string', 'example' => 'image-ooopjygsn****'],
+ 'SourceBackupUid' => ['description' => '源备份ID。', 'type' => 'string', 'example' => 'backup-hodfhaol****'],
+ 'SourceRegionId' => ['description' => '源镜像所在的地域ID。', 'type' => 'string', 'example' => 'cn-shanghai'],
+ 'SourceInstanceId' => ['description' => '源密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-wz9i2dmefudfxtmb****'],
+ 'CopyTime' => ['description' => '镜像复制时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1641275680000'],
+ ],
+ ],
],
],
+ 'description' => '',
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ['errorCode' => 'Backup.Deleted', 'errorMessage' => 'Backup has been deleted.', 'description' => ''],
],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '查询镜像列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListImages',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置集群证书',
- 'description' => '如何在ECS上创建自签名证书和集群签名证书,请参见[创建GVSM(NIST FIPS)密码机集群](~~293585~~)。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"TotalCount\\": 1000,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"Images\\": [\\n {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"ExportTime\\": 1782849566738,\\n \\"ImageId\\": \\"image-d79x4k11pmg19****\\",\\n \\"InstanceId\\": \\"hsm-cn-6ja1xknf****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"hsm-test\\",\\n \\"Status\\": \\"CREATING\\",\\n \\"Mode\\": \\"MANUAL\\",\\n \\"VsmDigest\\": \\"3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****\\",\\n \\"SourceImageUid\\": \\"image-ooopjygsn****\\",\\n \\"SourceBackupUid\\": \\"backup-hodfhaol****\\",\\n \\"SourceRegionId\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"hsm-cn-wz9i2dmefudfxtmb****\\",\\n \\"CopyTime\\": \\"1641275680000\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'GetCluster' => [
- 'summary' => '查询指定集群信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ListInstances' => [
+ 'summary' => '获取符合查询条件的实例集合。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6394,213 +4094,64 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeCode' => '209162',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmUNBCOF', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-p94y1dud9ts****',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'KmsInstanceId',
+ 'in' => 'query',
+ 'schema' => ['title' => '密钥管理服务实例ID', 'type' => 'string', 'example' => 'kst-xxx'],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'formData',
+ 'schema' => ['description' => '当前页数。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => ['description' => '每页查询数目。取值:1~1000。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20'],
+ ],
+ [
+ 'name' => 'TenantIsolationType',
+ 'in' => 'formData',
+ 'schema' => ['title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', 'description' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', 'type' => 'string', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiGetClusterResponse>',
- 'description' => 'PlainResult<OpenApiGetClusterResponse>',
+ 'title' => 'OpenApiPageResult<OpenApiListInstancesResponse>',
+ 'description' => 'OpenApiPageResult<OpenApiListInstancesResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Cluster' => [
- 'description' => '集群信息。',
- 'type' => 'object',
- 'properties' => [
- 'ClusterId' => [
- 'title' => '集群基础信息',
- 'description' => '集群ID。',
- 'type' => 'string',
- 'example' => 'cluster-p94y1dud9ts****',
- ],
- 'ClusterName' => [
- 'description' => '集群名称。',
- 'type' => 'string',
- 'example' => 'cluster_polar_****',
- ],
- 'Status' => [
- 'description' => '集群状态。'."\n"
- ."\n"
- .'- NEW:未初始化'."\n"
- ."\n"
- .'- INITIALIZED:已初始化'."\n"
- ."\n"
- .'- DELETED:已删除'."\n"
- ."\n"
- .'- SYNCHRONIZING:同步中'."\n"
- ."\n"
- .'- TO_DELETE:待删除',
- 'type' => 'string',
- 'example' => 'NEW',
- ],
- 'CreateTime' => [
- 'title' => '时间信息',
- 'description' => '集群创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1641275680000',
- ],
- 'RegionId' => [
- 'title' => '地域与可用区信息',
- 'description' => '集群所在地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'VpcId' => [
- 'title' => '网络配置信息',
- 'description' => '集群所属VPC ID。',
- 'type' => 'string',
- 'example' => 'vpc-8vbt0fjdm29hofvbo****',
- ],
- 'Whitelist' => [
- 'description' => '集群访问白名单列表。',
- 'type' => 'string',
- 'example' => '130.176.XX.XX',
- ],
- 'Zones' => [
- 'description' => '集群可用区列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '可用区。',
- 'type' => 'object',
- 'properties' => [
- 'VSwitchId' => [
- 'description' => '交换机ID。',
- 'type' => 'string',
- 'example' => 'vsw-uf61s651p69bdgmki****',
- ],
- 'ZoneId' => [
- 'description' => '可用区ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou-j',
- ],
- ],
- ],
- ],
- 'DeviceType' => [
- 'title' => '规格信息',
- 'description' => '设备类型。',
- 'type' => 'string',
- 'example' => 'jnta',
- ],
- 'ClusterCsr' => [
- 'title' => '证书信息',
- 'description' => '集群证书签名请求文件。',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE REQUEST-----\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****'."\n"
- .'-----END CERTIFICATE REQUEST-----',
- ],
- 'ClusterCertificate' => [
- 'description' => '集群证书。',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE-----'."\n"
- .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n"
- .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n"
- .'YmEgQ2xvdWQxFDA****'."\n"
- .'-----END CERTIFICATE-----',
- ],
- 'ClusterOwnerCertificate' => [
- 'description' => '集群自签名证书。',
- 'type' => 'string',
- 'example' => '----BEGIN CERTIFICATE-----'."\n"
- .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n"
- .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n"
- .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****'."\n"
- .'-----END CERTIFICATE-----',
- ],
- 'Size' => [
- 'title' => '实例信息',
- 'description' => '集群内实例数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'Instances' => [
- 'description' => '集群实例列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '密码机实例信息。',
- 'type' => 'object',
- 'properties' => [
- 'InstanceId' => [
- 'title' => '实例基础信息',
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-g6z3v0uf****',
- ],
- 'NodeId' => [
- 'title' => '状态',
- 'description' => '密码机实例在集群中的编号。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Master' => [
- 'description' => '是否为主密码机。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- ],
- ],
- ],
- 'ClusterMode' => [
- 'description' => '集群模式。'."\n"
- ."\n"
- .'<props="china">'."\n"
- ."\n"
- .'- 0: 手动同步集群'."\n"
- .'- 1: 自动同步集群(中国内地密码机集群)'."\n"
- .'- 2: 自动同步集群(非中国内地密码机集群)'."\n"
- ."\n"
- .'</props>'."\n"
- ."\n\n"
- .'<props="intl">'."\n"
- .'2: 自动同步集群'."\n"
- .'</props>',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'EntityCertExpireTime' => [
- 'description' => '集群托管证书到期时间,精确到毫秒,时间戳格式。'."\n"
- .'仅当CertManaged为true时该值有意义。',
- 'type' => 'string',
- 'example' => '1641275680000',
- ],
- 'CertManaged' => [
- 'description' => '集群证书是否托管。'."\n"
- ."\n"
- .'- true:托管'."\n"
- ."\n"
- .'- false:非托管',
- 'type' => 'boolean',
- 'example' => 'true',
+ 'Total' => ['description' => '实例总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
+ 'PageSize' => ['description' => '每页查询数目。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'CurrentPage' => ['description' => '当前页数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Instances' => [
+ 'description' => '实例列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '实例信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['description' => '密码机实例ID。', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****'],
+ 'Status' => ['description' => '实例状态。'."\n"
+ .'- PENDING:未启用'."\n"
+ .'- ACTIVE:已启用'."\n"
+ .'- EXPIRED:已过期'."\n"
+ .'- INVALID:已失效'."\n"
+ .'- FAILURE:生产失败'."\n"
+ .'- RESET:重置中'."\n"
+ .'- PAUSED:已停用'."\n"
+ .'- MODIFYING:变更中', 'type' => 'string', 'example' => 'ACTIVE'],
],
],
],
@@ -6610,292 +4161,213 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'InvalidTenantIsolationType.Error', 'errorMessage' => 'Invalid parameter tenantIsolationType. It must be: null, hostedHsm, or vsm.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HSMIntanceActived.Error', 'errorMessage' => 'actived hsm instance can not release', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IpAlreadyInUse', 'errorMessage' => 'Ip is in use, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.VpcIpNotMatched', 'errorMessage' => 'Vpc Ip must be in vpc network segment.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IpOverFlow', 'errorMessage' => 'Vpc ip last place can not be in [253-255].', 'description' => ''],
+ ['errorCode' => 'CanRefund.InstanceIdEmpty', 'errorMessage' => 'InstanceId is empty.', 'description' => ''],
+ ['errorCode' => 'CanRefund.InstanceNotFound', 'errorMessage' => 'Instance Not Exist.', 'description' => ''],
+ ['errorCode' => 'CanRefund.InstanceAlreadyReleased', 'errorMessage' => 'Instance already released.', 'description' => ''],
+ ['errorCode' => 'CanRefund.AliUidEmpty', 'errorMessage' => 'AliUid empty.', 'description' => ''],
+ ['errorCode' => 'CanRefund.NoSupportRefundOnline', 'errorMessage' => 'No support refund online.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''],
+ ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''],
+ ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''],
+ ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
+ ],
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => '查询实例列表',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListInstances',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 80,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Status\\": \\"ACTIVE\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'MoveResourceGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
+ ],
+ 'parameters' => [
[
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-2ze0qae64mjuc0ni****'],
],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => true, 'example' => 'rg-aek2tsvbnfe****'],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => '资源类型。', 'type' => 'string', 'required' => true, 'example' => 'instance'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '返回参数结构。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ ],
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'Parameter is invalid.', 'description' => '参数不合法'],
+ ],
+ 403 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission.', 'description' => '用户没有权限使用。'],
+ ],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '移动资源所在的资源组',
+ 'summary' => '移动资源所在的资源组。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:MoveResourceGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Cluster\\": {\\n \\"ClusterId\\": \\"cluster-p94y1dud9ts****\\",\\n \\"ClusterName\\": \\"cluster_polar_****\\",\\n \\"Status\\": \\"NEW\\",\\n \\"CreateTime\\": 1641275680000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VpcId\\": \\"vpc-8vbt0fjdm29hofvbo****\\",\\n \\"Whitelist\\": \\"130.176.XX.XX\\",\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-uf61s651p69bdgmki****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-j\\"\\n }\\n ],\\n \\"DeviceType\\": \\"jnta\\",\\n \\"ClusterCsr\\": \\"-----BEGIN CERTIFICATE REQUEST-----\\\\\\\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\\\\\\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****\\\\n-----END CERTIFICATE REQUEST-----\\",\\n \\"ClusterCertificate\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV\\\\nBAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh\\\\nYmEgQ2xvdWQxFDA****\\\\n-----END CERTIFICATE-----\\",\\n \\"ClusterOwnerCertificate\\": \\"----BEGIN CERTIFICATE-----\\\\nMIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV\\\\nBAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG\\\\nA1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****\\\\n-----END CERTIFICATE-----\\",\\n \\"Size\\": 2,\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-g6z3v0uf****\\",\\n \\"NodeId\\": 1,\\n \\"Master\\": true\\n }\\n ],\\n \\"ClusterMode\\": 2,\\n \\"EntityCertExpireTime\\": \\"1641275680000\\",\\n \\"CertManaged\\": true\\n }\\n}","type":"json"}]',
- 'title' => '查询集群',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'ConfigClusterWhitelist' => [
- 'summary' => '修改集群可访问的白名单列表。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'PauseInstance' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6907,27 +4379,13 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-729dm40FG****',
- ],
- ],
- [
- 'name' => 'Whitelist',
+ 'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '集群访问白名单列表。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '18.68.XX.XX',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
],
'responses' => [
@@ -6937,305 +4395,115 @@
'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
],
[
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
],
[
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '停用实例',
+ 'summary' => '停用实例。',
+ 'description' => '实例被停用后,业务操作将无法进行,请谨慎调用该操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:PauseInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置集群白名单',
- 'description' => '集群的白名单优先级高于实例的白名单。集群模式下建议您创建集群白名单,不需要再创建密码机白名单。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
],
'QuickDeployCluster' => [
- 'summary' => '快速部署集群。',
'path' => '',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7247,10 +4515,7 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'],
],
'parameters' => [
[
@@ -7260,24 +4525,14 @@
'schema' => [
'description' => '集群配置的交换机列表。',
'type' => 'array',
- 'items' => [
- 'description' => '交换机ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-2zeqkh8ar8yey5ejv****'."\n",
- ],
+ 'items' => ['description' => '交换机ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-2zeqkh8ar8yey5ejv****'."\n"],
'required' => true,
],
],
[
'name' => 'VpcId',
'in' => 'query',
- 'schema' => [
- 'description' => '密码机实例所属VPC ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-7xvkh90cw39p0****',
- ],
+ 'schema' => ['description' => '密码机实例所属VPC ID。', 'type' => 'string', 'required' => true, 'example' => 'vpc-7xvkh90cw39p0****'],
],
[
'name' => 'WhiteList',
@@ -7286,12 +4541,7 @@
'schema' => [
'description' => '集群访问白名单列表。',
'type' => 'array',
- 'items' => [
- 'description' => '集群访问白名单。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '18.68.XX.XX'."\n",
- ],
+ 'items' => ['description' => '集群访问白名单。', 'type' => 'string', 'required' => false, 'example' => '18.68.XX.XX'."\n"],
'required' => false,
],
],
@@ -7302,48 +4552,28 @@
'schema' => [
'description' => '密码机实例列表。',
'type' => 'array',
- 'items' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'hsm-cn-vj30bil8****'."\n",
- ],
+ 'items' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => false, 'example' => 'hsm-cn-vj30bil8****'."\n"],
'required' => true,
],
],
[
'name' => 'ClusterName',
'in' => 'query',
- 'schema' => [
- 'description' => '集群名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster_on****'."\n",
- ],
+ 'schema' => ['description' => '集群名称。', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****'."\n"],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'CertManaged',
'in' => 'query',
- 'schema' => [
- 'description' => '是否自动生成证书。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => '是否自动生成证书。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
],
'responses' => [
@@ -7353,72 +4583,35 @@
'description' => '返回值。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
'Job' => [
'description' => '任务详情。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-202401250936hze747fd7e0007005',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
- ."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1653274407000',
- ],
- 'Status' => [
- 'description' => '任务状态。'."\n"
- ."\n"
- .'- success:任务成功'."\n"
- ."\n"
- .'- running:任务执行中'."\n"
- ."\n"
- .'- cancel:任务取消'."\n"
- ."\n"
- .'- fail:任务失败',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '86',
- ],
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1653274407000'],
+ 'Status' => ['description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:任务成功'."\n"
+ ."\n"
+ .'- running:任务执行中'."\n"
+ ."\n"
+ .'- cancel:任务取消'."\n"
+ ."\n"
+ .'- fail:任务失败', 'type' => 'string', 'example' => 'success'],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '86'],
],
],
],
@@ -7427,204 +4620,116 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceAlreadyInitialized',
- 'errorMessage' => 'Instance already initialized.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceIncorrectState',
- 'errorMessage' => 'Instance not in Enable/Pending state.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceInvalidRegion',
- 'errorMessage' => 'Instance region invalid.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceVersionInvalid',
- 'errorMessage' => 'Instance device version is invalid',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceListInvalid',
- 'errorMessage' => 'Cluster contains instances not in the instance list.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceBelongsToOtherCluster',
- 'errorMessage' => 'Instance has been in other cluster.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InvalidVpcId',
- 'errorMessage' => 'The param vpcId is not the same as existed vpcId of cluster.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InvalidVSwitchIdCount',
- 'errorMessage' => 'VSwitch count is less than 2.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceCountInvalid',
- 'errorMessage' => 'Instance number less than 2.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceTypeInvalid',
- 'errorMessage' => 'Instance type invalid.',
- ],
- [
- 'errorCode' => 'QuickDeployCluster.InstanceTypeNotSame',
- 'errorMessage' => 'Instance type not same.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceAlreadyInitialized', 'errorMessage' => 'Instance already initialized.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Enable/Pending state.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceInvalidRegion', 'errorMessage' => 'Instance region invalid.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceVersionInvalid', 'errorMessage' => 'Instance device version is invalid', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceListInvalid', 'errorMessage' => 'Cluster contains instances not in the instance list.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceBelongsToOtherCluster', 'errorMessage' => 'Instance has been in other cluster.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InvalidVpcId', 'errorMessage' => 'The param vpcId is not the same as existed vpcId of cluster.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InvalidVSwitchIdCount', 'errorMessage' => 'VSwitch count is less than 2.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceCountInvalid', 'errorMessage' => 'Instance number less than 2.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceTypeInvalid', 'errorMessage' => 'Instance type invalid.', 'description' => ''],
+ ['errorCode' => 'QuickDeployCluster.InstanceTypeNotSame', 'errorMessage' => 'Instance type not same.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => '快速部署集群',
+ 'summary' => '快速部署集群。',
'description' => '- 所选密码机实例至少包含两个可用区。'."\n"
."\n"
.'- 虚拟交换机至少选择两个,且不包含重复可用区。',
- ],
- 'RotateClusterManagedCert' => [
- 'summary' => '轮转集群托管证书。',
- 'description' => '仅支持中国站中国地域的证书托管集群调用。',
- 'path' => '/',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:QuickDeployCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]',
+ ],
+ 'QuickInitInstance' => [
+ 'summary' => '快速初始化实例。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
- 'name' => 'ClusterId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '- **参数类型**: string'."\n"
- .'- **必填**: 是'."\n"
- .'- **后端接收参数**: clusterId'."\n",
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-hfau****gkaud',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****'],
],
],
'responses' => [
200 => [
- 'description' => '成功响应',
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '返回值。',
+ 'title' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
+ 'description' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216'],
'Job' => [
'description' => '任务详情。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-202401250936hze747fd7e0007005',
- ],
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-000fi9k1v2hclo321sal'],
'Type' => [
- 'description' => '任务操作类型。'."\n"
+ 'description' => '操作类型。'."\n"
."\n"
.'- create:创建任务'."\n"
- ."\n"
.'- cancel:取消任务',
'type' => 'string',
+ 'enumValueTitles' => [],
'example' => 'create',
],
- 'Completed' => [
- 'description' => '任务是否完成。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1653274407000',
- ],
+ 'Completed' => ['description' => '任务是否完成。', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1699515963000'],
'Status' => [
'description' => '任务状态。'."\n"
."\n"
.'- success:任务成功'."\n"
- ."\n"
.'- running:任务执行中'."\n"
- ."\n"
.'- cancel:任务取消'."\n"
- ."\n"
.'- fail:任务失败',
'type' => 'string',
- 'example' => 'running',
- ],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
+ 'enumValueTitles' => [],
'example' => 'success',
],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Process' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
],
],
],
@@ -7633,130 +4738,109 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'Cluster.ClusterManagedCertRotate.NotSupport',
- 'errorMessage' => 'rotate cluster managed cert not support',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]',
- 'title' => '轮转集群托管证书',
- ],
- 'DownloadClusterManagedCert' => [
- 'summary' => '下载集群托管证书。',
- 'description' => '仅支持中国站中国地域的证书托管集群调用。',
- 'path' => '/',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
+ 409 => [
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
- ],
- 'parameters' => [
- [
- 'name' => 'ClusterId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '**ClusterId**'."\n",
- 'description' => '集群ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cluster-001***hui',
- ],
+ 500 => [
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'responses' => [
- 200 => [
- 'description' => '成功响应',
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '返回值。',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Content' => [
- 'description' => 'base64转码过的zip压缩文件,需要用base64解码得获取zip文件原内容,最后通过zip解压缩获取证书文件。',
- 'type' => 'string',
- 'example' => 'emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '快速初始化实例',
+ 'description' => '只有中国内地通用服务器密码机GVSM支持此接口。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:QuickInitInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'Cluster.ClusterManagedCertDownload.NotSupport',
- 'errorMessage' => 'download cluster managed cert not support.',
- ],
- [
- 'errorCode' => 'Cluster.CertsManageNotFinished',
- 'errorMessage' => 'cluster certs manage not finished.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Content\\": \\"emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=\\"\\n}","type":"json"}]',
- 'title' => '下载集群托管证书',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-000fi9k1v2hclo321sal\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1699515963000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100\\n }\\n}","type":"json"}]',
],
- 'ConfigInstanceIpAddress' => [
- 'summary' => '修改实例VPC网络地址。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ResetBackup' => [
+ 'summary' => '将备份与当前实例解绑。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -7768,816 +4852,65 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '211785',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'],
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-mp90fxef****',
- ],
- ],
- [
- 'name' => 'VpcId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例所属VPC ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-lmkmivmo6****',
- ],
- ],
- [
- 'name' => 'VSwitchId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例所属子网的交换机ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vsw-u7gb0qahu****',
- ],
- ],
- [
- 'name' => 'Ip',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例所属VPC网络内的IP地址。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.XX.XX',
- ],
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '备份ID。', 'type' => 'string', 'required' => false, 'example' => 'backup-fdb897sdfg5****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'Schema of Response',
+ 'description' => '返回参数结构。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidZoneId',
- 'errorMessage' => 'Invalid parameter zoneId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidVsmType',
- 'errorMessage' => 'Invalid parameter vsmType.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- [
- 'errorCode' => 'ConfigIp.IpAlreadyInUse',
- 'errorMessage' => 'Ip is in use, can not config IP address.',
- ],
- [
- 'errorCode' => 'ConfigIp.VpcIpNotMatched',
- 'errorMessage' => 'Vpc Ip must be in vpc network segment.',
- ],
- [
- 'errorCode' => 'ConfigIp.IpOverFlow',
- 'errorMessage' => 'Vpc ip last place can not be in [253-255].',
- ],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'User has no permission to access this resource.',
- ],
- [
- 'errorCode' => 'Trial.Forbidden',
- 'errorMessage' => 'Current user is not allowed for trials!',
- ],
- [
- 'errorCode' => 'Forbidden.InstanceInCluster',
- 'errorMessage' => 'This API is forbidden for instances in cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceIncorrectState',
- 'errorMessage' => 'Instance not in Active/Pending state.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Image.ImageStatusInValid',
- 'errorMessage' => 'Image status is invalid.',
- ],
- [
- 'errorCode' => 'CopyImage.ImageAlreadyCopied',
- 'errorMessage' => 'Image already copied, secondary copy is not supported.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenCN',
- 'errorMessage' => 'This API is forbidden for non-international site.',
- ],
- [
- 'errorCode' => 'CopyImage.RegionInvalid',
- 'errorMessage' => 'Source region or target region invalid.',
- ],
- [
- 'errorCode' => 'Backup.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'CopyImage.TargetRegionImageAlreadyExists',
- 'errorMessage' => 'Target region has the same digest image.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'Conflict.InstanceModifying',
- 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
+ ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置实例VPC网络地址',
- 'description' => '已加入集群的实例无法修改VPC网络地址。',
- ],
- 'RestoreInstance' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-mp90fxef****',
- ],
- ],
- [
- 'name' => 'ImageId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '需要恢复的镜像ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'image-eaOGHkRDQgh4****',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'PlainResult<OpenApiRestoreInstanceResponse>',
- 'description' => 'PlainResult<OpenApiRestoreInstanceResponse>',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049366F216',
- ],
- 'Job' => [
- 'description' => '任务详情。',
- 'type' => 'object',
- 'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-540356379023708160',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:新建任务'."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1711764127000',
- ],
- 'Status' => [
- 'description' => '任务状态。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Response' => [
- 'description' => '当任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- ],
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '重置备份',
+ 'description' => '仅支持中国内地密码机实例调用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResetBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-540356379023708160\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 50\\n }\\n}","type":"json"}]',
- 'title' => '恢复实例数据',
- 'summary' => '使用镜像恢复实例数据。',
- 'description' => '只有已停用或未启用状态的实例才能进行镜像导入。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
'ResetInstance' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => '重置实例数据。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -8589,17 +4922,13 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsm01FLNB', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
],
'responses' => [
@@ -8609,20 +4938,12 @@
'description' => 'PlainResult<OpenApiResetInstanceResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
'Job' => [
'description' => '任务详情。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-0007bl8oev0u3jqyfu6a',
- ],
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-0007bl8oev0u3jqyfu6a'],
'Type' => [
'description' => '操作类型。'."\n"
."\n"
@@ -8632,16 +4953,8 @@
'enumValueTitles' => [],
'example' => 'create',
],
- 'Completed' => [
- 'description' => '任务是否完成。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1653274407000',
- ],
+ 'Completed' => ['description' => '任务是否完成。', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1653274407000'],
'Status' => [
'description' => '任务状态。'."\n"
."\n"
@@ -8653,22 +4966,9 @@
'enumValueTitles' => [],
'example' => 'success',
],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80',
- ],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
],
],
],
@@ -8677,381 +4977,155 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-0007bl8oev0u3jqyfu6a\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 80\\n }\\n}","type":"json"}]',
'title' => '重置实例',
- 'summary' => '重置实例数据。',
'description' => '实例被重置后,相关数据全部丢失且永久不可恢复,请谨慎调用该操作。',
- ],
- 'QuickInitInstance' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResetInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-0007bl8oev0u3jqyfu6a\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 80\\n }\\n}","type":"json"}]',
+ ],
+ 'RestoreInstance' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsm01FLNB', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-mp90fxef****',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****'],
+ ],
+ [
+ 'name' => 'ImageId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '需要恢复的镜像ID。', 'type' => 'string', 'required' => true, 'example' => 'image-eaOGHkRDQgh4****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
- 'description' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
+ 'title' => 'PlainResult<OpenApiRestoreInstanceResponse>',
+ 'description' => 'PlainResult<OpenApiRestoreInstanceResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049366F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216'],
'Job' => [
'description' => '任务详情。',
'type' => 'object',
'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-000fi9k1v2hclo321sal',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'CreateTime' => [
- 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
- 'type' => 'string',
- 'example' => '1699515963000',
- ],
- 'Status' => [
- 'description' => '任务状态。'."\n"
- ."\n"
- .'- success:任务成功'."\n"
- .'- running:任务执行中'."\n"
- .'- cancel:任务取消'."\n"
- .'- fail:任务失败',
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => 'success',
- ],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位百分比。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-540356379023708160'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:新建任务'."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1711764127000'],
+ 'Status' => ['description' => '任务状态。', 'type' => 'string', 'example' => 'success'],
+ 'Response' => ['description' => '当任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
],
],
],
@@ -9060,294 +5134,109 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => '恢复实例数据',
+ 'summary' => '使用镜像恢复实例数据。',
+ 'description' => '只有已停用或未启用状态的实例才能进行镜像导入。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:RestoreInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-000fi9k1v2hclo321sal\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1699515963000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100\\n }\\n}","type":"json"}]',
- 'title' => '快速初始化实例',
- 'summary' => '快速初始化实例。',
- 'description' => '只有中国内地通用服务器密码机GVSM支持此接口。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-540356379023708160\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 50\\n }\\n}","type":"json"}]',
],
- 'ConfigInstanceWhitelist' => [
- 'summary' => '修改实例白名单。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ResumeInstance' => [
+ 'summary' => '恢复停用的实例。',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -9359,27 +5248,13 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
- ],
- [
- 'name' => 'Whitelist',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '要配置的白名单IP列表,多个IP之间用空格或半角逗号分隔。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '18.68.XX.XX,18.68.XX.XX',
- ],
+ 'schema' => ['description' => '密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
],
'responses' => [
@@ -9389,338 +5264,172 @@
'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Whitelist.InstanceInCluster',
- 'errorMessage' => 'Whitelist.InstanceInCluster',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
],
[
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
],
[
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '恢复实例',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResumeInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置实例白名单',
- 'description' => '未加入集群且状态为ACTIVE(已启用)的密码机实例可以配置白名单。',
],
- 'ResumeInstance' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'RotateClusterManagedCert' => [
+ 'path' => '/',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => ['title' => '- **参数类型**: string'."\n"
+ .'- **必填**: 是'."\n"
+ .'- **后端接收参数**: clusterId'."\n", 'description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-hfau****gkaud'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'Schema of Response',
+ 'description' => '返回值。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Job' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005'],
+ 'Type' => ['description' => '任务操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1653274407000'],
+ 'Status' => ['description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:任务成功'."\n"
+ ."\n"
+ .'- running:任务执行中'."\n"
+ ."\n"
+ .'- cancel:任务取消'."\n"
+ ."\n"
+ .'- fail:任务失败', 'type' => 'string', 'example' => 'running'],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Process' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
+ ],
],
],
],
@@ -9728,855 +5437,239 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'Cluster.ClusterManagedCertRotate.NotSupport', 'errorMessage' => 'rotate cluster managed cert not support', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
- ],
- 409 => [
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '轮转集群托管证书',
+ 'summary' => '轮转集群托管证书。',
+ 'description' => '仅支持中国站中国地域的证书托管集群调用。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:RotateClusterManagedCert',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '恢复实例',
- 'summary' => '恢复停用的实例。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]',
],
- 'GetInstance' => [
- 'summary' => '查询指定实例信息。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'SwitchClusterMaster' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '209071',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsmUNBCOF',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
- ],
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'],
],
'parameters' => [
[
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-w3G9vOJI2****'],
+ ],
+ [
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'title' => '密码机实例ID。',
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'hsm-cn-vj30bil****',
- ],
+ 'schema' => ['description' => '切换为主密码机的密码机实例ID。', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'PlainResult<OpenApiGetInstanceResponse>',
- 'description' => 'PlainResult<OpenApiGetInstanceResponse>',
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Instance' => [
- 'title' => '实例信息。',
- 'description' => '实例信息。',
- 'type' => 'object',
- 'properties' => [
- 'InstanceId' => [
- 'title' => '实例基础信息',
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-g4t3jwsc****',
- ],
- 'Remark' => [
- 'title' => '备注信息。',
- 'description' => '备注信息。',
- 'type' => 'string',
- 'example' => 'hsmOnline',
- ],
- 'RegionId' => [
- 'title' => '地域ID。',
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'ZoneId' => [
- 'title' => '可用区ID。',
- 'description' => '可用区ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou-b',
- ],
- 'Vendor' => [
- 'title' => '硬件信息',
- 'description' => '厂商信息。',
- 'type' => 'string',
- 'example' => 'jnta',
- ],
- 'DeviceType' => [
- 'title' => '设备类型。',
- 'description' => '设备类型。',
- 'type' => 'string',
- 'example' => 'jnta.SJJ1528-G',
- ],
- 'PqcEnabled' => [
- 'title' => '实例是否启用PQC功能',
- 'description' => '实例是否启用PQC功能',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- 'enum' => [
- '1',
- '0',
- ],
- ],
- 'TpsEnabled' => [
- 'description' => '实例是否支持TPS监控。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'enumValueTitles' => [
- '不支持',
- '支持',
- ],
- 'example' => '1',
- 'enum' => [
- '0',
- '1',
- ],
- ],
- 'TenantIsolationType' => [
- 'title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机',
- 'description' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机',
- 'type' => 'string',
- 'example' => 'hostedHsm',
- ],
- 'OrderId' => [
- 'title' => '售卖信息',
- 'description' => '订单ID。',
- 'type' => 'string',
- 'example' => '23576634952****',
- ],
- 'IsTrial' => [
- 'title' => '是否试用。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'description' => '是否试用。'."\n"
- ."\n"
- .'- true:是'."\n"
- ."\n"
- .'- false:否',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'VpcId' => [
- 'title' => '网络配置',
- 'description' => '实例所属VPC ID。',
- 'type' => 'string',
- 'example' => 'vpc-uf69i66j9kmoko52p****',
- ],
- 'VSwitchId' => [
- 'title' => '密码机实例配置的交换机ID。',
- 'description' => '密码机实例配置的交换机ID。',
- 'type' => 'string',
- 'example' => 'vsw-bp1mvfs31ltt0wyhf****',
- ],
- 'Ip' => [
- 'title' => '密码机实例在VPC网络中的IP地址。',
- 'description' => '密码机实例在VPC网络中的IP地址。',
- 'type' => 'string',
- 'example' => '10.192.XX.XX',
- ],
- 'Whitelist' => [
- 'title' => '白名单IP列表。',
- 'description' => '白名单IP列表。',
- 'type' => 'string',
- 'example' => '18.68.XX.XX',
- ],
- 'CreateTime' => [
- 'title' => '时间信息',
- 'description' => '实例创建时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1699515963000',
- ],
- 'ExpireTime' => [
- 'title' => '实例过期时间。',
- 'description' => '实例过期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1699496389720',
- ],
- 'ClusterId' => [
- 'title' => '集群信息',
- 'description' => '实例所属集群ID。',
- 'type' => 'string',
- 'example' => 'cluster-w3G9vOJI2****',
- ],
- 'ClusterName' => [
- 'title' => '集群名称。',
- 'description' => '集群名称。',
- 'type' => 'string',
- 'example' => 'cluster_online',
- ],
- 'Master' => [
- 'title' => '是否为主密码机。 '."\n"
- ."\n"
- .'- true:主密码机'."\n"
- ."\n"
- .' - false:子密码机',
- 'description' => '是否为主密码机。 '."\n"
- ."\n"
- .'- true:主密码机'."\n"
- ."\n"
- .' - false:子密码机',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Status' => [
- 'title' => '数据状态',
- 'description' => '实例状态。 '."\n"
- ."\n"
- .'- PENDING:未启用'."\n"
- ."\n"
- .' - ACTIVE:已启用'."\n"
- ."\n"
- .' - EXPIRED:已过期'."\n"
- ."\n"
- .' - INVALID:已失效'."\n"
- ."\n"
- .' - FAILURE:生产失败'."\n"
- ."\n"
- .' - RESET:重置中'."\n"
- ."\n"
- .'- PAUSED:已停用'."\n"
- ."\n"
- .' - MODIFYING:变更中',
- 'type' => 'string',
- 'example' => 'EXPIRED',
- ],
- 'CertificationUrl' => [
- 'description' => '密码机资质认证证书下载链接。',
- 'type' => 'string',
- 'example' => 'https://xxxxxx',
- ],
- ],
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'Forbidden.InstanceInCluster',
- 'errorMessage' => 'This API is forbidden for instances in cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceIncorrectState',
- 'errorMessage' => 'Instance not in Active/Pending state.',
- ],
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'Conflict.InstanceModifying',
- 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => '切换集群主密码机',
+ 'summary' => '将集群内一台子密码机切换为主密码机。中国内地手动同步集群不支持此接口。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:SwitchClusterMaster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instance\\": {\\n \\"InstanceId\\": \\"hsm-cn-g4t3jwsc****\\",\\n \\"Remark\\": \\"hsmOnline\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"Vendor\\": \\"jnta\\",\\n \\"DeviceType\\": \\"jnta.SJJ1528-G\\",\\n \\"PqcEnabled\\": 1,\\n \\"TpsEnabled\\": 1,\\n \\"TenantIsolationType\\": \\"hostedHsm\\",\\n \\"OrderId\\": \\"23576634952****\\",\\n \\"IsTrial\\": false,\\n \\"VpcId\\": \\"vpc-uf69i66j9kmoko52p****\\",\\n \\"VSwitchId\\": \\"vsw-bp1mvfs31ltt0wyhf****\\",\\n \\"Ip\\": \\"10.192.XX.XX\\",\\n \\"Whitelist\\": \\"18.68.XX.XX\\",\\n \\"CreateTime\\": 1699515963000,\\n \\"ExpireTime\\": 1699496389720,\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"ClusterName\\": \\"cluster_online\\",\\n \\"Master\\": true,\\n \\"Status\\": \\"EXPIRED\\",\\n \\"Certification\\": \\"GM/T0028_LEVEL_2\\",\\n \\"CertificationUrl\\": \\"https://xxxxxx\\"\\n }\\n}","type":"json"}]',
- 'title' => '查询实例',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
],
- 'PauseInstance' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'SyncCluster' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'ClusterId',
'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
- ],
+ 'schema' => ['description' => '集群ID。', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsgytet****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
+ 'title' => 'PlainResult<OpenApiSyncClusterResponse>',
+ 'description' => 'PlainResult<OpenApiSyncClusterResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049366F216',
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'],
+ 'Job' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'job-000bu7m5vjmyz9s7qz85'],
+ 'Type' => ['description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务', 'type' => 'string', 'example' => 'create'],
+ 'Completed' => ['description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否', 'type' => 'boolean', 'example' => 'true'],
+ 'CreateTime' => ['description' => '任务创建时间,精确到毫秒。时间戳格式。', 'type' => 'string', 'example' => '1711764127000'],
+ 'Status' => ['description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:任务成功'."\n"
+ ."\n"
+ .'- running:任务执行中'."\n"
+ ."\n"
+ .'- cancel:任务取消'."\n"
+ ."\n"
+ .'- fail:任务失败', 'type' => 'string', 'example' => 'success'],
+ 'Response' => ['description' => '任务成功后返回的响应信息。', 'type' => 'string', 'example' => 'success'],
+ 'Error' => ['description' => '任务失败时的错误信息。', 'type' => 'string', 'example' => 'OperationTimeout'],
+ 'Progress' => ['description' => '任务执行进度。单位为百分比。', 'type' => 'integer', 'format' => 'int32', 'example' => '90'],
+ ],
],
],
],
@@ -10584,1521 +5677,730 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
+ ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''],
+ ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''],
+ ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''],
+ ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''],
+ ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''],
+ ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''],
+ ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''],
+ ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''],
+ ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''],
+ ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''],
+ ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''],
+ ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''],
+ ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''],
+ ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''],
+ ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''],
+ ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''],
+ ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''],
+ ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''],
+ ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''],
+ ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''],
+ ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''],
+ ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''],
+ ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''],
+ ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''],
+ ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''],
+ ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''],
+ ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''],
+ ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''],
+ ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''],
+ ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- ],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
- ],
- ],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
- ],
+ ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''],
+ ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''],
+ ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''],
+ ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''],
+ ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''],
+ ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''],
+ ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''],
+ ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''],
+ ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''],
+ ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''],
+ ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''],
+ ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''],
+ ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''],
],
409 => [
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
+ ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''],
+ ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''],
+ ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '未知错误导致请求处理失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '同步集群',
+ 'summary' => '同步集群内实例数据。',
+ 'description' => '- 只有中国内地手动同步密码机集群支持此接口。'."\n"
+ ."\n"
+ .'- 同步集群预计需要5分钟,请在业务空闲期进行同步,以免影响业务运行。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:SyncCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
- 'title' => '停用实例',
- 'summary' => '停用实例。',
- 'description' => '实例被停用后,业务操作将无法进行,请谨慎调用该操作。',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-000bu7m5vjmyz9s7qz85\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 90\\n }\\n}","type":"json"}]',
],
- 'ListInstances' => [
- 'summary' => '获取符合查询条件的实例集合。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan', 'regionName' => '华南2(河源)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => ''],
+ ],
+ 'errorCodes' => [
+ ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => '未知错误导致请求处理失败。'],
+ ['code' => 'InvalidApiParam.Error', 'message' => 'Parameter is invalid.', 'http_code' => 400, 'description' => '参数不合法'],
+ ['code' => 'NoPermission', 'message' => 'caller has no permission.', 'http_code' => 403, 'description' => '用户没有权限使用。'],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'DataEncryptionService',
+ 'productName' => '加密服务',
+ 'ramCodes' => ['yundun-hsm'],
+ 'ramLevel' => '操作级',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'ListImages',
+ 'description' => '查询镜像列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListImages',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '209162',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsmUNBCOF',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
+ [
+ 'apiName' => 'ResumeInstance',
+ 'description' => '恢复实例',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResumeInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ [
+ 'apiName' => 'SwitchClusterMaster',
+ 'description' => '切换集群主密码机',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:SwitchClusterMaster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'CurrentPage',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '当前页数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
+ ],
+ [
+ 'apiName' => 'LeaveCluster',
+ 'description' => '移出集群',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:LeaveCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'PageSize',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '每页查询数目。取值:1~1000。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '20',
+ ],
+ [
+ 'apiName' => 'EnableBackup',
+ 'description' => '启用备份',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:EnableBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'TenantIsolationType',
- 'in' => 'formData',
- 'schema' => [
- 'title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机',
- 'description' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机',
- 'type' => 'string',
- 'required' => false,
+ ],
+ [
+ 'apiName' => 'InitializeCluster',
+ 'description' => '初始化集群',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:InitializeCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'OpenApiPageResult<OpenApiListInstancesResponse>',
- 'description' => 'OpenApiPageResult<OpenApiListInstancesResponse>',
- 'type' => 'object',
- 'properties' => [
- 'Total' => [
- 'description' => '实例总条数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80',
- ],
- 'PageSize' => [
- 'description' => '每页查询数目。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentPage' => [
- 'description' => '当前页数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Instances' => [
- 'description' => '实例列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '实例信息。',
- 'type' => 'object',
- 'properties' => [
- 'InstanceId' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'example' => 'hsm-cn-vj30bil8****',
- ],
- 'Status' => [
- 'description' => '实例状态。'."\n"
- .'- PENDING:未启用'."\n"
- .'- ACTIVE:已启用'."\n"
- .'- EXPIRED:已过期'."\n"
- .'- INVALID:已失效'."\n"
- .'- FAILURE:生产失败'."\n"
- .'- RESET:重置中'."\n"
- .'- PAUSED:已停用'."\n"
- .'- MODIFYING:变更中',
- 'type' => 'string',
- 'example' => 'ACTIVE',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'ConfigInstanceWhitelist',
+ 'description' => '配置实例白名单',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceWhitelist',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidTenantIsolationType.Error',
- 'errorMessage' => 'Invalid parameter tenantIsolationType. It must be: null, hostedHsm, or vsm.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
- ],
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidZoneId',
- 'errorMessage' => 'Invalid parameter zoneId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidVsmType',
- 'errorMessage' => 'Invalid parameter vsmType.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HSMIntanceActived.Error',
- 'errorMessage' => 'actived hsm instance can not release',
- ],
- [
- 'errorCode' => 'ConfigIp.IpAlreadyInUse',
- 'errorMessage' => 'Ip is in use, can not config IP address.',
- ],
- [
- 'errorCode' => 'ConfigIp.VpcIpNotMatched',
- 'errorMessage' => 'Vpc Ip must be in vpc network segment.',
- ],
- [
- 'errorCode' => 'ConfigIp.IpOverFlow',
- 'errorMessage' => 'Vpc ip last place can not be in [253-255].',
- ],
- [
- 'errorCode' => 'CanRefund.InstanceIdEmpty',
- 'errorMessage' => 'InstanceId is empty.',
- ],
- [
- 'errorCode' => 'CanRefund.InstanceNotFound',
- 'errorMessage' => 'Instance Not Exist.',
- ],
- [
- 'errorCode' => 'CanRefund.InstanceAlreadyReleased',
- 'errorMessage' => 'Instance already released.',
- ],
- [
- 'errorCode' => 'CanRefund.AliUidEmpty',
- 'errorMessage' => 'AliUid empty.',
- ],
- [
- 'errorCode' => 'CanRefund.NoSupportRefundOnline',
- 'errorMessage' => 'No support refund online.',
+ [
+ 'apiName' => 'ResetInstance',
+ 'description' => '重置实例',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResetInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
- ],
- [
- 'errorCode' => 'Trial.Forbidden',
- 'errorMessage' => 'Current user is not allowed for trials!',
- ],
- [
- 'errorCode' => 'Forbidden.InstanceInCluster',
- 'errorMessage' => 'This API is forbidden for instances in cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceIncorrectState',
- 'errorMessage' => 'Instance not in Active/Pending state.',
- ],
- [
- 'errorCode' => 'InstanceNotActive',
- 'errorMessage' => 'Instance is not active.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Image.ImageStatusInValid',
- 'errorMessage' => 'Image status is invalid.',
- ],
- [
- 'errorCode' => 'CopyImage.ImageAlreadyCopied',
- 'errorMessage' => 'Image already copied, secondary copy is not supported.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'Image.ActionForbiddenCN',
- 'errorMessage' => 'This API is forbidden for non-international site.',
- ],
- [
- 'errorCode' => 'CopyImage.RegionInvalid',
- 'errorMessage' => 'Source region or target region invalid.',
- ],
- [
- 'errorCode' => 'Backup.ActionForbiddenINTL',
- 'errorMessage' => 'This API is forbidden for international site.',
- ],
- [
- 'errorCode' => 'CopyImage.TargetRegionImageAlreadyExists',
- 'errorMessage' => 'Target region has the same digest image.',
+ ],
+ [
+ 'apiName' => 'PauseInstance',
+ 'description' => '停用实例',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:PauseInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
+ ],
+ [
+ 'apiName' => 'JoinCluster',
+ 'description' => '加入集群',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:JoinCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
+ ],
+ [
+ 'apiName' => 'ListBackups',
+ 'description' => '查询备份列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListBackups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 409 => [
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
+ ],
+ [
+ 'apiName' => 'QuickInitInstance',
+ 'description' => '快速初始化实例',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:QuickInitInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'apiName' => 'ConfigAuditLog',
+ 'description' => '配置审计日志',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigAuditLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 80,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Status\\": \\"ACTIVE\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '查询实例列表',
- ],
- 'ConfigInstanceRemark' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ExportImage',
+ 'description' => '导出镜像',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ExportImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-cn-vj30bil8****',
+ [
+ 'apiName' => 'GetTrialStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DescribeTrialStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'Remark',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '备注信息。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsmOnline',
+ ],
+ [
+ 'apiName' => 'GetAuditLogStatus',
+ 'description' => '查询审计日志开通状态',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetAuditLogStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'BaseResult',
- 'description' => 'BaseResult',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- ],
+ [
+ 'apiName' => 'DescribeRegions',
+ 'description' => '查询支持加密服务的区域列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DescribeRegions',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SwitchMaster.InstanceInvalid',
- 'errorMessage' => 'Instance not in the cluster.',
- ],
- [
- 'errorCode' => 'LeaveCluster.MasterLast',
- 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.',
- ],
- [
- 'errorCode' => 'Certificate.ChainInvalid',
- 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.',
- ],
- [
- 'errorCode' => 'Certificate.FormatInvalid',
- 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.DuplicateZone',
- 'errorMessage' => 'VSwitches should not contain duplicate zones.',
- ],
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
- ],
- [
- 'errorCode' => 'InvalidClusterName',
- 'errorMessage' => 'Invalid parameter clusterName.',
- ],
- [
- 'errorCode' => 'InvalidPageSize',
- 'errorMessage' => 'Invalid parameter pageSize.',
- ],
- [
- 'errorCode' => 'InvalidCurrentPage',
- 'errorMessage' => 'Invalid parameter currentPage.',
- ],
- [
- 'errorCode' => 'InvalidRegionId',
- 'errorMessage' => 'Invalid parameter regionId.',
- ],
- [
- 'errorCode' => 'InvalidVSwitch',
- 'errorMessage' => 'Invalid parameter vSwitch.',
- ],
- [
- 'errorCode' => 'InvalidVpc',
- 'errorMessage' => 'Invalid parameter vpcId.',
- ],
- [
- 'errorCode' => 'InvalidIp',
- 'errorMessage' => 'Invalid parameter IP.',
- ],
- [
- 'errorCode' => 'InvalidAliuid',
- 'errorMessage' => 'Invalid parameter aliuid.',
- ],
- [
- 'errorCode' => 'InvalidClusterId',
- 'errorMessage' => 'Invalid parameter clusterId.',
- ],
- [
- 'errorCode' => 'InvalidInstanceId',
- 'errorMessage' => 'Invalid parameter instanceId.',
- ],
- [
- 'errorCode' => 'InvalidBackupId',
- 'errorMessage' => 'Invalid parameter backupId.',
- ],
- [
- 'errorCode' => 'InvalidImageId',
- 'errorMessage' => 'Invalid parameter imageId.',
- ],
- [
- 'errorCode' => 'HsmInstanceNotExist.Error',
- 'errorMessage' => 'hsm instance not exist',
- ],
- [
- 'errorCode' => 'HSMIntanceNotActived.Error',
- 'errorMessage' => 'hsm intance is not actived',
- ],
- [
- 'errorCode' => 'WhiteListMaxCount.Error',
- 'errorMessage' => 'whilte list is more than max count',
- ],
- [
- 'errorCode' => 'ClusterIdIsNotExists.Error',
- 'errorMessage' => 'cluster ID non-exists',
- ],
- [
- 'errorCode' => 'InstanceListIsEmpty.Error',
- 'errorMessage' => 'instance list is empty',
- ],
- [
- 'errorCode' => 'InstanceIdIsEmpty.Error',
- 'errorMessage' => 'instance id is empty',
- ],
- [
- 'errorCode' => 'InstanceIsNotExistsInCluster.Error',
- 'errorMessage' => 'cluster has no such instance',
- ],
- [
- 'errorCode' => 'InstanceIsExistsInCluster.Error',
- 'errorMessage' => 'instance already in the cluster',
- ],
- [
- 'errorCode' => 'RegionNoEmpty.Error',
- 'errorMessage' => 'region no. is empty',
- ],
- [
- 'errorCode' => 'ClusterNameEmpty.Error',
- 'errorMessage' => 'empty cluster name not allowed',
- ],
- [
- 'errorCode' => 'ClusterNameIsExists.Error',
- 'errorMessage' => 'the cluster name is already taken',
- ],
- [
- 'errorCode' => 'IpNotValid.Error',
- 'errorMessage' => 'ip not valid',
- ],
- [
- 'errorCode' => 'ClusterIsEmpty.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'NoMasterFoundInCluster.Error',
- 'errorMessage' => 'cluster has no master instance',
- ],
- [
- 'errorCode' => 'HsmInstanceIdNotFound.Error',
- 'errorMessage' => 'no such instance',
- ],
- [
- 'errorCode' => 'NoInstanceFoundInCluster.Error',
- 'errorMessage' => 'cluster is empty',
- ],
- [
- 'errorCode' => 'Whitelist.Invalid',
- 'errorMessage' => 'Whitelist blocks not in CIDR format.',
- ],
- [
- 'errorCode' => 'Whitelist.TooLong',
- 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.',
+ [
+ 'apiName' => 'ConfigInstanceRemark',
+ 'description' => '配置实例备注',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'Caller has no permission on the resource.',
- ],
- [
- 'errorCode' => 'InstanceNotPaused',
- 'errorMessage' => 'Please pause the instance before reset.',
+ ],
+ [
+ 'apiName' => 'ListClusters',
+ 'description' => '查询集群列表',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListClusters',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'Resource.NotFound',
- 'errorMessage' => 'Resource not found.',
+ ],
+ [
+ 'apiName' => 'GetJob',
+ 'description' => '获取异步任务',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'ClusterAPI.NotSupported',
- 'errorMessage' => 'ClusterAPI not supported in this region.',
+ ],
+ [
+ 'apiName' => 'RestoreInstance',
+ 'description' => '恢复实例数据',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:RestoreInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 409 => [
- [
- 'errorCode' => 'SwitchMaster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'Cluster.Conflict',
- 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.',
- ],
- [
- 'errorCode' => 'SyncCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'LeaveCluster.InstanceInvalid',
- 'errorMessage' => 'The instance is not in the cluster.',
- ],
- [
- 'errorCode' => 'DeleteCluster.IncorrectState',
- 'errorMessage' => 'Cluster not empty, please remove all instances first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster',
- 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.',
- ],
- [
- 'errorCode' => 'JoinCluster.InstanceInitialized',
- 'errorMessage' => 'Initialized instance can not join a cluster.',
- ],
- [
- 'errorCode' => 'JoinCluster.IncorrectState',
- 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.InstanceNotInitialized',
- 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectConfig',
- 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.',
- ],
- [
- 'errorCode' => 'InitializeCluster.IncorrectState',
- 'errorMessage' => 'Cluster initialized, do not re-initialize.',
- ],
- [
- 'errorCode' => 'Cluster.CN.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for non-international site cluster.',
- ],
- [
- 'errorCode' => 'Cluster.INTL.ActionForbidden',
- 'errorMessage' => 'This API is forbidden for international site cluster.',
- ],
- [
- 'errorCode' => 'ConfigClusterCertificate.IncorrectState',
- 'errorMessage' => 'Cluster initialized or certificates already configured.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId',
- 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId',
- 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.',
- ],
- [
- 'errorCode' => 'ConfigClusterSubnet.IncorrectState',
- 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.',
- ],
- [
- 'errorCode' => 'ClusterName.Exist',
- 'errorMessage' => 'Cluster name already exists, please use another name.',
- ],
- [
- 'errorCode' => 'Conflict',
- 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.',
- ],
- [
- 'errorCode' => 'ConfigIp.IncorrectState',
- 'errorMessage' => 'Instance not in pending or active state, can not config IP address.',
+ ],
+ [
+ 'apiName' => 'ConfigBackupTask',
+ 'description' => '配置备份任务',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigBackupTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'ConfigWhitelistFailed.Error',
- 'errorMessage' => 'config white list error',
- ],
- [
- 'errorCode' => 'ActionFailed.Error',
- 'errorMessage' => 'internal error, please try again',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'apiName' => 'CopyImage',
+ 'description' => '复制镜像',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:CopyImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '配置实例备注',
- 'summary' => '修改实例备注。',
- ],
- 'GetJob' => [
- 'summary' => '获取异步任务的详细信息。',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ListInstances',
+ 'description' => '查询实例列表',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ListInstances',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'GetBackup',
+ 'description' => '查询备份',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '201995',
- 'abilityTreeNodes' => [
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsmGIFYCG',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'JobId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'job-202401250936hze747fd7e0007005',
+ [
+ 'apiName' => 'ConfigClusterSubnet',
+ 'description' => '配置集群交换机',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterSubnet',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '响应信息。',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Job' => [
- 'description' => '任务详情。',
- 'type' => 'object',
- 'properties' => [
- 'JobId' => [
- 'description' => '任务ID。',
- 'type' => 'string',
- 'example' => 'job-202401250936hze747fd7e0007005',
- ],
- 'Type' => [
- 'description' => '操作类型。'."\n"
- ."\n"
- .'- create:创建任务'."\n"
- ."\n"
- .'- cancel:取消任务',
- 'type' => 'string',
- 'example' => 'create',
- ],
- 'Completed' => [
- 'description' => '任务是否完成。'."\n"
- ."\n"
- .'- true:已完成'."\n"
- ."\n"
- .'- false:未完成',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Status' => [
- 'description' => '任务状态。'."\n"
- ."\n"
- .'- success:成功'."\n"
- ."\n"
- .'- running:执行中'."\n"
- ."\n"
- .'- fail:失败'."\n"
- .'- cancel:取消',
- 'type' => 'string',
- 'example' => 'fail',
- ],
- 'Response' => [
- 'description' => '任务成功后返回的响应信息。',
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'Error' => [
- 'description' => '任务失败时的错误信息。',
- 'type' => 'string',
- 'example' => 'OperationTimeout',
- ],
- 'Progress' => [
- 'description' => '任务执行进度。单位为百分比。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '95',
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'DownloadClusterManagedCert',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DownloadClusterManagedCert',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"fail\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 95\\n }\\n}","type":"json"}]',
- 'title' => '获取异步任务',
- ],
- 'MoveResourceGroup' => [
- 'summary' => '移动资源所在的资源组。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'GetInstance',
+ 'description' => '查询实例',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'CreateCluster',
+ 'description' => '创建集群',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:CreateCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'MoveResourceGroup',
+ 'description' => '移动资源所在的资源组',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
- 'FEATUREhsm01FLNB',
- 'FEATUREhsmGIFYCG',
- 'FEATUREhsmLBBV5W',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:MoveResourceGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '密码机实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hsm-2ze0qae64mjuc0ni****',
+ [
+ 'apiName' => 'ConfigBackupRemark',
+ 'description' => '配置备份备注信息',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigBackupRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-aek2tsvbnfe****',
+ ],
+ [
+ 'apiName' => 'InitializeAuditLog',
+ 'description' => '初始化审计日志',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:InitializeAuditLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '资源类型。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'instance',
+ ],
+ [
+ 'apiName' => 'ConfigInstanceIpAddress',
+ 'description' => '配置实例VPC网络地址',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigInstanceIpAddress',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'GetImage',
+ 'description' => '查询镜像',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => '返回参数结构。',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- ],
+ [
+ 'apiName' => 'DeleteCluster',
+ 'description' => '删除集群',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:DeleteCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'Parameter is invalid.',
+ [
+ 'apiName' => 'QuickDeployCluster',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:QuickDeployCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 403 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'caller has no permission.',
+ ],
+ [
+ 'apiName' => 'ResetBackup',
+ 'description' => '重置备份',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ResetBackup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'apiName' => 'GetInstanceInternalStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetInstanceInternalStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
- 'title' => '移动资源所在的资源组',
- ],
- 'DescribeRegions' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'SyncCluster',
+ 'description' => '同步集群',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:SyncCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '203661',
- 'abilityTreeNodes' => [
- 'FEATUREhsmV7VE3Y',
+ [
+ 'apiName' => 'ConfigClusterName',
+ 'description' => '配置集群名称',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterName',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'AcceptLanguage',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询的语言。 '."\n"
- ."\n"
- .'- zh:中文'."\n"
- ."\n"
- .' - en:英文',
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'zh',
+ [
+ 'apiName' => 'ConfigClusterWhitelist',
+ 'description' => '配置集群白名单',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterWhitelist',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
- ],
- 'Regions' => [
- 'description' => '地域信息列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '地域信息。',
- 'type' => 'object',
- 'properties' => [
- 'LocalName' => [
- 'description' => '地域名称。',
- 'type' => 'string',
- 'example' => '华东1(杭州)',
- ],
- 'RegionId' => [
- 'description' => '地域ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Zones' => [
- 'description' => '可用区列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '可用区信息。',
- 'type' => 'object',
- 'properties' => [
- 'ZoneId' => [
- 'description' => '可用区ID。',
- 'type' => 'string',
- 'example' => 'cn-hangzhou-a',
- ],
- 'LocalName' => [
- 'description' => '可用区名称。',
- 'type' => 'string',
- 'example' => '杭州 可用区A',
- ],
- 'Cluster' => [
- 'description' => '是否支持集群。'."\n"
- ."\n"
- .'- yes:支持'."\n"
- .'- no:不支持',
- 'type' => 'string',
- 'example' => 'yes',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'GetCluster',
+ 'description' => '查询集群',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:GetCluster',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidApiParam.Error',
- 'errorMessage' => 'api param is invalid',
+ [
+ 'apiName' => 'ConfigImageRemark',
+ 'description' => '配置镜像备注',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigImageRemark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 403 => [
- [
- 'errorCode' => 'NoPermission.Error',
- 'errorMessage' => 'caller has no permission',
+ ],
+ [
+ 'apiName' => 'ConfigClusterCertificate',
+ 'description' => '配置集群证书',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:ConfigClusterCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'apiName' => 'RotateClusterManagedCert',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-hsm:RotateClusterManagedCert',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LocalName\\": \\"杭州 可用区A\\",\\n \\"Cluster\\": \\"yes\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '查询支持加密服务的区域列表',
- 'summary' => '查询支持加密服务的地域。',
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-east-1',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou-finance',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'hsm.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'hsm.aliyuncs.com',
],
+ 'resourceTypes' => [],
],
];