diff options
Diffstat (limited to 'data/zh_cn/hsm/2023-11-13')
| -rw-r--r-- | data/zh_cn/hsm/2023-11-13/api-docs.php | 12104 |
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', + ], + ], +]; |
