summaryrefslogtreecommitdiff
path: root/data/zh_cn/hsm
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/hsm
downloadacs-metadata-full-main.tar.gz
acs-metadata-full-main.zip
Diffstat (limited to 'data/zh_cn/hsm')
-rw-r--r--data/zh_cn/hsm/2023-11-13/api-docs.php12104
1 files changed, 12104 insertions, 0 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
new file mode 100644
index 0000000..c7a0ca8
--- /dev/null
+++ b/data/zh_cn/hsm/2023-11-13/api-docs.php
@@ -0,0 +1,12104 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'hsm',
+ 'version' => '2023-11-13',
+ ],
+ 'directories' => [
+ [
+ 'id' => 263960,
+ 'title' => '审计日志',
+ 'type' => 'directory',
+ 'children' => [
+ 'ConfigAuditLog',
+ 'GetAuditLogStatus',
+ 'InitializeAuditLog',
+ ],
+ ],
+ [
+ 'id' => 263964,
+ 'title' => '镜像',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetImage',
+ 'ListImages',
+ 'ConfigImageRemark',
+ 'CopyImage',
+ 'ExportImage',
+ ],
+ ],
+ [
+ 'id' => 263970,
+ 'title' => '备份',
+ 'type' => 'directory',
+ 'children' => [
+ 'EnableBackup',
+ 'GetBackup',
+ 'ListBackups',
+ 'ConfigBackupTask',
+ 'ResetBackup',
+ 'ConfigBackupRemark',
+ ],
+ ],
+ [
+ 'id' => 263977,
+ 'title' => '集群',
+ 'type' => 'directory',
+ 'children' => [
+ 'DeleteCluster',
+ 'JoinCluster',
+ 'ConfigClusterSubnet',
+ 'SyncCluster',
+ 'InitializeCluster',
+ 'SwitchClusterMaster',
+ 'ConfigClusterName',
+ 'LeaveCluster',
+ 'CreateCluster',
+ 'ListClusters',
+ 'ConfigClusterCertificate',
+ 'GetCluster',
+ 'ConfigClusterWhitelist',
+ 'QuickDeployCluster',
+ 'RotateClusterManagedCert',
+ 'DownloadClusterManagedCert',
+ ],
+ ],
+ [
+ 'id' => 263994,
+ 'title' => '实例',
+ 'type' => 'directory',
+ 'children' => [
+ 'ConfigInstanceIpAddress',
+ 'RestoreInstance',
+ 'ResetInstance',
+ 'QuickInitInstance',
+ 'ConfigInstanceWhitelist',
+ 'ResumeInstance',
+ 'GetInstance',
+ 'PauseInstance',
+ 'ListInstances',
+ 'ConfigInstanceRemark',
+ ],
+ ],
+ [
+ 'id' => 264005,
+ 'title' => '其他',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetJob',
+ 'MoveResourceGroup',
+ 'DescribeRegions',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'ConfigAuditLog' => [
+ 'summary' => '开通或关闭审计日志、配置审计日志投递Bucket。',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmVF2KT5',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '地域ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'AuditOssBucket',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '审计日志投递Bucket。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hsm-log',
+ ],
+ ],
+ [
+ 'name' => 'AuditAction',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '审计日志开通状态。'."\n"
+ .'- enable:启用 '."\n"
+ .'- disable:关闭',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [],
+ 'example' => 'enable',
+ 'enum' => [
+ 'disable',
+ 'enable',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '响应信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'type' => 'string',
+ 'example' => '42B118FB-16A6-56FB-B877-D58637EEC6AF',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'OSSPermissionDenied.Error',
+ 'errorMessage' => '获取OSS bucket权限失败,请检查对应OSS权限设置: %s',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42B118FB-16A6-56FB-B877-D58637EEC6AF\\"\\n}","type":"json"}]',
+ 'title' => '配置审计日志',
+ 'description' => '- Bucket所属地域需要和将要开通安全审计服务的地域相同。 '."\n"
+ .'- 开启安全审计期间,请勿删除OSS Bucket,否则将会导致审计文件投递失败。'."\n"
+ ."\n"
+ .'- 目前安全审计服务,仅提供给中国内地密码机GVSM和EVSM使用。',
+ ],
+ 'GetAuditLogStatus' => [
+ 'summary' => '查询当前地域下审计日志开通状态。',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203664',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmVF2KT5',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'OSSPermissionDenied.Error',
+ 'errorMessage' => '获取对应OSS bucket权限失败,请检查OSS权限设置: %s',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ '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' => '查询审计日志开通状态',
+ ],
+ 'InitializeAuditLog' => [
+ 'summary' => '授权加密服务投递日志。',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'CreateServiceLinkedRole.Error %s',
+ 'errorMessage' => 'sdfsfa %s',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'EntityNotExist.Service',
+ 'errorMessage' => '服务不存在: %s',
+ ],
+ [
+ 'errorCode' => 'EntityNotExist.User',
+ 'errorMessage' => '角色不存在: %s',
+ ],
+ [
+ 'errorCode' => 'NoPermission.Client',
+ 'errorMessage' => '当前账户无创建服务角色权限!',
+ ],
+ ],
+ 409 => [
+ [
+ 'errorCode' => 'EntityAlreadyExists.Role',
+ 'errorMessage' => '服务角色已存在,请勿重复创建!',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FE969D9-E1C7-5274-BE7D-8C3534587605\\"\\n}","type":"json"}]',
+ 'title' => '初始化审计日志',
+ ],
+ 'GetImage' => [
+ 'summary' => '查询指定镜像信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '203665',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ImageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '镜像ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'image-wz9c5ths5dfuwx47****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => '查询镜像',
+ ],
+ 'ListImages' => [
+ 'summary' => '查询符合条件的镜像集合。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203777',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '备份ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'backup-fdb897sdf****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ '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' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '当前分页。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '镜像生成模式。'."\n"
+ .'- PERIODIC:自动生成'."\n"
+ .'- MANUAL:手动生成',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'MANUAL',
+ 'enum' => [
+ 'MANUAL',
+ 'PERIODIC',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ [
+ 'errorCode' => 'Backup.Deleted',
+ 'errorMessage' => 'Backup has been deleted.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => '查询镜像列表',
+ ],
+ 'ConfigImageRemark' => [
+ 'summary' => '修改镜像备注信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ImageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '镜像ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'image-d79x4k11pmg19****',
+ ],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '镜像备注。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hsm-****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ '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',
+ ],
+ ],
+ 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}","type":"json"}]',
+ 'title' => '配置镜像备注',
+ ],
+ 'CopyImage' => [
+ 'summary' => '复制镜像到其他地域。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '218511',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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' => [
+ 'title' => 'PlainResult<OpenApiAsyncJob>',
+ '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' => '任务是否完成。',
+ '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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ 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',
+ ],
+ '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' => '要求目标地域没有相同镜像。仅非中国内地密码机支持此接口调用。',
+ ],
+ 'ExportImage' => [
+ 'summary' => '导出指定密码机的镜像。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '203656',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ '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****',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApiParam.Error',
+ 'errorMessage' => 'api param is invalid',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'User has no permission to access this resource.',
+ ],
+ [
+ 'errorCode' => 'Backup.ActionForbidden',
+ 'errorMessage' => 'This API is forbidden for this backup type.',
+ ],
+ ],
+ 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\\": \\"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' => '导出镜像',
+ ],
+ 'EnableBackup' => [
+ 'summary' => '将备份与指定实例绑定。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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' => true,
+ 'example' => 'backup-1736207****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'type' => 'string',
+ 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApiParam.Error',
+ 'errorMessage' => 'api param is invalid',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ [
+ 'errorCode' => 'Backup.ActionForbidden',
+ 'errorMessage' => 'This API is forbidden for this backup type.',
+ ],
+ ],
+ 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}","type":"json"}]',
+ 'title' => '启用备份',
+ 'description' => '仅支持中国内地备份调用。',
+ ],
+ 'GetBackup' => [
+ 'summary' => '查询指定备份信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '203668',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '备份ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'backup-fdb897sdf****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => '查询备份',
+ ],
+ 'ListBackups' => [
+ 'summary' => '获取符合查询条件的备份集合。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '203775',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ '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' => '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' => [
+ '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' => '返回的备份列表。',
+ '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' => [
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => '查询备份列表',
+ ],
+ 'ConfigBackupTask' => [
+ 'summary' => '修改备份任务执行模式。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ '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',
+ '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,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'type' => 'string',
+ 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApiParam.Error',
+ 'errorMessage' => 'api param is invalid',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ [
+ 'errorCode' => 'Backup.ActionForbidden',
+ 'errorMessage' => 'This API is forbidden for this backup type.',
+ ],
+ ],
+ 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}","type":"json"}]',
+ 'title' => '配置备份任务',
+ 'description' => '仅支持中国内地密码机实例备份调用。',
+ ],
+ 'ResetBackup' => [
+ 'summary' => '将备份与当前实例解绑。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmQEGDGS',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'BackupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '备份ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'backup-fdb897sdfg5****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ [
+ 'errorCode' => 'Backup.ActionForbidden',
+ 'errorMessage' => 'This API is forbidden for this backup type.',
+ ],
+ ],
+ 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}","type":"json"}]',
+ 'title' => '重置备份',
+ 'description' => '仅支持中国内地密码机实例调用。',
+ ],
+ 'ConfigBackupRemark' => [
+ 'summary' => '配置备份的名称及备注信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ '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' => '2月9日test1B',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ 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}","type":"json"}]',
+ 'title' => '配置备份备注信息',
+ ],
+ 'DeleteCluster' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster-NZB9Oj5Yfd8Y****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '删除集群',
+ 'summary' => '删除指定集群。',
+ 'description' => '只有集群不存在密码机实例时可以删除。',
+ ],
+ 'JoinCluster' => [
+ 'summary' => '将集群外的一台密码机加入当前集群。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<OpenApiJoinClusterResponse>',
+ 'description' => 'PlainResult<OpenApiJoinClusterResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => '请求的唯一标识符',
+ 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'type' => 'string',
+ 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ ],
+ 'Job' => [
+ 'title' => '异步任务对象',
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'title' => '异步任务ID',
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'job-202401250936hze747fd7e0007005',
+ ],
+ 'Type' => [
+ 'title' => '任务类型',
+ 'description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ ."\n"
+ .'- cancel:取消任务',
+ 'type' => 'string',
+ 'example' => 'create',
+ ],
+ 'Completed' => [
+ 'title' => '任务完成情况',
+ 'description' => '任务是否完成。'."\n"
+ ."\n"
+ .'- true:是'."\n"
+ ."\n"
+ .'- false:否',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'CreateTime' => [
+ 'title' => '创建时间',
+ 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
+ 'type' => 'string',
+ 'example' => '1711764127000',
+ ],
+ 'Status' => [
+ 'title' => '任务状态',
+ 'description' => '任务状态。'."\n"
+ ."\n"
+ .'- success:任务成功'."\n"
+ ."\n"
+ .'- running:任务执行中'."\n"
+ ."\n"
+ .'- cancel:任务取消'."\n"
+ ."\n"
+ .'- fail:任务失败',
+ 'type' => 'string',
+ 'example' => 'running',
+ ],
+ 'Response' => [
+ 'title' => '任务返回值',
+ 'description' => '任务成功后返回的响应信息。',
+ 'type' => 'string',
+ 'example' => 'success',
+ ],
+ 'Error' => [
+ 'title' => '任务报错信息',
+ 'description' => '任务失败时的错误信息。',
+ 'type' => 'string',
+ 'example' => 'OperationTimeout',
+ ],
+ 'Progress' => [
+ 'title' => '任务进度',
+ 'description' => '任务执行进度。单位为百分比。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '86',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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',
+ ],
+ '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"
+ .'- 待加入集群的密码机实例状态为已启用或未启用,且未初始化。',
+ ],
+ 'ConfigClusterSubnet' => [
+ 'summary' => '修改集群绑定的交换机列表。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '211854',
+ '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,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
+ 'title' => '配置集群交换机',
+ 'description' => '全量配置对应集群绑定的交换机列表,仅允许新增交换机,不允许删除交换机。',
+ ],
+ 'SyncCluster' => [
+ 'summary' => '同步集群内实例数据。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster-BqxX63Bsgytet****',
+ ],
+ ],
+ ],
+ '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' => '任务详情。',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster-p94y1dud9****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
+ 'title' => '初始化集群',
+ 'description' => '- 集群为未初始化状态,且集群主密码机已初始化。'."\n"
+ ."\n"
+ .'- 集群已配置2个及以上交换机。',
+ ],
+ 'SwitchClusterMaster' => [
+ 'summary' => '将集群内一台子密码机切换为主密码机。中国内地手动同步集群不支持此接口。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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-w3G9vOJI2****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '切换为主密码机的密码机实例ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hsm-cn-vj30bil8****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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' => '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-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '切换集群主密码机',
+ ],
+ 'ConfigClusterName' => [
+ 'summary' => '修改集群名称。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '配置集群名称',
+ ],
+ 'LeaveCluster' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '移出集群',
+ 'summary' => '将集群内的一台密码机移出当前集群。',
+ 'description' => '- 集群内存在子密码机时无法移出主密码机'."\n"
+ ."\n"
+ .'- 主密码机移出后,集群进入待删除(TO_DELETE)状态,且无法恢复到可用状态,请谨慎操作。',
+ ],
+ 'CreateCluster' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '集群名称。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster_on****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '地域ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MasterInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '主密码机实例ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hsm_intl-sg-uz63ixak****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5F58413E-8F57-585B-BE48-64CC1E31133C\\",\\n \\"ClusterId\\": \\"cluster-729dm40FG****\\"\\n}","type":"json"}]',
+ 'title' => '创建集群',
+ 'summary' => '选择一台密码机作为主密码机创建集群。',
+ 'description' => '创建集群选择的密码机实例状态必须为ACTIVE(已启用)。',
+ ],
+ 'ListClusters' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '地域ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'OpenApiPageResult<OpenApiListClustersResponse>',
+ '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',
+ ],
+ 'Clusters' => [
+ 'description' => '集群列表。',
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 \\"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ '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-----',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '配置集群证书',
+ 'description' => '如何在ECS上创建自签名证书和集群签名证书,请参见[创建GVSM(NIST FIPS)密码机集群](~~293585~~)。',
+ ],
+ 'GetCluster' => [
+ 'summary' => '查询指定集群信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster-p94y1dud9ts****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<OpenApiGetClusterResponse>',
+ 'description' => 'PlainResult<OpenApiGetClusterResponse>',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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' => '查询集群',
+ ],
+ 'ConfigClusterWhitelist' => [
+ 'summary' => '修改集群可访问的白名单列表。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '配置集群白名单',
+ 'description' => '集群的白名单优先级高于实例的白名单。集群模式下建议您创建集群白名单,不需要再创建密码机白名单。',
+ ],
+ 'QuickDeployCluster' => [
+ 'summary' => '快速部署集群。',
+ 'path' => '',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'VSwitchIdList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '集群配置的交换机列表。',
+ 'type' => 'array',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'WhiteList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '集群访问白名单列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '集群访问白名单。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '18.68.XX.XX'."\n",
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'InstanceList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '密码机实例列表。',
+ 'type' => 'array',
+ '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",
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ 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\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]',
+ 'title' => '快速部署集群',
+ 'description' => '- 所选密码机实例至少包含两个可用区。'."\n"
+ ."\n"
+ .'- 虚拟交换机至少选择两个,且不包含重复可用区。',
+ ],
+ 'RotateClusterManagedCert' => [
+ 'summary' => '轮转集群托管证书。',
+ 'description' => '仅支持中国站中国地域的证书托管集群调用。',
+ 'path' => '/',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '- **参数类型**: string'."\n"
+ .'- **必填**: 是'."\n"
+ .'- **后端接收参数**: clusterId'."\n",
+ 'description' => '集群ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cluster-hfau****gkaud',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '成功响应',
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Cluster.ClusterManagedCertRotate.NotSupport',
+ 'errorMessage' => 'rotate cluster managed cert not support',
+ ],
+ ],
+ 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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClusterId',
+ 'in' => 'query',
+ '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',
+ ],
+ 'Content' => [
+ 'description' => 'base64转码过的zip压缩文件,需要用base64解码得获取zip文件原内容,最后通过zip解压缩获取证书文件。',
+ 'type' => 'string',
+ 'example' => 'emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '下载集群托管证书',
+ ],
+ 'ConfigInstanceIpAddress' => [
+ 'summary' => '修改实例VPC网络地址。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '211785',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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].',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ 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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '只有已停用或未启用状态的实例才能进行镜像导入。',
+ ],
+ 'ResetInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<OpenApiResetInstanceResponse>',
+ 'description' => 'PlainResult<OpenApiResetInstanceResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
+ 'type' => 'string',
+ 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ ],
+ 'Job' => [
+ 'description' => '任务详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'example' => 'job-0007bl8oev0u3jqyfu6a',
+ ],
+ 'Type' => [
+ 'description' => '操作类型。'."\n"
+ ."\n"
+ .'- create:创建任务'."\n"
+ .'- cancel:取消任务',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'create',
+ ],
+ 'Completed' => [
+ 'description' => '任务是否完成。',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'CreateTime' => [
+ 'description' => '任务创建时间,精确到毫秒。时间戳格式。',
+ 'type' => 'string',
+ 'example' => '1653274407000',
+ ],
+ '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' => '80',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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-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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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-mp90fxef****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
+ 'description' => 'PlainResult<OpenApiQuickInitInstanceResponse>',
+ '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-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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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支持此接口。',
+ ],
+ 'ConfigInstanceWhitelist' => [
+ 'summary' => '修改实例白名单。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '配置实例白名单',
+ 'description' => '未加入集群且状态为ACTIVE(已启用)的密码机实例可以配置白名单。',
+ ],
+ 'ResumeInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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' => '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.',
+ ],
+ ],
+ 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',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '恢复实例',
+ 'summary' => '恢复停用的实例。',
+ ],
+ 'GetInstance' => [
+ 'summary' => '查询指定实例信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '209071',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsmUNBCOF',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ 'CertificationUrl' => [
+ 'description' => '密码机资质认证证书下载链接。',
+ 'type' => 'string',
+ 'example' => 'https://xxxxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ 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',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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' => '查询实例',
+ ],
+ 'PauseInstance' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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' => '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.',
+ ],
+ ],
+ 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',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]',
+ 'title' => '停用实例',
+ 'summary' => '停用实例。',
+ 'description' => '实例被停用后,业务操作将无法进行,请谨慎调用该操作。',
+ ],
+ 'ListInstances' => [
+ 'summary' => '获取符合查询条件的实例集合。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '209162',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsmUNBCOF',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '地域ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ [
+ [
+ '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' => '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '备注信息。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hsmOnline',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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.',
+ ],
+ [
+ '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' => '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.',
+ ],
+ ],
+ 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',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '配置实例备注',
+ 'summary' => '修改实例备注。',
+ ],
+ 'GetJob' => [
+ 'summary' => '获取异步任务的详细信息。',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201995',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsmGIFYCG',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '任务ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'job-202401250936hze747fd7e0007005',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ 'FEATUREhsm01FLNB',
+ 'FEATUREhsmGIFYCG',
+ 'FEATUREhsmLBBV5W',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '密码机实例ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hsm-2ze0qae64mjuc0ni****',
+ ],
+ ],
+ [
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission',
+ 'errorMessage' => 'caller has no permission.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => '移动资源所在的资源组',
+ ],
+ 'DescribeRegions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '203661',
+ 'abilityTreeNodes' => [
+ 'FEATUREhsmV7VE3Y',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceptLanguage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '要查询的语言。 '."\n"
+ ."\n"
+ .'- zh:中文'."\n"
+ ."\n"
+ .' - en:英文',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'zh',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApiParam.Error',
+ 'errorMessage' => 'api param is invalid',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'NoPermission.Error',
+ 'errorMessage' => 'caller has no permission',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+];