diff options
Diffstat (limited to 'data/en_us/hsm')
| -rw-r--r-- | data/en_us/hsm/2023-11-13/api-docs.php | 15270 |
1 files changed, 4892 insertions, 10378 deletions
diff --git a/data/en_us/hsm/2023-11-13/api-docs.php b/data/en_us/hsm/2023-11-13/api-docs.php index 8dd2cbe..516c140 100644 --- a/data/en_us/hsm/2023-11-13/api-docs.php +++ b/data/en_us/hsm/2023-11-13/api-docs.php @@ -1,95 +1,39 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'hsm', - 'version' => '2023-11-13', - ], + 'info' => ['style' => 'RPC', 'product' => 'hsm', 'version' => '2023-11-13'], 'directories' => [ [ - 'id' => 263960, - 'title' => null, + 'children' => ['ConfigAuditLog', 'GetAuditLogStatus', 'InitializeAuditLog'], 'type' => 'directory', - 'children' => [ - 'ConfigAuditLog', - 'GetAuditLogStatus', - 'InitializeAuditLog', - ], + 'title' => 'Audit logs', ], [ - 'id' => 263964, - 'title' => null, + 'children' => ['ConfigImageRemark'], 'type' => 'directory', - 'children' => [ - 'GetImage', - 'ListImages', - 'ConfigImageRemark', - 'CopyImage', - 'ExportImage', - ], + 'title' => 'Images', ], [ - 'id' => 263970, - 'title' => null, + 'children' => ['EnableBackup', 'GetBackup', 'ConfigBackupTask', 'ConfigBackupRemark'], 'type' => 'directory', - 'children' => [ - 'EnableBackup', - 'GetBackup', - 'ListBackups', - 'ConfigBackupTask', - 'ResetBackup', - 'ConfigBackupRemark', - ], + 'title' => 'Backups', ], [ - 'id' => 263977, - 'title' => null, + 'children' => ['JoinCluster', 'InitializeCluster', 'SwitchClusterMaster', 'ConfigClusterName', 'LeaveCluster', 'ConfigClusterCertificate', 'GetCluster', 'ConfigClusterWhitelist', 'QuickDeployCluster', 'RotateClusterManagedCert', 'DownloadClusterManagedCert'], 'type' => 'directory', - 'children' => [ - 'DeleteCluster', - 'JoinCluster', - 'ConfigClusterSubnet', - 'SyncCluster', - 'InitializeCluster', - 'SwitchClusterMaster', - 'ConfigClusterName', - 'LeaveCluster', - 'CreateCluster', - 'ListClusters', - 'ConfigClusterCertificate', - 'GetCluster', - 'ConfigClusterWhitelist', - 'QuickDeployCluster', - 'RotateClusterManagedCert', - 'DownloadClusterManagedCert', - ], + 'title' => 'Clusters', ], [ - 'id' => 263994, - 'title' => null, + 'children' => ['ResetInstance', 'QuickInitInstance', 'ConfigInstanceRemark'], 'type' => 'directory', - 'children' => [ - 'ConfigInstanceIpAddress', - 'RestoreInstance', - 'ResetInstance', - 'QuickInitInstance', - 'ConfigInstanceWhitelist', - 'ResumeInstance', - 'GetInstance', - 'PauseInstance', - 'ListInstances', - 'ConfigInstanceRemark', - ], + 'title' => 'Instances', ], [ - 'id' => 264005, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'GetJob', - 'MoveResourceGroup', - 'DescribeRegions', + 'GetJob', 'ConfigClusterSubnet', 'ConfigInstanceIpAddress', 'ConfigInstanceWhitelist', 'CopyImage', 'CreateCluster', 'DeleteCluster', 'DescribeRegions', 'ExportImage', 'GetImage', 'GetInstance', 'ListBackups', 'ListClusters', 'ListImages', 'ListInstances', 'MoveResourceGroup', 'PauseInstance', 'ResetBackup', 'RestoreInstance', 'ResumeInstance', + 'SyncCluster', ], + 'type' => 'directory', + 'title' => 'Others', ], ], 'components' => [ @@ -97,15 +41,8 @@ ], 'apis' => [ 'ConfigAuditLog' => [ - 'summary' => 'Enables or disables the audit log feature and delivers audit logs to buckets.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -117,30 +54,18 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREhsmVF2KT5', - ], + 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AuditOssBucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket to which audit logs are delivered.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hsm-log', - ], + 'schema' => ['description' => 'The bucket to which audit logs are delivered.', 'type' => 'string', 'required' => false, 'example' => 'hsm-log', 'title' => ''], ], [ 'name' => 'AuditAction', @@ -148,195 +73,280 @@ 'schema' => [ 'description' => 'Specifies whether to enable the audit log feature. Valid values:'."\n" ."\n" - .'* enable'."\n" - .'* disable'."\n", + .'- enable'."\n" + ."\n" + .'- disable', + 'enumValueTitles' => [], 'type' => 'string', 'required' => true, - 'enumValueTitles' => [], + 'enum' => ['disable', 'enable'], 'example' => 'enable', - 'enum' => [ - 'disable', - 'enable', - ], + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response.'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '42B118FB-16A6-56FB-B877-D58637EEC6AF', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '42B118FB-16A6-56FB-B877-D58637EEC6AF', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'OSSPermissionDenied.Error', - 'errorMessage' => '获取OSS bucket权限失败,请检查对应OSS权限设置: %s', - ], + ['errorCode' => 'OSSPermissionDenied.Error', 'errorMessage' => '获取OSS bucket权限失败,请检查对应OSS权限设置: %s', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'ConfigAuditLog', + 'summary' => 'Enables or disables the audit log feature and delivers audit logs to buckets.', + 'description' => '- The region of the bucket must be the same as the region where the security audit feature is enabled.'."\n" + ."\n" + .'- If the security audit feature is enabled, do not delete Object Storage Service (OSS) buckets. If you delete OSS buckets, audit logs fail to be delivered.'."\n" + ."\n" + .'- Only electronic virtual security modules (EVSMs) and general virtual security modules (GVSMs) within the Chinese mainland support the security audit feature.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigAuditLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42B118FB-16A6-56FB-B877-D58637EEC6AF\\"\\n}","type":"json"}]', - 'title' => 'ConfigAuditLog', - 'description' => '* The region of the bucket must be the same as the region where the security audit feature is enabled.'."\n" - .'* If the security audit feature is enabled, do not delete Object Storage Service (OSS) buckets. If you delete OSS buckets, audit logs fail to be delivered.'."\n" - .'* Only electronic virtual security modules (EVSMs) and general virtual security modules (GVSMs) within the Chinese mainland support the security audit feature.'."\n", ], - 'GetAuditLogStatus' => [ - 'summary' => 'Queries the status of the audit log feature in the current region.', - 'methods' => [ - 'get', - 'post', + 'ConfigBackupRemark' => [ + 'summary' => 'Configure the name and remark information of a backup.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203655', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], + ], + 'parameters' => [ + [ + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The backup ID.', 'type' => 'string', 'required' => true, 'example' => 'backup-fdb897sdfg****', 'title' => ''], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['description' => 'The remark information of the backup.', 'type' => 'string', 'required' => false, 'example' => 'Backup-Feb-9-test-1B', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The backup name.', 'type' => 'string', 'required' => false, 'example' => 'backup-test', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'The structure of the response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID, which is a unique identifier generated by Alibaba Cloud for the request. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigBackupRemark', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigBackupRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', + ], + 'ConfigBackupTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203664', - 'abilityTreeNodes' => [ - 'FEATUREhsmVF2KT5', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The backup ID.', 'type' => 'string', 'required' => true, 'example' => 'backup-173620705****', 'title' => ''], + ], + [ + 'name' => 'BackupPeriod', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', + 'description' => 'The automatic backup interval, in days. Valid values: 1, 3, 7, and 30.', + 'enumValueTitles' => [], + 'type' => 'integer', + 'format' => 'int64', 'required' => true, - 'example' => 'cn-hangzhou', + 'maximum' => '30', + 'minimum' => '1', + 'enum' => ['1', '3', '7', '30'], + 'example' => '3', + 'title' => '', ], ], [ - 'name' => 'GetOssBucket', + 'name' => 'BackupHourInDay', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to obtain the list of OSS buckets that can be used to store audit logs. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', + 'description' => 'The backup time in 24-hour format. Valid values: 1 to 24.', + 'enumValueTitles' => [], + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'maximum' => '23', + 'minimum' => '0', + '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', + ], + 'example' => '12', + 'title' => '', + ], + ], + [ + 'name' => 'Manual2PeriodicList', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'A list of image IDs to change from manual backup to automatic backup.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an image to change from manual backup to automatic backup.', 'type' => 'string', 'required' => false, 'example' => 'image-haiduf23bj****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Periodic2ManualList', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'A list of image IDs to change from automatic backup to manual backup.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an image to change from automatic backup to manual backup.', 'type' => 'string', 'required' => false, 'example' => 'image-daiduahsbj****', 'title' => ''], 'required' => false, - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AuditLogStatus' => [ - 'description' => 'Indicates whether the audit log feature is enabled. Valid values:'."\n" - ."\n" - .'* enable'."\n" - .'* disable'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'enable', - 'enum' => [ - 'enable', - 'disable', - ], - ], - 'GrantedServiceAccess' => [ - 'description' => 'Indicates whether Cloud Hardware Security Module is authorized to deliver logs. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AuditOssBucket' => [ - 'description' => 'The bucket that stores audit logs.'."\n", - 'type' => 'string', - 'example' => 'bucket-test', - ], - 'OssBuckets' => [ - 'description' => 'A list of buckets that can be used to store audit logs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'bucket-test', - ], - ], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'OSSPermissionDenied.Error', - 'errorMessage' => '获取对应OSS bucket权限失败,请检查OSS权限设置: %s', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigBackupTask', + 'summary' => 'Modifies the execution pattern of a backup task.', + 'description' => 'This operation applies only to backup tasks for Hardware Security Module (HSM) instances in the Chinese mainland.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigBackupTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Success\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AuditLogStatus\\": \\"enable\\",\\n \\"GrantedServiceAccess\\": true,\\n \\"AuditOssBucket\\": \\"bucket-test\\",\\n \\"OssBuckets\\": [\\n \\"bucket-test\\"\\n ]\\n}","type":"json"}]', - 'title' => 'GetAuditLogStatus', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'InitializeAuditLog' => [ - 'summary' => 'Authorizes Cloud Hardware Security Module to deliver logs.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigClusterCertificate' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -348,476 +358,595 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmVF2KT5', + 'abilityTreeNodes' => ['FEATUREhsmLBBV5W'], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsg****', 'title' => ''], + ], + [ + 'name' => 'IssuerCertificate', + 'in' => 'formData', + 'schema' => ['description' => 'The self-signed certificate.', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n" + .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n" + .'YmEgQ2xvdWQxFDA****'."\n" + .'-----END CERTIFICATE-----', 'title' => ''], + ], + [ + 'name' => 'ClusterCertificate', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster certificate.', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n" + .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n" + .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****-----END CERTIFICATE-----', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4FE969D9-E1C7-5274-BE7D-8C3534587605', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'CreateServiceLinkedRole.Error %s', - 'errorMessage' => 'sdfsfa %s', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'EntityNotExist.Service', - 'errorMessage' => '服务不存在: %s', - ], - [ - 'errorCode' => 'EntityNotExist.User', - 'errorMessage' => '角色不存在: %s', - ], - [ - 'errorCode' => 'NoPermission.Client', - 'errorMessage' => '当前账户无创建服务角色权限!', - ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'EntityAlreadyExists.Role', - 'errorMessage' => '服务角色已存在,请勿重复创建!', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'ConfigClusterCertificate', + 'summary' => 'Configures a certificate for a cluster of hardware security modules (HSMs) outside the Chinese mainland.', + 'description' => 'For more information about how to create a self-signed certificate and a cluster certificate on an Elastic Compute Service (ECS) instance, see [Create a NIST FIPS-validated GVSM cluster](~~293585~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FE969D9-E1C7-5274-BE7D-8C3534587605\\"\\n}","type":"json"}]', - 'title' => 'InitializeAuditLog', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'GetImage' => [ - 'summary' => 'Queries information about an image.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigClusterName' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '203665', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'image-wz9c5ths5dfuwx47****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsgfaisdf****', 'title' => ''], + ], + [ + 'name' => 'ClusterName', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster name.', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Image' => [ - 'description' => 'The image information.'."\n", - 'type' => 'object', - 'properties' => [ - 'BackupId' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-1618017313', - ], - 'ExportTime' => [ - 'description' => 'The time when the image was generated. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1786776567788', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'image-wz9c5ths5dfuwx47****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the hardware security module (HSM).'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-9lb32vll****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Remark' => [ - 'description' => 'The description of the backup.'."\n", - 'type' => 'string', - 'example' => 'hsm-test', - ], - 'Status' => [ - 'description' => 'The status of the image. Valid values:'."\n" - ."\n" - .'* NEW'."\n" - .'* DELETED'."\n" - .'* CREATING'."\n" - .'* NORMAL'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'NEW', - 'enum' => [ - 'CREATING', - 'NEW', - 'NORMAL', - 'DELETED', - ], - ], - 'Mode' => [ - 'description' => 'The image generation mode. Valid values:'."\n" - ."\n" - .'* PERIODIC'."\n" - .'* MANUAL'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'MANUAL', - 'enum' => [ - 'MANUAL', - 'PERIODIC', - ], - ], - 'VsmDigest' => [ - 'description' => 'The digest of the HSM.'."\n", - 'type' => 'string', - 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****', - ], - 'SourceImageUid' => [ - 'description' => 'The ID of the source image.'."\n", - 'type' => 'string', - 'example' => 'image-kklhhhh****', - ], - 'SourceRegionId' => [ - 'description' => 'The region ID of the source image.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'SourceBackupUid' => [ - 'description' => 'The ID of the source backup.'."\n", - 'type' => 'string', - 'example' => 'backup-gfuiasdfa****', - ], - 'SourceInstanceId' => [ - 'description' => 'The ID of the source HSM.'."\n", - 'type' => 'string', - 'example' => 'hsm-wz9fnmvx190shfbk****', - ], - 'CopyTime' => [ - 'description' => 'The time when the image was copied. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641275680000', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique ID for each request. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'Configure cluster name', + 'summary' => 'Modifies the name of a cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'GetImage', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'ListImages' => [ - 'summary' => 'Queries the images that meet the specified conditions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigClusterSubnet' => [ + 'summary' => 'Modifies a list of vSwitches that are associated with a hardware security module (HSM) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203777', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'abilityTreeCode' => '211854', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'BackupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'backup-fdb897sdf****', - ], + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the cluster. You can call the ListCluster operation to obtain cluster IDs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsg****', 'title' => ''], ], [ 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of images per page. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-7xvkh90cw39p0****', 'title' => ''], ], [ - 'name' => 'CurrentPage', - 'in' => 'query', + 'name' => 'VSwitchIds', + 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'A list of vSwitches that are associated with the cluster. Note: You must include all vSwitches that you want to associate with the cluster.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-2zeqkh8ar8yey5ejv****', 'title' => ''], 'required' => true, - 'example' => '1', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Mode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The image generation mode. Valid values:'."\n" - ."\n" - .'* PERIODIC: It is automatically generated.'."\n" - .'* MANUAL: It is manually generated.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'MANUAL', - 'enum' => [ - 'MANUAL', - 'PERIODIC', + 'title' => '', + 'description' => 'BaseResult'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigClusterSubnet', + 'description' => 'You can call the operation to configure all vSwitches that are associated with a HSM cluster. You can only add new vSwitches. You cannot delete vSwitches.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterSubnet', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', + ], + 'ConfigClusterWhitelist' => [ + 'summary' => 'Modifies the IP address whitelist of a cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsm01FLNB', 'FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'cluster-729dm40FG****', 'title' => ''], + ], + [ + 'name' => 'Whitelist', + 'in' => 'formData', + 'schema' => ['description' => 'The IP address whitelist of the cluster.', 'type' => 'string', 'required' => true, 'example' => '18.68.XX.XX', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'TotalCount' => [ - 'description' => 'The total number of images returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'PageSize' => [ - 'description' => 'The number of images per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentPage' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Images' => [ - 'description' => 'The images returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The image details.'."\n", - 'type' => 'object', - 'properties' => [ - 'BackupId' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-fdb897sdf****', - ], - 'ExportTime' => [ - 'description' => 'The time when the image was generated. Unit: milliseconds. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1782849566738', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'image-d79x4k11pmg19****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the hardware security module (HSM).'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-6ja1xknf****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Remark' => [ - 'description' => 'The description of the backup.'."\n", - 'type' => 'string', - 'example' => 'hsm-test', - ], - 'Status' => [ - 'description' => 'The status of the image. Valid values:'."\n" - ."\n" - .'* NEW: It is disabled.'."\n" - .'* DELETED: It is deleted.'."\n" - .'* CREATING: It is being created.'."\n" - .'* NORMAL: It is created.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'CREATING', - 'enum' => [ - 'NORMAL', - 'NEW', - 'DELETED', - 'CREATING', - ], - ], - 'Mode' => [ - 'description' => 'The image generation mode. Valid values:'."\n" - ."\n" - .'* PERIODIC: It is automatically generated.'."\n" - .'* MANUAL: It is manually generated.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'MANUAL', - 'enum' => [ - 'PERIODIC', - 'MANUAL', - ], - ], - 'VsmDigest' => [ - 'description' => 'The digest of the HSM.'."\n", - 'type' => 'string', - 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****', - ], - 'SourceImageUid' => [ - 'description' => 'The ID of the source image.'."\n", - 'type' => 'string', - 'example' => 'image-ooopjygsn****', - ], - 'SourceBackupUid' => [ - 'description' => 'The ID of the source backup.'."\n", - 'type' => 'string', - 'example' => 'backup-hodfhaol****', - ], - 'SourceRegionId' => [ - 'description' => 'The ID of the region in which the source image resides.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'SourceInstanceId' => [ - 'description' => 'The ID of the source HSM.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-wz9i2dmefudfxtmb****', - ], - 'CopyTime' => [ - 'description' => 'The time when the image was copied. Unit: milliseconds. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1641275680000', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - [ - 'errorCode' => 'Backup.Deleted', - 'errorMessage' => 'Backup has been deleted.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigClusterWhitelist', + 'description' => 'The IP address whitelist of a cluster has a higher priority than the IP address whitelist of a hardware security module (HSM) in the cluster. In cluster mode, we recommend that you create an IP address whitelist for your cluster. You do not need to create an IP address for the HSM in the cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterWhitelist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"TotalCount\\": 1000,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"Images\\": [\\n {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"ExportTime\\": 1782849566738,\\n \\"ImageId\\": \\"image-d79x4k11pmg19****\\",\\n \\"InstanceId\\": \\"hsm-cn-6ja1xknf****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"hsm-test\\",\\n \\"Status\\": \\"CREATING\\",\\n \\"Mode\\": \\"MANUAL\\",\\n \\"VsmDigest\\": \\"3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****\\",\\n \\"SourceImageUid\\": \\"image-ooopjygsn****\\",\\n \\"SourceBackupUid\\": \\"backup-hodfhaol****\\",\\n \\"SourceRegionId\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"hsm-cn-wz9i2dmefudfxtmb****\\",\\n \\"CopyTime\\": \\"1641275680000\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListImages', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], 'ConfigImageRemark' => [ - 'summary' => 'Modifies the description of an image.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -825,514 +954,247 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], + ], 'parameters' => [ [ 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'image-d79x4k11pmg19****', - ], + 'schema' => ['description' => 'The image ID.', 'type' => 'string', 'required' => true, 'example' => 'image-d79x4k11pmg19****', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-****', - ], + 'schema' => ['description' => 'The remarks of the image.', 'type' => 'string', 'required' => true, 'example' => 'hsm-****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID. This ID is generated by Alibaba Cloud and is unique for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigImageRemark', + 'summary' => 'Modifies the remarks for an image.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigImageRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigImageRemark', ], - 'CopyImage' => [ - 'summary' => 'Copies an image to another region.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ConfigInstanceIpAddress' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '218511', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '211785', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ImageUid', + 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image-hafiudfahdd****', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TargetRegionId', + 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the destination region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The ID of the HSM.'."\n", 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the VPC to which the HMS belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vpc-lmkmivmo6****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the vSwitch to which the HMS belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'vsw-u7gb0qahu****', 'title' => ''], + ], + [ + 'name' => 'Ip', + 'in' => 'formData', + 'schema' => ['description' => 'The endpoint of the VPC to which the HMS belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiAsyncJob>', - 'description' => 'The details of the task.'."\n", + 'title' => '', + 'description' => 'BaseResult'."\n", 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-202401250936hze747fd7e0007005', - ], - 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" - ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the task is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1724379766191', - ], - 'Status' => [ - 'description' => 'The task status.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidZoneId', - 'errorMessage' => 'Invalid parameter zoneId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidVsmType', - 'errorMessage' => 'Invalid parameter vsmType.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ['errorCode' => 'ConfigIp.IpAlreadyInUse', 'errorMessage' => 'Ip is in use, can not config IP address.', 'description' => ''], + ['errorCode' => 'ConfigIp.VpcIpNotMatched', 'errorMessage' => 'Vpc Ip must be in vpc network segment.', 'description' => ''], + ['errorCode' => 'ConfigIp.IpOverFlow', 'errorMessage' => 'Vpc ip last place can not be in [253-255].', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'User has no permission to access this resource.', - ], - [ - 'errorCode' => 'Trial.Forbidden', - 'errorMessage' => 'Current user is not allowed for trials!', - ], - [ - 'errorCode' => 'Forbidden.InstanceInCluster', - 'errorMessage' => 'This API is forbidden for instances in cluster.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceIncorrectState', - 'errorMessage' => 'Instance not in Active/Pending state.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Image.ImageStatusInValid', - 'errorMessage' => 'Image status is invalid.', - ], - [ - 'errorCode' => 'CopyImage.ImageAlreadyCopied', - 'errorMessage' => 'Image already copied, secondary copy is not supported.', - ], - [ - 'errorCode' => 'Image.ActionForbiddenINTL', - 'errorMessage' => 'This API is forbidden for international site.', - ], - [ - 'errorCode' => 'Image.ActionForbiddenCN', - 'errorMessage' => 'This API is forbidden for non-international site.', - ], - [ - 'errorCode' => 'CopyImage.RegionInvalid', - 'errorMessage' => 'Source region or target region invalid.', - ], - [ - 'errorCode' => 'Backup.ActionForbiddenINTL', - 'errorMessage' => 'This API is forbidden for international site.', - ], - [ - 'errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', - 'errorMessage' => 'Target region has the same digest image.', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''], + ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''], + ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''], + ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''], + ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''], + ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict.InstanceModifying', - 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', - ], - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigInstanceIpAddress', + 'summary' => 'Modifies the virtual private cloud (VPC) endpoint of a hardware security module (HSM).', + 'description' => 'After you add an HSM to a cluster, you cannot modify the VPC endpoint of the HSM.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceIpAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1724379766191\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'CopyImage', - 'description' => 'This operation requires that the destination region does not have the same image. This operation is available only for hardware security modules (HSMs) outside the Chinese mainland.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'ExportImage' => [ - 'summary' => 'Exports the image for a specified hardware security module (HSM).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigInstanceRemark' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1341,161 +1203,139 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203656', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'image-8vbdd5uc6v10ecn5****', - ], + 'name' => 'Remark', + 'in' => 'formData', + 'schema' => ['description' => 'The remarks.', 'type' => 'string', 'required' => true, 'example' => 'hsmOnline', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => 'The information about the asynchronous task returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'b1748ca6-6b55-49f4-a6d4-2d694a9f3693', - ], - 'Type' => [ - 'description' => 'The type of the task operation. Valid values:'."\n" - ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Status' => [ - 'description' => 'The task status. Valid values:'."\n" - ."\n" - .'* running'."\n" - .'* cancel'."\n" - .'* fail'."\n" - .'* success'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'running' => '', - 'cancel' => '', - 'fail' => '', - 'success' => '', - ], - 'example' => 'running', - 'enum' => [ - 'running', - 'success', - 'fail', - 'cancel', - ], - ], - 'Response' => [ - 'description' => 'The response returned after the operation succeeds.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Error' => [ - 'description' => 'The error message returned if the operation is abnormal or fails.'."\n", - 'type' => 'string', - 'example' => 'Job.Canceled', - ], - 'Process' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates this ID to uniquely identify the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'User has no permission to access this resource.', - ], - [ - 'errorCode' => 'Backup.ActionForbidden', - 'errorMessage' => 'This API is forbidden for this backup type.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigInstanceRemark', + 'summary' => 'Modifies the remark of an instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"b1748ca6-6b55-49f4-a6d4-2d694a9f3693\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"Job.Canceled\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]', - 'title' => 'ExportImage', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'EnableBackup' => [ - 'summary' => 'Binds a backup to a specified hardware security module (HSM).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ConfigInstanceWhitelist' => [ + 'summary' => 'Modifies the whitelist for an instance.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1507,728 +1347,779 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '203669', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-mp90fxef****', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], [ - 'name' => 'BackupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'backup-1736207****', - ], + 'name' => 'Whitelist', + 'in' => 'formData', + 'schema' => ['description' => 'The list of IP addresses to add to the whitelist. Separate multiple IP addresses with spaces or commas (,).', 'type' => 'string', 'required' => true, 'example' => '18.68.XX.XX,18.68.XX.XX', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - [ - 'errorCode' => 'Backup.ActionForbidden', - 'errorMessage' => 'This API is forbidden for this backup type.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ConfigInstanceWhitelist', + 'description' => 'You can configure the whitelist for an HSM instance if the instance has not joined a cluster and is in the Active status.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceWhitelist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'EnableBackup', - 'description' => 'This operation is available only for backups in the Chinese mainland.'."\n", ], - 'GetBackup' => [ - 'summary' => 'Queries the information about a specified backup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CopyImage' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '203668', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '218511', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ - 'name' => 'BackupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'backup-fdb897sdf****', - ], + 'name' => 'ImageUid', + 'in' => 'formData', + 'schema' => ['description' => 'The image ID.', 'type' => 'string', 'required' => false, 'example' => 'image-hafiudfahdd****', 'title' => ''], + ], + [ + 'name' => 'TargetRegionId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the destination region.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The details of the job.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Backup' => [ - 'description' => 'The information about the backup.'."\n", - 'type' => 'object', - 'properties' => [ - 'BackupId' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-fdb897sdf****', - ], - 'CreateTime' => [ - 'description' => 'The time when the backup is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1682417553781', - ], - 'ExpireTime' => [ - 'description' => 'The expiration time of the backup. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1682417553781', - ], - 'InstanceId' => [ - 'description' => 'The ID of the hardware security module (HSM) that is associated with the backup.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-5yd35431****', - ], - 'Name' => [ - 'description' => 'The name of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-te****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Remark' => [ - 'description' => 'The description of the backup.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Status' => [ - 'description' => 'The status of the backup. Valid values:'."\n" - ."\n" - .'* NEW'."\n" - .'* EXPIRED'."\n" - .'* ENABLED'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'NEW', - 'enum' => [ - 'EXPIRED', - 'ENABLED', - 'NEW', - ], - ], - 'MaxImageCount' => [ - 'description' => 'The maximum number of images.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'Type' => [ - 'description' => 'The type of the backup. Valid values:'."\n" - ."\n" - .'* DEFAULT'."\n" - .'* NORMAL'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'DEFAULT', - 'enum' => [ - 'DEFAULT', - 'NORMAL', - ], - ], - 'BackupPeriod' => [ - 'description' => 'The automatic backup cycle. Unit: days.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'NextImageCreateTime' => [ - 'description' => 'The next time when the image is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1682417553781', - ], - 'BackupHourInDay' => [ - 'description' => 'The backup time in the 24-hour format.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'SpInstanceId' => [ - 'description' => 'The ID of the backup. This parameter is available only for HSM backups in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => 'backup-fdb897sdfg53****', - ], - 'AutoImageCount' => [ - 'description' => 'The number of images that are automatically backed up.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'OwnerInstanceId' => [ - 'description' => 'The ID of the HSM to which the backup belongs. This parameter is available only for HSM backups outside the Chinese mainland and the value of this parameter is consistent with the value of InstanceId.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-huoahd****', - ], - 'ReleaseTime' => [ - 'description' => 'The time when the backup is released. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641275680000', - ], - ], - ], + 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005', 'title' => ''], + 'Type' => ['description' => 'The operation type.'."\n" + ."\n" + .'- create: Creates a job.'."\n" + ."\n" + .'- cancel: Cancels a job.', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the job is complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the job was created. This is a UNIX timestamp that is accurate to the millisecond.', 'type' => 'string', 'example' => '1724379766191', 'title' => ''], + 'Status' => ['description' => 'The status of the job.', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'Response' => ['description' => 'The response information returned after the job is successful.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the job fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the job. Unit: percent.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''], + ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''], + ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''], + ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''], + ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''], + ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CopyImage', + 'summary' => 'Copies an image to another region.', + 'description' => 'The destination region cannot contain an identical image. This API call is supported only by HSMs outside the Chinese mainland.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:CopyImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Backup\\": {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"CreateTime\\": 1682417553781,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-5yd35431****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"DEFAULT\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"BackupHourInDay\\": \\"10\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg53****\\",\\n \\"AutoImageCount\\": 1,\\n \\"OwnerInstanceId\\": \\"hsm-cn-huoahd****\\",\\n \\"ReleaseTime\\": 1641275680000\\n }\\n}","type":"json"}]', - 'title' => 'GetBackup', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1724379766191\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'ListBackups' => [ - 'summary' => 'Queries the backups that meet the query conditions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateCluster' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '203775', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ + 'name' => 'ClusterName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****', 'title' => ''], + ], + [ 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CurrentPage', - 'in' => 'query', + 'name' => 'MasterInstanceId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the master HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm_intl-sg-uz63ixak****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', + 'title' => '', + 'description' => 'PlainResult', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '5F58413E-8F57-585B-BE48-64CC1E31133C', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'example' => 'cluster-729dm40FG****', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '20', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateCluster', + 'summary' => 'Creates a cluster by designating an HSM instance as the master HSM.', + 'description' => 'The HSM instance that you select to create the cluster must be in the Active state.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-hsm:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5F58413E-8F57-585B-BE48-64CC1E31133C\\",\\n \\"ClusterId\\": \\"cluster-729dm40FG****\\"\\n}","type":"json"}]', + ], + 'DeleteCluster' => [ + 'summary' => 'Deletes the specified cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hsm-te****', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], + ], + 'parameters' => [ [ - 'name' => 'BackupId', - 'in' => 'query', + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-NZB9Oj5Yfd8Y****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'backup-1648438****', + 'title' => '', + 'description' => 'BaseResult', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique ID for each request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'DeleteCluster', + 'description' => 'You can delete a cluster only if it contains no HSM instances.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-hsm:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203661', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y'], + ], + 'parameters' => [ + [ + 'name' => 'AcceptLanguage', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the hardware security module (HSM).'."\n", + 'description' => 'The language of the query results. Valid values:'."\n" + ."\n" + .'- zh: Chinese'."\n" + .'- en: English.', + 'enumValueTitles' => [], 'type' => 'string', 'required' => false, - 'example' => 'hsm-cn-vj30bil8****', + 'example' => 'zh', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentPage' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Backups' => [ - 'description' => 'The backups returned.'."\n", + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique identifier for each request. You can use the request ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Regions' => [ + 'description' => 'The list of regions.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the backup.'."\n", + 'description' => 'The region information.', 'type' => 'object', 'properties' => [ - 'BackupId' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-1648438****', - ], - 'CreateTime' => [ - 'description' => 'The time when the backup is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1637229596000', - ], - 'ExpireTime' => [ - 'description' => 'The expiration time of the backup. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1682417553781'."\n", - ], - 'InstanceId' => [ - 'description' => 'The ID of the HSM that is associated with the backup.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-vj30bil8****', - ], - 'Name' => [ - 'description' => 'The name of the backup.'."\n", - 'type' => 'string', - 'example' => 'backup-te****', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'ap-southeast-1', - ], - 'Remark' => [ - 'description' => 'The description of the backup.'."\n", - 'type' => 'string', - 'example' => 'normal backup', - ], - 'Status' => [ - 'description' => 'The status of the backup. Valid values:'."\n" - ."\n" - .'* NEW: The backup is disabled.'."\n" - .'* EXPIRED: The backup expired.'."\n" - .'* ENABLED: The backup is enabled.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'ENABLED', - 'enum' => [ - 'NEW', - 'ENABLED', - 'EXPIRED', - ], - ], - 'MaxImageCount' => [ - 'description' => 'The number of images.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'Type' => [ - 'description' => 'The type of the backup. Valid values:'."\n" - ."\n" - .'* DEFAULT'."\n" - .'* NORMAL'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'NORMAL', - 'enum' => [ - 'NORMAL', - 'DEFAULT', + 'LocalName' => ['description' => 'The region name.', 'type' => 'string', 'example' => 'China (Hangzhou)', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Zones' => [ + 'description' => 'The list of zones.', + 'type' => 'array', + 'items' => [ + 'description' => 'The zone information.', + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-a', 'title' => ''], + 'LocalName' => ['description' => 'The zone name.', 'type' => 'string', 'example' => 'Hangzhou Zone A', 'title' => ''], + 'Cluster' => ['description' => 'Indicates whether clusters are supported. Valid values:'."\n" + ."\n" + .'- yes: Supported.'."\n" + .'- no: Not supported.', 'type' => 'string', 'example' => 'yes', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - ], - 'BackupPeriod' => [ - 'description' => 'The automatic backup cycle. Unit: days.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'NextImageCreateTime' => [ - 'description' => 'The time when the image is created next time. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1682417553781'."\n", - ], - 'AutoImageCount' => [ - 'description' => 'The number of images that are automatically backed up.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'BackupHourInDay' => [ - 'description' => 'The backup time on the hour that is in the 24-hour clock.'."\n", - 'type' => 'string', - 'example' => '13', - ], - 'SpInstanceId' => [ - 'description' => 'The ID of the backup. This parameter is available only for HSM backups in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => 'backup-fdb897sdfg534-****', - ], - 'ReleaseTime' => [ - 'description' => 'The time when the backup is released. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641275680000', - ], - 'OwnerInstanceId' => [ - 'description' => 'The ID of the HSM to which the backup belongs. This parameter is available only for HSM backups outside the Chinese mainland and the value of this parameter is consistent with the value of InstanceId.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-vj30bil8****', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], + ['errorCode' => 'NoPermission.Error', 'errorMessage' => 'caller has no permission', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - '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' => 'ListBackups', - ], - 'ConfigBackupTask' => [ - 'summary' => 'Modifies the execution mode of a backup task.', - 'methods' => [ - 'post', - 'get', + 'title' => 'Query regions that support cloudHSM', + 'summary' => 'Queries the regions that support Cloud Hardware Security Module (CloudHSM).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LocalName\\": \\"Hangzhou Zone A\\",\\n \\"Cluster\\": \\"yes\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DownloadClusterManagedCert' => [ + 'summary' => 'Download cluster managed certificate.', + 'description' => 'Only certificate-managed clusters in China regions on the China site are supported.', + 'path' => '/', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'], ], 'parameters' => [ [ - 'name' => 'BackupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'backup-173620705****', - ], - ], - [ - 'name' => 'BackupPeriod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The automatic backup cycle. Unit: days. Valid values: 1, 3, 7, and 30.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '30', - 'minimum' => '1', - 'enumValueTitles' => [], - 'example' => '3', - 'enum' => [ - '1', - '3', - '7', - '30', - ], - ], - ], - [ - 'name' => 'BackupHourInDay', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backup time in the 24-hour format. Valid values: 1 to 24.'."\n" - ."\n" - .'Enumeration values:'."\n" - ."\n" - .'* 0'."\n" - .'* 1'."\n" - .'* 2'."\n" - .'* 3'."\n" - .'* 4'."\n" - .'* 5'."\n" - .'* 6'."\n" - .'* 7'."\n" - .'* 8'."\n" - .'* 9'."\n" - .'* 10'."\n" - .'* 11'."\n" - .'* 12'."\n" - .'* 13'."\n" - .'* 14'."\n" - .'* 15'."\n" - .'* 16'."\n" - .'* 17'."\n" - .'* 18'."\n" - .'* 19'."\n" - .'* 20'."\n" - .'* 21'."\n" - .'* 22'."\n" - .'* 23'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '23', - 'minimum' => '0', - 'enumValueTitles' => [], - 'example' => '12', - 'enum' => [ - '0', - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9', - '10', - '11', - '12', - '13', - '14', - '15', - '16', - '17', - '18', - '19', - '20', - '21', - '22', - '23', - ], - ], - ], - [ - 'name' => 'Manual2PeriodicList', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of images for which the manual backup mode is updated to the automatic backup mode.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image-haiduf23bj****', - ], - 'required' => false, - ], - ], - [ - 'name' => 'Periodic2ManualList', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The IDs of images for which the automatic backup mode is updated to the manual backup mode.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image-daiduahsbj****', - ], - 'required' => false, - ], + 'schema' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-001***hui'], ], ], 'responses' => [ 200 => [ + 'description' => '成功响应', 'schema' => [ + 'title' => '', + 'description' => 'Response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Content' => ['description' => 'A base64-encoded zip compressed file. Decode with base64 to obtain the original zip file content, then decompress the zip to obtain the certificate files.', 'type' => 'string', 'example' => 'emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'Cluster.ClusterManagedCertDownload.NotSupport', 'errorMessage' => 'download cluster managed cert not support.', 'description' => ''], + ['errorCode' => 'Cluster.CertsManageNotFinished', 'errorMessage' => 'cluster certs manage not finished.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - [ - 'errorCode' => 'Backup.ActionForbidden', - 'errorMessage' => 'This API is forbidden for this backup type.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Download Cluster Managed Certificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigBackupTask', - 'description' => 'Only hardware security modules (HSMs) in the Chinese mainland support the operation.'."\n", - ], - 'ResetBackup' => [ - 'summary' => 'Disassociates a backup from a hardware security module (HSM).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:DownloadClusterManagedCert', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Content\\": \\"emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=\\"\\n}","type":"json"}]', + ], + 'EnableBackup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2240,80 +2131,72 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'abilityTreeCode' => '203669', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****', 'title' => ''], + ], + [ 'name' => 'BackupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'backup-fdb897sdfg5****', - ], + 'schema' => ['description' => 'The ID of the backup.', 'type' => 'string', 'required' => true, 'example' => 'backup-1736207****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique ID for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - [ - 'errorCode' => 'Backup.ActionForbidden', - 'errorMessage' => 'This API is forbidden for this backup type.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EnableBackup', + 'summary' => 'Enables backup for a specified instance.', + 'description' => 'This operation is available for backup calls only in the Chinese mainland.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:EnableBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ResetBackup', - 'description' => 'This operation is available only for HSMs in the Chinese mainland.'."\n", ], - 'ConfigBackupRemark' => [ - 'summary' => 'Configures the name and description of a backup.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ExportImage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2322,2971 +2205,1367 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '203655', - 'abilityTreeNodes' => [ - 'FEATUREhsmQEGDGS', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '203656', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'BackupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'backup-fdb897sdfg****', - ], - ], - [ - 'name' => 'Remark', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test backup.', - ], + 'schema' => ['description' => 'The Encryption Service instance ID.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the backup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'backup-test', - ], + 'schema' => ['description' => 'The image ID.', 'type' => 'string', 'required' => true, 'example' => 'image-8vbdd5uc6v10ecn5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data that is returned.'."\n", + 'title' => '', + 'description' => 'The response information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'RequestId' => ['title' => '', 'description' => 'The request ID. Alibaba Cloud generates a unique identifier for each request. You can use the request ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], + 'Job' => [ + 'description' => 'The asynchronous task information.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'b1748ca6-6b55-49f4-a6d4-2d694a9f3693', 'title' => ''], + 'Type' => ['description' => 'The task operation type. Valid values:'."\n" + ."\n" + .'- create: Create task.'."\n" + ."\n" + .'- cancel: Cancel task.', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is completed. Valid values:'."\n" + ."\n" + .'- true: Completed.'."\n" + ."\n" + .'- false: Not completed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Status' => [ + 'description' => 'The task status. Valid values:'."\n" + .'- running: Running.'."\n" + ."\n" + .'- cancel: Canceled.'."\n" + .'- fail: Failed. '."\n" + .'- success: Succeeded.', + 'enumValueTitles' => ['running' => 'Running.', 'cancel' => 'Canceled.', 'fail' => 'Failed.', 'success' => 'Succeeded.'], + 'type' => 'string', + 'enum' => ['running', 'success', 'fail', 'cancel'], + 'example' => 'running', + 'title' => '', + ], + 'Response' => ['description' => 'The response information returned after the operation succeeds.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned when the operation is failed or a fault occurs.', 'type' => 'string', 'example' => 'Job.Canceled', 'title' => ''], + 'Process' => ['description' => 'The task execution progress. Unit: percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'User has no permission to access this resource.', 'description' => ''], + ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Export image', + 'summary' => 'Exports an image of a specified Encryption Service instance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigBackupRemark', - ], - 'DeleteCluster' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-hsm:ExportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"b1748ca6-6b55-49f4-a6d4-2d694a9f3693\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"Job.Canceled\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]', + ], + 'GetAuditLogStatus' => [ + 'summary' => 'Queries the status of the audit log feature in the current region.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '203664', + 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-NZB9Oj5Yfd8Y****', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'GetOssBucket', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to obtain the list of OSS buckets that can be used to store audit logs. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'AuditLogStatus' => [ + 'description' => 'Indicates whether the audit log feature is enabled. Valid values:'."\n" + ."\n" + .'- enable'."\n" + ."\n" + .'- disable', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'enum' => ['enable', 'disable'], + 'example' => 'enable', + 'title' => '', + ], + 'GrantedServiceAccess' => ['description' => 'Indicates whether Cloud Hardware Security Module is authorized to deliver logs. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AuditOssBucket' => ['description' => 'The bucket that stores audit logs.', 'type' => 'string', 'example' => 'bucket-test', 'title' => ''], + 'OssBuckets' => [ + 'description' => 'A list of buckets that can be used to store audit logs.', + 'type' => 'array', + 'items' => ['description' => 'The name of the bucket.', 'type' => 'string', 'example' => 'bucket-test', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], - ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'OSSPermissionDenied.Error', 'errorMessage' => '获取对应OSS bucket权限失败,请检查OSS权限设置: %s', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'GetAuditLogStatus', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetAuditLogStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'DeleteCluster', - 'summary' => 'Deletes a hardware security module (HSM) cluster.', - 'description' => 'You can delete an HSM only if the cluster does not contain HSMs.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Success\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AuditLogStatus\\": \\"enable\\",\\n \\"GrantedServiceAccess\\": true,\\n \\"AuditOssBucket\\": \\"bucket-test\\",\\n \\"OssBuckets\\": [\\n \\"bucket-test\\"\\n ]\\n}","type":"json"}]', ], - 'JoinCluster' => [ - 'summary' => 'Adds a hardware security module (HSM) to the current cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetBackup' => [ + 'summary' => 'Retrieves information about a specific backup.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeCode' => '203668', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-NZB9Oj5Yfd8Y****', - 'title' => '集群ID', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM that you want to add to the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - 'title' => '实例ID', - ], + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The backup ID.', 'type' => 'string', 'required' => false, 'example' => 'backup-fdb897sdf****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiJoinClusterResponse>', - 'description' => 'PlainResult'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - 'title' => '请求的唯一标识符', - ], - 'Job' => [ - 'description' => 'The details of the task.'."\n", + 'RequestId' => ['description' => 'The ID of the request. This ID is a unique identifier generated by Alibaba Cloud for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Backup' => [ + 'description' => 'The backup information.', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-202401250936hze747fd7e0007005', - 'title' => '异步任务ID', - ], - 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" + 'BackupId' => ['description' => 'The backup ID.', 'type' => 'string', 'example' => 'backup-fdb897sdf****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the backup was created. This is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the backup expires. This is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the HSM instance that is associated with the backup.', 'type' => 'string', 'example' => 'hsm-cn-5yd35431****', 'title' => ''], + 'Name' => ['description' => 'The backup name.', 'type' => 'string', 'example' => 'backup-te****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Remark' => ['description' => 'The backup remarks.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Status' => [ + 'description' => 'The backup status.'."\n" ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'create', - 'title' => '任务类型', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete. Valid values:'."\n" + .'- NEW: The backup is not enabled.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - 'title' => '任务完成情况', - ], - 'CreateTime' => [ - 'description' => 'The time when the task was created. Unit: milliseconds. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1711764127000', - 'title' => '创建时间', - ], - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" + .'- EXPIRED: The backup has expired.'."\n" ."\n" - .'* success'."\n" - .'* running'."\n" - .'* cancel'."\n" - .'* fail'."\n", - 'type' => 'string', - 'example' => 'running', - 'title' => '任务状态', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", + .'- ENABLED: The backup is enabled.', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'success', - 'title' => '任务返回值', + 'enum' => ['EXPIRED', 'ENABLED', 'NEW'], + 'example' => 'NEW', + 'title' => '', ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", + 'MaxImageCount' => ['description' => 'The maximum number of images.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'Type' => [ + 'description' => 'The backup type.'."\n" + ."\n" + .'- DEFAULT: The default backup.'."\n" + ."\n" + .'- NORMAL: The normal backup.', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'OperationTimeout', - 'title' => '任务报错信息', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '86', - 'title' => '任务进度', - ], + 'enum' => ['DEFAULT', 'NORMAL'], + 'example' => 'DEFAULT', + 'title' => '', + ], + 'BackupPeriod' => ['description' => 'The automatic backup cycle in days.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'NextImageCreateTime' => ['description' => 'The time when the next image will be created. This is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781', 'title' => ''], + 'BackupHourInDay' => ['description' => 'The backup time. This is an integer on the hour in a 24-hour format.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'SpInstanceId' => ['description' => 'The backup ID in the sales domain. This property is available only for backups of HSM instances in the Chinese mainland.', 'type' => 'string', 'example' => 'backup-fdb897sdfg53****', 'title' => ''], + 'AutoImageCount' => ['description' => 'The number of automatic backup images.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'OwnerInstanceId' => ['description' => 'The ID of the HSM instance to which the backup belongs. This property is available only for backups of HSM instances outside the Chinese mainland and has the same value as InstanceId.', 'type' => 'string', 'example' => 'hsm-cn-huoahd****', 'title' => ''], + 'ReleaseTime' => ['description' => 'The time when the backup was released. This is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000', 'title' => ''], ], - 'title' => '异步任务对象', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], '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' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetBackup', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1711764127000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]', - 'title' => 'JoinCluster', - 'description' => '* You can add the HSM to only the cluster that is in the INITIALIZED state.'."\n" - .'* The HSM that you want to add to the cluster is enabled or disabled and is not initialized.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Backup\\": {\\n \\"BackupId\\": \\"backup-fdb897sdf****\\",\\n \\"CreateTime\\": 1682417553781,\\n \\"ExpireTime\\": 1682417553781,\\n \\"InstanceId\\": \\"hsm-cn-5yd35431****\\",\\n \\"Name\\": \\"backup-te****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Remark\\": \\"test\\",\\n \\"Status\\": \\"NEW\\",\\n \\"MaxImageCount\\": \\"3\\",\\n \\"Type\\": \\"DEFAULT\\",\\n \\"BackupPeriod\\": 3,\\n \\"NextImageCreateTime\\": 1682417553781,\\n \\"BackupHourInDay\\": \\"10\\",\\n \\"SpInstanceId\\": \\"backup-fdb897sdfg53****\\",\\n \\"AutoImageCount\\": 1,\\n \\"OwnerInstanceId\\": \\"hsm-cn-huoahd****\\",\\n \\"ReleaseTime\\": 1641275680000\\n }\\n}","type":"json"}]', ], - 'ConfigClusterSubnet' => [ - 'summary' => 'Modifies a list of vSwitches that are associated with a hardware security module (HSM) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetCluster' => [ + 'summary' => 'Queries information about a specified cluster.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '211854', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster. You can call the ListCluster operation to obtain cluster IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-BqxX63Bsg****', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'VpcId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-7xvkh90cw39p0****', - ], - ], - [ - 'name' => 'VSwitchIds', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'description' => 'A list of vSwitches that are associated with the cluster. Note: You must include all vSwitches that you want to associate with the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-2zeqkh8ar8yey5ejv****', - ], - 'required' => true, - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-p94y1dud9ts****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'PlainResult<OpenApiGetClusterResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049366F216', + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique identifier for each request. You can use the request ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Cluster' => [ + 'description' => 'The cluster information.', + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['title' => '', 'description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cluster-p94y1dud9ts****'], + 'ClusterName' => ['description' => 'The cluster name.', 'type' => 'string', 'example' => 'cluster_polar_****', 'title' => ''], + 'Status' => ['description' => 'The cluster status. Valid values:'."\n" + ."\n" + .'- NEW: not initialized'."\n" + ."\n" + .'- INITIALIZED: initialized'."\n" + ."\n" + .'- DELETED: deleted'."\n" + ."\n" + .'- SYNCHRONIZING: synchronizing'."\n" + ."\n" + .'- TO_DELETE: pending deletion.', 'type' => 'string', 'example' => 'NEW', 'title' => ''], + 'CreateTime' => ['title' => '', 'description' => 'The time when the cluster was created, in milliseconds. The value is a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000'], + 'RegionId' => ['title' => '', 'description' => 'The region ID of the cluster.', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'VpcId' => ['title' => '', 'description' => 'The ID of the VPC to which the cluster belongs.', 'type' => 'string', 'example' => 'vpc-8vbt0fjdm29hofvbo****'], + 'Whitelist' => ['description' => 'The access whitelist of the cluster.', 'type' => 'string', 'example' => '130.176.XX.XX', 'title' => ''], + 'Zones' => [ + 'description' => 'The zones of the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The zone.', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-uf61s651p69bdgmki****', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-j', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DeviceType' => ['title' => '', 'description' => 'The device type.', 'type' => 'string', 'example' => 'jnta'], + 'ClusterCsr' => ['title' => '', 'description' => 'The certificate signing request (CSR) file of the cluster.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE REQUEST-----\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****'."\n" + .'-----END CERTIFICATE REQUEST-----'], + 'ClusterCertificate' => ['description' => 'The cluster certificate.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n" + .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n" + .'YmEgQ2xvdWQxFDA****'."\n" + .'-----END CERTIFICATE-----', 'title' => ''], + 'ClusterOwnerCertificate' => ['description' => 'The self-signed certificate of the cluster.', 'type' => 'string', 'example' => '----BEGIN CERTIFICATE-----'."\n" + .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n" + .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n" + .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****'."\n" + .'-----END CERTIFICATE-----', 'title' => ''], + 'Size' => ['title' => '', 'description' => 'The number of instances in the cluster.', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'Instances' => [ + 'description' => 'The instances in the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The Encryption Service instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['title' => '', 'description' => 'The Encryption Service instance ID.', 'type' => 'string', 'example' => 'hsm-cn-g6z3v0uf****'], + 'NodeId' => ['title' => '', 'description' => 'The node ID of the Encryption Service instance in the cluster.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Master' => ['description' => 'Indicates whether the instance is the primary Encryption Service instance. Valid values:'."\n" + ."\n" + .'- true: The instance is the primary Encryption Service instance.'."\n" + ."\n" + .'- false: The instance is not the primary Encryption Service instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ClusterMode' => ['description' => 'The cluster mode.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- 0: manual synchronization cluster'."\n" + .'- 1: automatic synchronization cluster (Encryption Service cluster in the Chinese mainland)'."\n" + .'- 2: automatic synchronization cluster (Encryption Service cluster outside the Chinese mainland)'."\n" + ."\n" + .'</props>'."\n" + ."\n\n" + .'<props="intl">'."\n" + .'2: automatic synchronization cluster'."\n" + .'</props>.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'EntityCertExpireTime' => ['description' => 'The expiration time of the managed certificate of the cluster, in milliseconds. The value is a UNIX timestamp.'."\n" + .'This value is meaningful only when CertManaged is set to true.', 'type' => 'string', 'example' => '1641275680000', 'title' => ''], + 'CertManaged' => ['description' => 'Indicates whether the cluster certificate is managed. Valid values:'."\n" + ."\n" + .'- true: The cluster certificate is managed.'."\n" + ."\n" + .'- false: The cluster certificate is not managed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'KmsInstanceId' => ['title' => '', 'type' => 'string', 'example' => 'kst-xxx', 'description' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query cluster information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigClusterSubnet', - 'description' => 'You can call the operation to configure all vSwitches that are associated with a HSM cluster. You can only add new vSwitches. You cannot delete vSwitches.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Cluster\\": {\\n \\"ClusterId\\": \\"cluster-p94y1dud9ts****\\",\\n \\"ClusterName\\": \\"cluster_polar_****\\",\\n \\"Status\\": \\"NEW\\",\\n \\"CreateTime\\": 1641275680000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VpcId\\": \\"vpc-8vbt0fjdm29hofvbo****\\",\\n \\"Whitelist\\": \\"130.176.XX.XX\\",\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-uf61s651p69bdgmki****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-j\\"\\n }\\n ],\\n \\"DeviceType\\": \\"jnta\\",\\n \\"ClusterCsr\\": \\"-----BEGIN CERTIFICATE REQUEST-----\\\\\\\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\\\\\\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****\\\\n-----END CERTIFICATE REQUEST-----\\",\\n \\"ClusterCertificate\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV\\\\nBAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh\\\\nYmEgQ2xvdWQxFDA****\\\\n-----END CERTIFICATE-----\\",\\n \\"ClusterOwnerCertificate\\": \\"----BEGIN CERTIFICATE-----\\\\nMIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV\\\\nBAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG\\\\nA1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****\\\\n-----END CERTIFICATE-----\\",\\n \\"Size\\": 2,\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-g6z3v0uf****\\",\\n \\"NodeId\\": 1,\\n \\"Master\\": true\\n }\\n ],\\n \\"ClusterMode\\": 2,\\n \\"EntityCertExpireTime\\": \\"1641275680000\\",\\n \\"CertManaged\\": true,\\n \\"KmsInstanceId\\": \\"kst-xxx\\"\\n }\\n}","type":"json"}]', ], - 'SyncCluster' => [ - 'summary' => 'Synchronizes the data of hardware security modules (HSMs) in a cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetImage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - ], + 'abilityTreeCode' => '203665', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-BqxX63Bsgytet****', - ], + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The image ID.', 'type' => 'string', 'required' => true, 'example' => 'image-wz9c5ths5dfuwx47****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiSyncClusterResponse>', - 'description' => 'PlainResult'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => 'The details of the task.'."\n", + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Image' => [ + 'description' => 'The information about the image.', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-000bu7m5vjmyz9s7qz85', - ], - 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" + 'BackupId' => ['description' => 'The backup ID.', 'type' => 'string', 'example' => 'backup-1618017313', 'title' => ''], + 'ExportTime' => ['description' => 'The time when the image was created. This is a UNIX timestamp that is accurate to the millisecond.', 'type' => 'integer', 'format' => 'int64', 'example' => '1786776567788', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => 'image-wz9c5ths5dfuwx47****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'example' => 'hsm-cn-9lb32vll****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Remark' => ['description' => 'The remarks of the backup.', 'type' => 'string', 'example' => 'hsm-test', 'title' => ''], + 'Status' => [ + 'description' => 'The status of the image.'."\n" ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete. Valid values:'."\n" + .'- NEW: The image is not enabled.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the task was created. Unit: milliseconds. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1711764127000', - ], - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" + .'- DELETED: The image is deleted.'."\n" ."\n" - .'* success'."\n" - .'* running'."\n" - .'* cancel'."\n" - .'* fail'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", + .'- CREATING: The image is being created.'."\n" + ."\n" + .'- NORMAL: The image is created.', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'success', + 'enum' => ['CREATING', 'NEW', 'NORMAL', 'DELETED'], + 'example' => 'NEW', + 'title' => '', ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", + 'Mode' => [ + 'description' => 'The image creation mode.'."\n" + ."\n" + .'- PERIODIC: The image is created automatically.'."\n" + ."\n" + .'- MANUAL: The image is created manually.', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], + 'enum' => ['MANUAL', 'PERIODIC'], + 'example' => 'MANUAL', + 'title' => '', + ], + 'VsmDigest' => ['description' => 'The summary of the HSM instance.', 'type' => 'string', 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****', 'title' => ''], + 'SourceImageUid' => ['description' => 'The source image ID.', 'type' => 'string', 'example' => 'image-kklhhhh****', 'title' => ''], + 'SourceRegionId' => ['description' => 'The region ID of the source image.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'SourceBackupUid' => ['description' => 'The source backup ID.', 'type' => 'string', 'example' => 'backup-gfuiasdfa****', 'title' => ''], + 'SourceInstanceId' => ['description' => 'The source instance ID.', 'type' => 'string', 'example' => 'hsm-wz9fnmvx190shfbk****', 'title' => ''], + 'CopyTime' => ['description' => 'The time when the image was copied. This is a UNIX timestamp that is accurate to the millisecond.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetImage', + 'summary' => 'Retrieves information about a specified image.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'SyncCluster', - 'description' => '* This operation is used for manually synchronizing data within clusters located in the Chinese Mainland. For clusters outside the Chinese Mainland, automatic data synchronization is supported, and this operation is unnecessary. If you attempt to use this operation, a 400 error code will be returned.'."\n" - .'* The data synchronization takes approximately 5 minutes. To avoid service interruptions, we recommend performing this operation during off-peak hours.', + '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"}]', ], - 'InitializeCluster' => [ - 'summary' => 'Initializes a cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetInstance' => [ + 'summary' => 'Queries information about a specified instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '209071', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmUNBCOF', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-p94y1dud9****', - ], + 'schema' => ['title' => '', 'description' => 'The instance ID of the Encryption Service instance.', 'type' => 'string', 'example' => 'hsm-cn-vj30bil****', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'PlainResult<OpenApiGetInstanceResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049366F216', + 'RequestId' => ['title' => '', 'description' => 'The request ID. Alibaba Cloud generates a unique identifier for each API request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], + 'Instance' => [ + 'title' => '', + 'description' => 'The instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['title' => '', 'description' => 'The instance ID of the Encryption Service instance.', 'type' => 'string', 'example' => 'hsm-cn-g4t3jwsc****'], + 'Remark' => ['title' => '', 'description' => 'The remarks.', 'type' => 'string', 'example' => 'hsmOnline'], + 'RegionId' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ZoneId' => ['title' => '', 'description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-b'], + 'Vendor' => ['title' => '', 'description' => 'The vendor information.', 'type' => 'string', 'example' => 'jnta'], + 'DeviceType' => ['title' => '', 'description' => 'The device type.', 'type' => 'string', 'example' => 'jnta.SJJ1528-G'], + 'PqcEnabled' => [ + 'title' => '', + 'description' => 'Indicates whether the Post-Quantum Cryptography (PQC) feature is enabled for the instance.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'enum' => ['1', '0'], + ], + 'TpsEnabled' => [ + 'description' => 'Indicates whether TPS monitoring is supported for the instance.', + 'enumValueTitles' => ['Not supported.', 'Supported.'], + 'type' => 'integer', + 'format' => 'int32', + 'enum' => ['0', '1'], + 'example' => '1', + 'title' => '', + ], + 'TenantIsolationType' => ['title' => '', 'description' => 'The hardware isolation type of the HSM. Valid values:'."\n" + .'- vsm: virtual HSM.'."\n" + .'- hostedHsm: hosted hardware HSM.', 'type' => 'string', 'example' => 'hostedHsm'], + 'OrderId' => ['title' => '', 'description' => 'The order ID.', 'type' => 'string', 'example' => '23576634952****'], + 'IsTrial' => ['title' => '', 'description' => 'Indicates whether the instance is a free trial instance. Valid values:'."\n" + ."\n" + .'- true: The instance is a free trial instance.'."\n" + ."\n" + .'- false: The instance is not a free trial instance.', 'type' => 'boolean', 'example' => 'false'], + 'VpcId' => ['title' => '', 'description' => 'The ID of the VPC to which the instance belongs.', 'type' => 'string', 'example' => 'vpc-uf69i66j9kmoko52p****'], + 'VSwitchId' => ['title' => '', 'description' => 'The ID of the vSwitch configured for the Encryption Service instance.', 'type' => 'string', 'example' => 'vsw-bp1mvfs31ltt0wyhf****'], + 'Ip' => ['title' => '', 'description' => 'The IP address of the Encryption Service instance in the VPC.', 'type' => 'string', 'example' => '10.192.XX.XX'], + 'Whitelist' => ['title' => '', 'description' => 'The IP whitelist.', 'type' => 'string', 'example' => '18.68.XX.XX'], + 'CreateTime' => ['title' => '', 'description' => 'The time when the instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1699515963000'], + 'ExpireTime' => ['title' => '', 'description' => 'The time when the instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1699496389720'], + 'ClusterId' => ['title' => '', 'description' => 'The ID of the cluster to which the instance belongs.', 'type' => 'string', 'example' => 'cluster-w3G9vOJI2****'], + 'ClusterName' => ['title' => '', 'description' => 'The cluster name.', 'type' => 'string', 'example' => 'cluster_online'], + 'Master' => ['title' => '', 'description' => 'Indicates whether the instance is the primary HSM. Valid values: '."\n" + ."\n" + .'- true: The instance is the primary HSM.'."\n" + ."\n" + .'- false: The instance is a secondary HSM.', 'type' => 'boolean', 'example' => 'true'], + 'Status' => ['title' => '', 'description' => 'The instance status. Valid values: '."\n" + ."\n" + .'- PENDING: Not activated.'."\n" + ."\n" + .'- ACTIVE: Activated.'."\n" + ."\n" + .'- EXPIRED: Expired.'."\n" + ."\n" + .'- INVALID: Invalidated.'."\n" + ."\n" + .'- FAILURE: Production failed.'."\n" + ."\n" + .'- RESET: Being reset.'."\n" + ."\n" + .'- PAUSED: Suspended.'."\n" + ."\n" + .'- MODIFYING: Being modified.', 'type' => 'string', 'example' => 'EXPIRED'], + 'CertificationUrl' => ['description' => 'The download URL of the HSM qualification certificate.', 'type' => 'string', 'example' => 'https://xxxxxx', 'title' => ''], + 'KmsInstanceId' => ['title' => '', 'type' => 'string', 'example' => 'kst-xxxxx', 'description' => ''], + ], + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict.InstanceModifying', 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', - 'title' => 'InitializeCluster', - 'description' => '* The cluster is not initialized, but the master hardware security module (HSM) of the cluster is initialized.'."\n" - .'* Two or more vSwitches are configured for the cluster.'."\n", - ], - 'SwitchClusterMaster' => [ - 'summary' => 'Promotes a slave hardware security module (HSM) to the master HSM within the cluster. Clusters that are manually synchronized in the Chinese Mainland do not support this operation.', - 'methods' => [ - 'post', + 'title' => 'Query instance information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instance\\": {\\n \\"InstanceId\\": \\"hsm-cn-g4t3jwsc****\\",\\n \\"Remark\\": \\"hsmOnline\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"Vendor\\": \\"jnta\\",\\n \\"DeviceType\\": \\"jnta.SJJ1528-G\\",\\n \\"PqcEnabled\\": 1,\\n \\"TpsEnabled\\": 1,\\n \\"TenantIsolationType\\": \\"hostedHsm\\",\\n \\"OrderId\\": \\"23576634952****\\",\\n \\"IsTrial\\": false,\\n \\"VpcId\\": \\"vpc-uf69i66j9kmoko52p****\\",\\n \\"VSwitchId\\": \\"vsw-bp1mvfs31ltt0wyhf****\\",\\n \\"Ip\\": \\"10.192.XX.XX\\",\\n \\"Whitelist\\": \\"18.68.XX.XX\\",\\n \\"CreateTime\\": 1699515963000,\\n \\"ExpireTime\\": 1699496389720,\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"ClusterName\\": \\"cluster_online\\",\\n \\"Master\\": true,\\n \\"Status\\": \\"EXPIRED\\",\\n \\"CertificationUrl\\": \\"https://xxxxxx\\",\\n \\"KmsInstanceId\\": \\"kst-xxxxx\\"\\n }\\n}","type":"json"}]', + ], + 'GetJob' => [ + 'summary' => 'Retrieves the details of an asynchronous task.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeCode' => '201995', + 'abilityTreeNodes' => ['FEATUREhsm01FLNB', 'FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', + 'name' => 'JobId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the task.', 'type' => 'string', 'required' => true, 'example' => 'job-202401250936hze747fd7e0007005', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-w3G9vOJI2****', + 'title' => '', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], + 'Job' => [ + 'description' => 'The details of the task.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005', 'title' => ''], + 'Type' => ['description' => 'The operation type. Valid values:'."\n" + ."\n" + .'- create'."\n" + ."\n" + .'- cancel', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is complete. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Status' => ['description' => 'The task status. Valid values:'."\n" + ."\n" + .'- success'."\n" + ."\n" + .'- running'."\n" + ."\n" + .'- fail'."\n" + ."\n" + .'- cancel', 'type' => 'string', 'example' => 'fail', 'title' => ''], + 'Response' => ['description' => 'The response returned after the task succeeds.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task. Unit: percent (%).', 'type' => 'integer', 'format' => 'int64', 'example' => '95', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM that you want to promote to the master HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetJob', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"fail\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 95\\n }\\n}","type":"json"}]', + ], + 'InitializeAuditLog' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmVF2KT5'], + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The ID of the request. The ID is a unique identifier that Alibaba Cloud generates for the request. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '4FE969D9-E1C7-5274-BE7D-8C3534587605', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'CreateServiceLinkedRole.Error %s', 'errorMessage' => 'sdfsfa %s', 'description' => ''], ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + 404 => [ + ['errorCode' => 'EntityNotExist.Service', 'errorMessage' => '服务不存在: %s', 'description' => ''], + ['errorCode' => 'EntityNotExist.User', 'errorMessage' => '角色不存在: %s', 'description' => ''], + ['errorCode' => 'NoPermission.Client', 'errorMessage' => '当前账户无创建服务角色权限!', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'EntityAlreadyExists.Role', 'errorMessage' => '服务角色已存在,请勿重复创建!', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'SwitchClusterMaster', - ], - 'ConfigClusterName' => [ - 'summary' => 'Changes the name of a cluster.', - 'methods' => [ - 'post', + 'title' => 'Initialize audit logging', + 'summary' => 'Authorizes the Encryption Service instance to deliver logs.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:InitializeAuditLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4FE969D9-E1C7-5274-BE7D-8C3534587605\\"\\n}","type":"json"}]', + ], + 'InitializeCluster' => [ + 'summary' => 'Initializes a cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-BqxX63Bsgfaisdf****', - ], - ], - [ - 'name' => 'ClusterName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster_on****', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'cluster-p94y1dud9****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'InitializeCluster', + 'description' => '- The cluster is not initialized, but the master hardware security module (HSM) of the cluster is initialized.'."\n" + ."\n" + .'- Two or more vSwitches are configured for the cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:InitializeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigClusterName', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', ], - 'LeaveCluster' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'JoinCluster' => [ + 'summary' => 'Add an HSM instance outside the cluster to the current cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-729dm40FG****', - ], + 'schema' => ['title' => '', 'description' => 'Cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-NZB9Oj5Yfd8Y****'], ], [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-mp90fxef****', - ], + 'schema' => ['title' => '', 'description' => 'The ID of the HSM instance to be added to the cluster.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'PlainResult<OpenApiJoinClusterResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'RequestId' => ['title' => '', 'description' => 'The request ID, which is a unique identifier generated by Alibaba Cloud for the request. It can be used for troubleshooting.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], + 'Job' => [ + 'description' => 'Job details.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['title' => '', 'description' => 'Job ID.', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005'], + 'Type' => ['title' => '', 'description' => 'Operation type.'."\n" + ."\n" + .'- create: Create a job.'."\n" + ."\n" + .'- cancel: Cancel a job.', 'type' => 'string', 'example' => 'create'], + 'Completed' => ['title' => '', 'description' => 'Indicates whether the job is completed.'."\n" + ."\n" + .'- true: Yes.'."\n" + ."\n" + .'- false: No.', 'type' => 'boolean', 'example' => 'true'], + 'CreateTime' => ['title' => '', 'description' => 'The time when the job was created, accurate to milliseconds. Timestamp format.', 'type' => 'string', 'example' => '1711764127000'], + 'Status' => ['title' => '', 'description' => 'Job status.'."\n" + ."\n" + .'- success: The job succeeded.'."\n" + ."\n" + .'- running: The job is in progress.'."\n" + ."\n" + .'- cancel: The job is canceled.'."\n" + ."\n" + .'- fail: The job failed.', 'type' => 'string', 'example' => 'running'], + 'Response' => ['title' => '', 'description' => 'The response information returned after the job succeeds.', 'type' => 'string', 'example' => 'success'], + 'Error' => ['title' => '', 'description' => 'The error message returned when the job fails.', 'type' => 'string', 'example' => 'OperationTimeout'], + 'Progress' => ['title' => '', 'description' => 'The job execution progress. Unit: percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '86'], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'JoinCluster.InvalidDeviceVersion', 'errorMessage' => 'Instance version is lower than the master in the cluster.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ['errorCode' => 'JoinCluster.InvalidDeviceType', 'errorMessage' => 'Instance device type mismatches with the cluster\'s.', 'description' => ''], + ['errorCode' => 'JoinCluster.InvalidPqcStatus', 'errorMessage' => 'Instance pqc status mismatches with the cluster\'s.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'JoinCluster', + 'description' => '- Only clusters in the initialized (INITIALIZED) state can have new HSM instances added.'."\n" + .'- The HSM instance to be added to the cluster must be in the enabled or disabled state and must not be initialized.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:JoinCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'LeaveCluster', - 'summary' => 'Removes a hardware security module (HSM) from the current cluster.', - 'description' => '* If non-master HSMs exist in a cluster, the master HSM cannot be removed from the cluster.'."\n" - .'* After the master HSM is removed from a cluster, the cluster enters the TO_DELETE state and cannot be restored to the available state. Proceed with caution.'."\n", + '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"}]', ], - 'CreateCluster' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'LeaveCluster' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5295,353 +3574,143 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ClusterName', + 'name' => 'ClusterId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster_on****', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => true, 'example' => 'cluster-729dm40FG****', 'title' => ''], ], [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'MasterInstanceId', + 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the master HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm_intl-sg-uz63ixak****', - ], + 'schema' => ['description' => 'The ID of the HSM.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiCreateClusterResponse>', - 'description' => 'PlainResult'."\n", + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '5F58413E-8F57-585B-BE48-64CC1E31133C', - ], - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster-729dm40FG****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'LeaveCluster', + 'summary' => 'Removes a hardware security module (HSM) from the current cluster.', + 'description' => '- If non-master HSMs exist in a cluster, the master HSM cannot be removed from the cluster.'."\n" + ."\n" + .'- After the master HSM is removed from a cluster, the cluster enters the TO\\_DELETE state and cannot be restored to the available state. Proceed with caution.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:LeaveCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5F58413E-8F57-585B-BE48-64CC1E31133C\\",\\n \\"ClusterId\\": \\"cluster-729dm40FG****\\"\\n}","type":"json"}]', - 'title' => 'CreateCluster', - 'summary' => 'Creates a cluster by specifying a hardware security module (HSM) as the master HSM.', - 'description' => 'The master HSM that you specify to create a cluster must be in the ACTIVE state.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'ListClusters' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListBackups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5650,744 +3719,326 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '203775', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'CurrentPage', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'in' => 'query', + 'schema' => ['description' => 'The number of backups to return on each page. Valid values: 1 to 1000.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the backup.', 'type' => 'string', 'required' => false, 'example' => 'hsm-te****', 'title' => ''], + ], + [ + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the backup.', 'type' => 'string', 'required' => false, 'example' => 'backup-1648438****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Hardware Security Module (HSM) instance.', 'type' => 'string', 'required' => false, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'OpenApiPageResult<OpenApiListClustersResponse>', - 'description' => 'OpenApiPageResult'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Total' => [ - 'description' => 'The total number of clusters.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '114', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentPage' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Clusters' => [ - 'description' => 'The clusters.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'PageSize' => ['description' => 'The number of backups returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Backups' => [ + 'description' => 'The list of returned backups.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the cluster.'."\n", + 'description' => 'The details of a backup.', 'type' => 'object', 'properties' => [ - 'ClusterId' => [ - 'description' => 'The ID of the cluster.'."\n", + 'BackupId' => ['description' => 'The ID of the backup.', 'type' => 'string', 'example' => 'backup-1648438****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the backup was created. This is a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1637229596000', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the backup expires. This is a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'."\n", 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the HSM instance that is associated with the backup.', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], + 'Name' => ['description' => 'The name of the backup.', 'type' => 'string', 'example' => 'backup-te****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'ap-southeast-1', 'title' => ''], + 'Remark' => ['description' => 'The remarks of the backup.', 'type' => 'string', 'example' => 'normal backup', 'title' => ''], + 'Status' => [ + 'description' => 'The status of the backup.'."\n" + ."\n" + .'- NEW: Not enabled'."\n" + ."\n" + .'- EXPIRED: Expired'."\n" + ."\n" + .'- ENABLED: Enabled', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'cluster-w3G9vOJI2****', + 'enum' => ['NEW', 'ENABLED', 'EXPIRED'], + 'example' => 'ENABLED', + 'title' => '', ], - 'Status' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" + 'MaxImageCount' => ['description' => 'The number of images.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'Type' => [ + 'description' => 'The type of the backup.'."\n" + ."\n" + .'- DEFAULT: Default backup'."\n" ."\n" - .'* NEW: The cluster is not initialized.'."\n" - .'* INITIALIZED: The cluster is initialized.'."\n" - .'* DELETED: The cluster is deleted.'."\n" - .'* SYNCHRONIZING: The cluster is being synchronized.'."\n" - .'* TO_DELETE: The cluster is pending deletion.'."\n", + .'- NORMAL: Normal backup', + 'enumValueTitles' => [], 'type' => 'string', - 'example' => 'INITIALIZED', + 'enum' => ['NORMAL', 'DEFAULT'], + 'example' => 'NORMAL', + 'title' => '', ], - ], + 'BackupPeriod' => ['description' => 'The automatic backup cycle, in days.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'NextImageCreateTime' => ['description' => 'The time when the next image will be created. This is a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1682417553781'."\n", 'title' => ''], + 'AutoImageCount' => ['description' => 'The number of automatic backup images.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'BackupHourInDay' => ['description' => 'The hour of the day when the backup is performed. The time is in 24-hour format.', 'type' => 'string', 'example' => '13', 'title' => ''], + 'SpInstanceId' => ['description' => 'The ID of the backup in the sales domain. This parameter is returned only for backups of HSM instances in the Chinese mainland.', 'type' => 'string', 'example' => 'backup-fdb897sdfg534-****', 'title' => ''], + 'ReleaseTime' => ['description' => 'The time when the backup was released. This is a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641275680000', 'title' => ''], + 'OwnerInstanceId' => ['description' => 'The ID of the HSM instance that owns the backup. This parameter is returned only for backups of HSM instances outside the Chinese mainland. Its value is the same as InstanceId.', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], - ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - ], - 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListBackups', + 'summary' => 'Retrieves a list of backup sets that meet specified conditions.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListBackups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 114,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"cluster-w3G9vOJI2****\\",\\n \\"Status\\": \\"INITIALIZED\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListClusters', - 'summary' => 'Queries the clusters that meet the query conditions.', + '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"}]', ], - 'ConfigClusterCertificate' => [ - 'summary' => 'Configures a certificate for a cluster of hardware security modules (HSMs) outside the Chinese mainland.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListClusters' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-BqxX63Bsg****', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'IssuerCertificate', + 'name' => 'KmsInstanceId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => 'kst-xxxx', 'description' => '', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', 'in' => 'formData', - 'schema' => [ - 'description' => 'The self-signed certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n" - .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n" - .'YmEgQ2xvdWQxFDA****'."\n" - .'-----END CERTIFICATE-----', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ClusterCertificate', + 'name' => 'PageSize', 'in' => 'formData', - 'schema' => [ - 'description' => 'The cluster certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n" - .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n" - .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****-----END CERTIFICATE-----', - ], + 'schema' => ['description' => 'The number of clusters to display per page. Valid values: 1 to 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'OpenApiPageResult<OpenApiListClustersResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'Total' => ['description' => 'The total number of clusters.', 'type' => 'integer', 'format' => 'int32', 'example' => '114', 'title' => ''], + 'PageSize' => ['description' => 'The number of clusters displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. The China Chinese Cloud generates a unique identifier for each request. You can use the ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Clusters' => [ + 'description' => 'The list of clusters.', + 'type' => 'array', + 'items' => [ + 'description' => 'The cluster information.', + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'cluster-w3G9vOJI2****', 'title' => ''], + 'Status' => ['description' => 'The cluster status. Valid values:'."\n" + ."\n" + .'- NEW: Not initialized.'."\n" + ."\n" + .'- INITIALIZED: Initialized.'."\n" + ."\n" + .'- DELETED: Deleted.'."\n" + ."\n" + .'- SYNCHRONIZING: Synchronizing.'."\n" + ."\n" + .'- TO_DELETE: Pending deletion.', 'type' => 'string', 'example' => 'INITIALIZED', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'title' => 'Query cluster list', + 'summary' => 'Retrieves clusters that match the specified query conditions.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigClusterCertificate', - 'description' => 'For more information about how to create a self-signed certificate and a cluster certificate on an Elastic Compute Service (ECS) instance, see [Create a NIST FIPS-validated GVSM cluster](~~293585~~).'."\n", + '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"}]', ], - 'GetCluster' => [ - 'summary' => 'Queries information about a specified cluster.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListImages' => [ + 'summary' => 'Queries the images that meet the specified conditions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6396,2132 +4047,931 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeCode' => '203777', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'formData', + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the backup.', 'type' => 'string', 'required' => true, 'example' => 'backup-fdb897sdf****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of images per page. Valid values: 1 to 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Mode', + 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", + 'description' => 'The image generation mode. Valid values:'."\n" + ."\n" + .'- PERIODIC: It is automatically generated.'."\n" + ."\n" + .'- MANUAL: It is manually generated.', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => true, - 'example' => 'cluster-p94y1dud9ts****', + 'enum' => ['MANUAL', 'PERIODIC'], + 'required' => false, + 'example' => 'MANUAL', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiGetClusterResponse>', - 'description' => 'PlainResult'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Cluster' => [ - 'description' => 'The cluster details.'."\n", - 'type' => 'object', - 'properties' => [ - 'ClusterId' => [ - 'title' => '集群基础信息', - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster-p94y1dud9ts****', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster_polar_****', - ], - 'Status' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" - ."\n" - .'* NEW: The cluster is not initialized.'."\n" - .'* INITIALIZED: The cluster is initialized.'."\n" - .'* DELETED: The cluster is deleted.'."\n" - .'* SYNCHRONIZING: The cluster is being synchronized.'."\n" - .'* TO_DELETE: The cluster is pending deletion.'."\n", - 'type' => 'string', - 'example' => 'NEW', - ], - 'CreateTime' => [ - 'title' => '时间信息', - 'description' => 'The time when the cluster was created. Unit: milliseconds. The value is a UNIX timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641275680000', - ], - 'RegionId' => [ - 'title' => '地域与可用区信息', - 'description' => 'The ID of the region in which the cluster resides.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VpcId' => [ - 'title' => '网络配置信息', - 'description' => 'The ID of the virtual private cloud (VPC) to which the cluster belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-8vbt0fjdm29hofvbo****', - ], - 'Whitelist' => [ - 'description' => 'The IP address whitelist of the cluster.'."\n", - 'type' => 'string', - 'example' => '130.176.XX.XX', - ], - 'Zones' => [ - 'description' => 'The information about the zones in which the cluster is deployed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The zone.'."\n", - 'type' => 'object', - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-uf61s651p69bdgmki****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-j', - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of images returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'PageSize' => ['description' => 'The number of images per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CurrentPage' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Images' => [ + 'description' => 'The images returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The image details.', + 'type' => 'object', + 'properties' => [ + 'BackupId' => ['description' => 'The ID of the backup.', 'type' => 'string', 'example' => 'backup-fdb897sdf****', 'title' => ''], + 'ExportTime' => ['description' => 'The time when the image was generated. Unit: milliseconds. The value is a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1782849566738', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'image-d79x4k11pmg19****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the hardware security module (HSM).', 'type' => 'string', 'example' => 'hsm-cn-6ja1xknf****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Remark' => ['description' => 'The description of the backup.', 'type' => 'string', 'example' => 'hsm-test', 'title' => ''], + 'Status' => [ + 'description' => 'The status of the image. Valid values:'."\n" + ."\n" + .'- NEW: It is disabled.'."\n" + ."\n" + .'- DELETED: It is deleted.'."\n" + ."\n" + .'- CREATING: It is being created.'."\n" + ."\n" + .'- NORMAL: It is created.', + 'enumValueTitles' => [], + 'type' => 'string', + 'enum' => ['NORMAL', 'NEW', 'DELETED', 'CREATING'], + 'example' => 'CREATING', + 'title' => '', ], - ], - 'DeviceType' => [ - 'title' => '规格信息', - 'description' => 'The type of the device.'."\n", - 'type' => 'string', - 'example' => 'jnta', - ], - 'ClusterCsr' => [ - 'title' => '证书信息', - 'description' => 'The certificate signing request (CSR) file of the cluster.'."\n", - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE REQUEST-----\\nMIIC5TCCAc0CAQAwgZ8xWTAJBgNVBAYTAlVTMAkGA1UECAwCQ0EwDQYDVQQKDAZD\\nYXZpdW0wDQYDVQQLDAZOM0ZJUFMwDgYDVQQHDAdTYW5Kb3NlMBMGA1UdEQwMMTk****'."\n" - .'-----END CERTIFICATE REQUEST-----', - ], - 'ClusterCertificate' => [ - 'description' => 'The cluster certificate.'."\n", - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIDfTCCAmWgAwIBAgIJAMRqQMr5if66MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV'."\n" - .'BAYTAmNuMQswCQYDVQQIDAJ6ajELMAkGA1UEBwwCaHoxFjAUBgNVBAoMDUFsaWJh'."\n" - .'YmEgQ2xvdWQxFDA****'."\n" - .'-----END CERTIFICATE-----', - ], - 'ClusterOwnerCertificate' => [ - 'description' => 'The self-signed certificate of the cluster.'."\n", - 'type' => 'string', - 'example' => '----BEGIN CERTIFICATE-----'."\n" - .'MIIDaTCCAlECAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCY24xCzAJBgNV'."\n" - .'BAgMAnpqMQswCQYDVQQHDAJoejEWMBQGA1UECgwNQWxpYmFiYSBDbG91ZDEUMBIG'."\n" - .'A1UECwwLU2VjQ2xvdWRIc20wHhcNMjQwNzAzM****'."\n" - .'-----END CERTIFICATE-----', - ], - 'Size' => [ - 'title' => '实例信息', - 'description' => 'The number of hardware security modules (HSMs) in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Instances' => [ - 'description' => 'The HSMs in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the HSM.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'title' => '实例基础信息', - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-g6z3v0uf****', - ], - 'NodeId' => [ - 'title' => '状态', - 'description' => 'The ID of the HSM in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Master' => [ - 'description' => 'Indicates whether the HSM is a master HSM. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + 'Mode' => [ + 'description' => 'The image generation mode. Valid values:'."\n" + ."\n" + .'- PERIODIC: It is automatically generated.'."\n" + ."\n" + .'- MANUAL: It is manually generated.', + 'enumValueTitles' => [], + 'type' => 'string', + 'enum' => ['PERIODIC', 'MANUAL'], + 'example' => 'MANUAL', + 'title' => '', ], - ], - 'ClusterMode' => [ - 'description' => 'The cluster mode.'."\n" - ."\n" - .'2: automatically synchronizes the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'EntityCertExpireTime' => [ - 'type' => 'string', - ], - 'CertManaged' => [ - 'type' => 'boolean', - ], + 'VsmDigest' => ['description' => 'The digest of the HSM.', 'type' => 'string', 'example' => '3kGeHnmQzXwSsfF0Jk9eJYhe2gP6An0/HlYIiZh1****', 'title' => ''], + 'SourceImageUid' => ['description' => 'The ID of the source image.', 'type' => 'string', 'example' => 'image-ooopjygsn****', 'title' => ''], + 'SourceBackupUid' => ['description' => 'The ID of the source backup.', 'type' => 'string', 'example' => 'backup-hodfhaol****', 'title' => ''], + 'SourceRegionId' => ['description' => 'The ID of the region in which the source image resides.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + 'SourceInstanceId' => ['description' => 'The ID of the source HSM.', 'type' => 'string', 'example' => 'hsm-cn-wz9i2dmefudfxtmb****', 'title' => ''], + 'CopyTime' => ['description' => 'The time when the image was copied. Unit: milliseconds. The value is a UNIX timestamp.', 'type' => 'string', 'example' => '1641275680000', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], - ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ['errorCode' => 'Backup.Deleted', 'errorMessage' => 'Backup has been deleted.', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListImages', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'GetCluster', + '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"}]', ], - 'ConfigClusterWhitelist' => [ - 'summary' => 'Modifies the IP address whitelist of a cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListInstances' => [ + 'summary' => 'Retrieves instances that match the specified query conditions.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '209162', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmUNBCOF', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-729dm40FG****', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Whitelist', + 'name' => 'KmsInstanceId', + 'in' => 'query', + 'schema' => ['title' => '', 'type' => 'string', 'example' => 'kst-xxx', 'description' => ''], + ], + [ + 'name' => 'CurrentPage', 'in' => 'formData', - 'schema' => [ - 'description' => 'The IP address whitelist of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '18.68.XX.XX', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'TenantIsolationType', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The HSM hardware isolation type. Valid values:'."\n" + .'- vsm: virtual HSM.'."\n" + .'- hostedHsm: hosted HSM.', 'type' => 'string', 'required' => false, 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'OpenApiPageResult<OpenApiListInstancesResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'Total' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique identifier for each API request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Instances' => [ + 'description' => 'The list of instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The HSM instance ID.', 'type' => 'string', 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], + 'Status' => ['description' => 'The instance status. Valid values:'."\n" + .'- PENDING: Not activated.'."\n" + .'- ACTIVE: Activated.'."\n" + .'- EXPIRED: Expired.'."\n" + .'- INVALID: Invalidated.'."\n" + .'- FAILURE: Production failed.'."\n" + .'- RESET: Being reset.'."\n" + .'- PAUSED: Suspended.'."\n" + .'- MODIFYING: Being modified.', 'type' => 'string', 'example' => 'ACTIVE', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'InvalidTenantIsolationType.Error', 'errorMessage' => 'Invalid parameter tenantIsolationType. It must be: null, hostedHsm, or vsm.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidZoneId', 'errorMessage' => 'Invalid parameter zoneId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidVsmType', 'errorMessage' => 'Invalid parameter vsmType.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HSMIntanceActived.Error', 'errorMessage' => 'actived hsm instance can not release', 'description' => ''], + ['errorCode' => 'ConfigIp.IpAlreadyInUse', 'errorMessage' => 'Ip is in use, can not config IP address.', 'description' => ''], + ['errorCode' => 'ConfigIp.VpcIpNotMatched', 'errorMessage' => 'Vpc Ip must be in vpc network segment.', 'description' => ''], + ['errorCode' => 'ConfigIp.IpOverFlow', 'errorMessage' => 'Vpc ip last place can not be in [253-255].', 'description' => ''], + ['errorCode' => 'CanRefund.InstanceIdEmpty', 'errorMessage' => 'InstanceId is empty.', 'description' => ''], + ['errorCode' => 'CanRefund.InstanceNotFound', 'errorMessage' => 'Instance Not Exist.', 'description' => ''], + ['errorCode' => 'CanRefund.InstanceAlreadyReleased', 'errorMessage' => 'Instance already released.', 'description' => ''], + ['errorCode' => 'CanRefund.AliUidEmpty', 'errorMessage' => 'AliUid empty.', 'description' => ''], + ['errorCode' => 'CanRefund.NoSupportRefundOnline', 'errorMessage' => 'No support refund online.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'Trial.Forbidden', 'errorMessage' => 'Current user is not allowed for trials!', 'description' => ''], + ['errorCode' => 'Forbidden.InstanceInCluster', 'errorMessage' => 'This API is forbidden for instances in cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Active/Pending state.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Image.ImageStatusInValid', 'errorMessage' => 'Image status is invalid.', 'description' => ''], + ['errorCode' => 'CopyImage.ImageAlreadyCopied', 'errorMessage' => 'Image already copied, secondary copy is not supported.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'Image.ActionForbiddenCN', 'errorMessage' => 'This API is forbidden for non-international site.', 'description' => ''], + ['errorCode' => 'CopyImage.RegionInvalid', 'errorMessage' => 'Source region or target region invalid.', 'description' => ''], + ['errorCode' => 'Backup.ActionForbiddenINTL', 'errorMessage' => 'This API is forbidden for international site.', 'description' => ''], + ['errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', 'errorMessage' => 'Target region has the same digest image.', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigClusterWhitelist', - 'description' => 'The IP address whitelist of a cluster has a higher priority than the IP address whitelist of a hardware security module (HSM) in the cluster. In cluster mode, we recommend that you create an IP address whitelist for your cluster. You do not need to create an IP address for the HSM in the cluster.'."\n", - ], - 'QuickDeployCluster' => [ - 'summary' => '快速部署集群', - 'path' => '', - 'methods' => [ - 'post', + 'title' => 'Query instance list', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 80,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Status\\": \\"ACTIVE\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'MoveResourceGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'VSwitchIdList', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-2zeqkh8ar8yey5ejv****'."\n", - ], - 'required' => true, - ], - ], - [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-7xvkh90cw39p0****', - ], - ], - [ - 'name' => 'WhiteList', + 'name' => 'ResourceId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '18.68.XX.XX'."\n", - ], - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the hardware security module (HSM).'."\n", 'type' => 'string', 'required' => true, 'example' => 'hsm-2ze0qae64mjuc0ni****', 'title' => ''], ], [ - 'name' => 'InstanceList', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'hsm-cn-vj30bil8****'."\n", - ], - 'required' => true, - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'rg-aek2tsvbnfe****', 'title' => ''], ], [ - 'name' => 'ClusterName', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cluster_on****'."\n", - ], + 'schema' => ['description' => 'The type of the resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'instance', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'CertManaged', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'job-202401250936hze747fd7e0007005', - ], - 'Type' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1653274407000', - ], - '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' => '86', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'Parameter is invalid.', 'description' => 'Illegal parameter'], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceAlreadyInitialized', - 'errorMessage' => 'Instance already initialized.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceIncorrectState', - 'errorMessage' => 'Instance not in Enable/Pending state.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceInvalidRegion', - 'errorMessage' => 'Instance region invalid.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceVersionInvalid', - 'errorMessage' => 'Instance device version is invalid', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceListInvalid', - 'errorMessage' => 'Cluster contains instances not in the instance list.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceBelongsToOtherCluster', - 'errorMessage' => 'Instance has been in other cluster.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InvalidVpcId', - 'errorMessage' => 'The param vpcId is not the same as existed vpcId of cluster.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InvalidVSwitchIdCount', - 'errorMessage' => 'VSwitch count is less than 2.', - ], - [ - 'errorCode' => 'QuickDeployCluster.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceCountInvalid', - 'errorMessage' => 'Instance number less than 2.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceTypeInvalid', - 'errorMessage' => 'Instance type invalid.', - ], - [ - 'errorCode' => 'QuickDeployCluster.InstanceTypeNotSame', - 'errorMessage' => 'Instance type not same.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission.', 'description' => 'User does not have permission to use.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'MoveResourceGroup', + 'summary' => 'Moves a resource to a new resource group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:MoveResourceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 86\\n }\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'RotateClusterManagedCert' => [ - 'summary' => '轮转集群托管证书', - 'description' => '## 请求说明'."\n" - .'该API用于触发指定集群的管理证书轮转过程。通过提供`ClusterId`参数,可以指定需要进行证书轮转的集群。此操作有助于提高集群的安全性,建议定期执行。'."\n" - ."\n" - .'### 注意事项'."\n" - .'- 确保提供的`ClusterId`是有效的,并且用户具有对该集群的操作权限。'."\n" - .'- 证书轮转可能会影响依赖于旧证书的服务,请在适当的时间窗口内执行此操作。'."\n", - 'path' => '/', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'PauseInstance' => [ + 'summary' => 'Disables a hardware security module (HSM).', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'title' => '- **参数类型**: string'."\n" - .'- **必填**: 是'."\n" - .'- **后端接收参数**: clusterId'."\n", - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-hfau****gkaud', - ], + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the HSM.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '成功响应', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'job-202401250936hze747fd7e0007005', - ], - 'Type' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1653274407000', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'running', - ], - 'Response' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'Error' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Process' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Cluster.ClusterManagedCertRotate.NotSupport', - 'errorMessage' => 'rotate cluster managed cert not support', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"running\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Process\\": 100\\n }\\n}","type":"json"}]', - ], - 'DownloadClusterManagedCert' => [ - 'summary' => '下载集群托管证书', - 'description' => '## 请求说明'."\n" - .'- 该API允许用户获取特定集群的管理证书。'."\n" - .'- 返回的数据是经过base64编码的证书内容。'."\n", - 'path' => '/', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', + 409 => [ + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], ], - ], - 'parameters' => [ - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'title' => '**ClusterId**'."\n", - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cluster-001***hui', - ], + 500 => [ + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'responses' => [ - 200 => [ - 'description' => '成功响应', - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Content' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'PauseInstance', + 'description' => 'After you disable an HSM, the relevant service operations fail. Proceed with caution.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:PauseInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Cluster.ClusterManagedCertDownload.NotSupport', - 'errorMessage' => 'download cluster managed cert not support.', - ], - [ - 'errorCode' => 'Cluster.CertsManageNotFinished', - 'errorMessage' => 'cluster certs manage not finished.', - ], - ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Content\\": \\"emhlbmdza****W5qaWFuYmlhbm1hY2VzaGk=\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', ], - 'ConfigInstanceIpAddress' => [ - 'summary' => 'Modifies the virtual private cloud (VPC) endpoint of a hardware security module (HSM).', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'QuickDeployCluster' => [ + 'summary' => 'Deploys a cluster quickly.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '211785', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'formData', + 'name' => 'VSwitchIdList', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2zeqkh8ar8yey5ejv****'."\n", 'title' => ''], 'required' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The list of vSwitches for the cluster.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-mp90fxef****', - ], + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC to which the HSM instance belongs.', 'type' => 'string', 'required' => true, 'example' => 'vpc-7xvkh90cw39p0****', 'title' => ''], ], [ - 'name' => 'VpcId', - 'in' => 'formData', + 'name' => 'WhiteList', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the VPC to which the HMS belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-lmkmivmo6****', + 'type' => 'array', + 'items' => ['description' => 'The cluster access whitelist.', 'type' => 'string', 'required' => false, 'example' => '18.68.XX.XX'."\n", 'title' => ''], + 'description' => 'The access whitelist for the cluster.', + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VSwitchId', - 'in' => 'formData', + 'name' => 'InstanceList', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the vSwitch to which the HMS belongs.'."\n", - 'type' => 'string', + 'type' => 'array', + 'items' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => false, 'example' => 'hsm-cn-vj30bil8****'."\n", 'title' => ''], 'required' => true, - 'example' => 'vsw-u7gb0qahu****', + 'description' => 'The list of HSM instances.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Ip', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The endpoint of the VPC to which the HMS belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '192.168.XX.XX', - ], + 'name' => 'ClusterName', + 'in' => 'query', + 'schema' => ['description' => 'The cluster name.', 'type' => 'string', 'required' => true, 'example' => 'cluster_on****'."\n", 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'CertManaged', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically generate a certificate.'."\n" + ."\n" + .'- true: Yes'."\n" + .'- false: No', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Job' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005', 'title' => ''], + 'Type' => ['description' => 'The operation type.'."\n" + ."\n" + .'- create: Creates a task.'."\n" + .'- cancel: Cancels a task.', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is complete.'."\n" + ."\n" + .'- true: Yes'."\n" + .'- false: No', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created. This is a UNIX timestamp in milliseconds.', 'type' => 'string', 'example' => '1653274407000', 'title' => ''], + 'Status' => ['description' => 'The status of the task.'."\n" + ."\n" + .'- success: The task is successful.'."\n" + .'- running: The task is in progress.'."\n" + .'- cancel: The task is canceled.'."\n" + .'- fail: The task failed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Response' => ['description' => 'The response that is returned if the task is successful.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message that is returned if the task fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task. Unit: percent.', 'type' => 'integer', 'format' => 'int32', 'example' => '86', 'title' => ''], + ], + 'description' => 'The details of the task.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'description' => 'The return value.', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidZoneId', - 'errorMessage' => 'Invalid parameter zoneId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidVsmType', - 'errorMessage' => 'Invalid parameter vsmType.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], - [ - 'errorCode' => 'ConfigIp.IpAlreadyInUse', - 'errorMessage' => 'Ip is in use, can not config IP address.', - ], - [ - 'errorCode' => 'ConfigIp.VpcIpNotMatched', - 'errorMessage' => 'Vpc Ip must be in vpc network segment.', - ], - [ - 'errorCode' => 'ConfigIp.IpOverFlow', - 'errorMessage' => 'Vpc ip last place can not be in [253-255].', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'User has no permission to access this resource.', - ], - [ - 'errorCode' => 'Trial.Forbidden', - 'errorMessage' => 'Current user is not allowed for trials!', - ], - [ - 'errorCode' => 'Forbidden.InstanceInCluster', - 'errorMessage' => 'This API is forbidden for instances in cluster.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceIncorrectState', - 'errorMessage' => 'Instance not in Active/Pending state.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Image.ImageStatusInValid', - 'errorMessage' => 'Image status is invalid.', - ], - [ - 'errorCode' => 'CopyImage.ImageAlreadyCopied', - 'errorMessage' => 'Image already copied, secondary copy is not supported.', - ], - [ - 'errorCode' => 'Image.ActionForbiddenINTL', - 'errorMessage' => 'This API is forbidden for international site.', - ], - [ - 'errorCode' => 'Image.ActionForbiddenCN', - 'errorMessage' => 'This API is forbidden for non-international site.', - ], - [ - 'errorCode' => 'CopyImage.RegionInvalid', - 'errorMessage' => 'Source region or target region invalid.', - ], - [ - 'errorCode' => 'Backup.ActionForbiddenINTL', - 'errorMessage' => 'This API is forbidden for international site.', - ], - [ - 'errorCode' => 'CopyImage.TargetRegionImageAlreadyExists', - 'errorMessage' => 'Target region has the same digest image.', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict.InstanceModifying', - 'errorMessage' => 'Instance is being modified by a previous request. Please try again later.', - ], - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceAlreadyInitialized', 'errorMessage' => 'Instance already initialized.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceIncorrectState', 'errorMessage' => 'Instance not in Enable/Pending state.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceInvalidRegion', 'errorMessage' => 'Instance region invalid.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceVersionInvalid', 'errorMessage' => 'Instance device version is invalid', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceListInvalid', 'errorMessage' => 'Cluster contains instances not in the instance list.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceBelongsToOtherCluster', 'errorMessage' => 'Instance has been in other cluster.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InvalidVpcId', 'errorMessage' => 'The param vpcId is not the same as existed vpcId of cluster.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InvalidVSwitchIdCount', 'errorMessage' => 'VSwitch count is less than 2.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceCountInvalid', 'errorMessage' => 'Instance number less than 2.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceTypeInvalid', 'errorMessage' => 'Instance type invalid.', 'description' => ''], + ['errorCode' => 'QuickDeployCluster.InstanceTypeNotSame', 'errorMessage' => 'Instance type not same.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'QuickDeployCluster', + 'description' => '- You must select HSM instances from at least two zones.'."\n" + .'- You must select at least two vSwitches from different zones.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-hsm:QuickDeployCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigInstanceIpAddress', - 'description' => 'After you add an HSM to a cluster, you cannot modify the VPC endpoint of the HSM.'."\n", + '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"}]', ], - 'RestoreInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'QuickInitInstance' => [ + 'summary' => 'Initializes an instance.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-mp90fxef****', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the image that you want to use to restore the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'image-eaOGHkRDQgh4****', - ], + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiRestoreInstanceResponse>', - 'description' => 'PlainResult'."\n", + 'title' => '', + 'description' => 'PlainResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049366F216', - ], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. You can use the request ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216', 'title' => ''], 'Job' => [ - 'description' => 'The details of the task.'."\n", + 'description' => 'The details of the task.', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-540356379023708160', - ], + 'JobId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'job-000fi9k1v2hclo321sal', 'title' => ''], 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" + 'description' => 'The type of the operation.'."\n" ."\n" - .'* create'."\n" - .'* cancel'."\n", + .'- create: Creates a task.'."\n" + ."\n" + .'- cancel: Cancels a task.', + 'enumValueTitles' => [], 'type' => 'string', 'example' => 'create', + 'title' => '', ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the task is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1711764127000', - ], + 'Completed' => ['description' => 'Indicates whether the task is complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created. This value is a UNIX timestamp. Unit: milliseconds.', 'type' => 'string', 'example' => '1699515963000', 'title' => ''], 'Status' => [ - 'description' => 'The task status.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", + 'description' => 'The status of the task.'."\n" + ."\n" + .'- success: The task is successful.'."\n" + ."\n" + .'- running: The task is in progress.'."\n" + ."\n" + .'- canceled: The task is canceled.'."\n" + ."\n" + .'- fail: The task failed.', + 'enumValueTitles' => [], 'type' => 'string', 'example' => 'success', + 'title' => '', ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], + 'Response' => ['description' => 'The response returned after the task is successful.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task. Unit: percent.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'QuickInitInstance', + 'description' => 'This operation applies only to General-purpose Hardware Security Module (GVSM) instances in the Chinese mainland.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:QuickInitInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'RestoreInstance', - 'summary' => 'Restores a hardware security module (HSM) by using an image.', - 'description' => 'You can use images to restore only HSMs that are paused or disabled.'."\n", + '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"}]', ], - 'ResetInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ResetBackup' => [ + 'summary' => 'Disassociates a backup from a hardware security module (HSM).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8533,378 +4983,65 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmQEGDGS'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - ], + 'name' => 'BackupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the backup.'."\n", 'type' => 'string', 'required' => false, 'example' => 'backup-fdb897sdfg5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiResetInstanceResponse>', - 'description' => 'PlainResult'."\n", + 'title' => '', + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => 'The details of the task.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-0007bl8oev0u3jqyfu6a', - ], - 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" - ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the task is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", - 'type' => 'string', - 'example' => '1653274407000', - ], - 'Status' => [ - 'description' => 'The task status. Valid values:'."\n" - ."\n" - .'* success'."\n" - .'* running'."\n" - .'* cancel'."\n" - .'* fail'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'success', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], - ], - 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], + ['errorCode' => 'Backup.ActionForbidden', 'errorMessage' => 'This API is forbidden for this backup type.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ResetBackup', + 'description' => 'This operation is available only for HSMs in the Chinese mainland.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResetBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-0007bl8oev0u3jqyfu6a\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1653274407000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 80\\n }\\n}","type":"json"}]', - 'title' => 'ResetInstance', - 'summary' => 'Resets a hardware security module (HSM).', - 'description' => 'After an HSM is reset, all related data is deleted and cannot be recovered. Proceed with caution.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'QuickInitInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ResetInstance' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8916,720 +5053,335 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsm01FLNB', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-mp90fxef****', - ], + 'schema' => ['description' => 'The ID of the HSM.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiQuickInitInstanceResponse>', - 'description' => 'PlainResult'."\n", + 'title' => '', + 'description' => 'PlainResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049366F216', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], 'Job' => [ - 'description' => 'The details of the task.'."\n", + 'description' => 'The details of the task.', 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-000fi9k1v2hclo321sal', - ], + 'JobId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'job-0007bl8oev0u3jqyfu6a', 'title' => ''], 'Type' => [ 'description' => 'The operation type. Valid values:'."\n" ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', + .'- create'."\n" + ."\n" + .'- cancel', 'enumValueTitles' => [], - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the task is created. The value is accurate to the millisecond. The value is a UNIX timestamp.'."\n", 'type' => 'string', - 'example' => '1699515963000', + 'example' => 'create', + 'title' => '', ], + 'Completed' => ['description' => 'Indicates whether the task is complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task is created. The value is accurate to the millisecond. The value is a UNIX timestamp.', 'type' => 'string', 'example' => '1653274407000', 'title' => ''], 'Status' => [ 'description' => 'The task status. Valid values:'."\n" ."\n" - .'* success'."\n" - .'* running'."\n" - .'* cancel'."\n" - .'* fail'."\n", - 'type' => 'string', + .'- success'."\n" + ."\n" + .'- running'."\n" + ."\n" + .'- cancel'."\n" + ."\n" + .'- fail', 'enumValueTitles' => [], - 'example' => 'success', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", 'type' => 'string', 'example' => 'success', + 'title' => '', ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], + 'Response' => ['description' => 'The response returned after the task succeeds.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task. Unit: percent (%).', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ResetInstance', + 'summary' => 'Resets a hardware security module (HSM).', + 'description' => 'After an HSM is reset, all related data is deleted and cannot be recovered. Proceed with caution.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-000fi9k1v2hclo321sal\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"CreateTime\\": \\"1699515963000\\",\\n \\"Status\\": \\"success\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 100\\n }\\n}","type":"json"}]', - 'title' => 'QuickInitInstance', - 'summary' => 'Initializes a hardware security module (HSM).', - 'description' => 'This operation is supported only for general virtual security modules (GVSMs) in the Chinese mainland.'."\n", + '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"}]', ], - 'ConfigInstanceWhitelist' => [ - 'summary' => 'Modifies the IP address whitelist of a hardware security module (HSM).', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'RestoreInstance' => [ + 'summary' => 'Restores instance data from an image.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsmGIFYCG', 'FEATUREhsm01FLNB', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - ], + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-mp90fxef****', 'title' => ''], ], [ - 'name' => 'Whitelist', + 'name' => 'ImageId', 'in' => 'formData', - 'schema' => [ - 'description' => 'A list of IP addresses that you want to configure in the whitelist. Separate multiple IP addresses with spaces or commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '18.68.XX.XX,18.68.XX.XX', - ], + 'schema' => ['description' => 'The ID of the image from which to restore the instance.', 'type' => 'string', 'required' => true, 'example' => 'image-eaOGHkRDQgh4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'PlainResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', + 'RequestId' => ['description' => 'The ID of the request. This is a unique identifier that Alibaba Cloud generates for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049366F216', 'title' => ''], + 'Job' => [ + 'description' => 'The details of the task.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'job-540356379023708160', 'title' => ''], + 'Type' => ['description' => 'The type of operation.'."\n" + ."\n" + .'- create: Creates a task.'."\n" + ."\n" + .'- cancel: Cancels a task.', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created. This is a UNIX timestamp, accurate to the millisecond.', 'type' => 'string', 'example' => '1711764127000', 'title' => ''], + 'Status' => ['description' => 'The status of the task.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Response' => ['description' => 'The response returned after the task is successfully completed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task fails.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task execution, in percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => 'InstanceNotActive', - 'errorMessage' => 'Instance is not active.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Whitelist.InstanceInCluster', - 'errorMessage' => 'Whitelist.InstanceInCluster', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'RestoreInstance', + 'description' => 'You can import an image to an instance only if the instance is stopped or disabled.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:RestoreInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigInstanceWhitelist', - 'description' => 'You can configure the IP address whitelist for HSMs that are not added to a cluster and are in the ACTIVE state.'."\n", + '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"}]', ], 'ResumeInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'Resumes a deactivated instance.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -9641,2397 +5393,1159 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - ], + 'schema' => ['description' => 'The ID of the HSM instance.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates this unique identifier for each request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], ], [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], ], [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ResumeInstance', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResumeInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ResumeInstance', - 'summary' => 'Resumes a disabled hardware security module (HSM).', ], - 'GetInstance' => [ - 'summary' => 'Queries information about a specified hardware security module (HSM).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'RotateClusterManagedCert' => [ + 'path' => '/', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '209071', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsmUNBCOF', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hsm-cn-vj30bil****', - 'title' => '密码机实例ID。', - ], + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-hfau****gkaud', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'PlainResult<OpenApiGetInstanceResponse>', - 'description' => 'PlainResult'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - 'title' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', - ], - 'Instance' => [ - 'description' => 'The information about the HSM.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Job' => [ 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'title' => '实例基础信息', - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-g4t3jwsc****', - ], - 'Remark' => [ - 'description' => 'The description of the HSM.'."\n", - 'type' => 'string', - 'example' => 'hsmOnline', - 'title' => '备注信息。', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - 'title' => '地域ID。', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - 'title' => '可用区ID。', - ], - 'Vendor' => [ - 'title' => '硬件信息', - 'description' => 'The information about the vendor.'."\n", - 'type' => 'string', - 'example' => 'jnta', - ], - 'DeviceType' => [ - 'description' => 'The type of the device.'."\n", - 'type' => 'string', - 'example' => 'jnta.SJJ1528-G', - 'title' => '设备类型。', - ], - 'PqcEnabled' => [ - 'title' => '实例是否启用PQC功能', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'enum' => [ - '1', - '0', - ], - ], - 'TpsEnabled' => [ - 'type' => 'integer', - 'format' => 'int32', - 'enum' => [ - '0', - '1', - ], - ], - 'TenantIsolationType' => [ - 'title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', - 'description' => 'The type of HSMs that is classified based on resource isolation. Valid values: '."\n" - .'- vsm: Virtual security modules (VSMs)'."\n" - .'- hostedHsm: Dedicated HSMs.', - 'type' => 'string', - 'example' => 'vsm', - ], - 'OrderId' => [ - 'title' => '售卖信息', - 'description' => 'The ID of the order.'."\n", - 'type' => 'string', - 'example' => '23576634952****', - ], - 'IsTrial' => [ - 'description' => 'Indicates whether the HSM is for trial use. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - 'title' => '是否试用。'."\n" - ."\n" - .'- true:是'."\n" - ."\n" - .'- false:否', - ], - 'VpcId' => [ - 'title' => '网络配置', - 'description' => 'The ID of the virtual private cloud (VPC) to which the HSM belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-uf69i66j9kmoko52p****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch that is configured for the HSM.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1mvfs31ltt0wyhf****', - 'title' => '密码机实例配置的交换机ID。', - ], - 'Ip' => [ - 'description' => 'The IP address of the HSM in the VPC.'."\n", - 'type' => 'string', - 'example' => '10.192.XX.XX', - 'title' => '密码机实例在VPC网络中的IP地址。', - ], - 'Whitelist' => [ - 'description' => 'The IP addresses in the whitelist.'."\n", - 'type' => 'string', - 'example' => '18.68.XX.XX', - 'title' => '白名单IP列表。', - ], - 'CreateTime' => [ - 'title' => '时间信息', - 'description' => 'The time when the HSM was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1699515963000', - ], - 'ExpireTime' => [ - 'description' => 'The time when the HSM expired.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1699496389720', - 'title' => '实例过期时间。', - ], - 'ClusterId' => [ - 'title' => '集群信息', - 'description' => 'The ID of the cluster to which the HSM belongs.'."\n", - 'type' => 'string', - 'example' => 'cluster-w3G9vOJI2****', - ], - 'ClusterName' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster_online', - 'title' => '集群名称。', - ], - 'Master' => [ - 'description' => 'Indicates whether the HSM is a master HSM. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - 'title' => '是否为主密码机。 '."\n" - ."\n" - .'- true:主密码机'."\n" - ."\n" - .' - false:子密码机', - ], - 'Status' => [ - 'title' => '数据状态', - 'description' => 'The status of the HSM. Valid values:'."\n" - ."\n" - .'* PENDING: The HSM is disabled.'."\n" - .'* ACTIVE: The HSM is enabled.'."\n" - .'* EXPIRED: The HSM expired.'."\n" - .'* INVALID: The HSM is invalid.'."\n" - .'* FAILURE: The HSM failed to be created.'."\n" - .'* RESET: The HSM is being reset.'."\n" - .'* PAUSED: The HSM is paused.'."\n" - .'* MODIFYING: The HSM is being modified.'."\n", - 'type' => 'string', - 'example' => 'EXPIRED', - ], - 'Certification' => [ - 'title' => '密码机资质认证', - 'type' => 'string', - 'example' => 'GM/T0028_LEVEL_2', - ], - 'CertificationUrl' => [ - 'type' => 'string', - ], + 'JobId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'job-202401250936hze747fd7e0007005', 'title' => ''], + 'Type' => ['description' => 'The operation type of the task.'."\n" + ."\n" + .'- create: Creates a task.'."\n" + ."\n" + .'- cancel: Cancels a task.', 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is complete.'."\n" + ."\n" + .'- true: The task is complete.'."\n" + ."\n" + .'- false: The task is in progress.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created. This value is a UNIX timestamp in milliseconds.', 'type' => 'string', 'example' => '1653274407000', 'title' => ''], + 'Status' => ['description' => 'The status of the task.'."\n" + ."\n" + .'- success: The task is successful.'."\n" + ."\n" + .'- running: The task is in progress.'."\n" + ."\n" + .'- cancel: The task is canceled.'."\n" + ."\n" + .'- fail: The task failed.', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'Response' => ['description' => 'The response returned after the task is successful.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task failed.', 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Process' => ['description' => 'The progress of the task in percent.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], - 'title' => '实例信息。', + 'description' => 'The details of the task.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'description' => 'The returned data.', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'Cluster.ClusterManagedCertRotate.NotSupport', 'errorMessage' => 'rotate cluster managed cert not support', 'description' => ''], ], 403 => [ - [ - 'errorCode' => '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.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'caller has no permission', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RotateClusterManagedCert', + 'summary' => 'Rotates a managed certificate for a cluster.', + 'description' => 'This operation is available only for certificate hosting clusters in regions within the China site (aliyun.com).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:RotateClusterManagedCert', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'GetInstance', + '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"}]', ], - 'PauseInstance' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'SwitchClusterMaster' => [ + 'summary' => 'Switches the master role in a cluster to a subordinate HSM. This operation is not supported for manually synchronized clusters in the Chinese mainland.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG', 'FEATUREhsmLBBV5W'], ], 'parameters' => [ [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'cluster-w3G9vOJI2****', 'title' => ''], + ], + [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', - ], + 'schema' => ['description' => 'The ID of the HSM instance to be set as the master HSM.', 'type' => 'string', 'required' => true, 'example' => 'hsm-cn-vj30bil8****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", + 'title' => '', + 'description' => 'BaseResult', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049366F216', - ], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates this unique ID for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', - ], - ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', - ], + ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', - ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', - ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', - ], - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', - ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'SwitchClusterMaster', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:SwitchClusterMaster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049366F216\\"\\n}","type":"json"}]', - 'title' => 'PauseInstance', - 'summary' => 'Disables a hardware security module (HSM).', - 'description' => 'After you disable an HSM, the relevant service operations fail. Proceed with caution.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', ], - 'ListInstances' => [ - 'summary' => 'Queries the hardware security modules (HSMs) that meet the query conditions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'SyncCluster' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '209162', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsmUNBCOF', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', - ], + 'abilityTreeNodes' => ['FEATUREhsmV7VE3Y', 'FEATUREhsm01FLNB', 'FEATUREhsmGIFYCG'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], - ], - [ - 'name' => 'TenantIsolationType', + 'name' => 'ClusterId', 'in' => 'formData', - 'schema' => [ - 'title' => '密码机硬件隔离类型,枚举值"vsm"虚拟密码机,"hostedHsm"托管硬件密码机', - 'description' => 'The type of HSMs that is classified based on resource isolation. Valid values:'."\n" - .'- vsm: Virtual security modules (VSMs).'."\n" - .'- hostedHsm: Dedicated HSMs.', - 'type' => 'string', - 'required' => false, - 'example' => 'vsm', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cluster-BqxX63Bsgytet****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'OpenApiPageResult<OpenApiListInstancesResponse>', - 'description' => 'OpenApiPageResult'."\n", + 'title' => '', + 'description' => 'PlainResult'."\n", 'type' => 'object', 'properties' => [ - 'Total' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentPage' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Instances' => [ - 'description' => 'The HSMs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the HSM.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'example' => 'hsm-cn-vj30bil8****', - ], - 'Status' => [ - 'description' => 'The HSM status. Valid values:'."\n" - ."\n" - .'* PENDING: The HSM is disabled.'."\n" - .'* ACTIVE: The HSM is enabled.'."\n" - .'* EXPIRED: The HSM expired.'."\n" - .'* INVALID: The HSM is invalid.'."\n" - .'* FAILURE: The HSM failed to be created.'."\n" - .'* RESET: The HSM is being reset.'."\n" - .'* PAUSED: The HSM is paused.'."\n" - .'* MODIFYING: The HSM is being modified.'."\n", - 'type' => 'string', - 'example' => 'ACTIVE', - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4C467B38-3910-447D-87BC-AC049166F216', 'title' => ''], + 'Job' => [ + 'description' => 'The details of the task.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'job-000bu7m5vjmyz9s7qz85', 'title' => ''], + 'Type' => ['description' => 'The operation type. Valid values:'."\n" + ."\n" + .'* create'."\n" + .'* cancel'."\n", 'type' => 'string', 'example' => 'create', 'title' => ''], + 'Completed' => ['description' => 'Indicates whether the task is complete. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created. Unit: milliseconds. The value is a UNIX timestamp.'."\n", 'type' => 'string', 'example' => '1711764127000', 'title' => ''], + 'Status' => ['description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* success'."\n" + .'* running'."\n" + .'* cancel'."\n" + .'* fail'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Response' => ['description' => 'The response returned after the task succeeds.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Error' => ['description' => 'The error message returned if the task fails.'."\n", 'type' => 'string', 'example' => 'OperationTimeout', 'title' => ''], + 'Progress' => ['description' => 'The progress of the task. Unit: percent (%).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], '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.', - ], + ['errorCode' => 'SwitchMaster.InstanceInvalid', 'errorMessage' => 'Instance not in the cluster.', 'description' => ''], + ['errorCode' => 'LeaveCluster.MasterLast', 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', 'description' => ''], + ['errorCode' => 'Certificate.ChainInvalid', 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatInvalid', 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.DuplicateZone', 'errorMessage' => 'VSwitches should not contain duplicate zones.', 'description' => ''], + ['errorCode' => 'InvalidApiParam.Error', 'errorMessage' => 'api param is invalid', 'description' => ''], + ['errorCode' => 'InvalidClusterName', 'errorMessage' => 'Invalid parameter clusterName.', 'description' => ''], + ['errorCode' => 'InvalidPageSize', 'errorMessage' => 'Invalid parameter pageSize.', 'description' => ''], + ['errorCode' => 'InvalidCurrentPage', 'errorMessage' => 'Invalid parameter currentPage.', 'description' => ''], + ['errorCode' => 'InvalidRegionId', 'errorMessage' => 'Invalid parameter regionId.', 'description' => ''], + ['errorCode' => 'InvalidVSwitch', 'errorMessage' => 'Invalid parameter vSwitch.', 'description' => ''], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'Invalid parameter vpcId.', 'description' => ''], + ['errorCode' => 'InvalidIp', 'errorMessage' => 'Invalid parameter IP.', 'description' => ''], + ['errorCode' => 'InvalidAliuid', 'errorMessage' => 'Invalid parameter aliuid.', 'description' => ''], + ['errorCode' => 'InvalidClusterId', 'errorMessage' => 'Invalid parameter clusterId.', 'description' => ''], + ['errorCode' => 'InvalidInstanceId', 'errorMessage' => 'Invalid parameter instanceId.', 'description' => ''], + ['errorCode' => 'InvalidBackupId', 'errorMessage' => 'Invalid parameter backupId.', 'description' => ''], + ['errorCode' => 'InvalidImageId', 'errorMessage' => 'Invalid parameter imageId.', 'description' => ''], + ['errorCode' => 'HsmInstanceNotExist.Error', 'errorMessage' => 'hsm instance not exist', 'description' => ''], + ['errorCode' => 'HSMIntanceNotActived.Error', 'errorMessage' => 'hsm intance is not actived', 'description' => ''], + ['errorCode' => 'WhiteListMaxCount.Error', 'errorMessage' => 'whilte list is more than max count', 'description' => ''], + ['errorCode' => 'ClusterIdIsNotExists.Error', 'errorMessage' => 'cluster ID non-exists', 'description' => ''], + ['errorCode' => 'InstanceListIsEmpty.Error', 'errorMessage' => 'instance list is empty', 'description' => ''], + ['errorCode' => 'InstanceIdIsEmpty.Error', 'errorMessage' => 'instance id is empty', 'description' => ''], + ['errorCode' => 'InstanceIsNotExistsInCluster.Error', 'errorMessage' => 'cluster has no such instance', 'description' => ''], + ['errorCode' => 'InstanceIsExistsInCluster.Error', 'errorMessage' => 'instance already in the cluster', 'description' => ''], + ['errorCode' => 'RegionNoEmpty.Error', 'errorMessage' => 'region no. is empty', 'description' => ''], + ['errorCode' => 'ClusterNameEmpty.Error', 'errorMessage' => 'empty cluster name not allowed', 'description' => ''], + ['errorCode' => 'ClusterNameIsExists.Error', 'errorMessage' => 'the cluster name is already taken', 'description' => ''], + ['errorCode' => 'IpNotValid.Error', 'errorMessage' => 'ip not valid', 'description' => ''], + ['errorCode' => 'ClusterIsEmpty.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'NoMasterFoundInCluster.Error', 'errorMessage' => 'cluster has no master instance', 'description' => ''], + ['errorCode' => 'HsmInstanceIdNotFound.Error', 'errorMessage' => 'no such instance', 'description' => ''], + ['errorCode' => 'NoInstanceFoundInCluster.Error', 'errorMessage' => 'cluster is empty', 'description' => ''], + ['errorCode' => 'Whitelist.Invalid', 'errorMessage' => 'Whitelist blocks not in CIDR format.', 'description' => ''], + ['errorCode' => 'Whitelist.TooLong', 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', - ], - [ - 'errorCode' => '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.', - ], + ['errorCode' => 'Cluster.CN.ClusterModeInvalid', 'errorMessage' => 'This API is forbidden for current cluster mode.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'Caller has no permission on the resource.', 'description' => ''], + ['errorCode' => 'InstanceNotPaused', 'errorMessage' => 'Please pause the instance before reset.', 'description' => ''], + ['errorCode' => 'InstanceNotActive', 'errorMessage' => 'Instance is not active.', 'description' => ''], + ['errorCode' => 'ConfigIp.IncorrectState', 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', 'description' => ''], + ['errorCode' => 'SwitchMaster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'SyncCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'LeaveCluster.InstanceInvalid', 'errorMessage' => 'The instance is not in the cluster.', 'description' => ''], + ['errorCode' => 'DeleteCluster.IncorrectState', 'errorMessage' => 'Cluster not empty, please remove all instances first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', 'description' => ''], + ['errorCode' => 'JoinCluster.InstanceInitialized', 'errorMessage' => 'Initialized instance can not join a cluster.', 'description' => ''], + ['errorCode' => 'JoinCluster.IncorrectState', 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.InstanceNotInitialized', 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectConfig', 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', 'description' => ''], + ['errorCode' => 'InitializeCluster.IncorrectState', 'errorMessage' => 'Cluster initialized, do not re-initialize.', 'description' => ''], + ['errorCode' => 'Cluster.CN.ActionForbidden', 'errorMessage' => 'This API is forbidden for non-international site cluster.', 'description' => ''], + ['errorCode' => 'Cluster.INTL.ActionForbidden', 'errorMessage' => 'This API is forbidden for international site cluster.', 'description' => ''], + ['errorCode' => 'ConfigClusterCertificate.IncorrectState', 'errorMessage' => 'Cluster initialized or certificates already configured.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVpcId', 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', 'description' => ''], + ['errorCode' => 'ConfigClusterSubnet.IncorrectState', 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', 'description' => ''], + ['errorCode' => 'ClusterName.Exist', 'errorMessage' => 'Cluster name already exists, please use another name.', 'description' => ''], + ['errorCode' => 'Whitelist.InstanceInCluster', 'errorMessage' => 'Whitelist.InstanceInCluster', 'description' => ''], + ], + [ + ['errorCode' => 'Resource.NotFound', 'errorMessage' => 'Resource not found.', 'description' => ''], + ], + [ + ['errorCode' => 'ClusterAPI.NotSupported', 'errorMessage' => 'ClusterAPI not supported in this region.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'Conflict', - '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.', - ], + ['errorCode' => 'Conflict', 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', 'description' => ''], + ['errorCode' => 'Cluster.Conflict', 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', - ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'ConfigWhitelistFailed.Error', 'errorMessage' => 'config white list error', 'description' => ''], + ['errorCode' => 'ActionFailed.Error', 'errorMessage' => 'internal error, please try again', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'Unknown error caused request processing to fail.'], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'SyncCluster', + 'summary' => 'Synchronizes the data of hardware security modules (HSMs) in a cluster.', + 'description' => '* This operation is used for manually synchronizing data within clusters located in the Chinese Mainland. For clusters outside the Chinese Mainland, automatic data synchronization is supported, and this operation is unnecessary. If you attempt to use this operation, a 400 error code will be returned.'."\n" + .'* The data synchronization takes approximately 5 minutes. To avoid service interruptions, we recommend performing this operation during off-peak hours.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:SyncCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 80,\\n \\"PageSize\\": 20,\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"hsm-cn-vj30bil8****\\",\\n \\"Status\\": \\"ACTIVE\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListInstances', + '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"}]', ], - 'ConfigInstanceRemark' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + ], + 'endpoints' => [ + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => 'hsm.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'hsm.aliyuncs.com', 'endpoint' => 'hsm.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'Unknown error caused request processing to fail.'], + ['code' => 'InvalidApiParam.Error', 'message' => 'Parameter is invalid.', 'http_code' => 400, 'description' => 'Illegal parameter'], + ['code' => 'NoPermission', 'message' => 'caller has no permission.', 'http_code' => 403, 'description' => 'User does not have permission to use.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ], + ], + 'ram' => [ + 'productCode' => 'DataEncryptionService', + 'productName' => 'Cloud Hardware Security Module (HSM)', + 'ramCodes' => ['yundun-hsm'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'ListImages', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ResumeInstance', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-cn-vj30bil8****', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResumeInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Remark', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the HSM.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsmOnline', + ], + [ + 'apiName' => 'SwitchClusterMaster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:SwitchClusterMaster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'BaseResult', - 'description' => 'BaseResult'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - ], + [ + 'apiName' => 'LeaveCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:LeaveCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SwitchMaster.InstanceInvalid', - 'errorMessage' => 'Instance not in the cluster.', - ], - [ - 'errorCode' => 'LeaveCluster.MasterLast', - 'errorMessage' => 'Master instance can not leave a cluster until all other instances are left.', - ], - [ - 'errorCode' => 'Certificate.ChainInvalid', - 'errorMessage' => 'Certificate chain invalid. Please make sure issuer certificate is the trust anchor and cluster certificate is signed by issuer certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatInvalid', - 'errorMessage' => 'Certificate format invalid. Cluster/Issuer certificate must be in PEM format.', - ], - [ - 'errorCode' => 'ConfigClusterSubnet.DuplicateZone', - 'errorMessage' => 'VSwitches should not contain duplicate zones.', - ], - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', - ], - [ - 'errorCode' => 'InvalidClusterName', - 'errorMessage' => 'Invalid parameter clusterName.', - ], - [ - 'errorCode' => 'InvalidPageSize', - 'errorMessage' => 'Invalid parameter pageSize.', - ], - [ - 'errorCode' => 'InvalidCurrentPage', - 'errorMessage' => 'Invalid parameter currentPage.', - ], - [ - 'errorCode' => 'InvalidRegionId', - 'errorMessage' => 'Invalid parameter regionId.', - ], - [ - 'errorCode' => 'InvalidVSwitch', - 'errorMessage' => 'Invalid parameter vSwitch.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'Invalid parameter vpcId.', - ], - [ - 'errorCode' => 'InvalidIp', - 'errorMessage' => 'Invalid parameter IP.', - ], - [ - 'errorCode' => 'InvalidAliuid', - 'errorMessage' => 'Invalid parameter aliuid.', - ], - [ - 'errorCode' => 'InvalidClusterId', - 'errorMessage' => 'Invalid parameter clusterId.', - ], - [ - 'errorCode' => 'InvalidInstanceId', - 'errorMessage' => 'Invalid parameter instanceId.', - ], - [ - 'errorCode' => 'InvalidBackupId', - 'errorMessage' => 'Invalid parameter backupId.', - ], - [ - 'errorCode' => 'InvalidImageId', - 'errorMessage' => 'Invalid parameter imageId.', - ], - [ - 'errorCode' => 'HsmInstanceNotExist.Error', - 'errorMessage' => 'hsm instance not exist', - ], - [ - 'errorCode' => 'HSMIntanceNotActived.Error', - 'errorMessage' => 'hsm intance is not actived', - ], - [ - 'errorCode' => 'WhiteListMaxCount.Error', - 'errorMessage' => 'whilte list is more than max count', - ], - [ - 'errorCode' => 'ClusterIdIsNotExists.Error', - 'errorMessage' => 'cluster ID non-exists', - ], - [ - 'errorCode' => 'InstanceListIsEmpty.Error', - 'errorMessage' => 'instance list is empty', - ], - [ - 'errorCode' => 'InstanceIdIsEmpty.Error', - 'errorMessage' => 'instance id is empty', - ], - [ - 'errorCode' => 'InstanceIsNotExistsInCluster.Error', - 'errorMessage' => 'cluster has no such instance', - ], - [ - 'errorCode' => 'InstanceIsExistsInCluster.Error', - 'errorMessage' => 'instance already in the cluster', - ], - [ - 'errorCode' => 'RegionNoEmpty.Error', - 'errorMessage' => 'region no. is empty', - ], - [ - 'errorCode' => 'ClusterNameEmpty.Error', - 'errorMessage' => 'empty cluster name not allowed', - ], - [ - 'errorCode' => 'ClusterNameIsExists.Error', - 'errorMessage' => 'the cluster name is already taken', - ], - [ - 'errorCode' => 'IpNotValid.Error', - 'errorMessage' => 'ip not valid', - ], - [ - 'errorCode' => 'ClusterIsEmpty.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'NoMasterFoundInCluster.Error', - 'errorMessage' => 'cluster has no master instance', - ], - [ - 'errorCode' => 'HsmInstanceIdNotFound.Error', - 'errorMessage' => 'no such instance', - ], - [ - 'errorCode' => 'NoInstanceFoundInCluster.Error', - 'errorMessage' => 'cluster is empty', - ], - [ - 'errorCode' => 'Whitelist.Invalid', - 'errorMessage' => 'Whitelist blocks not in CIDR format.', - ], - [ - 'errorCode' => 'Whitelist.TooLong', - 'errorMessage' => 'Whitelist too long, exceeds 10 CIDR blocks.', + [ + 'apiName' => 'EnableBackup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:EnableBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'Caller has no permission on the resource.', - ], - [ - 'errorCode' => 'InstanceNotPaused', - 'errorMessage' => 'Please pause the instance before reset.', + ], + [ + 'apiName' => 'InitializeCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:InitializeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - [ - 'errorCode' => 'Resource.NotFound', - 'errorMessage' => 'Resource not found.', + ], + [ + 'apiName' => 'ConfigInstanceWhitelist', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceWhitelist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - [ - 'errorCode' => 'ClusterAPI.NotSupported', - 'errorMessage' => 'ClusterAPI not supported in this region.', + ], + [ + 'apiName' => 'ResetInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 409 => [ - [ - 'errorCode' => 'SwitchMaster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'Cluster.Conflict', - 'errorMessage' => 'The cluster is being updated by a previous request. Please try again later.', - ], - [ - 'errorCode' => 'SyncCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'LeaveCluster.InstanceInvalid', - 'errorMessage' => 'The instance is not in the cluster.', - ], - [ - 'errorCode' => 'DeleteCluster.IncorrectState', - 'errorMessage' => 'Cluster not empty, please remove all instances first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceVSwitchNotInCluster', - 'errorMessage' => 'Instance\'s vSwitch is not in cluster config, please change instance\'s vSwitch first.', - ], - [ - 'errorCode' => 'JoinCluster.InstanceInitialized', - 'errorMessage' => 'Initialized instance can not join a cluster.', - ], - [ - 'errorCode' => 'JoinCluster.IncorrectState', - 'errorMessage' => 'Cluster not initialized, please initialize the cluster first.', - ], - [ - 'errorCode' => 'InitializeCluster.InstanceNotInitialized', - 'errorMessage' => 'Cluster master instance not initialized, please initialize cluster master instance first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectConfig', - 'errorMessage' => 'Cluster subnet not configured, please config cluster subnet first.', - ], - [ - 'errorCode' => 'InitializeCluster.IncorrectState', - 'errorMessage' => 'Cluster initialized, do not re-initialize.', - ], - [ - 'errorCode' => 'Cluster.CN.ActionForbidden', - 'errorMessage' => 'This API is forbidden for non-international site cluster.', - ], - [ - 'errorCode' => 'Cluster.INTL.ActionForbidden', - 'errorMessage' => 'This API is forbidden for international site cluster.', + ], + [ + 'apiName' => 'PauseInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:PauseInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ConfigClusterCertificate.IncorrectState', - 'errorMessage' => 'Cluster initialized or certificates already configured.', + ], + ], + [ + 'apiName' => 'JoinCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:JoinCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVpcId', - 'errorMessage' => 'VPC Id invalid. Cluster VPC is the same as cluster master\'s VPC.', + ], + ], + [ + 'apiName' => 'ListBackups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListBackups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ConfigClusterSubnet.InvalidVSwitchId', - 'errorMessage' => 'VSwitch Id invalid. VSwitches should contain all current cluster vSwitches.', + ], + ], + [ + 'apiName' => 'QuickInitInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:QuickInitInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ConfigClusterSubnet.IncorrectState', - 'errorMessage' => 'Cluster not in NEW state, can not config cluster subnet.', + ], + ], + [ + 'apiName' => 'ConfigAuditLog', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigAuditLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ClusterName.Exist', - 'errorMessage' => 'Cluster name already exists, please use another name.', + ], + ], + [ + 'apiName' => 'ExportImage', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-hsm:ExportImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Conflict', - 'errorMessage' => 'Resource is being updated by a previous request. Current request is redundant.', + ], + ], + [ + 'apiName' => 'GetTrialStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:DescribeTrialStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ConfigIp.IncorrectState', - 'errorMessage' => 'Instance not in pending or active state, can not config IP address.', + ], + ], + [ + 'apiName' => 'GetAuditLogStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetAuditLogStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'ConfigWhitelistFailed.Error', - 'errorMessage' => 'config white list error', + ], + [ + 'apiName' => 'DescribeRegions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-hsm:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'ActionFailed.Error', - 'errorMessage' => 'internal error, please try again', + ], + ], + [ + 'apiName' => 'ConfigInstanceRemark', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + ], + [ + 'apiName' => 'ListClusters', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'GetJob', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'ConfigInstanceRemark', - 'summary' => 'Modifies the description of a hardware security module (HSM).', - ], - 'GetJob' => [ - 'summary' => 'Queries the details of an asynchronous task.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'RestoreInstance', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:RestoreInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ConfigBackupTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigBackupTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CopyImage', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:CopyImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ListInstances', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '201995', - 'abilityTreeNodes' => [ - 'FEATUREhsm01FLNB', - 'FEATUREhsmV7VE3Y', - 'FEATUREhsmGIFYCG', + 'ramAction' => [ + 'action' => 'yundun-hsm:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'job-202401250936hze747fd7e0007005', + [ + 'apiName' => 'GetBackup', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Job' => [ - 'description' => 'The details of the task.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'job-202401250936hze747fd7e0007005', - ], - 'Type' => [ - 'description' => 'The operation type. Valid values:'."\n" - ."\n" - .'* create'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'create', - ], - 'Completed' => [ - 'description' => 'Indicates whether the task is complete. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Status' => [ - 'description' => 'The task status. Valid values:'."\n" - ."\n" - .'* success'."\n" - .'* running'."\n" - .'* fail'."\n" - .'* cancel'."\n", - 'type' => 'string', - 'example' => 'fail', - ], - 'Response' => [ - 'description' => 'The response returned after the task succeeds.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Error' => [ - 'description' => 'The error message returned if the task fails.'."\n", - 'type' => 'string', - 'example' => 'OperationTimeout', - ], - 'Progress' => [ - 'description' => 'The progress of the task. Unit: percent (%).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '95', - ], - ], - ], - ], + [ + 'apiName' => 'ConfigClusterSubnet', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterSubnet', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Job\\": {\\n \\"JobId\\": \\"job-202401250936hze747fd7e0007005\\",\\n \\"Type\\": \\"create\\",\\n \\"Completed\\": true,\\n \\"Status\\": \\"fail\\",\\n \\"Response\\": \\"success\\",\\n \\"Error\\": \\"OperationTimeout\\",\\n \\"Progress\\": 95\\n }\\n}","type":"json"}]', - 'title' => 'GetJob', - ], - 'MoveResourceGroup' => [ - 'summary' => 'Moves a resource to a new resource group.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DownloadClusterManagedCert', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:DownloadClusterManagedCert', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'GetInstance', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateCluster', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-hsm:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'MoveResourceGroup', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', - 'FEATUREhsm01FLNB', - 'FEATUREhsmGIFYCG', - 'FEATUREhsmLBBV5W', + 'ramAction' => [ + 'action' => 'yundun-hsm:MoveResourceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the hardware security module (HSM).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hsm-2ze0qae64mjuc0ni****', + [ + 'apiName' => 'ConfigBackupRemark', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigBackupRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-aek2tsvbnfe****', + ], + [ + 'apiName' => 'InitializeAuditLog', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:InitializeAuditLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'instance', + ], + [ + 'apiName' => 'ConfigInstanceIpAddress', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigInstanceIpAddress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'GetImage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The data returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - ], + [ + 'apiName' => 'DeleteCluster', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-hsm:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'Parameter is invalid.', + [ + 'apiName' => 'QuickDeployCluster', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-hsm:QuickDeployCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'caller has no permission.', + ], + [ + 'apiName' => 'ResetBackup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ResetBackup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'apiName' => 'GetInstanceInternalStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetInstanceInternalStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]', - 'title' => 'MoveResourceGroup', - ], - 'DescribeRegions' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SyncCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:SyncCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '203661', - 'abilityTreeNodes' => [ - 'FEATUREhsmV7VE3Y', + [ + 'apiName' => 'ConfigClusterName', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AcceptLanguage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The language of the content. Valid values:'."\n" - ."\n" - .'* zh: Chinese.'."\n" - .'* en: English.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'en', + [ + 'apiName' => 'ConfigClusterWhitelist', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterWhitelist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4C467B38-3910-447D-87BC-AC049166F216', - ], - 'Regions' => [ - 'description' => 'The regions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the region.'."\n", - 'type' => 'object', - 'properties' => [ - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'Singapore', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'ap-southeast-1', - ], - 'Zones' => [ - 'description' => 'The zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the zone.'."\n", - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'example' => 'ap-southeast-1a', - ], - 'LocalName' => [ - 'description' => 'The name of the zone.'."\n", - 'type' => 'string', - 'example' => 'Singapore Zone A', - ], - 'Cluster' => [ - 'description' => 'Indicates whether clusters are supported. Valid values:'."\n" - ."\n" - .'* yes'."\n" - .'* no'."\n", - 'type' => 'string', - 'example' => 'yes', - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'GetCluster', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-hsm:GetCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApiParam.Error', - 'errorMessage' => 'api param is invalid', + [ + 'apiName' => 'ConfigImageRemark', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigImageRemark', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'NoPermission.Error', - 'errorMessage' => 'caller has no permission', + ], + [ + 'apiName' => 'ConfigClusterCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:ConfigClusterCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + ], + [ + 'apiName' => 'RotateClusterManagedCert', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'yundun-hsm:RotateClusterManagedCert', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DataEncryptionService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LocalName\\": \\"杭州 可用区A\\",\\n \\"Cluster\\": \\"yes\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeRegions', - 'summary' => 'Queries the regions that are supported by Cloud Hardware Security Module.', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'hsm.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'hsm.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; |
