diff options
Diffstat (limited to 'data/zh_cn/amqp-open/2019-12-12/api-docs.php')
| -rw-r--r-- | data/zh_cn/amqp-open/2019-12-12/api-docs.php | 6955 |
1 files changed, 3699 insertions, 3256 deletions
diff --git a/data/zh_cn/amqp-open/2019-12-12/api-docs.php b/data/zh_cn/amqp-open/2019-12-12/api-docs.php index 6fa538d..ce42373 100644 --- a/data/zh_cn/amqp-open/2019-12-12/api-docs.php +++ b/data/zh_cn/amqp-open/2019-12-12/api-docs.php @@ -1,92 +1,370 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'amqp-open', - 'version' => '2019-12-12', - ], + 'info' => ['style' => 'RPC', 'product' => 'amqp-open', 'version' => '2019-12-12'], 'directories' => [ [ - 'id' => 121315, - 'title' => '实例', + 'children' => ['CreateInstance', 'GetInstance', 'UpdateInstance', 'UpdateInstanceName', 'GetMetadataAmount', 'ListInstances', 'AddInstanceWhiteList', 'ListInstanceWhiteList', 'RemoveInstanceWhiteList'], 'type' => 'directory', - 'children' => [ - 'CreateInstance', - 'GetInstance', - 'UpdateInstance', - 'UpdateInstanceName', - 'GetMetadataAmount', - 'ListInstances', - ], + 'title' => '实例', + 'id' => 90500, ], [ - 'id' => 121325, - 'title' => 'Vhost', + 'children' => ['CreateVirtualHost', 'DeleteVirtualHost', 'ListVirtualHosts'], 'type' => 'directory', - 'children' => [ - 'CreateVirtualHost', - 'DeleteVirtualHost', - 'ListVirtualHosts', - ], + 'title' => 'Vhost', + 'id' => 90530, ], [ - 'id' => 121329, - 'title' => 'Queue', + 'children' => ['CreateQueue', 'DeleteQueue', 'ListQueueConsumers', 'ListQueues', 'ListQueueUpStreamBindings'], 'type' => 'directory', - 'children' => [ - 'CreateQueue', - 'DeleteQueue', - 'ListQueueConsumers', - 'ListQueues', - 'ListQueueUpStreamBindings', - ], + 'title' => 'Queue', + 'id' => 90536, ], [ - 'id' => 121319, - 'title' => 'Exchange', + 'children' => ['CreateExchange', 'DeleteExchange', 'ListDownStreamBindings', 'ListExchanges', 'ListExchangeUpStreamBindings'], 'type' => 'directory', - 'children' => [ - 'CreateExchange', - 'DeleteExchange', - 'ListDownStreamBindings', - 'ListExchanges', - 'ListExchangeUpStreamBindings', - ], + 'title' => 'Exchange', + 'id' => 90520, ], [ - 'id' => 121311, - 'title' => 'Binding', + 'children' => ['CreateBinding', 'DeleteBinding', 'ListBindings'], 'type' => 'directory', - 'children' => [ - 'CreateBinding', - 'DeleteBinding', - 'ListBindings', - ], + 'title' => 'Binding', + 'id' => 90422, ], [ - 'id' => 177638, + 'children' => ['CreateAccount', 'DeleteAccount', 'ListAccounts'], + 'type' => 'directory', 'title' => '静态用户名密码', + 'id' => 90545, + ], + [ + 'children' => ['CreateOpenSourceAccount', 'CreateOpenSourcePermission', 'DeleteOpenSourceAccount', 'DeleteOpenSourcePermission', 'ListOpenSourceAccounts', 'ListOpenSourcePermissions', 'UpdateInstanceServerlessSwitch', 'UpdateOpenSourceAccount', 'UpdateOpenSourcePermission'], 'type' => 'directory', - 'children' => [ - 'CreateAccount', - 'DeleteAccount', - 'ListAccounts', - ], + 'title' => '其他', + 'id' => 454622, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateInstance' => [ - 'summary' => '创建云消息队列RabbitMQ的实例。', - 'methods' => [ - 'post', + 'AddInstanceWhiteList' => [ + 'summary' => '增加实例白名单', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['title' => '需要创建IP/VPC的实例ID'."\n", 'description' => '需要创建IP/VPC的实例ID'."\n", 'type' => 'string', 'required' => true, 'example' => 'rabbitmq-cn-xxx'], + ], + [ + 'name' => 'WhiteListItem', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '白名单IP或vpcId,IP以网段的形式设置', + 'description' => '白名单IP或vpcId,IP以网段的形式设置', + 'type' => 'array', + 'items' => ['description' => '白名单具体值。'."\n" + .'如果需要设置IP白名单,则填写IP范围,下面WhiteListType填写2;'."\n" + .'如果需要设置VPC白名单,则填写VPCID范围,下面WhiteListType填写1;', 'type' => 'string', 'required' => true, 'example' => '172.0.0.20/30'], + 'required' => true, + 'example' => '172.0.0.20/30', + ], + ], + [ + 'name' => 'WhiteListType', + 'in' => 'query', + 'schema' => [ + 'title' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" + ."\n" + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'description' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" + ."\n" + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '2', + 'enum' => ['1', '2'], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '报错时返回错误信息', 'type' => 'string', 'example' => 'The specified parameter \'[\\"vpc-xxx\\"]\' is not valid'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => ['description' => '请求是否成功', 'type' => 'any', 'example' => 'true'], + 'StatusCode' => ['description' => '调用返回码,200标识为成功', 'type' => 'string', 'example' => '200'], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '增加实例IP/VPCID白名单', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8BFB1C9D-08A2-4859-A47C-403C9EFA2***\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"The specified parameter \'[\\\\\\\\\\\\\\"vpc-xxx\\\\\\\\\\\\\\"]\' is not valid\\",\\n \\"Success\\": true,\\n \\"Data\\": \\"true\\",\\n \\"StatusCode\\": \\"200\\"\\n}","type":"json"}]', + ], + 'CreateAccount' => [ + 'summary' => '开源客户端访问云消息队列 RabbitMQ 版服务端时,需要传入用户名和密码进行权限认证,认证通过才允许访问服务端。云消息队列 RabbitMQ 版支持通过阿里云访问控制(RAM)的AccessKey和AccessKey Secret生成用户名和密码。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '164698', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'instanceId', + 'in' => 'query', + 'schema' => ['description' => '消息队列RabbitMQ版实例的ID,表示您需要为哪个实例创建静态用户名密码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-*********'], + ], + [ + 'name' => 'accountAccessKey', + 'in' => 'query', + 'schema' => ['description' => '您的阿里云账号或RAM用户的AccessKey ID。获取方式,请参见[创建AccessKey](~~116401~~)。'."\n" + ."\n" + .'> 如果您使用RAM用户的AccessKey创建的静态用户名密码接入消息队列RabbitMQ版并收发消息,请确保该RAM用户已被授予收发消息权限。更多信息,请参见[RAM权限策略](~~146559~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'yourAccessKeyID'], + ], + [ + 'name' => 'userName', + 'in' => 'query', + 'schema' => ['description' => '待创建的静态用户名。'."\n" + ."\n" + .'该参数值由实例ID和AccessKey ID构造的字符串经过Base64编码得出,具体计算方法,请参见本文中的**用户名计算示例代码**。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Mjo****************'], + ], + [ + 'name' => 'signature', + 'in' => 'query', + 'schema' => ['description' => '签名,系统将根据请求参数中的签名、AccessKey Secret签名和用户名计算出静态用户密码。'."\n" + ."\n" + .'签名由指定的用户名创建时间戳和AccessKey ID进行HmacSHA1加密算法计算得出。具体计算方法,请参见本文中的**签名算法示例代码**。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '22c2d7d1769cb53c5a6d9213248e2de524******'], + ], + [ + 'name' => 'createTimestamp', + 'in' => 'query', + 'schema' => ['description' => '指定该用户名密码创建的时间戳。单位:毫秒。'."\n" + ."\n" + .'> 该时间戳用于计算静态用户密码,由您自定义设置。不是系统生成用户名密码时的时间戳。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1671175303522'], + ], + [ + 'name' => 'secretSign', + 'in' => 'query', + 'schema' => ['description' => 'AccessKey Secret签名,系统将根据请求参数中的签名、AccessKey Secret签名和用户名计算出静态用户密码。'."\n" + ."\n" + .'AccessKey Secret签名由指定的用户名创建时间戳和AccessKey ID进行HmacSHA1加密算法计算得出。具体计算方法,请参见本文中的**签名算法示例代码**。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4c1a6367ce4c4255e9617326f9133ac635******'], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['title' => '静态用户备注', 'description' => '静态用户备注', 'type' => 'string', 'required' => false, 'example' => '*** environment'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***', + ], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'AccessKey' => ['description' => '创建该用户名密码所使用的AccessKey ID。', 'type' => 'string', 'example' => 'LTAI****************'], + 'Password' => ['description' => '创建的静态用户密码。', 'type' => 'string', 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1'], + 'CreateTimeStamp' => ['description' => '创建用户名密码的时间戳。单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1671175303522'], + 'InstanceId' => ['description' => '消息队列RabbitMQ版实例的ID。', 'type' => 'string', 'example' => 'amqp-cn-*********'], + 'MasterUId' => ['description' => '创建静态用户名密码的AccessKey所属的阿里云账号或RAM用户的账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '1565***********01'], + 'UserName' => ['description' => '创建的静态用户名。', 'type' => 'string', 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8='], + 'Remark' => ['title' => '备注', 'description' => '备注', 'type' => 'string', 'example' => '*** environment'], + ], + ], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AccessKey\\": \\"LTAI****************\\",\\n \\"Password\\": \\"OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1\\",\\n \\"CreateTimeStamp\\": 1671175303522,\\n \\"InstanceId\\": \\"amqp-cn-*********\\",\\n \\"MasterUId\\": 0,\\n \\"UserName\\": \\"MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=\\",\\n \\"Remark\\": \\"*** environment\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateAccountResponse>\\n <RequestId>FEBA5E0C-50D0-4FA6-A794-4901E5465***</RequestId>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n <Success>true</Success>\\n <Data>\\n <AccessKey>LTAI5***********eRZtEJ6vfo</AccessKey>\\n <Password>OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1</Password>\\n <CreateTimeStamp>1671175303522</CreateTimeStamp>\\n <InstanceId>amqp-cn-*********</InstanceId>\\n <UserName>MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=</UserName>\\n </Data>\\n</CreateAccountResponse>","errorExample":""}]', + 'title' => '创建用户名密码', + 'description' => '### 背景信息'."\n" + .'开源客户端访问云消息队列 RabbitMQ 版服务端时,需要传入用户名和密码进行权限认证,认证通过才允许访问服务端。'."\n" + .'云消息队列 RabbitMQ 版支持通过阿里云访问控制(RAM)的AccessKey和AccessKey Secret生成用户名和密码。'."\n" + .'### 注意事项'."\n" + .'- 创建静态用户名密码所属的实例需处于服务中状态。'."\n" + .'- 一个实例下的AccessKey和静态用户名密码一一对应,即一个实例下的一个AccessKey只能创建一个静态用户名密码。'."\n" + .'- 如果需要更新静态用户名密码,您可以删除该静态用户名密码后重新创建。'."\n" + .'### 用户名计算示例代码'."\n" + .'请求参数中的userName的参数值,需要由实例ID和AccessKey ID构造字符串并进行Base64编码得出。具体的计算方法如下:'."\n" + .'```'."\n" + .'import java.nio.charset.Charset;'."\n" + .'import java.nio.charset.StandardCharsets;'."\n" + .'import java.util.Base64;'."\n" + ."\n" + .'public class Base64Utils {'."\n" + .' public static final Charset UTF8 = StandardCharsets.UTF_8;'."\n" + ."\n" + .' /**'."\n" + .' * 解码 base64 字符串'."\n" + .' *'."\n" + .' * @param str'."\n" + .' * @return'."\n" + .' */'."\n" + .' public static String decode(String str) {'."\n" + .' return new String(Base64.getDecoder().decode(str.getBytes(UTF8)), UTF8);'."\n" + .' }'."\n" + ."\n" + .' public static String encode(String bytes) {'."\n" + .' return new String(Base64.getEncoder().encode(bytes.getBytes(UTF8)), UTF8);'."\n" + .' }'."\n" + ."\n" + .' public static void main(String[] args) {'."\n" + .' //使用您的实例 ID 以及购买该实例的账号 AK,组成字符串。'."\n" + .' String str = "2:${instanceId}:${ak}";'."\n" + ."\n" + .' //生成 API 使用的 userName。'."\n" + .' String userName = encode(str);'."\n" + .' System.out.println("userName=" + userName);'."\n" + ."\n" + .' String decodeStr = decode(userName);'."\n" + .' System.out.println("originStr=" + decodeStr);'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'### 签名算法示例代码'."\n" + .'请求参数中signature和secretSign的参数值,需要由指定的静态用户名的创建时间戳和AccessKey Secret进行加密算法计算得出。具体的算法和示例代码如下:'."\n" + .'```'."\n" + .'import javax.crypto.Mac;'."\n" + .'import javax.crypto.spec.SecretKeySpec;'."\n" + .'import java.security.InvalidKeyException;'."\n" + .'import java.security.NoSuchAlgorithmException;'."\n" + ."\n" + .'public class SignatureUtils {'."\n" + ."\n" + .' public static String hamcsha1(byte[] data, byte[] key) throws NoSuchAlgorithmException, InvalidKeyException {'."\n" + .' SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1");'."\n" + .' Mac mac = Mac.getInstance("HmacSHA1");'."\n" + .' mac.init(signingKey);'."\n" + .' return byte2hex(mac.doFinal(data));'."\n" + .' }'."\n" + ."\n" + .' public static String byte2hex(byte[] b) {'."\n" + .' StringBuilder hs = new StringBuilder();'."\n" + .' String stmp;'."\n" + .' for (int n = 0; b != null && n < b.length; n++) {'."\n" + .' stmp = Integer.toHexString(b[n] & 0XFF);'."\n" + .' if (stmp.length() == 1) {'."\n" + .' hs.append(\'0\');'."\n" + .' }'."\n" + .' hs.append(stmp);'."\n" + .' }'."\n" + .' return hs.toString().toUpperCase();'."\n" + .' }'."\n" + ."\n" + .' public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException {'."\n" + .' //createTimestamp 即是 API 的 createTimestamp 参数。'."\n" + .' String createTimestamp = String.valueOf(System.currentTimeMillis());'."\n" + .' System.out.println("timestamp:" + createTimestamp);'."\n" + ."\n" + .' //您账号的 sk。'."\n" + .' String sk = "${sk}";'."\n" + ."\n" + .' //生成 API 使用的 SecretSign。'."\n" + .' String SecretSign = hamcsha1(sk.getBytes(), createTimestamp.getBytes());'."\n" + .' System.out.println("SecretSign:" + SecretSign);'."\n" + ."\n" + .' //生成 API 使用的 signature。'."\n" + .' String signature = hamcsha1(createTimestamp.getBytes(), sk.getBytes());'."\n" + .' System.out.println("signature:" + signature);'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'extraInfo' => '### 控制台操作'."\n" + .'除了调用**CreateAccount**接口,您还可以通过云消息队列 RabbitMQ 版控制台创建静态用户名密码。具体操作,请参见[静态用户名密码管理](~~184399~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccount'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:FetchStaticAccount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + ], ], + ], + 'CreateBinding' => [ + 'summary' => 'Producer将消息发送到Exchange,Exchange根据创建的绑定关系以及路由规则选择将消息路由到指定的Queue或其他Exchange中。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -96,25 +374,289 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '194334', - 'abilityTreeNodes' => [ - 'FEATUREonsQ3252I', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '58722', + 'abilityTreeNodes' => ['FEATUREons5ZTT5D'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], + ], + [ + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => 'Vhost名称。'."\n" + .'此Vhost已在控制台创建且是**DestinationName**和**SourceExchange**所属的Vhost。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'SourceExchange', + 'in' => 'formData', + 'schema' => ['description' => '源Exchange名称,且此Exchange已在控制台创建。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NormalEX'], + ], + [ + 'name' => 'DestinationName', + 'in' => 'formData', + 'schema' => ['description' => '绑定目标名称。'."\n" + .'此绑定目标需已在控制台创建且所属Vhost与**SourceExchange**所属Vhost一致,即在**VirtualHost**中。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue'], + ], + [ + 'name' => 'BindingKey', + 'in' => 'formData', + 'schema' => ['description' => '绑定键。'."\n" + ."\n" + .'- 绑定源Exchange为非Topic类型:'."\n" + ."\n" + .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 长度限制1~255字符。'."\n" + ."\n" + .'- 绑定源Exchange为Topic类型:'."\n" + ."\n" + .' - 可以包含字母、数字、短划线(-)、下划线(_)、星号(*)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" + ."\n" + .' - 长度限制1~255字符。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '.test'], + ], + [ + 'name' => 'BindingType', + 'in' => 'formData', + 'schema' => ['description' => '绑定目标对象的类型。取值:'."\n" + ."\n" + .'- **0:**Queue'."\n" + ."\n" + .'- **1:**Exchange '."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0'], + ], + [ + 'name' => 'Argument', + 'in' => 'formData', + 'schema' => ['description' => '设置消息头属性键值对信息,消息头属性使用一个或多个键值对拼接而成。x-match属性必须配置,其余属性可自定义。x-match属性取值如下:'."\n" + ."\n" + .'- **all:**默认值,所有消息头的键值对必须匹配。'."\n" + ."\n" + .'- **any:**至少一对消息头的键值对必须匹配。'."\n" + ."\n" + .'属性之间使用半角分号(;)隔开,属性键与值之间使用半角冒号(:)区分。例如x-match:all;type:report;format:pdf'."\n" + .'该参数适用于Headers Exchange,对其它类型的Exchange无效。其它类型的Exchange,此处可以填任意值。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'x-match:all;type:report;format:pdf '], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '09768C14-E51C-4F4A-8077-30810032C***'], + ], + 'description' => '', + ], + ], + ], + 'title' => '创建绑定', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-11-19T11:07:29.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-13T03:50:52.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-12T11:11:52.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:27.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBinding'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:GetExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#vhostName}/queues/*'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:CreateExchange', 'validationType' => 'conditional'], + ['action' => 'amqp:CreateQueue'], + ['action' => 'amqp:GetVhost'], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09768C14-E51C-4F4A-8077-30810032C***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBindingResponse>\\n <RequestId>09768C14-E51C-4F4A-8077-30810032C***</RequestId>\\n</CreateBindingResponse>","errorExample":""}]', + ], + 'CreateExchange' => [ + 'summary' => 'Producer将消息发送到Exchange,由Exchange将消息路由到一个或多个Queue中(或者丢弃)。Exchange根据Routing Key和Binding Key将消息路由到Queue。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsUA0VH5'], + ], 'parameters' => [ [ - 'name' => 'ClientToken', - 'in' => 'query', + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], + ], + [ + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => 'Exchange所在的Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'ExchangeName', + 'in' => 'formData', + 'schema' => ['description' => 'Exchange名称。说明:'."\n" + ."\n" + .'- Exchange名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at 符号(@),长度限制1~255 字符。'."\n" + ."\n" + .'- Exchange创建后,名称不支持修改,只能删除后重建。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoExchange'], + ], + [ + 'name' => 'ExchangeType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Exchange类型。取值:'."\n" + ."\n" + .'- **DIRECT**:该类型路由规则会将消息路由到Binding Key与Routing Key完全匹配的Queue中。'."\n" + ."\n" + .'- **TOPIC**:该类型与DIRECT类型相似,使用Routing Key模式匹配和字符串比较的方式将消息路由至绑定的Queue。'."\n" + ."\n" + .'- **FANOUT**:该类型路由规则非常简单,会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中,相当于广播功能。'."\n" + ."\n" + .'- **HEADERS**:该类型与DIRECT类型相似。Headers Exchange使用Headers属性代替Routing Key进行路由匹配,在绑定Headers Exchange和Queue时,设置绑定属性的键值对;在向Headers Exchange发送消息时,设置消息的Headers属性键值对,使用消息Headers属性键值对和绑定属性键值对比较的方式将消息路由至绑定的Queue。'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'DIRECT', + 'enum' => ['DIRECT', 'TOPIC', 'FANOUT', 'HEADERS', 'X_JMS_TOPIC', 'X_DELAYED_MESSAGE', 'X_CONSISTENT_HASH'], + ], + ], + [ + 'name' => 'XDelayedType', + 'in' => 'formData', 'schema' => [ - 'title' => '客户端Token', - 'description' => '客户端Token。', + 'description' => 'x-delayed-message 类型的 Exchange 可以自定义消息的 Header 属性, x-delay用来指定消息延时投递的时间段,单位为毫秒。该类 Exchange 的路由规则取决于 x-delayed-type 参数中指定的 Exchange 类型,用于指定延迟消息最终将被投递到的实际 Exchange 类型。取值:'."\n" + ."\n" + .'- **DIRECT**:将延迟消息投递到和 DIRECT 类型 Exchange 绑定的指定队列。'."\n" + .'- **TOPIC**:将延迟消息投递到和 TOPIC 类型 Exchange 绑定的队列。'."\n" + ."\n" + .'- **FANOUT**:将延迟消息投递到和 FANOUT 类型 Exchange 绑定的队列。'."\n" + ."\n" + .'- **HEADERS**:将延迟消息投递到和 HEADERS 类型 Exchange 绑定的队列。'."\n" + ."\n" + .'- **X-JMS-TOPIC**:将延迟消息投递到和X-JMS-TOPIC绑定的队列。', 'type' => 'string', 'required' => false, - 'example' => 'c2c5d1274axxxxxxxx', + 'example' => 'DIRECT', + 'enum' => ['DIRECT', 'TOPIC', 'FANOUT', 'HEADERS', 'X_JMS_TOPIC'], + ], + ], + [ + 'name' => 'AutoDeleteState', + 'in' => 'formData', + 'schema' => ['description' => '是否自动删除。取值:'."\n" + ."\n" + .'- **true**:是。如果绑定到该Exchange的最后一个Queue解除绑定,该Exchange会自动删除。'."\n" + ."\n" + .'- **false**:否。如果绑定到该Exchange的最后一个Queue解除绑定,该Exchange不会自动删除。', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false'], + ], + [ + 'name' => 'Internal', + 'in' => 'formData', + 'schema' => ['description' => '是否为内部Exchange。取值:'."\n" + ."\n" + .'- **false**:否'."\n" + ."\n" + .'- **true**:是', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false'], + ], + [ + 'name' => 'AlternateExchange', + 'in' => 'formData', + 'schema' => ['description' => '备份Exchange。配置备份Exchange用于接收Exchange路由失败的消息。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'DemoAE'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****'], + ], + 'description' => '', + ], + ], + ], + 'title' => '创建Exchange', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-07-11T08:42:21.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-03-19T03:50:07.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:26.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateExchange'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/*'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateExchangeResponse>\\r\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A19A6***</RequestId>\\r\\n</CreateExchangeResponse>","errorExample":""}]', + ], + 'CreateInstance' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '194334', + 'abilityTreeNodes' => ['FEATUREonsQ3252I'], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['title' => '客户端Token', 'description' => '客户端Token。', 'type' => 'string', 'required' => false, 'example' => 'c2c5d1274axxxxxxxx'], + ], [ 'name' => 'PaymentType', 'in' => 'query', @@ -125,31 +667,17 @@ .'- PayAsYouGo : Serverless系列', 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'PayAsYouGo' => 'PayAsYouGo', - 'Subscription' => 'Subscription', - ], + 'enumValueTitles' => ['PayAsYouGo' => 'PayAsYouGo', 'Subscription' => 'Subscription'], 'example' => 'Subscription', - 'enum' => [ - 'Subscription', - 'PayAsYouGo', - ], + 'enum' => ['Subscription', 'PayAsYouGo'], ], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'title' => '预付费周期,单位: periodCycle', - 'description' => '预付费周期,单位:periodCycle。'."\n" - ."\n" - .'> 当 PaymentType 为 Subscription 时,该参数有效,默认值为1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '预付费周期,单位: periodCycle', 'description' => '预付费周期,单位:periodCycle。'."\n" + ."\n" + .'> 当 PaymentType 为 Subscription 时,该参数有效,默认值为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'PeriodCycle', @@ -163,62 +691,33 @@ .'当PaymentType为Subscription时,该参数有效,默认值为Month。', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Month' => 'Month', - 'Year' => 'Year', - ], + 'enumValueTitles' => ['Month' => 'Month', 'Year' => 'Year'], 'example' => 'Month', 'default' => 'Month', - 'enum' => [ - 'Month', - 'Year', - 'M', - 'Y', - ], + 'enum' => ['Month', 'Year', 'M', 'Y'], ], ], [ 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'title' => '续费方式', - 'description' => '续费方式,取值如下:'."\n" - .'- true:自动续费'."\n" - .'- false:手动续费', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['title' => '续费方式', 'description' => '续费方式,取值如下:'."\n" + .'- true:自动续费'."\n" + .'- false:手动续费', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ 'name' => 'AutoRenewPeriod', 'in' => 'query', - 'schema' => [ - 'title' => '自动续费周期,单位:月', - 'description' => '自动续费周期,单位 RenewalDurationUnit 值,默认为:月。'."\n" - ."\n" - .'> 当 AutoRenew 为 true 时,该参数有效,默认值为1 。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '自动续费周期,单位:月', 'description' => '自动续费周期,单位 RenewalDurationUnit 值,默认为:月。'."\n" + ."\n" + .'> 当 AutoRenew 为 true 时,该参数有效,默认值为1 。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'RenewStatus', 'in' => 'query', - 'schema' => [ - 'title' => 'autoRenew和renewStatus都是续费方式,当两个同时填写时,以renewStatus为准', - 'description' => '续费状态,等同于 autoRenew ,二选1 配置即可,取值如下:'."\n" - .'- AutoRenewal: 自动续费'."\n" - ."\n" - .'> 和renewStatus都是续费方式,当两个同时填写时,以renewStatus为准', - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['title' => 'autoRenew和renewStatus都是续费方式,当两个同时填写时,以renewStatus为准', 'description' => '续费状态,等同于 autoRenew ,二选1 配置即可,取值如下:'."\n" + .'- AutoRenewal: 自动续费'."\n" + ."\n" + .'> 和renewStatus都是续费方式,当两个同时填写时,以renewStatus为准', 'type' => 'string', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RenewalDurationUnit', @@ -229,10 +728,7 @@ .'- Year:年', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Month' => 'Month', - 'Year' => 'Year', - ], + 'enumValueTitles' => ['Month' => 'Month', 'Year' => 'Year'], 'example' => 'Month', ], ], @@ -250,19 +746,9 @@ .'Serverless系列实例:无需填写', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'enterprise' => 'enterprise', - 'vip' => 'vip', - 'professional' => 'professional', - ], + 'enumValueTitles' => ['enterprise' => 'enterprise', 'vip' => 'vip', 'professional' => 'professional'], 'example' => 'professional', - 'enum' => [ - 'professional', - 'enterprise', - 'vip', - 'serverless', - 'provisioned', - ], + 'enum' => ['professional', 'enterprise', 'vip', 'serverless', 'provisioned'], ], ], [ @@ -274,126 +760,68 @@ 'type' => 'string', 'required' => false, 'example' => 'onDemand', - 'enum' => [ - 'onDemand', - 'provisioned', - ], + 'enum' => ['onDemand', 'provisioned'], ], ], [ 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '实例名称。建议长度不超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'amqp-xxxxx', - ], + 'schema' => ['description' => '实例名称。建议长度不超过64个字符。', 'type' => 'string', 'required' => false, 'example' => 'amqp-xxxxx'], ], [ 'name' => 'MaxPrivateTps', 'in' => 'query', - 'schema' => [ - 'title' => '私网TPS流量,单位:次/秒', - 'description' => '私网TPS流量,单位:次/秒。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['title' => '私网TPS流量,单位:次/秒', 'description' => '私网TPS流量,单位:次/秒。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'], ], [ 'name' => 'SupportEip', 'in' => 'query', - 'schema' => [ - 'title' => '是否支持公网', - 'description' => '是否支持公网,取值如下:'."\n" - .'- true:支持公网'."\n" - .'- false:不支持公网', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['title' => '是否支持公网', 'description' => '是否支持公网,取值如下:'."\n" + .'- true:支持公网'."\n" + .'- false:不支持公网', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], ], [ 'name' => 'MaxEipTps', 'in' => 'query', - 'schema' => [ - 'title' => '公网网TPS流量峰值,单位:TPS', - 'description' => '公网网TPS流量峰值,单位:TPS。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '128', - 'default' => '128', - ], + 'schema' => ['title' => '公网网TPS流量峰值,单位:TPS', 'description' => '公网网TPS流量峰值,单位:TPS。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '128', 'default' => '128'], ], [ 'name' => 'QueueCapacity', 'in' => 'query', - 'schema' => [ - 'title' => '配置Queue的数量上限', - 'description' => '配置Queue的数量,单位:个。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['title' => '配置Queue的数量上限', 'description' => '配置Queue的数量,单位:个。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], ], [ 'name' => 'MaxConnections', 'in' => 'query', - 'schema' => [ - 'title' => '最大连接数', - 'description' => '最大连接数。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50000', - ], + 'schema' => ['title' => '最大连接数', 'description' => '最大连接数。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50000'], ], [ 'name' => 'StorageSize', 'in' => 'query', - 'schema' => [ - 'title' => '配置消息存储空间', - 'description' => '配置消息存储空间,单位: GB,取值如下:'."\n" - .'- 专业版实例和企业版实例:固定为0。'."\n" - ."\n" - .'> 取值为0表示专业版和企业版实例不收取存储费用,而非没有存储空间。'."\n" - ."\n" - .'- 铂金版实例:m×100,其中m的取值范围为\\[7,28\\]。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['title' => '配置消息存储空间', 'description' => '配置消息存储空间,单位: GB,取值如下:'."\n" + .'- 专业版实例和企业版实例:固定为0。'."\n" + ."\n" + .'> 取值为0表示专业版和企业版实例不收取存储费用,而非没有存储空间。'."\n" + ."\n" + .'- 铂金版实例:m×100,其中m的取值范围为\\[7,28\\]。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '7'], ], [ 'name' => 'SupportTracing', 'in' => 'query', - 'schema' => [ - 'title' => '是否开通消息轨迹功能', - 'description' => '是否开通消息轨迹功能,取值如下:'."\n" - .'- true:开通消息轨迹功能'."\n" - .'- false:不开通消息轨迹功能'."\n" - ."\n" - .'> - 铂金版实例免费提供15天消息轨迹功能,轨迹功能只能选择开启且轨迹保存时长只能设置为15天。'."\n" - .'- 其他规格类型实例可选择开启或关闭轨迹功能。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['title' => '是否开通消息轨迹功能', 'description' => '是否开通消息轨迹功能,取值如下:'."\n" + .'- true:开通消息轨迹功能'."\n" + .'- false:不开通消息轨迹功能'."\n" + ."\n" + .'> - 铂金版实例免费提供15天消息轨迹功能,轨迹功能只能选择开启且轨迹保存时长只能设置为15天。'."\n" + .'- 其他规格类型实例可选择开启或关闭轨迹功能。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], ], [ 'name' => 'TracingStorageTime', @@ -410,66 +838,38 @@ 'format' => 'int32', 'required' => false, 'example' => '3', - 'enum' => [ - '3', - '7', - '15', - ], + 'enum' => ['3', '7', '15'], ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '实例所属资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmvvajg5qkxhi', - ], + 'schema' => ['description' => '实例所属资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmvvajg5qkxhi'], ], [ 'name' => 'EncryptedInstance', 'in' => 'query', - 'schema' => [ - 'title' => '是否开通磁盘存储加密', - 'description' => '独享实例专属功能。实例是否开通数据存储加密功能。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['title' => '是否开通磁盘存储加密', 'description' => '独享实例专属功能。实例是否开通数据存储加密功能。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ 'name' => 'KmsKeyId', 'in' => 'query', - 'schema' => [ - 'title' => 'kms Key Id', - 'description' => '独享实例专属功能,当EncryptedInstance为true时需要填写此字段。 数据加密存储使用的KMS密钥ID。 对密钥有以下要求:'."\n" - ."\n" - .'- 不能是服务密钥;'."\n" - ."\n" - .'- 密钥状态必须是开启的;'."\n" - ."\n" - .'- 必须是对称密钥,不能是非对称密钥;'."\n" - ."\n" - .'- 密钥用途必须是加解密;'."\n" - ."\n" - .'- KMS密钥过期/删除后,数据读写不可用,RabbitMQ实例异常;', - 'type' => 'string', - 'required' => false, - 'example' => 'key-xxx', - ], + 'schema' => ['title' => 'kms Key Id', 'description' => '独享实例专属功能,当EncryptedInstance为true时需要填写此字段。 数据加密存储使用的KMS密钥ID。 对密钥有以下要求:'."\n" + ."\n" + .'- 不能是服务密钥;'."\n" + ."\n" + .'- 密钥状态必须是开启的;'."\n" + ."\n" + .'- 必须是对称密钥,不能是非对称密钥;'."\n" + ."\n" + .'- 密钥用途必须是加解密;'."\n" + ."\n" + .'- KMS密钥过期/删除后,数据读写不可用,RabbitMQ实例异常;', 'type' => 'string', 'required' => false, 'example' => 'key-xxx'], ], [ 'name' => 'ProvisionedCapacity', 'in' => 'query', - 'schema' => [ - 'description' => '预留+弹性实例的预留TPS容量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2000', - ], + 'schema' => ['description' => '预留+弹性实例的预留TPS容量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000'], ], [ 'name' => 'Edition', @@ -483,10 +883,7 @@ 'type' => 'string', 'required' => false, 'example' => 'shared', - 'enum' => [ - 'shared', - 'dedicated', - ], + 'enum' => ['shared', 'dedicated'], ], ], [ @@ -502,26 +899,77 @@ 'description' => '标签对象', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '资源标签健', - 'description' => '资源标签健', - 'type' => 'string', - 'required' => false, - 'example' => 'testKey', - ], - 'Value' => [ - 'title' => '资源标签值', - 'description' => '资源标签值', - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], + 'Key' => ['title' => '资源标签健', 'description' => '资源标签健', 'type' => 'string', 'required' => false, 'example' => 'testKey'], + 'Value' => ['title' => '资源标签值', 'description' => '资源标签值', 'type' => 'string', 'required' => false, 'example' => 'testValue'], ], 'required' => false, ], 'required' => false, ], ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['title' => '用户指定vpcId,用于创建PVL接入点。', 'description' => '用户指定vpcId,用于创建PVL接入点。', 'type' => 'string', 'required' => true, 'example' => 'vpc-xxx'], + ], + [ + 'name' => 'VswitchIds', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '创建实例时,用于创建privateLink接入点参数。必须为两个(除个别单可用区地域外)。', + 'description' => '创建实例时,用于创建privateLink接入点。'."\n" + ."\n" + .'1. 必须为两个,且属于不同可用区(除个别单可用区地域外);'."\n" + ."\n" + .'2. vswitch需要属于指定的VPC;'."\n" + .' '."\n" + .'3. vswitch状态需要为Available;'."\n" + ."\n" + .'4. vswitch中可用IP个数不能少于20;'."\n" + ."\n" + .'5. vswitch所属可用区必须支持创建NLB;', + 'type' => 'array', + 'items' => ['title' => '创建实例时填写的vswitchId ', 'description' => '创建实例时填写的vswitchId ', 'type' => 'string', 'required' => true, 'example' => 'vsw-xxx'], + 'required' => true, + 'maxItems' => 2, + 'minItems' => 1, + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['title' => '指定安全组,用户创建pvl接入点。不能使用托管安全组。', 'description' => '指定安全组,用于创建privatelink接入点。'."\n" + ."\n" + .'1. 访问策略增加运行入方向写协议类型为TCP,目的地端口为5672, 5671的策略;'."\n" + ."\n" + .'2. 不支持托管安全组;'."\n" + ."\n" + .'3. 安全组需要属于指定的VPC;', 'type' => 'string', 'required' => true, 'example' => 'sg-xxx'], + ], + [ + 'name' => 'ListenerMode', + 'in' => 'query', + 'schema' => [ + 'title' => '指定实例是否只开通TLS加密传输端口。此参数仅在(独享)预留+弹性、铂金实例支持。', + 'description' => '指定实例是否只开通TLS加密传输端口。此参数仅在(独享)预留+弹性、铂金实例支持。', + 'type' => 'string', + 'required' => false, + 'example' => 'tcp_and_ssl', + 'default' => 'tcp_and_ssl', + 'enum' => ['tcp_and_ssl', 'ssl_only'], + ], + ], + [ + 'name' => 'AuthModel', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => 'ram openSource'], + ], + [ + 'name' => 'ServerlessSwitch', + 'in' => 'query', + 'schema' => ['type' => 'boolean'], + ], ], 'responses' => [ 200 => [ @@ -530,306 +978,133 @@ 'description' => 'JsonResult<Object>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***', - ], - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'xxx failed,xxxx', - ], - 'Data' => [ - 'description' => '返回已创建实例的ID', - 'type' => 'any', - 'example' => 'amqp-cn-xxxxx', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'xxx failed,xxxx'], + 'Data' => ['description' => '返回已创建实例的ID', 'type' => 'any', 'example' => 'amqp-cn-xxxxx'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建实例', + 'summary' => '创建云消息队列RabbitMQ的实例。', + 'changeSet' => [ + ['createdAt' => '2025-04-27T11:46:36.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-05T07:55:24.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-25T07:26:40.000Z', 'description' => '请求参数发生变更、错误码发生变更'], + ['createdAt' => '2024-07-30T11:36:39.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-03-06T09:56:04.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-03-05T09:03:09.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-02-27T07:24:56.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-02-22T14:28:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-01-24T09:34:47.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-01-24T06:13:25.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'amqp:InstanceType', 'validationType' => 'always'], + ['conditionKey' => 'amqp:SupportEIP', 'validationType' => 'always'], + ['conditionKey' => 'amqp:ServerlessChargeType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CCBB1225-C392-480E-8C7F-D09AB2CD2***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"xxx failed,xxxx\\",\\n \\"Data\\": \\"amqp-cn-xxxxx\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateInstanceResponse>\\n <RequestId>CCBB1225-C392-480E-8C7F-D09AB2CD2***</RequestId>\\n <Code>200</Code>\\n <Message>xxx failed,xxxx</Message>\\n <Data>amqp-cn-xxxxx</Data>\\n <Success>true</Success>\\n</CreateInstanceResponse>","errorExample":""}]', - 'title' => '创建实例', ], - 'GetInstance' => [ - 'summary' => '获取云消息队列RabbitMQ的实例。', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateOpenSourceAccount' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'create', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '204415', - 'abilityTreeNodes' => [ - 'FEATUREonsSGDS5X', - ], + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => true, 'example' => 'KcUt5e5TbhkwaLyLl'], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => '创建的静态用户密码。', 'type' => 'string', 'required' => true, 'example' => '***&KcUt5e5TbhkwaLyLl'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '备注', 'type' => 'string', 'required' => false, 'example' => 'description'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,大小写敏感、不超过64个ASCII字符。', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'OpenApiResponse<InstanceVO>', - 'description' => 'OpenApiResponse<InstanceVO>', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***', - ], - 'Data' => [ - 'description' => '请求结果。', - 'type' => 'object', - 'properties' => [ - 'Tags' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '标签key', - 'description' => '标签key', - 'type' => 'string', - 'example' => '标签key', - ], - 'Value' => [ - 'title' => '标签value', - 'description' => '标签value', - 'type' => 'string', - 'example' => '标签value', - ], - ], - ], - ], - 'Status' => [ - 'description' => '实例状态。取值如下:'."\n" - ."\n" - .'- DEPLOYING:实例部署中'."\n" - ."\n" - .'- EXPIRED:实例已过期'."\n" - ."\n" - .'- SERVING:实例服务中'."\n" - ."\n" - .'- RELEASED:实例已被释放', - 'type' => 'string', - 'example' => 'SERVING', - ], - 'SupportEIP' => [ - 'description' => '是否支持EIP。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ExpireTime' => [ - 'description' => '实例过期的时间戳,单位:毫秒。'."\n" - .'> 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1651507200000', - ], - 'OrderCreateTime' => [ - 'description' => '订单创建的时间戳,单位:毫秒。'."\n" - ."\n" - .'> 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1651507200000', - ], - 'PrivateEndpoint' => [ - 'description' => '实例的VPC接入点。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'."\n", - ], - 'StorageSize' => [ - 'description' => '磁盘容量,单位:GB。'."\n" - .'> 专业版实例和企业版实例无此参数,返回**-1**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200'."\n", - ], - 'MaxEipTps' => [ - 'description' => '公网网TPS流量峰值,单位:TPS。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'InstanceId' => [ - 'description' => '消息队列RabbitMQ版实例的ID。', - 'type' => 'string', - 'example' => 'amqp-cn-*********', - ], - 'InstanceType' => [ - 'description' => '实例类型。'."\n" - ."\n" - .'- PROFESSIONAL:专业版'."\n" - ."\n" - .'- ENTERPRISE:企业版'."\n" - ."\n" - .'- VIP:铂金版'."\n" - ."\n" - .'- SERVERLESS:Serverless版', - 'type' => 'string', - 'example' => 'enterprise', - ], - 'PublicEndpoint' => [ - 'description' => '实例的公网接入点。', - 'type' => 'string', - 'example' => 'xxx.cn-hangzhou.xxx.net.mq.amqp.aliyuncs.com', - ], - 'ClassicEndpoint' => [ - 'description' => '经典接入点,该参数不再使用。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****.not-support'."\n", - ], - 'MaxVhost' => [ - 'description' => '实例的Vhost的数量上限,单位:个。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50'."\n", - ], - 'MaxTps' => [ - 'description' => '实例的私网TPS流量峰值,单位:条/秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'AutoRenewInstance' => [ - 'description' => '是否自动续费实例。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceName' => [ - 'description' => '需更新的实例名称。取值无限制,建议长度不超过64个字符。', - 'type' => 'string', - 'example' => 'yunQi-instance', - ], - 'MaxQueue' => [ - 'description' => '实例的Queue的数量上限,单位:个。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'OrderType' => [ - 'description' => '订单类型。'."\n" - .'- PRE_PAID:预付费。'."\n" - .'- POST_PAID:后付费。', - 'type' => 'string', - 'example' => 'PRE_PAID', - ], - 'TracingStorageTime' => [ - 'description' => '配置消息轨迹的保存时长,单位:天,取值如下:'."\n" - .'- 3:3天'."\n" - .'- 7:7天'."\n" - .'- 15:15天'."\n" - ."\n" - .'当SupportTracing为true时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'SupportTracing' => [ - 'description' => '是否开通消息轨迹功能', - 'type' => 'boolean', - 'example' => 'True', - ], - 'MaxConnections' => [ - 'description' => '最大连接数。'."\n" - ."\n" - .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1500', - ], - 'ResourceGroupId' => [ - 'description' => '应用所属资源组ID', - 'type' => 'string', - 'example' => 'rg-acfm2vn6jkayvfy', - ], - 'EncryptedInstance' => [ - 'description' => '实例数据存储是否开启存储加密', - 'type' => 'boolean', - 'example' => 'true', - ], - 'KmsKeyId' => [ - 'description' => '云盘对应的KMS密钥ID。', - 'type' => 'string', - 'example' => 'key-hzz6566e86byam3lg5rw4', - ], - 'ProvisionedCapacity' => [ - 'description' => '预留+弹性实例的预留TPS容量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'Edition' => [ - 'description' => 'Serverless实例部署架构,取值如下:'."\n" - ."\n" - .'- shared: 共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" - ."\n" - .'- dedicated:独享架构,适用预留+弹性(独享)版本。', - 'type' => 'string', - 'example' => 'shared', - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], ], ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\",\\n \\"Data\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"标签key\\",\\n \\"Value\\": \\"标签value\\"\\n }\\n ],\\n \\"Status\\": \\"SERVING\\",\\n \\"SupportEIP\\": true,\\n \\"ExpireTime\\": 1651507200000,\\n \\"OrderCreateTime\\": 1651507200000,\\n \\"PrivateEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\\\n\\",\\n \\"StorageSize\\": 200,\\n \\"MaxEipTps\\": 1000,\\n \\"InstanceId\\": \\"amqp-cn-*********\\",\\n \\"InstanceType\\": \\"enterprise\\",\\n \\"PublicEndpoint\\": \\"xxx.cn-hangzhou.xxx.net.mq.amqp.aliyuncs.com\\",\\n \\"ClassicEndpoint\\": \\"amqp-cn-st21x7kv****.not-support\\\\n\\",\\n \\"MaxVhost\\": 50,\\n \\"MaxTps\\": 1000,\\n \\"AutoRenewInstance\\": false,\\n \\"InstanceName\\": \\"yunQi-instance\\",\\n \\"MaxQueue\\": 1000,\\n \\"OrderType\\": \\"PRE_PAID\\",\\n \\"TracingStorageTime\\": 15,\\n \\"SupportTracing\\": true,\\n \\"MaxConnections\\": 1500,\\n \\"ResourceGroupId\\": \\"rg-acfm2vn6jkayvfy\\",\\n \\"EncryptedInstance\\": true,\\n \\"KmsKeyId\\": \\"key-hzz6566e86byam3lg5rw4\\",\\n \\"ProvisionedCapacity\\": 2000,\\n \\"Edition\\": \\"shared\\"\\n }\\n}","type":"json"}]', - 'title' => '查询实例信息', - ], - 'UpdateInstance' => [ - 'summary' => '更新云消息队列RabbitMQ的实例,升降配规格。', - 'methods' => [ - 'post', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建开源用户名密码', + 'summary' => '创建开源用户名密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\"\\n}","type":"json"}]', + ], + 'CreateOpenSourcePermission' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -838,266 +1113,318 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '213154', - 'abilityTreeNodes' => [ - 'FEATUREonsQ3252I', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ - 'name' => 'ClientToken', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'title' => '客户端Token', - 'description' => '客户端Token。', - 'type' => 'string', - 'required' => false, - 'example' => 'c2c5d1274axxxxxxxx', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'InstanceId', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'title' => '变配的实例 id,必填', - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'amqp-cn-jtexxxxx', - 'enum' => [], - ], + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => false, 'example' => 'myName'], ], [ - 'name' => 'ModifyType', + 'name' => 'Vhost', 'in' => 'query', - 'schema' => [ - 'title' => '变配类型:'."\n" - .'- UPGRADE:升配'."\n" - .'- DOWNGRADE:降配', - 'description' => '变配类型,取值如下:'."\n" - .'- UPGRADE:升配'."\n" - .'- DOWNGRADE:降配', - 'type' => 'string', - 'required' => true, - 'example' => 'UPGRADE', - 'enum' => [ - 'UPGRADE', - 'DOWNGRADE', - ], - ], + 'schema' => ['description' => 'vhost 名称', 'type' => 'string', 'required' => false, 'example' => 'vhostName'], ], [ - 'name' => 'InstanceType', + 'name' => 'Configure', 'in' => 'query', - 'schema' => [ - 'title' => '实例规格类型', - 'description' => '实例规格类型, 预付费类型的取值如下:'."\n" - .'- professional:专业版'."\n" - .'- enterprise:企业版'."\n" - .'- vip:铂金版'."\n" - ."\n" - .'后付费实例:无需填写', - 'type' => 'string', - 'required' => false, - 'example' => 'professional', - 'enum' => [ - 'professional', - 'enterprise', - 'vip', - 'serverless', - 'provisioned', - ], - ], + 'schema' => ['description' => '配置权限正则表达式', 'type' => 'string', 'required' => false, 'example' => '^$'], ], [ - 'name' => 'ServerlessChargeType', + 'name' => 'Write', 'in' => 'query', - 'schema' => [ - 'description' => '后付费(即 Serverless)实例的计费类型,取值如下:'."\n" - .'- onDemand:按量累计', - 'type' => 'string', - 'required' => false, - 'example' => 'onDemand', - 'enum' => [ - 'onDemand', - 'provisioned', - ], - ], + 'schema' => ['description' => '写权限正则', 'type' => 'string', 'required' => false, 'example' => 'order_exchange'], ], [ - 'name' => 'MaxPrivateTps', + 'name' => 'Read', 'in' => 'query', - 'schema' => [ - 'title' => '私网TPS流量,单位:次/秒', - 'description' => '私网TPS流量,单位:次/秒', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => '读权限正则', 'type' => 'string', 'required' => false, 'example' => '^$'], ], [ - 'name' => 'SupportEip', + 'name' => 'ClientToken', 'in' => 'query', + 'schema' => ['description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见如何保证幂等性。', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否支持公网', - 'description' => '是否支持公网', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求 ID', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'True'], + ], ], ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], [ - 'name' => 'MaxEipTps', - 'in' => 'query', - 'schema' => [ - 'title' => '公网网TPS流量峰值,单位:TPS', - 'description' => '公网 TPS 流量峰值,单位:次/秒', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '128', - 'default' => '128', - ], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建开源权限', + 'summary' => '创建开源权限', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8BFB1C9D-08A2-4859-A47C-403C9EFA2***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'CreateQueue' => [ + 'summary' => 'Queue是指消息队列,云消息队列 RabbitMQ 版的消息都会被发送至指定的Exchange,再由Exchange路由至绑定的Queue中。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'QueueCapacity', - 'in' => 'query', - 'schema' => [ - 'title' => '配置Queue的数量上限', - 'description' => '配置Queue的数量上限', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsUKJAUW'], + ], + 'parameters' => [ [ - 'name' => 'MaxConnections', - 'in' => 'query', - 'schema' => [ - 'title' => '最大连接数', - 'description' => '最大连接数', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '待创建Queue所属的云消息队列 RabbitMQ 版实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'StorageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '配置消息存储空间', - 'description' => '配置消息存储空间', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => '待创建Queue所属的Vhost名称。'."\n" + .'只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),⻓度限制1~255字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'SupportTracing', - 'in' => 'query', + 'name' => 'QueueName', + 'in' => 'formData', + 'schema' => ['description' => '待创建的Queue的名称。'."\n" + ."\n" + .'- Queue名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),长度限制1~255字符。'."\n" + ."\n" + .'- Queue创建后,名称无法修改,只能删除后重建。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue'], + ], + [ + 'name' => 'AutoDeleteState', + 'in' => 'formData', + 'schema' => ['description' => '是否自动删除。取值:'."\n" + ."\n" + .'- true:是。如果订阅该Queue的最后一个消费端取消订阅后,那么该Queue将会自动删除。'."\n" + .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'ExclusiveState', + 'in' => 'formData', + 'schema' => ['description' => '是否为排他性Exchange。取值:'."\n" + ."\n" + .'- true:是。只能被声明该排他性Exchange的Connection使用。该Connection断开后该排他性Exchange自动删除。'."\n" + .'- false:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'MessageTTL', + 'in' => 'formData', + 'schema' => ['description' => '消息在Queue中的有效期。'."\n" + ."\n" + .'- 某条消息在Queue中的留存时间超过配置的消息存活时间时,则该消息过期。'."\n" + ."\n" + .'- 消息存活时间的值必须为非负整型数,最大为1天。单位为毫秒。例如,某条消息的存活时间的值是1000,则代表该消息最多会在Queue中存活1秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'AutoExpireState', + 'in' => 'formData', + 'schema' => ['description' => 'Queue的自动过期时间。如果Queue在指定时间内没有被访问,则会被自动删除。'."\n" + ."\n" + .'单位为毫秒。'."\n" + .'> 该参数对应的功能需要开通后才能使用。如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[提交工单](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>开通。'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000'], + ], + [ + 'name' => 'MaxLength', + 'in' => 'formData', + 'schema' => ['description' => '当前版本不支持该参数。'."\n" + ."\n" + .'Queue中消息的最大数量。如果超出该数量,则先到达该Queue的消息将会被删除。'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1000'], + ], + [ + 'name' => 'DeadLetterExchange', + 'in' => 'formData', + 'schema' => ['description' => '死信Exchange。该类Exchange是用来接收被拒绝的消息。'."\n" + ."\n" + .'如果消费端拒绝一个不重新发送的消息,那么消息队列RabbitMQ版将会把消息路由到指定的死信Exchange,该Exchange再将消息路由到绑定的Queue进行存储。', 'type' => 'string', 'required' => false, 'example' => 'DLExchange'], + ], + [ + 'name' => 'DeadLetterRoutingKey', + 'in' => 'formData', + 'schema' => ['description' => '死信Routing Key。'."\n" + .'只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),⻓度限制1~255字符。', 'type' => 'string', 'required' => false, 'example' => 'test.dl'], + ], + [ + 'name' => 'MaximumPriority', + 'in' => 'formData', + 'schema' => ['description' => '队列优先级,推荐取值范围(1~10)。'."\n" + .'> 该参数为消息优先级对应参数,仅独享实例支持,开通消息优先级功能后才能使用。如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[提交工单](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>开通。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否开通消息轨迹功能', - 'description' => '是否开通消息轨迹功能', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '59B52E2C-0B8E-44EC-A314-D0314A50***'], + ], + 'description' => '', ], ], + ], + 'title' => '创建Queue', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:26.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateQueue'], + ], + ], + 'ramActions' => [ [ - 'name' => 'TracingStorageTime', - 'in' => 'query', - 'schema' => [ - 'title' => '配置消息轨迹的保存时长', - 'description' => '配置消息轨迹的保存时长', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - 'enum' => [ - '3', - '7', - '15', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/*'], ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"59B52E2C-0B8E-44EC-A314-D0314A50***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateQueueResponse>\\n <RequestId>59B52E2C-0B8E-44EC-A314-D0314A50***</RequestId>\\n</CreateQueueResponse>","errorExample":""}]', + ], + 'CreateVirtualHost' => [ + 'summary' => 'Vhost是指虚拟主机,用作逻辑隔离,分别管理各自的Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。Producer和Consumer连接云消息队列 RabbitMQ 版需要指定一个Vhost。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EncryptedInstance', - 'in' => 'query', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSCH7G8'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9n***'], + ], + [ + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => '待创建Vhost的名称。取值说明如下:'."\n" + ."\n" + .'- Vhost名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .'- Vhost名称长度限制1~255字符。'."\n" + ."\n" + .'- Vhost创建后,Vhost名称不可修改,只能删除重建。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Demo'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否开通磁盘存储加密', - 'description' => '独享实例专属功能。实例是否开通数据存储加密功能。'."\n" - ."\n" - .'- 独享实例EncryptedInstance、KmsKeyId属性不能更改(包括变配成非加密;降级成共享加密;降级成共享非加密);即独享实例使用UpdateInstance升/降级配置时,不允许携带EncryptedInstance、KmsKeyId参数;'."\n" - ."\n" - .'- EncryptedInstance的EncryptedInstance、KmsKeyId参数,运用场景是,共享实例升级成加密独享实例。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '628705FD-03EE-4ABE-BB21-E1672960***'], + ], + 'description' => '', ], ], + ], + 'title' => '创建Vhost', + 'changeSet' => [ + ['createdAt' => '2022-11-15T03:05:30.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVirtualHost'], + ], + ], + 'ramActions' => [ [ - 'name' => 'KmsKeyId', - 'in' => 'query', - 'schema' => [ - 'title' => 'kms Key Id', - 'description' => '独享实例专属功能,当EncryptedInstance为true时需要填写此字段。'."\n" - .'数据加密存储使用的KMS密钥ID。'."\n" - .'对密钥有以下要求:'."\n" - ."\n" - .'- KMS密钥实例须要与RabbitMQ实例在同一个地域;'."\n" - ."\n" - .'- 不能是服务密钥;'."\n" - ."\n" - .'- 密钥状态必须是开启的;'."\n" - ."\n" - .'- 必须是对称密钥,不能是非对称密钥;'."\n" - ."\n" - .'- 密钥用途必须是加解密;'."\n" - ."\n" - .'- KMS密钥过期/删除后,数据读写不可用,RabbitMQ实例异常;', - 'type' => 'string', - 'required' => false, - 'example' => 'key-bjj66c2a893vmhawtq5fd', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'VirtualHost', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"628705FD-03EE-4ABE-BB21-E1672960***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateVirtualHostResponse>\\n <RequestId>628705FD-03EE-4ABE-BB21-E1672960***</RequestId>\\n</CreateVirtualHostResponse>","errorExample":""}]', + ], + 'DeleteAccount' => [ + 'summary' => '删除用户名密码。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ProvisionedCapacity', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '160959', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '预留+弹性实例的预留TPS容量。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2000', - ], + 'schema' => ['description' => '待删除的静态用户名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8='], ], [ - 'name' => 'Edition', + 'name' => 'CreateTimestamp', 'in' => 'query', - 'schema' => [ - 'description' => 'Serverless实例部署架构,取值如下:'."\n" - ."\n" - .'- shared:共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" - ."\n" - .'- dedicated:独享架构,适用预留+弹性(独享)版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'shared', - 'enum' => [ - 'shared', - 'dedicated', - ], - ], + 'schema' => ['description' => '待删除的静态用户名密码的创建时间戳。单位:毫秒。'."\n" + ."\n" + .'您可以调用[ListAccounts](~~472730~~)接口查看。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'example' => '1671175303522'], ], ], 'responses' => [ @@ -1107,120 +1434,95 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '628705FD-03EE-4ABE-BB21-E1672960***', - ], - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'InstanceNotExist', - ], - 'Data' => [ - 'description' => '返回数据,涵盖 orderId 和 instanceId。例如'."\n" - ."\n" - .'``` json'."\n" - .'"Data": {'."\n" - .' "instanceId": "amqp-cn-xxxxx",'."\n" - .' "orderId": 22222'."\n" - .' }'."\n" - .'```', - 'type' => 'any', - 'example' => '{\'instanceId\': \'rabbitmq-serverless-cn-lf63qsjlf06\', \'orderId\': 234170302080010}', - ], - 'Success' => [ - 'description' => '请求是否成功。', - 'type' => 'string', - 'example' => 'true', - ], - 'StatusCode' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => '200', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A1******'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'Data' => ['description' => '返回数据。', 'type' => 'boolean', 'example' => 'true'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'INSUFFICIENT_AVAILABLE_QUOTA', - 'errorMessage' => 'Your account available limit is less than 0, please recharge before trying to purchase.', - ], - [ - 'errorCode' => 'UpDowngradeConfigNoChange', - 'errorMessage' => 'The upgrade or downgrade configuration is not changed.', - ], + 'title' => '删除用户名密码', + 'changeSet' => [ + ['createdAt' => '2025-04-27T11:46:36.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAccount'], ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'The request has failed due to unauthorized operation.', + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:DeleteStaticAccount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"628705FD-03EE-4ABE-BB21-E1672960***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"InstanceNotExist\\",\\n \\"Data\\": \\"{\'instanceId\': \'rabbitmq-serverless-cn-lf63qsjlf06\', \'orderId\': 234170302080010}\\",\\n \\"Success\\": \\"true\\",\\n \\"StatusCode\\": \\"200\\"\\n}","type":"json"}]', - 'title' => '更新实例', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A1******\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": true,\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccountResponse>\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A1******</RequestId>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n <Data>true</Data>\\n <Success>true</Success>\\n</DeleteAccountResponse>","errorExample":""}]', ], - 'UpdateInstanceName' => [ - 'summary' => '云消息队列 RabbitMQ 版实例后,实例名称默认为实例ID,您可以自定义修改实例名称,方便区分实例。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteBinding' => [ + 'summary' => '调用DeleteBinding解除源Exchange与目标Queue或者其他Exchange的绑定关系。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsSGDS5X', - ], + 'abilityTreeCode' => '58726', + 'abilityTreeNodes' => ['FEATUREons5ZTT5D'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '需修改名称的云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-zvp2ajsj****', - ], + 'in' => 'formData', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'InstanceName', - 'in' => 'query', - 'schema' => [ - 'description' => '需更新的实例名称。取值无限制,建议长度不超过64个字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp_test', - ], + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'SourceExchange', + 'in' => 'formData', + 'schema' => ['description' => '源Exchange名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NormalEX'], + ], + [ + 'name' => 'DestinationName', + 'in' => 'formData', + 'schema' => ['description' => '解绑目标对象的名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue'], + ], + [ + 'name' => 'BindingType', + 'in' => 'formData', + 'schema' => ['description' => '解绑目标对象的类型。取值:'."\n" + ."\n" + .'- **QUEUE**'."\n" + ."\n" + .'- **EXCHANGE**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QUEUE'], + ], + [ + 'name' => 'BindingKey', + 'in' => 'formData', + 'schema' => ['description' => '绑定键。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '.test.', 'default' => ''], ], ], 'responses' => [ @@ -1228,432 +1530,253 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '当执行报错时,返回此参数,提示错误信息。', - 'type' => 'string', - 'example' => 'InstanceNotExist', - ], - 'Data' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****', - ], - 'Success' => [ - 'description' => '执行成功的返回信息。'."\n" - ."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', + 'title' => '删除绑定', + 'changeSet' => [ + ['createdAt' => '2025-01-21T08:19:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-13T03:50:52.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-12T11:11:52.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-26T12:15:43.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBinding'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:GetExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#VirtualHostName}/queues/*'], + ], ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', + 'additionalActions' => [ + ['action' => 'amqp:CreateExchange', 'validationType' => 'conditional'], + ['action' => 'amqp:CreateQueue'], + ['action' => 'amqp:GetVhost'], ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A6***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBindingResponse>\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A19A6***</RequestId>\\n</DeleteBindingResponse>","errorExample":""}]', + ], + 'DeleteExchange' => [ + 'summary' => '调用DeleteExchange删除Exchange。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"InstanceNotExist\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"6DC68EC9-0E76-5435-B8C0-FF9492B4****\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateInstanceNameResponse>\\n <RequestId>6DC68EC9-0E76-5435-B8C0-FF9492B4****</RequestId>\\n <Data>true</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateInstanceNameResponse>","errorExample":""}]', - 'title' => '更新实例名称', + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsUA0VH5'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '待删除Exchange所属的云消息队列 RabbitMQ 版实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], + ], + [ + 'name' => 'VirtualHost', + 'in' => 'formData', + 'schema' => ['description' => '待删除Exchange所属的Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'ExchangeName', + 'in' => 'formData', + 'schema' => ['description' => '待删除的Exchange的名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoExchange'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6961FFB8-6358-4EDC-9E3C-4A0C56CE6***'], + ], + 'description' => '', + ], + ], + ], + 'title' => '删除Exchange', + 'description' => '## 使用说明'."\n" + .'- **headers**类型的Exchange不支持删除。'."\n" + ."\n" + .'- Vhost下的3个内置Exchange(amq.direct、amq.topic和amq.fanout)不支持删除。'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetMetadataAmount' => [ - 'summary' => '查看指定云消息队列 RabbitMQ 版实例下可创建的Vhost、Exchange、Queue的最大数量以及当前已创建的数量。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:26.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteExchange'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:DeleteExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/{#exchangeName}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6961FFB8-6358-4EDC-9E3C-4A0C56CE6***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteExchangeResponse>\\r\\n <RequestId>6961FFB8-6358-4EDC-9E3C-4A0C56CE6***</RequestId>\\r\\n</DeleteExchangeResponse>","errorExample":""}]', + ], + 'DeleteOpenSourceAccount' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'amqp-cn-v0h1kb9n***', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9n***'], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => false, 'example' => 'KcUt5e5TbhkwaLyLl'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'B75ACF23-2BEB-44AC-A0B6-AE14EDCA***', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'MaxVirtualHosts' => [ - 'description' => '可创建的Vhost的最大数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'CurrentVirtualHosts' => [ - 'description' => '已创建的Vhost的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxQueues' => [ - 'description' => '可创建的Queue的最大数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentExchanges' => [ - 'description' => '已创建的Exchange的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'MaxExchanges' => [ - 'description' => '可创建的Exchange的最大数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'CurrentQueues' => [ - 'description' => '已创建的Queue的数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '035F5EEF-730F-5579-86E3-F1B394A5CBB6'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'string', 'example' => 'true'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B75ACF23-2BEB-44AC-A0B6-AE14EDCA***\\",\\n \\"Data\\": {\\n \\"MaxVirtualHosts\\": 10,\\n \\"CurrentVirtualHosts\\": 1,\\n \\"MaxQueues\\": 20,\\n \\"CurrentExchanges\\": 7,\\n \\"MaxExchanges\\": 20,\\n \\"CurrentQueues\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMetadataAmountResponse>\\n <RequestId>B75ACF23-2BEB-44AC-A0B6-AE14EDCA***</RequestId>\\n <Data>\\n <MaxExchanges>20</MaxExchanges>\\n <MaxVirtualHosts>10</MaxVirtualHosts>\\n <CurrentExchanges>7</CurrentExchanges>\\n <MaxQueues>20</MaxQueues>\\n <CurrentVirtualHosts>1</CurrentVirtualHosts>\\n <CurrentQueues>1</CurrentQueues>\\n </Data>\\n</GetMetadataAmountResponse>","errorExample":""}]', - 'title' => '获取实例的元数据', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListInstances' => [ - 'summary' => '查询指定地域下的云消息队列 RabbitMQ 版实例列表以及各实例的基本信息,包括实例接入点、实例规格上限等信息。', - 'methods' => [ - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除开源用户名密码', + 'summary' => '删除开源用户名密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"035F5EEF-730F-5579-86E3-F1B394A5CBB6\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\"\\n}","type":"json"}]', + ], + 'DeleteOpenSourcePermission' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '58735', - 'abilityTreeNodes' => [ - 'FEATUREonsQ3252I', - ], + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ - 'name' => 'NextToken', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'MaxResults', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。建议取值在1~100之间。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => true, 'example' => 'myName'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Vhost', 'in' => 'query', - 'schema' => [ - 'description' => '实例所属资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzu74zjgdu4mq', - ], + 'schema' => ['description' => 'vhost 名称', 'type' => 'string', 'required' => true, 'example' => 'production'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***', - ], - 'Data' => [ - 'description' => '数据。', - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Instances' => [ - 'description' => '实例。', - 'type' => 'array', - 'items' => [ - 'description' => '实例。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '实例状态。取值如下:'."\n" - ."\n" - .'- DEPLOYING:实例部署中'."\n" - ."\n" - .'- EXPIRED:实例已过期'."\n" - ."\n" - .'- SERVING:实例服务中'."\n" - ."\n" - .'- RELEASED:实例已被释放', - 'type' => 'string', - 'example' => 'SERVING', - ], - 'SupportEIP' => [ - 'description' => '是否支持EIP。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ExpireTime' => [ - 'description' => '实例过期的时间戳,单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1651507200000', - ], - 'OrderCreateTime' => [ - 'description' => '订单创建的时间戳,单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1572441939000', - ], - 'PrivateEndpoint' => [ - 'description' => '实例的VPC接入点。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com', - ], - 'StorageSize' => [ - 'description' => '磁盘容量,单位:GB。'."\n" - .'> 专业版实例和企业版实例无此参数,返回**-1**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'MaxEipTps' => [ - 'description' => '实例的公网TPS流量峰值,单位:条/秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '24832', - ], - 'InstanceId' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****', - ], - 'InstanceType' => [ - 'description' => '实例类型。'."\n" - ."\n" - .'- PROFESSIONAL:专业版'."\n" - ."\n" - .'- ENTERPRISE:企业版'."\n" - ."\n" - .'- VIP:铂金版'."\n" - ."\n" - .'<props="china">- SERVERLESS:Serverless版</props>', - 'type' => 'string', - 'example' => 'professional', - ], - 'PublicEndpoint' => [ - 'description' => '实例的公网接入点。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com', - ], - 'ClassicEndpoint' => [ - 'description' => '经典接入点,该参数不再使用。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****.not-support', - ], - 'MaxVhost' => [ - 'description' => '实例的Vhost的数量上限,单位:个。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'MaxTps' => [ - 'description' => '实例的私网TPS流量峰值,单位:条/秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5000', - ], - 'AutoRenewInstance' => [ - 'description' => '是否自动更新实例。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceName' => [ - 'description' => '实例名称。', - 'type' => 'string', - 'example' => 'amqp-cn-st21x7kv****', - ], - 'MaxQueue' => [ - 'description' => '实例的Queue的数量上限,单位:个。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'OrderType' => [ - 'description' => '订单类型。'."\n" - .'- PRE_PAID:预付费。'."\n" - .'- POST_PAID:后付费。', - 'type' => 'string', - 'example' => 'PRE_PAID', - ], - 'Tags' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'region', - ], - 'Value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'hangzhou', - ], - ], - ], - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aek3axfj2w4czrq', - ], - 'EncryptedInstance' => [ - 'description' => '实例数据存储是否开启存储加密', - 'type' => 'boolean', - 'example' => 'false', - ], - 'KmsKeyId' => [ - 'description' => '后端存储使用数据盘对应的KMS密钥ID。', - 'type' => 'string', - 'example' => 'key-bjj66c2a893vmhawtq5fd', - ], - 'ProvisionedCapacity' => [ - 'description' => '预留+弹性实例的预留TPS容量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'Edition' => [ - 'description' => 'Serverless实例部署架构,取值如下:'."\n" - ."\n" - .'- shared:共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" - ."\n" - .'- dedicated:独享架构,适用预留+弹性(独享)版本。', - 'type' => 'string', - 'example' => 'shared', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求 ID', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CCBB1225-C392-480E-8C7F-D09AB2CD2***\\",\\n \\"Data\\": {\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"MaxResults\\": 1,\\n \\"Instances\\": [\\n {\\n \\"Status\\": \\"SERVING\\",\\n \\"SupportEIP\\": true,\\n \\"ExpireTime\\": 1651507200000,\\n \\"OrderCreateTime\\": 1572441939000,\\n \\"PrivateEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\",\\n \\"StorageSize\\": 200,\\n \\"MaxEipTps\\": 24832,\\n \\"InstanceId\\": \\"amqp-cn-st21x7kv****\\",\\n \\"InstanceType\\": \\"professional\\",\\n \\"PublicEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\",\\n \\"ClassicEndpoint\\": \\"amqp-cn-st21x7kv****.not-support\\",\\n \\"MaxVhost\\": 50,\\n \\"MaxTps\\": 5000,\\n \\"AutoRenewInstance\\": false,\\n \\"InstanceName\\": \\"amqp-cn-st21x7kv****\\",\\n \\"MaxQueue\\": 50,\\n \\"OrderType\\": \\"PRE_PAID\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"region\\",\\n \\"Value\\": \\"hangzhou\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-aek3axfj2w4czrq\\",\\n \\"EncryptedInstance\\": false,\\n \\"KmsKeyId\\": \\"key-bjj66c2a893vmhawtq5fd\\",\\n \\"ProvisionedCapacity\\": 2000,\\n \\"Edition\\": \\"shared\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInstancesResponse>\\r\\n <RequestId>CCBB1225-C392-480E-8C7F-D09AB2CD2***</RequestId>\\r\\n <Data>\\r\\n <Instances>\\r\\n <Status>SERVING</Status>\\r\\n <MaxTps>5000</MaxTps>\\r\\n <MaxEipTps>24832</MaxEipTps>\\r\\n <ClassicEndpoint>amqp-cn-st21x7kv****.not-support</ClassicEndpoint>\\r\\n <InstanceId>amqp-cn-st21x7kv****</InstanceId>\\r\\n <MaxQueue>50</MaxQueue>\\r\\n <SupportEIP>true</SupportEIP>\\r\\n <StorageSize>200</StorageSize>\\r\\n <InstanceName>amqp-cn-st21x7kv****</InstanceName>\\r\\n <OrderType>PRE_PAID</OrderType>\\r\\n <OrderCreateTime>1572441939000</OrderCreateTime>\\r\\n <MaxVhost>50</MaxVhost>\\r\\n <PublicEndpoint>amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com</PublicEndpoint>\\r\\n <InstanceType>professional</InstanceType>\\r\\n <ExpireTime>1651507200000</ExpireTime>\\r\\n <AutoRenewInstance>false</AutoRenewInstance>\\r\\n <PrivateEndpoint>amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com</PrivateEndpoint>\\r\\n </Instances>\\r\\n <NextToken></NextToken>\\r\\n <MaxResults>1</MaxResults>\\r\\n </Data>\\r\\n</ListInstancesResponse>","errorExample":""}]', - 'title' => '查询实例列表', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateVirtualHost' => [ - 'summary' => 'Vhost是指虚拟主机,用作逻辑隔离,分别管理各自的Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。Producer和Consumer连接云消息队列 RabbitMQ 版需要指定一个Vhost。', - 'methods' => [ - 'post', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除开源权限', + 'summary' => '删除开源权限', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\"\\n}","type":"json"}]', + ], + 'DeleteQueue' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1662,41 +1785,26 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsSCH7G8', - ], + 'abilityTreeNodes' => ['FEATUREonsUKJAUW'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9n***', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***'], + ], + [ + 'name' => 'QueueName', + 'in' => 'formData', + 'schema' => ['description' => 'Queue名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue'], ], [ 'name' => 'VirtualHost', 'in' => 'formData', - 'schema' => [ - 'description' => '待创建Vhost的名称。取值说明如下:'."\n" - ."\n" - .'- Vhost名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .'- Vhost名称长度限制1~255字符。'."\n" - ."\n" - .'- Vhost创建后,Vhost名称不可修改,只能删除重建。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Demo', - ], + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test'], ], ], 'responses' => [ @@ -1704,27 +1812,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '628705FD-03EE-4ABE-BB21-E1672960***', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"628705FD-03EE-4ABE-BB21-E1672960***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateVirtualHostResponse>\\n <RequestId>628705FD-03EE-4ABE-BB21-E1672960***</RequestId>\\n</CreateVirtualHostResponse>","errorExample":""}]', - 'title' => '创建Vhost', - ], - 'DeleteVirtualHost' => [ - 'summary' => '调用DeleteVirtualHost删除Vhost。', - 'methods' => [ - 'post', + 'title' => '删除 Queue', + 'summary' => '删除Queue。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteQueue'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:DeleteQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/{#queueName}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteQueueResponse>\\n <RequestId>92385FD2-624A-48C9-8FB5-753F2AFA***</RequestId>\\n</DeleteQueueResponse>","errorExample":""}]', + ], + 'DeleteVirtualHost' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1736,32 +1860,18 @@ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsSCH7G8', - ], + 'abilityTreeNodes' => ['FEATUREonsSCH7G8'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '待删除的Vhost所属的云消息队列 RabbitMQ 版实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], + 'schema' => ['description' => '待删除的Vhost所属的云消息队列 RabbitMQ 版实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ 'name' => 'VirtualHost', 'in' => 'formData', - 'schema' => [ - 'description' => '待删除Vhost的名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => '待删除Vhost的名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], ], 'responses' => [ @@ -1769,12 +1879,9 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4311050D-BD63-48F9-822B-947A75A1***', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4311050D-BD63-48F9-822B-947A75A1***'], ], + 'description' => '', ], ], ], @@ -1782,22 +1889,43 @@ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4311050D-BD63-48F9-822B-947A75A1***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVirtualHostResponse>\\r\\n <RequestId>4311050D-BD63-48F9-822B-947A75A1***</RequestId>\\r\\n</DeleteVirtualHostResponse>","errorExample":""}]', 'title' => '删除Vhost', + 'summary' => '调用DeleteVirtualHost删除Vhost。', 'description' => '删除Vhost前,请确保已删除该Vhost下的所有Exchange和Queue。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListVirtualHosts' => [ - 'summary' => '查询指定云消息队列 RabbitMQ 版实例下所有的Vhost。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVirtualHost'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:DeleteVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], + ['action' => 'amqp:GetInstance'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4311050D-BD63-48F9-822B-947A75A1***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVirtualHostResponse>\\r\\n <RequestId>4311050D-BD63-48F9-822B-947A75A1***</RequestId>\\r\\n</DeleteVirtualHostResponse>","errorExample":""}]', + ], + 'GetInstance' => [ + 'summary' => '获取云消息队列RabbitMQ的实例。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1806,281 +1934,364 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsSCH7G8', - ], + 'abilityTreeCode' => '204415', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1880770869023***', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - ], - [ - 'name' => 'MaxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。取值:'."\n" - .'**1~100**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '2', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'OpenApiResponse<InstanceVO>', + 'description' => 'OpenApiResponse<InstanceVO>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'EF4DB019-DA4A-4CE3-B220-223BBC93F***', - ], + 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'], 'Data' => [ - 'description' => '返回数据。', + 'description' => '请求结果。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'VirtualHosts' => [ - 'description' => 'Vhost列表。', + 'Tags' => [ + 'description' => '标签列表。', 'type' => 'array', 'items' => [ + 'description' => '标签信息。', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'example' => 'test', - ], + 'Key' => ['title' => '标签key', 'description' => '标签key', 'type' => 'string', 'example' => 'Tag key'], + 'Value' => ['title' => '标签value', 'description' => '标签value', 'type' => 'string', 'example' => 'Tag value'], ], ], ], + 'Status' => ['description' => '实例状态。取值如下:'."\n" + ."\n" + .'- DEPLOYING:实例部署中'."\n" + ."\n" + .'- EXPIRED:实例已过期'."\n" + ."\n" + .'- SERVING:实例服务中'."\n" + ."\n" + .'- RELEASED:实例已被释放', 'type' => 'string', 'example' => 'SERVING'], + 'SupportEIP' => ['description' => '是否支持EIP。', 'type' => 'boolean', 'example' => 'true'], + 'ExpireTime' => ['description' => '实例过期的时间戳,单位:毫秒。'."\n" + .'> 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000'], + 'OrderCreateTime' => ['description' => '订单创建的时间戳,单位:毫秒。'."\n" + ."\n" + .'> 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000'], + 'PrivateEndpoint' => ['description' => '实例的VPC接入点。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'."\n"], + 'StorageSize' => ['description' => '磁盘容量,单位:GB。'."\n" + .'> 专业版实例和企业版实例无此参数,返回**-1**。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'."\n"], + 'MaxEipTps' => ['description' => '公网网TPS流量峰值,单位:TPS。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'InstanceId' => ['description' => '消息队列RabbitMQ版实例的ID。', 'type' => 'string', 'example' => 'amqp-cn-*********'], + 'InstanceType' => ['description' => '实例类型。'."\n" + ."\n" + .'- PROFESSIONAL:专业版'."\n" + ."\n" + .'- ENTERPRISE:企业版'."\n" + ."\n" + .'- VIP:铂金版'."\n" + ."\n" + .'- SERVERLESS:Serverless版', 'type' => 'string', 'example' => 'enterprise'], + 'PublicEndpoint' => ['description' => '实例的公网接入点。', 'type' => 'string', 'example' => 'xxx.cn-hangzhou.xxx.net.mq.amqp.aliyuncs.com'], + 'ClassicEndpoint' => ['description' => '经典接入点,该参数不再使用。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.not-support'."\n"], + 'MaxVhost' => ['description' => '实例的Vhost的数量上限,单位:个。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'."\n"], + 'MaxTps' => ['description' => '实例的私网TPS流量峰值,单位:条/秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'AutoRenewInstance' => ['description' => '是否自动续费实例。', 'type' => 'boolean', 'example' => 'false'], + 'InstanceName' => ['description' => '需更新的实例名称。取值无限制,建议长度不超过64个字符。', 'type' => 'string', 'example' => 'yunQi-instance'], + 'MaxQueue' => ['description' => '实例的Queue的数量上限,单位:个。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'OrderType' => ['description' => '订单类型。'."\n" + .'- PRE_PAID:预付费。'."\n" + .'- POST_PAID:后付费。', 'type' => 'string', 'example' => 'PRE_PAID'], + 'TracingStorageTime' => ['description' => '配置消息轨迹的保存时长,单位:天,取值如下:'."\n" + .'- 3:3天'."\n" + .'- 7:7天'."\n" + .'- 15:15天'."\n" + ."\n" + .'当SupportTracing为true时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'SupportTracing' => ['description' => '是否开通消息轨迹功能', 'type' => 'boolean', 'example' => 'True'], + 'MaxConnections' => ['description' => '最大连接数。'."\n" + ."\n" + .'请根据 “[云消息队列 RabbitMQ 版-购买页](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre)” 所给出的取值设置。', 'type' => 'integer', 'format' => 'int32', 'example' => '1500'], + 'ResourceGroupId' => ['description' => '应用所属资源组ID', 'type' => 'string', 'example' => 'rg-acfm2vn6jkayvfy'], + 'ServerlessSwitch' => ['title' => '弹性开关', 'type' => 'boolean'], + 'EncryptedInstance' => ['description' => '实例数据存储是否开启存储加密', 'type' => 'boolean', 'example' => 'true'], + 'KmsKeyId' => ['description' => '云盘对应的KMS密钥ID。', 'type' => 'string', 'example' => 'key-hzz6566e86byam3lg5rw4'], + 'ProvisionedCapacity' => ['description' => '预留+弹性实例的预留TPS容量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'], + 'Edition' => ['description' => 'Serverless实例部署架构,取值如下:'."\n" + ."\n" + .'- shared: 共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" + ."\n" + .'- dedicated:独享架构,适用预留+弹性(独享)版本。', 'type' => 'string', 'example' => 'shared'], + 'ListenerMode' => [ + 'title' => '实例端口监听模式:tcp_and_ssl或者ssl_only。'."\n" + .'tcp_and_ssl:同时开启5672和5671端口'."\n" + .'ssl_only:仅开启5671端口', + 'description' => '实例端口监听模式:tcp_and_ssl或者ssl_only。'."\n" + .'tcp_and_ssl:同时开启5672和5671端口'."\n" + .'ssl_only:仅开启5671端口', + 'type' => 'string', + 'example' => 'tcp_and_ssl', + 'default' => 'tcp_and_ssl', + 'enum' => ['tcp_and_ssl', 'ssl_only'], + ], + 'VpcId' => ['title' => '用户vpcId,用于创建PVL接入点。', 'description' => '创建实例填写的VPCID,用于创建privateLink接入点。', 'type' => 'string', 'example' => 'vpc-xxx'], + 'SecurityGroupId' => ['title' => '安全组,用户创建pvl接入点。', 'description' => '创建实例填写的安全组,用于创建privateLink接入点。', 'type' => 'string', 'example' => 'sg-xxx'], + 'VswitchIds' => [ + 'title' => '创建实例时,用于创建privateLink接入点参数。必须为两个(除个别单可用区地域外)。', + 'description' => '创建实例填写的vswitchId,用于创建privateLink接入点。', + 'type' => 'array', + 'items' => ['title' => '创建实例时填写的vswitchId ', 'description' => '创建实例时填写的vswitchId ', 'type' => 'string', 'example' => 'vsw-xxx'], + 'maxItems' => 2, + 'minItems' => 1, + ], ], ], ], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', + 'errorCodes' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\",\\n \\"Data\\": {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"Tag key\\",\\n \\"Value\\": \\"Tag value\\"\\n }\\n ],\\n \\"Status\\": \\"SERVING\\",\\n \\"SupportEIP\\": true,\\n \\"ExpireTime\\": 1651507200000,\\n \\"OrderCreateTime\\": 1651507200000,\\n \\"PrivateEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\\\n\\",\\n \\"StorageSize\\": 200,\\n \\"MaxEipTps\\": 1000,\\n \\"InstanceId\\": \\"amqp-cn-*********\\",\\n \\"InstanceType\\": \\"enterprise\\",\\n \\"PublicEndpoint\\": \\"xxx.cn-hangzhou.xxx.net.mq.amqp.aliyuncs.com\\",\\n \\"ClassicEndpoint\\": \\"amqp-cn-st21x7kv****.not-support\\\\n\\",\\n \\"MaxVhost\\": 50,\\n \\"MaxTps\\": 1000,\\n \\"AutoRenewInstance\\": false,\\n \\"InstanceName\\": \\"yunQi-instance\\",\\n \\"MaxQueue\\": 1000,\\n \\"OrderType\\": \\"PRE_PAID\\",\\n \\"TracingStorageTime\\": 15,\\n \\"SupportTracing\\": true,\\n \\"MaxConnections\\": 1500,\\n \\"ResourceGroupId\\": \\"rg-acfm2vn6jkayvfy\\",\\n \\"ServerlessSwitch\\": true,\\n \\"EncryptedInstance\\": true,\\n \\"KmsKeyId\\": \\"key-hzz6566e86byam3lg5rw4\\",\\n \\"ProvisionedCapacity\\": 2000,\\n \\"Edition\\": \\"shared\\",\\n \\"ListenerMode\\": \\"tcp_and_ssl\\",\\n \\"VpcId\\": \\"vpc-xxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxx\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxx\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => '查询实例信息', + 'changeSet' => [ + ['createdAt' => '2025-07-21T12:25:45.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EF4DB019-DA4A-4CE3-B220-223BBC93F***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 2,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"VirtualHosts\\": [\\n {\\n \\"Name\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListVirtualHostsResponse>\\n <RequestId>EF4DB019-DA4A-4CE3-B220-223BBC93F***</RequestId>\\n <Data>\\n <NextToken></NextToken>\\n <MaxResults>2</MaxResults>\\n <VirtualHosts>\\n <Name>test</Name>\\n </VirtualHosts>\\n </Data>\\n</ListVirtualHostsResponse>","errorExample":""}]', - 'title' => '查询 Vhost', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'CreateQueue' => [ - 'summary' => 'Queue是指消息队列,云消息队列 RabbitMQ 版的消息都会被发送至指定的Exchange,再由Exchange路由至绑定的Queue中。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetMetadataAmount' => [ + 'summary' => '查看指定云消息队列 RabbitMQ 版实例下可创建的Vhost、Exchange、Queue的最大数量以及当前已创建的数量。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsUKJAUW', - ], + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '待创建Queue所属的云消息队列 RabbitMQ 版实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], + 'in' => 'query', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'amqp-cn-v0h1kb9n***'], ], - [ - 'name' => 'VirtualHost', - 'in' => 'formData', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '待创建Queue所属的Vhost名称。'."\n" - .'只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),⻓度限制1~255字符。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'B75ACF23-2BEB-44AC-A0B6-AE14EDCA***'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'MaxVirtualHosts' => ['description' => '可创建的Vhost的最大数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'CurrentVirtualHosts' => ['description' => '已创建的Vhost的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxQueues' => ['description' => '可创建的Queue的最大数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'CurrentExchanges' => ['description' => '已创建的Exchange的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '7'], + 'MaxExchanges' => ['description' => '可创建的Exchange的最大数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'CurrentQueues' => ['description' => '已创建的Queue的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + ], + ], + 'description' => '', ], ], + ], + 'title' => '获取实例的元数据', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMetadataAmount'], + ], + ], + 'ramActions' => [ [ - 'name' => 'QueueName', - 'in' => 'formData', - 'schema' => [ - 'description' => '待创建的Queue的名称。'."\n" - ."\n" - .'- Queue名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),长度限制1~255字符。'."\n" - ."\n" - .'- Queue创建后,名称无法修改,只能删除后重建。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoQueue', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B75ACF23-2BEB-44AC-A0B6-AE14EDCA***\\",\\n \\"Data\\": {\\n \\"MaxVirtualHosts\\": 10,\\n \\"CurrentVirtualHosts\\": 1,\\n \\"MaxQueues\\": 20,\\n \\"CurrentExchanges\\": 7,\\n \\"MaxExchanges\\": 20,\\n \\"CurrentQueues\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMetadataAmountResponse>\\n <RequestId>B75ACF23-2BEB-44AC-A0B6-AE14EDCA***</RequestId>\\n <Data>\\n <MaxExchanges>20</MaxExchanges>\\n <MaxVirtualHosts>10</MaxVirtualHosts>\\n <CurrentExchanges>7</CurrentExchanges>\\n <MaxQueues>20</MaxQueues>\\n <CurrentVirtualHosts>1</CurrentVirtualHosts>\\n <CurrentQueues>1</CurrentQueues>\\n </Data>\\n</GetMetadataAmountResponse>","errorExample":""}]', + ], + 'ListAccounts' => [ + 'summary' => '查看指定云消息队列 RabbitMQ 版实例的用户名密码。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AutoDeleteState', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否自动删除。取值:'."\n" - ."\n" - .'- true:是。如果订阅该Queue的最后一个消费端取消订阅后,那么该Queue将会自动删除。'."\n" - .'- false:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '160958', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], + ], + 'parameters' => [ [ - 'name' => 'ExclusiveState', - 'in' => 'formData', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID,表示您需要查询哪个实例下的静态用户名密码。', 'type' => 'string', 'required' => false, 'example' => 'amqp-cn-20p****04'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否为排他性Exchange。取值:'."\n" - ."\n" - .'- true:是。只能被声明该排他性Exchange的Connection使用。该Connection断开后该排他性Exchange自动删除。'."\n" - .'- false:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'title' => 'Schema of Response', + 'description' => '返回信息。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '549A5A97-FE61-5A23-8126-3A1192*****'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'masterUid' => ['type' => 'integer', 'format' => 'int64', 'description' => '创建静态用户名密码的AccessKey所属的阿里云账号或RAM用户的账号ID。', 'example' => '1565************1'], + 'cInstanceId' => ['type' => 'string', 'description' => '云消息队列 RabbitMQ 版实例的ID。', 'example' => 'amqp-cn-uqm******03'], + 'accessKey' => ['type' => 'string', 'description' => '创建静态用户名密码所使用的AccessKey ID。', 'example' => 'LTAI****************'], + 'userName' => ['type' => 'string', 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', 'description' => '静态用户名。'], + 'password' => ['type' => 'string', 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1', 'description' => '静态用户密码。'], + 'deleted' => ['type' => 'integer', 'format' => 'int64', 'description' => '静态用户名密码的删除时间戳。单位:毫秒。', 'example' => '0'], + 'createTimestamp' => ['type' => 'integer', 'format' => 'int64', 'description' => '静态用户名密码的创建时间戳。单位:毫秒。', 'example' => '1671175303522'], + 'Remark' => ['title' => '备注', 'description' => '备注', 'type' => 'string', 'example' => '*** environment'], + ], + 'description' => 'object', + ], + 'description' => '结果集。', + ], + ], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + ], ], ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"549A5A97-FE61-5A23-8126-3A1192*****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"key\\": [\\n {\\n \\"masterUid\\": 0,\\n \\"cInstanceId\\": \\"amqp-cn-uqm******03\\",\\n \\"accessKey\\": \\"LTAI****************\\",\\n \\"userName\\": \\"MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=\\",\\n \\"password\\": \\"OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1\\",\\n \\"deleted\\": 0,\\n \\"createTimestamp\\": 1671175303522,\\n \\"Remark\\": \\"*** environment\\"\\n }\\n ]\\n },\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\"\\n}","errorExample":""},{"type":"xml","example":"<ListAccountsResponse>\\n <RequestId>549A5A97-FE61-5A23-8126-3A1192*****</RequestId>\\n <Success>true</Success>\\n <Data>\\n <cInstanceId>amqp-cn-uqm******03</cInstanceId>\\n <accessKey>LTAI5***********eRZtEJ6vfo</accessKey>\\n <userName>MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=</userName>\\n <password>OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1</password>\\n <deleted>0</deleted>\\n <createTimestamp>1671175303522</createTimestamp>\\n </Data>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n</ListAccountsResponse>","errorExample":""}]', + 'title' => '查看用户名密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccounts'], + ], + ], + 'ramActions' => [ [ - 'name' => 'MessageTTL', - 'in' => 'formData', - 'schema' => [ - 'description' => '消息在Queue中的有效期。'."\n" - ."\n" - .'- 某条消息在Queue中的留存时间超过配置的消息存活时间时,则该消息过期。'."\n" - ."\n" - .'- 消息存活时间的值必须为非负整型数,最大为1天。单位为毫秒。例如,某条消息的存活时间的值是1000,则代表该消息最多会在Queue中存活1秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListStaticAccounts', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], ], ], + ], + ], + 'ListBindings' => [ + 'summary' => '查询指定云消息队列 RabbitMQ 版实例下某一Vhost内所有创建的绑定关系。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AutoExpireState', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Queue的自动过期时间。如果Queue在指定时间内没有被访问,则会被自动删除。'."\n" - ."\n" - .'单位为毫秒。'."\n" - .'> 该参数对应的功能需要开通后才能使用。如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[提交工单](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>开通。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10000', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREons5ZTT5D'], + ], + 'parameters' => [ [ - 'name' => 'MaxLength', - 'in' => 'formData', - 'schema' => [ - 'description' => '当前版本不支持该参数。'."\n" - ."\n" - .'Queue中消息的最大数量。如果超出该数量,则先到达该Queue的消息将会被删除。'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1000', - ], + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***'], ], [ - 'name' => 'DeadLetterExchange', - 'in' => 'formData', - 'schema' => [ - 'description' => '死信Exchange。该类Exchange是用来接收被拒绝的消息。'."\n" - ."\n" - .'如果消费端拒绝一个不重新发送的消息,那么消息队列RabbitMQ版将会把消息路由到指定的死信Exchange,该Exchange再将消息路由到绑定的Queue进行存储。', - 'type' => 'string', - 'required' => false, - 'example' => 'DLExchange', - ], + 'name' => 'VirtualHost', + 'in' => 'query', + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test'], ], [ - 'name' => 'DeadLetterRoutingKey', - 'in' => 'formData', - 'schema' => [ - 'description' => '死信Routing Key。'."\n" - .'只能包含字⺟、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@),⻓度限制1~255字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test.dl', - ], + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用和当返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'minLength' => 1, 'default' => ''], ], [ - 'name' => 'MaximumPriority', - 'in' => 'formData', - 'schema' => [ - 'description' => '队列优先级,推荐取值范围(1~10)。'."\n" - .'> 该参数为消息优先级对应参数,仅独享实例支持,开通消息优先级功能后才能使用。如需使用,请<props="china">[提交工单](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[提交工单](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>开通。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => '本次读取的最大数据记录数量。取值:'."\n" + ."\n" + .'**1~100**'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -2088,78 +2299,137 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '59B52E2C-0B8E-44EC-A314-D0314A50***', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'E0A71208-3E87-4732-81CC-B18E0B4B1***'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'MaxResults' => ['description' => '本次请求所返回的最大记录条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'Bindings' => [ + 'description' => '绑定关系列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SourceExchange' => ['description' => '源Exchange名称。', 'type' => 'string', 'example' => 'test'], + 'Argument' => ['description' => 'x-match属性。取值:'."\n" + ."\n" + .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" + ."\n" + .'- **any**:至少一对消息头的键值对必须匹配。'."\n" + ."\n" + .'该参数仅适用于Headers类型的Exchange。', 'type' => 'string', 'example' => 'all'], + 'BindingKey' => ['description' => '绑定键。'."\n" + ."\n" + .'- 绑定源Exchange为非Topic类型:'."\n" + ."\n" + .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 长度限制1~255字符。'."\n" + ."\n" + .'- 绑定源Exchange为Topic类型:'."\n" + ."\n" + .' - 可以包含字母、数字、短划线(-)、下划线(_)、星号(*)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" + ."\n" + .' - 长度限制1~255字符。', 'type' => 'string', 'example' => 'amq.test'], + 'BindingType' => ['description' => '绑定目标对象的类型。取值:'."\n" + ."\n" + .'- **QUEUE**'."\n" + ."\n" + .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE'], + 'DestinationName' => ['description' => '绑定目标名称。', 'type' => 'string', 'example' => 'QueueTest'], + ], + 'description' => '', + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"59B52E2C-0B8E-44EC-A314-D0314A50***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateQueueResponse>\\n <RequestId>59B52E2C-0B8E-44EC-A314-D0314A50***</RequestId>\\n</CreateQueueResponse>","errorExample":""}]', - 'title' => '创建Queue', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'title' => '查询绑定', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteQueue' => [ - 'summary' => '删除Queue。', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindings'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:ListQueue'], + ['action' => 'amqp:ListExchange'], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E0A71208-3E87-4732-81CC-B18E0B4B1***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListBindingsResponse>\\n <RequestId>E0A71208-3E87-4732-81CC-B18E0B4B1***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>test</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>QUEUE</BindingType>\\n <BindingKey>amq.test</BindingKey>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n </Data>\\n</ListBindingsResponse>","errorExample":""}]', + ], + 'ListDownStreamBindings' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsUKJAUW', - ], + 'abilityTreeNodes' => ['FEATUREonsHNP38C'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1880770869023***', - ], + 'in' => 'query', + 'schema' => ['description' => 'Exchange所属的云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***'], ], [ - 'name' => 'QueueName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Queue名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoQueue', - ], + 'name' => 'VirtualHost', + 'in' => 'query', + 'schema' => ['description' => 'Exchange所属的Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'VirtualHost', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test', - ], + 'name' => 'ExchangeName', + 'in' => 'query', + 'schema' => ['description' => 'Exchange名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -2167,30 +2437,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***', + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9C1E0502-0790-4FDB-8C96-6D5C8D9B7***'], + 'Success' => ['description' => '是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'Bindings' => [ + 'description' => '绑定关系。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SourceExchange' => ['description' => '源Exchange名称。', 'type' => 'string', 'example' => 'test'], + 'Argument' => ['description' => 'x-match属性。取值:'."\n" + ."\n" + .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" + ."\n" + .'- **any**:至少一对消息头的键值对必须匹配。'."\n" + ."\n" + .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', 'type' => 'string', 'example' => 'test'], + 'BindingKey' => ['description' => '绑定键。'."\n" + ."\n" + .'- 绑定源Exchange为非Topic类型:'."\n" + ."\n" + .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 长度限制1~255字符。'."\n" + ."\n" + .'- 绑定源Exchange为Topic类型:'."\n" + ."\n" + .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" + ."\n" + .' - 长度限制1~255字符。', 'type' => 'string', 'example' => 'amq.test'], + 'BindingType' => ['description' => '绑定目标对象的类型。取值:'."\n" + ."\n" + .'- **QUEUE**'."\n" + ."\n" + .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE'], + 'DestinationName' => ['description' => '绑定目标名称。', 'type' => 'string', 'example' => 'QueueTest'], + ], + 'description' => '', + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteQueueResponse>\\n <RequestId>92385FD2-624A-48C9-8FB5-753F2AFA***</RequestId>\\n</DeleteQueueResponse>","errorExample":""}]', - 'title' => '删除 Queue', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'title' => '查询Exchange绑定', + 'summary' => '查询指定Exchange绑定了哪些Exchange或Queue。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListQueueConsumers' => [ - 'summary' => '查询指定Queue的在线Consumer客户端。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-08-15T02:56:05.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:25.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDownStreamBindings'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ['action' => 'amqp:ListQueue', 'validationType' => 'always'], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"RequestId\\": \\"9C1E0502-0790-4FDB-8C96-6D5C8D9B7***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"test\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>operation success</Message>\\n<RequestId>9C1E0502-0790-4FDB-8C96-6D5C8D9B7***</RequestId>\\n<Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <Argument>test</Argument>\\n <SourceExchange>test</SourceExchange>\\n <BindingKey>amq.test</BindingKey>\\n <BindingType>QUEUE</BindingType>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>","errorExample":""}]', + ], + 'ListExchangeUpStreamBindings' => [ + 'summary' => '查询指定Exchange被哪些Queue或者其他Exchange绑定。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2202,73 +2547,33 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '76240', - 'abilityTreeNodes' => [ - 'FEATUREonsUKJAUW', - ], + 'abilityTreeNodes' => ['FEATUREonsHNP38C'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-5yd3aw******', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***'], ], [ 'name' => 'VirtualHost', 'in' => 'query', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'Queue', + 'name' => 'ExchangeName', 'in' => 'query', - 'schema' => [ - 'description' => '队列名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'queue-rabbit-springboot-advance5', - ], + 'schema' => ['description' => 'Exchange名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - 'default' => '', - ], + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ - 'name' => 'QueryCount', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '拉取数据的条数。如果不设置,默认值为1。'."\n" - ."\n" - .'取值范围:\\[1,100\\]。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -2276,74 +2581,104 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4409B7D5-E4EC-4EB5-804A-385DCDFCD***', - ], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2DCCCE88-BC82-4A4F-AF5E-9A759672B***'], + 'Success' => ['description' => '是否成功。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'Consumers' => [ - 'description' => '消费者信息。', + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'Bindings' => [ + 'description' => '绑定。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ConsumerTag' => [ - 'description' => '消费者标签。', - 'type' => 'string', - 'example' => 'sgen-1', - ], + 'SourceExchange' => ['description' => '源Exchange名称。', 'type' => 'string', 'example' => 'dle'], + 'Argument' => ['description' => 'x-match属性。取值:'."\n" + ."\n" + .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" + ."\n" + .'- **any**:至少一对消息头的键值对必须匹配。'."\n" + ."\n" + .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', 'type' => 'string', 'example' => 'all'], + 'BindingKey' => ['description' => '绑定键。'."\n" + ."\n" + .'- 绑定源Exchange为非Topic类型:'."\n" + ."\n" + .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 长度限制1~255字符。'."\n" + ."\n" + .'- 绑定源Exchange为Topic类型:'."\n" + ."\n" + .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" + ."\n" + .' - 长度限制1~255字符。', 'type' => 'string', 'example' => 'amq.dle.test'], + 'BindingType' => ['description' => '绑定目标对象的类型。取值:'."\n" + ."\n" + .'- **QUEUE**'."\n" + ."\n" + .'- **EXCHANGE**', 'type' => 'string', 'example' => 'EXCHANGE'], + 'DestinationName' => ['description' => '目标名称。', 'type' => 'string', 'example' => 'test'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4409B7D5-E4EC-4EB5-804A-385DCDFCD***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Consumers\\": [\\n {\\n \\"ConsumerTag\\": \\"sgen-1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueueConsumersResponse>\\n <RequestId>4409B7D5-E4EC-4EB5-804A-385DCDFCD***</RequestId>\\n <Data>\\n <NextToken>AAAATzkBMTg4MDc3MDg2OTAyMzQyMAF0ZXN0AXF1ZXVlLXJhYmJpdC1zcHJpbmdib290LWFkdmFuY2U1ATc3NjMxNjIwATE1OTEzNTA5MDkzMDkBrWuX5aAiG4ytL5ffWi0HBUjdleo=</NextToken>\\n <MaxResults>1</MaxResults>\\n <Consumers>\\n <ConsumerTag>sgen-1</ConsumerTag>\\n </Consumers>\\n </Data>\\n</ListQueueConsumersResponse>","errorExample":""}]', - 'title' => '查询Queue的消费者', - 'description' => '云消息队列 RabbitMQ 版仅支持查看在线Consumer客户端,不支持查看离线Consumer客户端。', + 'title' => '查询Exchange被绑定', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListQueues' => [ - 'summary' => '查询指定云消息队列 RabbitMQ 版实例下某一Vhost内的所有Queue信息。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-08-15T03:08:49.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:24.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListExchangeUpStreamBindings'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ['action' => 'amqp:ListQueue', 'validationType' => 'always'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"RequestId\\": \\"2DCCCE88-BC82-4A4F-AF5E-9A759672B***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"dle\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.dle.test\\",\\n \\"BindingType\\": \\"EXCHANGE\\",\\n \\"DestinationName\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListExchangeUpStreamBindingsResponse>\\n <RequestId>2DCCCE88-BC82-4A4F-AF5E-9A759672B***</RequestId>\\n <Message>operation success</Message>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>dle</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>EXCHANGE</BindingType>\\n <BindingKey>amq.dle.test</BindingKey>\\n <DestinationName>test</DestinationName>\\n </Bindings>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListExchangeUpStreamBindingsResponse>","errorExample":""}]', + ], + 'ListExchanges' => [ + 'summary' => '查询指定实例下某一Vhost内创建的所有Exchange。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2355,59 +2690,34 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsUKJAUW', - ], + 'abilityTreeCode' => '58733', + 'abilityTreeNodes' => ['FEATUREonsHNP38C'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-5yd3aw******', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-7pp2mwbc****'], ], [ 'name' => 'VirtualHost', 'in' => 'query', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - 'minLength' => 1, - 'default' => '', - ], + 'schema' => ['description' => '下一次查询的Token。取值:'."\n" + ."\n" + .'- 如果是第一次查询或没有下一次查询,则无需填写。'."\n" + ."\n" + .'- 如果有下一次查询,则取值为上一次返回的`NextToken`值。', 'type' => 'string', 'required' => false, 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****'], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '最大结果集。取值:'."\n" + .'**1~100**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -2415,110 +2725,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CE811989-9F02-42CE-97A6-2239CB5C2***', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'Queues' => [ - 'description' => 'Queue。', + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回的`NextToken`值,根据返回值判断是否有下一个查询开始的Token。'."\n" + ."\n" + .'- 如果`NextToken`为空,则表示没有下一个查询开始的Token。'."\n" + ."\n" + .'- 如果`NextToken`有返回值,则表示该返回值即为下一个查询开始的Token。', 'type' => 'string', 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****'], + 'Exchanges' => [ + 'description' => 'Exchange。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ExclusiveState' => [ - 'description' => '是否是排他性队列。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AutoDeleteState' => [ - 'description' => '自动删除状态。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'CreateTime' => [ - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1580887085240', - ], - 'Attributes' => [ - 'description' => '属性。', - 'type' => 'object', - 'example' => 'test', - ], - 'VHostName' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Name' => [ - 'description' => 'Queue名称。', - 'type' => 'string', - 'example' => 'QueueTest', - ], - 'OwnerId' => [ - 'description' => 'Queue所属的实例ID。', - 'type' => 'string', - 'example' => 'amqp-cn-5yd3aw******', - ], - 'LastConsumeTime' => [ - 'description' => '上一次消费时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1680887085240', - ], + 'AutoDeleteState' => ['description' => '自动删除状态。', 'type' => 'boolean', 'example' => 'false'], + 'CreateTime' => ['description' => 'Exchange创建的时间戳,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1580886216000'], + 'Attributes' => ['description' => '当前版本不支持此参数。'."\n" + .'属性。', 'type' => 'object', 'example' => 'test'], + 'VHostName' => ['description' => 'Vhost名称。', 'type' => 'string', 'example' => 'test'], + 'Name' => ['description' => 'Exchange名称。', 'type' => 'string', 'example' => 'amq.direct'], + 'ExchangeType' => ['description' => 'Exchange类型。', 'type' => 'string', 'example' => 'DIRECT'], + 'Internal' => ['title' => '是否为内部Exchange', 'description' => '是否为内部Exchange', 'type' => 'boolean'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE811989-9F02-42CE-97A6-2239CB5C2***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Queues\\": [\\n {\\n \\"ExclusiveState\\": false,\\n \\"AutoDeleteState\\": false,\\n \\"CreateTime\\": 1580887085240,\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"VHostName\\": \\"test\\",\\n \\"Name\\": \\"QueueTest\\",\\n \\"OwnerId\\": \\"amqp-cn-5yd3aw******\\",\\n \\"LastConsumeTime\\": 1680887085240\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueuesResponse>\\n <RequestId>CE811989-9F02-42CE-97A6-2239CB5C2***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Queues>\\n <VHostName>test</VHostName>\\n <OwnerId>1880770869023***</OwnerId>\\n <CreateTime>1580887085240</CreateTime>\\n <ExclusiveState>false</ExclusiveState>\\n <Attributes>test</Attributes>\\n <LastConsumeTime>1680887085240</LastConsumeTime>\\n <AutoDeleteState>false</AutoDeleteState>\\n <Name>QueueTest</Name>\\n </Queues>\\n </Data>\\n</ListQueuesResponse>","errorExample":""}]', - 'title' => '查询Queue', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****\\",\\n \\"Exchanges\\": [\\n {\\n \\"AutoDeleteState\\": false,\\n \\"CreateTime\\": 1580886216000,\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"VHostName\\": \\"test\\",\\n \\"Name\\": \\"amq.direct\\",\\n \\"ExchangeType\\": \\"DIRECT\\",\\n \\"Internal\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListExchangesResponse>\\n <RequestId>FEBA5E0C-50D0-4FA6-A794-4901E5465***</RequestId>\\n <Data>\\n <NextToken></NextToken>\\n <MaxResults>1</MaxResults>\\n <Exchanges>\\n <VHostName>test</VHostName>\\n <CreateTime>1580886216000</CreateTime>\\n <AutoDeleteState>false</AutoDeleteState>\\n <ExchangeType>DIRECT</ExchangeType>\\n <Name>amq.direct</Name>\\n </Exchanges>\\n </Data>\\n</ListExchangesResponse>","errorExample":""}]', + 'title' => '查询Exchange', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListQueueUpStreamBindings' => [ - 'summary' => '查询指定Queue被哪些Exchange绑定。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-07-30T12:06:30.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-30T06:42:02.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListExchanges'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ], + ], + ], + ], + 'ListInstanceWhiteList' => [ + 'summary' => '查询实例ip/vpc白名单', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2530,67 +2814,104 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREons5ZTT5D', - ], + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-5yd3aw******', - ], + 'schema' => ['title' => '需要查询白名单的实例ID', 'description' => '需要查询白名单的实例ID', 'type' => 'string', 'required' => true, 'example' => 'rabbitmq-cn-xxx'], ], [ - 'name' => 'VirtualHost', + 'name' => 'whiteListType', 'in' => 'query', 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', + 'title' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" + ."\n" + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'description' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" + ."\n" + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'type' => 'integer', + 'format' => 'int32', 'required' => true, - 'docRequired' => true, - 'example' => 'test', + 'enumValueTitles' => [1 => '1', '2'], + 'example' => '2', + 'enum' => ['1', '2'], ], ], - [ - 'name' => 'QueueName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Queue名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'QueueTest', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '请求错误时,返回错误信息', 'type' => 'string', 'example' => 'xxx failed,xxxx'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => ['description' => '请求结果:VPCID或者IP白名单具体值,包含id和value两部份。id是序号,可用于删除;value是具体值。', 'type' => 'any', 'example' => '"Data": ['."\n" + .' {'."\n" + .' "id": 454,'."\n" + .' "value": "10.1.2.1/30"'."\n" + .' }'."\n" + .' ]'], + 'StatusCode' => ['description' => '调用返回码,200标识成功', 'type' => 'string', 'example' => '200'], + ], ], ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询实例IP/VPCID值', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DC68EC9-0E76-5435-B8C0-FF9492B4****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"xxx failed,xxxx\\",\\n \\"Success\\": true,\\n \\"Data\\": \\"\\\\\\"Data\\\\\\": [\\\\n {\\\\n \\\\\\"id\\\\\\": 454,\\\\n \\\\\\"value\\\\\\": \\\\\\"10.1.2.1/30\\\\\\"\\\\n }\\\\n ]\\",\\n \\"StatusCode\\": \\"200\\"\\n}","type":"json"}]', + ], + 'ListInstances' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '58735', + 'abilityTreeNodes' => ['FEATUREonsQ3252I'], + ], + 'parameters' => [ [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '最大结果集。建议取值在1~100之间。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '200', 'minimum' => '1', 'example' => '1'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '实例所属资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzu74zjgdu4mq'], ], ], 'responses' => [ @@ -2598,79 +2919,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***'], 'Data' => [ - 'description' => '返回数据。', + 'description' => '数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'string', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'Bindings' => [ - 'description' => '绑定。', + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Instances' => [ + 'description' => '实例。', 'type' => 'array', 'items' => [ + 'description' => '实例。', 'type' => 'object', 'properties' => [ - 'SourceExchange' => [ - 'description' => '源Exchange名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Argument' => [ - 'description' => 'x-match属性。取值:'."\n" - ."\n" - .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" - ."\n" - .'- **any**:至少一对消息头的键值对必须匹配。'."\n" - ."\n" - .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', - 'type' => 'string', - 'example' => 'all', - ], - 'BindingKey' => [ - 'description' => '绑定键。'."\n" - ."\n" - .'- 绑定源Exchange为非Topic类型:'."\n" - ."\n" - .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 长度限制1~255字符。'."\n" - ."\n" - .'- 绑定源Exchange为Topic类型:'."\n" - ."\n" - .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" - ."\n" - .' - 长度限制1~255字符。', - 'type' => 'string', - 'example' => 'amq.test', + 'Status' => ['description' => '实例状态。取值如下:'."\n" + ."\n" + .'- DEPLOYING:实例部署中'."\n" + ."\n" + .'- EXPIRED:实例已过期'."\n" + ."\n" + .'- SERVING:实例服务中'."\n" + ."\n" + .'- RELEASED:实例已被释放', 'type' => 'string', 'example' => 'SERVING'], + 'SupportEIP' => ['description' => '是否支持EIP。', 'type' => 'boolean', 'example' => 'true'], + 'ExpireTime' => ['description' => '实例过期的时间戳,单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000'], + 'OrderCreateTime' => ['description' => '订单创建的时间戳,单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1572441939000'], + 'PrivateEndpoint' => ['description' => '实例的VPC接入点。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'], + 'StorageSize' => ['description' => '磁盘容量,单位:GB。'."\n" + .'> 专业版实例和企业版实例无此参数,返回**-1**。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'MaxEipTps' => ['description' => '实例的公网TPS流量峰值,单位:条/秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '24832'], + 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****'], + 'InstanceType' => ['description' => '实例类型。'."\n" + ."\n" + .'- PROFESSIONAL:专业版'."\n" + ."\n" + .'- ENTERPRISE:企业版'."\n" + ."\n" + .'- VIP:铂金版'."\n" + ."\n" + .'<props="china">- SERVERLESS:Serverless版</props>', 'type' => 'string', 'example' => 'professional'], + 'PublicEndpoint' => ['description' => '实例的公网接入点。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'], + 'ClassicEndpoint' => ['description' => '经典接入点,该参数不再使用。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.not-support'], + 'MaxVhost' => ['description' => '实例的Vhost的数量上限,单位:个。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'MaxTps' => ['description' => '实例的私网TPS流量峰值,单位:条/秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'AutoRenewInstance' => ['description' => '是否自动更新实例。', 'type' => 'boolean', 'example' => 'false'], + 'InstanceName' => ['description' => '实例名称。', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****'], + 'MaxQueue' => ['description' => '实例的Queue的数量上限,单位:个。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'OrderType' => ['description' => '订单类型。'."\n" + .'- PRE_PAID:预付费。'."\n" + .'- POST_PAID:后付费。', 'type' => 'string', 'example' => 'PRE_PAID'], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '标签键。', 'type' => 'string', 'example' => 'region'], + 'Value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'hangzhou'], + ], + ], ], - 'BindingType' => [ - 'description' => '绑定目标对象的类型。取值:'."\n" - ."\n" - .'- **QUEUE**'."\n" - ."\n" - .'- **EXCHANGE**', + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aek3axfj2w4czrq'], + 'ServerlessSwitch' => ['type' => 'boolean'], + 'EncryptedInstance' => ['description' => '实例数据存储是否开启存储加密', 'type' => 'boolean', 'example' => 'false'], + 'KmsKeyId' => ['description' => '后端存储使用数据盘对应的KMS密钥ID。', 'type' => 'string', 'example' => 'key-bjj66c2a893vmhawtq5fd'], + 'ProvisionedCapacity' => ['description' => '预留+弹性实例的预留TPS容量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'], + 'Edition' => ['description' => 'Serverless实例部署架构,取值如下:'."\n" + ."\n" + .'- shared:共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" + ."\n" + .'- dedicated:独享架构,适用预留+弹性(独享)版本。', 'type' => 'string', 'example' => 'shared'], + 'ListenerMode' => [ + 'title' => '实例端口监听模式:tcp_and_ssl或者ssl_only。'."\n" + .'tcp_and_ssl:同时开启5672和5671端口'."\n" + .'ssl_only:仅开启5671端口', + 'description' => '实例端口监听模式:tcp_and_ssl或者ssl_only。'."\n" + .'tcp_and_ssl:同时开启5672和5671端口'."\n" + .'ssl_only:仅开启5671端口', 'type' => 'string', - 'example' => 'QUEUE', + 'example' => 'tcp_and_ssl', + 'default' => 'tcp_and_ssl', + 'enum' => ['tcp_and_ssl', 'ssl_only'], ], - 'DestinationName' => [ - 'description' => '绑定名称。', - 'type' => 'string', - 'example' => 'QueueTest', + 'VpcId' => ['title' => '用户vpcId,用于创建PVL接入点。', 'description' => '创建实例填写的VPCID,用于创建privateLink接入点。', 'type' => 'string', 'example' => 'vpc-xxx'], + 'SecurityGroupId' => ['title' => '安全组,用户创建pvl接入点。', 'description' => '创建实例填写的安全组,用于创建privateLink接入点。', 'type' => 'string', 'example' => 'sg-xxx'], + 'VswitchIds' => [ + 'title' => '创建实例时,用于创建privateLink接入点参数。必须为两个(除个别地域外)。', + 'description' => '创建实例填写的vswitchId,用于创建privateLink接入点。', + 'type' => 'array', + 'items' => ['title' => '创建实例时填写的vswitchId ', 'description' => '创建实例时填写的vswitchId ', 'type' => 'string', 'example' => 'vsw-xxx'], + 'maxItems' => 2, + 'minItems' => 1, ], ], ], @@ -2678,252 +3019,264 @@ ], ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8BFB1C9D-08A2-4859-A47C-403C9EFA2***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": \\"1\\",\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueueUpStreamBindingsResponse>\\n <RequestId>8BFB1C9D-08A2-4859-A47C-403C9EFA2***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>test</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>QUEUE</BindingType>\\n <BindingKey>amq.test</BindingKey>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n </Data>\\n</ListQueueUpStreamBindingsResponse>","errorExample":""}]', - 'title' => '查询Queue被绑定', + 'title' => '查询实例列表', + 'summary' => '查询指定地域下的云消息队列 RabbitMQ 版实例列表以及各实例的基本信息,包括实例接入点、实例规格上限等信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateExchange' => [ - 'summary' => 'Producer将消息发送到Exchange,由Exchange将消息路由到一个或多个Queue中(或者丢弃)。Exchange根据Routing Key和Binding Key将消息路由到Queue。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-21T12:25:45.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-25T06:22:40.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-11-07T08:02:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-11-03T02:15:40.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CCBB1225-C392-480E-8C7F-D09AB2CD2***\\",\\n \\"Data\\": {\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"MaxResults\\": 1,\\n \\"Instances\\": [\\n {\\n \\"Status\\": \\"SERVING\\",\\n \\"SupportEIP\\": true,\\n \\"ExpireTime\\": 1651507200000,\\n \\"OrderCreateTime\\": 1572441939000,\\n \\"PrivateEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\",\\n \\"StorageSize\\": 200,\\n \\"MaxEipTps\\": 24832,\\n \\"InstanceId\\": \\"amqp-cn-st21x7kv****\\",\\n \\"InstanceType\\": \\"professional\\",\\n \\"PublicEndpoint\\": \\"amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com\\",\\n \\"ClassicEndpoint\\": \\"amqp-cn-st21x7kv****.not-support\\",\\n \\"MaxVhost\\": 50,\\n \\"MaxTps\\": 5000,\\n \\"AutoRenewInstance\\": false,\\n \\"InstanceName\\": \\"amqp-cn-st21x7kv****\\",\\n \\"MaxQueue\\": 50,\\n \\"OrderType\\": \\"PRE_PAID\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"region\\",\\n \\"Value\\": \\"hangzhou\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-aek3axfj2w4czrq\\",\\n \\"ServerlessSwitch\\": true,\\n \\"EncryptedInstance\\": false,\\n \\"KmsKeyId\\": \\"key-bjj66c2a893vmhawtq5fd\\",\\n \\"ProvisionedCapacity\\": 2000,\\n \\"Edition\\": \\"shared\\",\\n \\"ListenerMode\\": \\"tcp_and_ssl\\",\\n \\"VpcId\\": \\"vpc-xxx\\",\\n \\"SecurityGroupId\\": \\"sg-xxx\\",\\n \\"VswitchIds\\": [\\n \\"vsw-xxx\\"\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInstancesResponse>\\r\\n <RequestId>CCBB1225-C392-480E-8C7F-D09AB2CD2***</RequestId>\\r\\n <Data>\\r\\n <Instances>\\r\\n <Status>SERVING</Status>\\r\\n <MaxTps>5000</MaxTps>\\r\\n <MaxEipTps>24832</MaxEipTps>\\r\\n <ClassicEndpoint>amqp-cn-st21x7kv****.not-support</ClassicEndpoint>\\r\\n <InstanceId>amqp-cn-st21x7kv****</InstanceId>\\r\\n <MaxQueue>50</MaxQueue>\\r\\n <SupportEIP>true</SupportEIP>\\r\\n <StorageSize>200</StorageSize>\\r\\n <InstanceName>amqp-cn-st21x7kv****</InstanceName>\\r\\n <OrderType>PRE_PAID</OrderType>\\r\\n <OrderCreateTime>1572441939000</OrderCreateTime>\\r\\n <MaxVhost>50</MaxVhost>\\r\\n <PublicEndpoint>amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com</PublicEndpoint>\\r\\n <InstanceType>professional</InstanceType>\\r\\n <ExpireTime>1651507200000</ExpireTime>\\r\\n <AutoRenewInstance>false</AutoRenewInstance>\\r\\n <PrivateEndpoint>amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com</PrivateEndpoint>\\r\\n </Instances>\\r\\n <NextToken></NextToken>\\r\\n <MaxResults>1</MaxResults>\\r\\n </Data>\\r\\n</ListInstancesResponse>","errorExample":""}]', + ], + 'ListOpenSourceAccounts' => [ + 'summary' => '枚举开源用户名密码', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], + 'in' => 'query', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-7pp2mwbc****'], ], [ - 'name' => 'VirtualHost', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Exchange所在的Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ - 'name' => 'ExchangeName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Exchange名称。说明:'."\n" - ."\n" - .'- Exchange名称只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at 符号(@),长度限制1~255 字符。'."\n" - ."\n" - .'- Exchange创建后,名称不支持修改,只能删除后重建。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoExchange', - ], + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], - [ - 'name' => 'ExchangeType', - 'in' => 'formData', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Exchange类型。取值:'."\n" - ."\n" - .'- **DIRECT**:该类型路由规则会将消息路由到Binding Key与Routing Key完全匹配的Queue中。'."\n" - ."\n" - .'- **TOPIC**:该类型与DIRECT类型相似,使用Routing Key模式匹配和字符串比较的方式将消息路由至绑定的Queue。'."\n" - ."\n" - .'- **FANOUT**:该类型路由规则非常简单,会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中,相当于广播功能。'."\n" - ."\n" - .'- **HEADERS**:该类型与DIRECT类型相似。Headers Exchange使用Headers属性代替Routing Key进行路由匹配,在绑定Headers Exchange和Queue时,设置绑定属性的键值对;在向Headers Exchange发送消息时,设置消息的Headers属性键值对,使用消息Headers属性键值对和绑定属性键值对比较的方式将消息路由至绑定的Queue。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DIRECT', - 'enum' => [ - 'DIRECT', - 'TOPIC', - 'FANOUT', - 'HEADERS', - 'X_JMS_TOPIC', - 'X_DELAYED_MESSAGE', - 'X_CONSISTENT_HASH', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CInstanceId' => ['description' => '实例 ID', 'type' => 'string', 'example' => 'amqp-abc***'], + 'AliyunUserId' => ['description' => '阿里云 UID', 'type' => 'integer', 'format' => 'int64', 'example' => '12345678900123'], + 'Name' => ['description' => '用户名', 'type' => 'string', 'example' => 'example'], + 'PasswordHash' => ['description' => '密码 hash', 'type' => 'string', 'example' => 'f6af6bbb91e947d988d191bfe01c9a9b'], + 'HashingAlgorithm' => ['description' => '哈希算法', 'type' => 'string', 'example' => 'bcrypt'], + 'Tags' => ['description' => '标签', 'type' => 'string', 'example' => 'test'], + 'ExtraJson' => ['description' => '描述。', 'type' => 'string', 'example' => '{}'], + 'Limits' => ['description' => '限额配置', 'type' => 'string', 'example' => 'null'], + 'WeakPassword' => ['description' => '是否弱密码(0=否,1=是)', 'type' => 'boolean'], + 'CreateTime' => ['description' => '创建时间', 'type' => 'string', 'example' => '1704067200000'], + ], + 'description' => '', + ], + ], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'NextToken' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], ], ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], [ - 'name' => 'XDelayedType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'x-delayed-message 类型的 Exchange 可以自定义消息的 Header 属性, x-delay用来指定消息延时投递的时间段,单位为毫秒。该类 Exchange 的路由规则取决于 x-delayed-type 参数中指定的 Exchange 类型,用于指定延迟消息最终将被投递到的实际 Exchange 类型。取值:'."\n" - ."\n" - .'- **DIRECT**:将延迟消息投递到和 DIRECT 类型 Exchange 绑定的指定队列。'."\n" - .'- **TOPIC**:将延迟消息投递到和 TOPIC 类型 Exchange 绑定的队列。'."\n" - ."\n" - .'- **FANOUT**:将延迟消息投递到和 FANOUT 类型 Exchange 绑定的队列。'."\n" - ."\n" - .'- **HEADERS**:将延迟消息投递到和 HEADERS 类型 Exchange 绑定的队列。'."\n" - ."\n" - .'- **X-JMS-TOPIC**:将延迟消息投递到和X-JMS-TOPIC绑定的队列。', - 'type' => 'string', - 'required' => false, - 'example' => 'DIRECT', - 'enum' => [ - 'DIRECT', - 'TOPIC', - 'FANOUT', - 'HEADERS', - 'X_JMS_TOPIC', - ], - ], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '枚举开源用户名密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A****\\",\\n \\"Data\\": [\\n {\\n \\"CInstanceId\\": \\"amqp-abc***\\",\\n \\"AliyunUserId\\": 12345678900123,\\n \\"Name\\": \\"example\\",\\n \\"PasswordHash\\": \\"f6af6bbb91e947d988d191bfe01c9a9b\\",\\n \\"HashingAlgorithm\\": \\"bcrypt\\",\\n \\"Tags\\": \\"test\\",\\n \\"ExtraJson\\": \\"{}\\",\\n \\"Limits\\": \\"null\\",\\n \\"WeakPassword\\": true,\\n \\"CreateTime\\": \\"1704067200000\\"\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\"\\n}","type":"json"}]', + ], + 'ListOpenSourcePermissions' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'AutoDeleteState', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否自动删除。取值:'."\n" - ."\n" - .'- **true**:是。如果绑定到该Exchange的最后一个Queue解除绑定,该Exchange会自动删除。'."\n" - ."\n" - .'- **false**:否。如果绑定到该Exchange的最后一个Queue解除绑定,该Exchange不会自动删除。', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], + ], + 'parameters' => [ [ - 'name' => 'Internal', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否为内部Exchange。取值:'."\n" - ."\n" - .'- **false**:否'."\n" - ."\n" - .'- **true**:是', - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'false', - ], + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'AlternateExchange', - 'in' => 'formData', - 'schema' => [ - 'description' => '备份Exchange。配置备份Exchange用于接收Exchange路由失败的消息。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'DemoAE', - ], + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => true, 'example' => 'myName'], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '下一个查询开始Token。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****', + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求 ID', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CInstanceId' => ['description' => '实例 ID', 'type' => 'string', 'example' => 'amqp-cn-v0h1kb9nu***'], + 'AliyunUserId' => ['description' => '阿里云 uid', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890123456'], + 'Name' => ['description' => '用户名', 'type' => 'string', 'example' => 'shhtzn'], + 'Vhost' => ['description' => 'vhost 名称', 'type' => 'string', 'example' => 'production'], + 'Configure' => ['description' => '配置权限正则表达式', 'type' => 'string', 'example' => '^$'], + 'Write' => ['description' => '写权限正则', 'type' => 'string', 'example' => 'order_exchange'], + 'Read' => ['description' => '读权限正则', 'type' => 'string', 'example' => '^$'], + ], + 'description' => '', + ], ], + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'NextToken' => ['description' => '下一个查询开始Token。', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateExchangeResponse>\\r\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A19A6***</RequestId>\\r\\n</CreateExchangeResponse>","errorExample":""}]', - 'title' => '创建Exchange', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteExchange' => [ - 'summary' => '调用DeleteExchange删除Exchange。', - 'methods' => [ - 'post', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '开源权限列表', + 'summary' => '罗列开源权限', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": [\\n {\\n \\"CInstanceId\\": \\"amqp-cn-v0h1kb9nu***\\",\\n \\"AliyunUserId\\": 1234567890123456,\\n \\"Name\\": \\"shhtzn\\",\\n \\"Vhost\\": \\"production\\",\\n \\"Configure\\": \\"^$\\",\\n \\"Write\\": \\"order_exchange\\",\\n \\"Read\\": \\"^$\\"\\n }\\n ],\\n \\"MaxResults\\": 50,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\"\\n}","type":"json"}]', + ], + 'ListQueueConsumers' => [ + 'summary' => '查询指定Queue的在线Consumer客户端。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '76240', + 'abilityTreeNodes' => ['FEATUREonsUKJAUW'], ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '待删除Exchange所属的云消息队列 RabbitMQ 版实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], + 'in' => 'query', + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******'], ], [ 'name' => 'VirtualHost', - 'in' => 'formData', - 'schema' => [ - 'description' => '待删除Exchange所属的Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'in' => 'query', + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'ExchangeName', - 'in' => 'formData', - 'schema' => [ - 'description' => '待删除的Exchange的名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoExchange', - ], + 'name' => 'Queue', + 'in' => 'query', + 'schema' => ['description' => '队列名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'queue-rabbit-springboot-advance5'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'default' => ''], + ], + [ + 'name' => 'QueryCount', + 'in' => 'query', + 'schema' => ['description' => '拉取数据的条数。如果不设置,默认值为1。'."\n" + ."\n" + .'取值范围:\\[1,100\\]。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'default' => '1'], ], ], 'responses' => [ @@ -2931,34 +3284,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6961FFB8-6358-4EDC-9E3C-4A0C56CE6***', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '4409B7D5-E4EC-4EB5-804A-385DCDFCD***'], + 'Data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'Consumers' => [ + 'description' => '消费者信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConsumerTag' => ['description' => '消费者标签。', 'type' => 'string', 'example' => 'sgen-1'], + ], + 'description' => '', + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6961FFB8-6358-4EDC-9E3C-4A0C56CE6***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteExchangeResponse>\\r\\n <RequestId>6961FFB8-6358-4EDC-9E3C-4A0C56CE6***</RequestId>\\r\\n</DeleteExchangeResponse>","errorExample":""}]', - 'title' => '删除Exchange', - 'description' => '## 使用说明'."\n" - .'- **headers**类型的Exchange不支持删除。'."\n" - ."\n" - .'- Vhost下的3个内置Exchange(amq.direct、amq.topic和amq.fanout)不支持删除。'."\n", + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + ], + 'title' => '查询Queue的消费者', + 'description' => '云消息队列 RabbitMQ 版仅支持查看在线Consumer客户端,不支持查看离线Consumer客户端。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListDownStreamBindings' => [ - 'summary' => '查询指定Exchange绑定了哪些Exchange或Queue。', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueueConsumers'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4409B7D5-E4EC-4EB5-804A-385DCDFCD***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Consumers\\": [\\n {\\n \\"ConsumerTag\\": \\"sgen-1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueueConsumersResponse>\\n <RequestId>4409B7D5-E4EC-4EB5-804A-385DCDFCD***</RequestId>\\n <Data>\\n <NextToken>AAAATzkBMTg4MDc3MDg2OTAyMzQyMAF0ZXN0AXF1ZXVlLXJhYmJpdC1zcHJpbmdib290LWFkdmFuY2U1ATc3NjMxNjIwATE1OTEzNTA5MDkzMDkBrWuX5aAiG4ytL5ffWi0HBUjdleo=</NextToken>\\n <MaxResults>1</MaxResults>\\n <Consumers>\\n <ConsumerTag>sgen-1</ConsumerTag>\\n </Consumers>\\n </Data>\\n</ListQueueConsumersResponse>","errorExample":""}]', + ], + 'ListQueueUpStreamBindings' => [ + 'summary' => '查询指定Queue被哪些Exchange绑定。', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2970,67 +3359,33 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsHNP38C', - ], + 'abilityTreeNodes' => ['FEATUREons5ZTT5D'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Exchange所属的云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1880770869023***', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******'], ], [ 'name' => 'VirtualHost', 'in' => 'query', - 'schema' => [ - 'description' => 'Exchange所属的Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'ExchangeName', + 'name' => 'QueueName', 'in' => 'query', - 'schema' => [ - 'description' => 'Exchange名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Queue名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QueueTest'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -3038,133 +3393,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'operation success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9C1E0502-0790-4FDB-8C96-6D5C8D9B7***', - ], - 'Success' => [ - 'description' => '是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'string', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], 'Bindings' => [ - 'description' => '绑定关系。', + 'description' => '绑定。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'SourceExchange' => [ - 'description' => '源Exchange名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Argument' => [ - 'description' => 'x-match属性。取值:'."\n" - ."\n" - .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" - ."\n" - .'- **any**:至少一对消息头的键值对必须匹配。'."\n" - ."\n" - .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', - 'type' => 'string', - 'example' => 'test', - ], - 'BindingKey' => [ - 'description' => '绑定键。'."\n" - ."\n" - .'- 绑定源Exchange为非Topic类型:'."\n" - ."\n" - .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 长度限制1~255字符。'."\n" - ."\n" - .'- 绑定源Exchange为Topic类型:'."\n" - ."\n" - .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" - ."\n" - .' - 长度限制1~255字符。', - 'type' => 'string', - 'example' => 'amq.test', - ], - 'BindingType' => [ - 'description' => '绑定目标对象的类型。取值:'."\n" - ."\n" - .'- **QUEUE**'."\n" - ."\n" - .'- **EXCHANGE**', - 'type' => 'string', - 'example' => 'QUEUE', - ], - 'DestinationName' => [ - 'description' => '绑定目标名称。', - 'type' => 'string', - 'example' => 'QueueTest', - ], + 'SourceExchange' => ['description' => '源Exchange名称。', 'type' => 'string', 'example' => 'test'], + 'Argument' => ['description' => 'x-match属性。取值:'."\n" + ."\n" + .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" + ."\n" + .'- **any**:至少一对消息头的键值对必须匹配。'."\n" + ."\n" + .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', 'type' => 'string', 'example' => 'all'], + 'BindingKey' => ['description' => '绑定键。'."\n" + ."\n" + .'- 绑定源Exchange为非Topic类型:'."\n" + ."\n" + .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 长度限制1~255字符。'."\n" + ."\n" + .'- 绑定源Exchange为Topic类型:'."\n" + ."\n" + .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" + ."\n" + .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" + ."\n" + .' - 长度限制1~255字符。', 'type' => 'string', 'example' => 'amq.test'], + 'BindingType' => ['description' => '绑定目标对象的类型。取值:'."\n" + ."\n" + .'- **QUEUE**'."\n" + ."\n" + .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE'], + 'DestinationName' => ['description' => '绑定名称。', 'type' => 'string', 'example' => 'QueueTest'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"RequestId\\": \\"9C1E0502-0790-4FDB-8C96-6D5C8D9B7***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"test\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>operation success</Message>\\n<RequestId>9C1E0502-0790-4FDB-8C96-6D5C8D9B7***</RequestId>\\n<Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <Argument>test</Argument>\\n <SourceExchange>test</SourceExchange>\\n <BindingKey>amq.test</BindingKey>\\n <BindingType>QUEUE</BindingType>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>","errorExample":""}]', - 'title' => '查询Exchange绑定', + 'title' => '查询Queue被绑定', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListExchanges' => [ - 'summary' => '查询指定实例下某一Vhost内创建的所有Exchange。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2024-08-14T09:11:43.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-11-03T02:39:24.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueueUpStreamBindings'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:ListQueue'], + ['action' => 'amqp:ListExchange'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8BFB1C9D-08A2-4859-A47C-403C9EFA2***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": \\"1\\",\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueueUpStreamBindingsResponse>\\n <RequestId>8BFB1C9D-08A2-4859-A47C-403C9EFA2***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>test</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>QUEUE</BindingType>\\n <BindingKey>amq.test</BindingKey>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n </Data>\\n</ListQueueUpStreamBindingsResponse>","errorExample":""}]', + ], + 'ListQueues' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3176,62 +3498,28 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '58733', - 'abilityTreeNodes' => [ - 'FEATUREonsHNP38C', - ], + 'abilityTreeNodes' => ['FEATUREonsUKJAUW'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-7pp2mwbc****', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******'], ], [ 'name' => 'VirtualHost', 'in' => 'query', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Vhost名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '下一次查询的Token。取值:'."\n" - ."\n" - .'- 如果是第一次查询或没有下一次查询,则无需填写。'."\n" - ."\n" - .'- 如果有下一次查询,则取值为上一次返回的`NextToken`值。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****', - ], + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'minLength' => 1, 'default' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。取值:'."\n" - .'**1~100**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ @@ -3239,109 +3527,78 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CE811989-9F02-42CE-97A6-2239CB5C2***'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回的`NextToken`值,根据返回值判断是否有下一个查询开始的Token。'."\n" - ."\n" - .'- 如果`NextToken`为空,则表示没有下一个查询开始的Token。'."\n" - ."\n" - .'- 如果`NextToken`有返回值,则表示该返回值即为下一个查询开始的Token。', - 'type' => 'string', - 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****', - ], - 'Exchanges' => [ - 'description' => 'Exchange。', + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'Queues' => [ + 'description' => 'Queue。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'AutoDeleteState' => [ - 'description' => '自动删除状态。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'CreateTime' => [ - 'description' => 'Exchange创建的时间戳,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1580886216000', - ], - 'Attributes' => [ - 'description' => '当前版本不支持此参数。'."\n" - .'属性。', - 'type' => 'object', - 'example' => 'test', - ], - 'VHostName' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Name' => [ - 'description' => 'Exchange名称。', - 'type' => 'string', - 'example' => 'amq.direct', - ], - 'ExchangeType' => [ - 'description' => 'Exchange类型。', - 'type' => 'string', - 'example' => 'DIRECT', - ], - 'Internal' => [ - 'title' => '是否为内部Exchange', - 'description' => '是否为内部Exchange', - 'type' => 'boolean', - ], + 'ExclusiveState' => ['description' => '是否是排他性队列。', 'type' => 'boolean', 'example' => 'false'], + 'AutoDeleteState' => ['description' => '自动删除状态。', 'type' => 'boolean', 'example' => 'false'], + 'CreateTime' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1580887085240'], + 'Attributes' => ['description' => '属性。', 'type' => 'object', 'example' => 'test'], + 'VHostName' => ['description' => 'Vhost名称。', 'type' => 'string', 'example' => 'test'], + 'Name' => ['description' => 'Queue名称。', 'type' => 'string', 'example' => 'QueueTest'], + 'OwnerId' => ['description' => 'Queue所属的实例ID。', 'type' => 'string', 'example' => 'amqp-cn-5yd3aw******'], + 'LastConsumeTime' => ['description' => '上一次消费时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1680887085240'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****\\",\\n \\"Exchanges\\": [\\n {\\n \\"AutoDeleteState\\": false,\\n \\"CreateTime\\": 1580886216000,\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"VHostName\\": \\"test\\",\\n \\"Name\\": \\"amq.direct\\",\\n \\"ExchangeType\\": \\"DIRECT\\",\\n \\"Internal\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListExchangesResponse>\\n <RequestId>FEBA5E0C-50D0-4FA6-A794-4901E5465***</RequestId>\\n <Data>\\n <NextToken></NextToken>\\n <MaxResults>1</MaxResults>\\n <Exchanges>\\n <VHostName>test</VHostName>\\n <CreateTime>1580886216000</CreateTime>\\n <AutoDeleteState>false</AutoDeleteState>\\n <ExchangeType>DIRECT</ExchangeType>\\n <Name>amq.direct</Name>\\n </Exchanges>\\n </Data>\\n</ListExchangesResponse>","errorExample":""}]', - 'title' => '查询Exchange', + 'title' => '查询Queue', + 'summary' => '查询指定云消息队列 RabbitMQ 版实例下某一Vhost内的所有Queue信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListExchangeUpStreamBindings' => [ - 'summary' => '查询指定Exchange被哪些Queue或者其他Exchange绑定。', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:24.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueues'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE811989-9F02-42CE-97A6-2239CB5C2***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Queues\\": [\\n {\\n \\"ExclusiveState\\": false,\\n \\"AutoDeleteState\\": false,\\n \\"CreateTime\\": 1580887085240,\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"VHostName\\": \\"test\\",\\n \\"Name\\": \\"QueueTest\\",\\n \\"OwnerId\\": \\"amqp-cn-5yd3aw******\\",\\n \\"LastConsumeTime\\": 1680887085240\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueuesResponse>\\n <RequestId>CE811989-9F02-42CE-97A6-2239CB5C2***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Queues>\\n <VHostName>test</VHostName>\\n <OwnerId>1880770869023***</OwnerId>\\n <CreateTime>1580887085240</CreateTime>\\n <ExclusiveState>false</ExclusiveState>\\n <Attributes>test</Attributes>\\n <LastConsumeTime>1680887085240</LastConsumeTime>\\n <AutoDeleteState>false</AutoDeleteState>\\n <Name>QueueTest</Name>\\n </Queues>\\n </Data>\\n</ListQueuesResponse>","errorExample":""}]', + ], + 'ListVirtualHosts' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3353,67 +3610,24 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREonsHNP38C', - ], + 'abilityTreeNodes' => ['FEATUREonsSCH7G8'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1880770869023***', - ], - ], - [ - 'name' => 'VirtualHost', - 'in' => 'query', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'ExchangeName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Exchange名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用或返回最后一页时,取值为空字符串。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '最大结果集。取值:'."\n" + .'**1~100**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '2'], ], ], 'responses' => [ @@ -3421,282 +3635,150 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'operation success', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2DCCCE88-BC82-4A4F-AF5E-9A759672B***', - ], - 'Success' => [ - 'description' => '是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'EF4DB019-DA4A-4CE3-B220-223BBC93F***'], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'MaxResults' => [ - 'description' => '最大结果集。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'Bindings' => [ - 'description' => '绑定。', + 'MaxResults' => ['description' => '最大结果集。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'NextToken' => ['description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****'], + 'VirtualHosts' => [ + 'description' => 'Vhost列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'SourceExchange' => [ - 'description' => '源Exchange名称。', - 'type' => 'string', - 'example' => 'dle', - ], - 'Argument' => [ - 'description' => 'x-match属性。取值:'."\n" - ."\n" - .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" - ."\n" - .'- **any**:至少一对消息头的键值对必须匹配。'."\n" - ."\n" - .'该参数仅适用于Headers类型的Exchange,对其它类型的Exchange无效。', - 'type' => 'string', - 'example' => 'all', - ], - 'BindingKey' => [ - 'description' => '绑定键。'."\n" - ."\n" - .'- 绑定源Exchange为非Topic类型:'."\n" - ."\n" - .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 长度限制1~255字符。'."\n" - ."\n" - .'- 绑定源Exchange为Topic类型:'."\n" - ."\n" - .' - 可以包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" - ."\n" - .' - 长度限制1~255字符。', - 'type' => 'string', - 'example' => 'amq.dle.test', - ], - 'BindingType' => [ - 'description' => '绑定目标对象的类型。取值:'."\n" - ."\n" - .'- **QUEUE**'."\n" - ."\n" - .'- **EXCHANGE**', - 'type' => 'string', - 'example' => 'EXCHANGE', - ], - 'DestinationName' => [ - 'description' => '目标名称。', - 'type' => 'string', - 'example' => 'test', - ], + 'Name' => ['description' => 'Vhost名称。', 'type' => 'string', 'example' => 'test'], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"RequestId\\": \\"2DCCCE88-BC82-4A4F-AF5E-9A759672B***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"dle\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.dle.test\\",\\n \\"BindingType\\": \\"EXCHANGE\\",\\n \\"DestinationName\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListExchangeUpStreamBindingsResponse>\\n <RequestId>2DCCCE88-BC82-4A4F-AF5E-9A759672B***</RequestId>\\n <Message>operation success</Message>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>dle</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>EXCHANGE</BindingType>\\n <BindingKey>amq.dle.test</BindingKey>\\n <DestinationName>test</DestinationName>\\n </Bindings>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListExchangeUpStreamBindingsResponse>","errorExample":""}]', - 'title' => '查询Exchange被绑定', + 'title' => '查询 Vhost', + 'summary' => '查询指定云消息队列 RabbitMQ 版实例下所有的Vhost。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateBinding' => [ - 'summary' => 'Producer将消息发送到Exchange,Exchange根据创建的绑定关系以及路由规则选择将消息路由到指定的Queue或其他Exchange中。', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2023-11-03T02:39:24.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListVirtualHosts'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EF4DB019-DA4A-4CE3-B220-223BBC93F***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 2,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"VirtualHosts\\": [\\n {\\n \\"Name\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListVirtualHostsResponse>\\n <RequestId>EF4DB019-DA4A-4CE3-B220-223BBC93F***</RequestId>\\n <Data>\\n <NextToken></NextToken>\\n <MaxResults>2</MaxResults>\\n <VirtualHosts>\\n <Name>test</Name>\\n </VirtualHosts>\\n </Data>\\n</ListVirtualHostsResponse>","errorExample":""}]', + ], + 'RemoveInstanceWhiteList' => [ + 'summary' => '删除实例ip/vpc白名单。', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '58722', - 'abilityTreeNodes' => [ - 'FEATUREons5ZTT5D', - ], + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', - ], - ], - [ - 'name' => 'VirtualHost', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Vhost名称。'."\n" - .'此Vhost已在控制台创建且是**DestinationName**和**SourceExchange**所属的Vhost。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'SourceExchange', - 'in' => 'formData', - 'schema' => [ - 'description' => '源Exchange名称,且此Exchange已在控制台创建。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'NormalEX', - ], - ], - [ - 'name' => 'DestinationName', - 'in' => 'formData', - 'schema' => [ - 'description' => '绑定目标名称。'."\n" - .'此绑定目标需已在控制台创建且所属Vhost与**SourceExchange**所属Vhost一致,即在**VirtualHost**中。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoQueue', - ], + 'in' => 'query', + 'schema' => ['title' => '需要删除白名单的实例ID', 'description' => '需要删除白名单的实例ID', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-5yd3aw******'], ], [ - 'name' => 'BindingKey', - 'in' => 'formData', - 'schema' => [ - 'description' => '绑定键。'."\n" - ."\n" - .'- 绑定源Exchange为非Topic类型:'."\n" - ."\n" - .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 长度限制1~255字符。'."\n" - ."\n" - .'- 绑定源Exchange为Topic类型:'."\n" - ."\n" - .' - 可以包含字母、数字、短划线(-)、下划线(_)、星号(*)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" - ."\n" - .' - 长度限制1~255字符。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '.test', - ], + 'name' => 'whiteListItemId', + 'in' => 'query', + 'schema' => ['title' => '白名单ID'."\n" + .'通过ListInstanceWhiteList查询', 'description' => '白名单ID'."\n" + .'通过ListInstanceWhiteList查询', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '420'], ], [ - 'name' => 'BindingType', - 'in' => 'formData', + 'name' => 'whiteListType', + 'in' => 'query', 'schema' => [ - 'description' => '绑定目标对象的类型。取值:'."\n" + 'title' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" ."\n" - .'- **0:**Queue'."\n" + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'description' => '白名单类型。'."\n" + .'如果WhiteListItem中是IP类型,WhiteListType设置为2;如果WhiteListItem中设置vpcId,则WhiteListType设置1。'."\n" ."\n" - .'- **1:**Exchange '."\n", - 'type' => 'string', + .'vpc白名单仅针对vpc接入点是anytunnel类型的实例。最新版本实例vpc接入点为privateLink类型,因此不能针对此种类型实例设置vpc白名单。', + 'type' => 'integer', + 'format' => 'int32', 'required' => true, - 'docRequired' => true, - 'example' => '0', - ], - ], - [ - 'name' => 'Argument', - 'in' => 'formData', - 'schema' => [ - 'description' => '设置消息头属性键值对信息,消息头属性使用一个或多个键值对拼接而成。x-match属性必须配置,其余属性可自定义。x-match属性取值如下:'."\n" - ."\n" - .'- **all:**默认值,所有消息头的键值对必须匹配。'."\n" - ."\n" - .'- **any:**至少一对消息头的键值对必须匹配。'."\n" - ."\n" - .'属性之间使用半角分号(;)隔开,属性键与值之间使用半角冒号(:)区分。例如x-match:all;type:report;format:pdf'."\n" - .'该参数适用于Headers Exchange,对其它类型的Exchange无效。其它类型的Exchange,此处可以填任意值。', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'x-match:all;type:report;format:pdf ', + 'example' => '2', + 'enum' => ['1', '2'], ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '09768C14-E51C-4F4A-8077-30810032C***', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求唯一ID', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '请求错误时,返回错误信息', 'type' => 'string', 'example' => 'can not find resource: instanceId:amqp-cn-xxx, whiteListItemId:420, whiteListType:1'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Data' => ['description' => '请求是否成功', 'type' => 'any', 'example' => 'true'], + 'StatusCode' => ['description' => '调用返回码,200标识为成功', 'type' => 'string', 'example' => '200'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09768C14-E51C-4F4A-8077-30810032C***\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBindingResponse>\\n <RequestId>09768C14-E51C-4F4A-8077-30810032C***</RequestId>\\n</CreateBindingResponse>","errorExample":""}]', - 'title' => '创建绑定', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteBinding' => [ - 'summary' => '调用DeleteBinding解除源Exchange与目标Queue或者其他Exchange的绑定关系。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除IP/VPCID白名单', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"can not find resource: instanceId:amqp-cn-xxx, whiteListItemId:420, whiteListType:1\\",\\n \\"Success\\": true,\\n \\"Data\\": \\"true\\",\\n \\"StatusCode\\": \\"200\\"\\n}","type":"json"}]', + ], + 'UpdateInstance' => [ + 'summary' => '更新云消息队列RabbitMQ的实例,升降配规格。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3705,177 +3787,263 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '58726', - 'abilityTreeNodes' => [ - 'FEATUREons5ZTT5D', - ], + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '213154', + 'abilityTreeNodes' => ['FEATUREonsQ3252I'], ], 'parameters' => [ [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['title' => '客户端Token', 'description' => '客户端Token。', 'type' => 'string', 'required' => false, 'example' => 'c2c5d1274axxxxxxxx'], + ], + [ 'name' => 'InstanceId', - 'in' => 'formData', + 'in' => 'query', 'schema' => [ - 'description' => '实例ID。', + 'title' => '变配的实例 id,必填', + 'description' => '云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-v0h1kb9nu***', + 'example' => 'amqp-cn-jtexxxxx', + 'enum' => [], ], ], [ - 'name' => 'VirtualHost', - 'in' => 'formData', + 'name' => 'ModifyType', + 'in' => 'query', 'schema' => [ - 'description' => 'Vhost名称。', + 'title' => '变配类型:'."\n" + .'- UPGRADE:升配'."\n" + .'- DOWNGRADE:降配', + 'description' => '变配类型,取值如下:'."\n" + .'- UPGRADE:升配'."\n" + .'- DOWNGRADE:降配', 'type' => 'string', 'required' => true, - 'docRequired' => true, - 'example' => 'test', + 'example' => 'UPGRADE', + 'enum' => ['UPGRADE', 'DOWNGRADE'], ], ], [ - 'name' => 'SourceExchange', - 'in' => 'formData', + 'name' => 'InstanceType', + 'in' => 'query', 'schema' => [ - 'description' => '源Exchange名称。', + 'title' => '实例规格类型', + 'description' => '实例规格类型, 预付费类型的取值如下:'."\n" + .'- professional:专业版'."\n" + .'- enterprise:企业版'."\n" + .'- vip:铂金版'."\n" + ."\n" + .'后付费实例:无需填写', 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'NormalEX', + 'required' => false, + 'example' => 'professional', + 'enum' => ['professional', 'enterprise', 'vip', 'serverless', 'provisioned'], ], ], [ - 'name' => 'DestinationName', - 'in' => 'formData', + 'name' => 'ServerlessChargeType', + 'in' => 'query', 'schema' => [ - 'description' => '解绑目标对象的名称。', + 'description' => '后付费(即 Serverless)实例的计费类型,取值如下:'."\n" + .'- onDemand:按量累计', 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'DemoQueue', + 'required' => false, + 'example' => 'onDemand', + 'enum' => ['onDemand', 'provisioned'], ], ], [ - 'name' => 'BindingType', - 'in' => 'formData', + 'name' => 'MaxPrivateTps', + 'in' => 'query', + 'schema' => ['title' => '私网TPS流量,单位:次/秒', 'description' => '私网TPS流量,单位:次/秒', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'SupportEip', + 'in' => 'query', + 'schema' => ['title' => '是否支持公网', 'description' => '是否支持公网', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + [ + 'name' => 'MaxEipTps', + 'in' => 'query', + 'schema' => ['title' => '公网网TPS流量峰值,单位:TPS', 'description' => '公网 TPS 流量峰值,单位:次/秒', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '128', 'default' => '128'], + ], + [ + 'name' => 'QueueCapacity', + 'in' => 'query', + 'schema' => ['title' => '配置Queue的数量上限', 'description' => '配置Queue的数量上限', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'MaxConnections', + 'in' => 'query', + 'schema' => ['title' => '最大连接数', 'description' => '最大连接数', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'], + ], + [ + 'name' => 'StorageSize', + 'in' => 'query', + 'schema' => ['title' => '配置消息存储空间', 'description' => '配置消息存储空间', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '7'], + ], + [ + 'name' => 'SupportTracing', + 'in' => 'query', + 'schema' => ['title' => '是否开通消息轨迹功能', 'description' => '是否开通消息轨迹功能', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + [ + 'name' => 'TracingStorageTime', + 'in' => 'query', 'schema' => [ - 'description' => '解绑目标对象的类型。取值:'."\n" - ."\n" - .'- **QUEUE**'."\n" - ."\n" - .'- **EXCHANGE**', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'QUEUE', + 'title' => '配置消息轨迹的保存时长', + 'description' => '配置消息轨迹的保存时长', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'enum' => ['3', '7', '15'], ], ], [ - 'name' => 'BindingKey', - 'in' => 'formData', + 'name' => 'EncryptedInstance', + 'in' => 'query', + 'schema' => ['title' => '是否开通磁盘存储加密', 'description' => '独享实例专属功能。实例是否开通数据存储加密功能。'."\n" + ."\n" + .'- 独享实例EncryptedInstance、KmsKeyId属性不能更改(包括变配成非加密;降级成共享加密;降级成共享非加密);即独享实例使用UpdateInstance升/降级配置时,不允许携带EncryptedInstance、KmsKeyId参数;'."\n" + ."\n" + .'- EncryptedInstance的EncryptedInstance、KmsKeyId参数,运用场景是,共享实例升级成加密独享实例。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + [ + 'name' => 'KmsKeyId', + 'in' => 'query', + 'schema' => ['title' => 'kms Key Id', 'description' => '独享实例专属功能,当EncryptedInstance为true时需要填写此字段。'."\n" + .'数据加密存储使用的KMS密钥ID。'."\n" + .'对密钥有以下要求:'."\n" + ."\n" + .'- KMS密钥实例须要与RabbitMQ实例在同一个地域;'."\n" + ."\n" + .'- 不能是服务密钥;'."\n" + ."\n" + .'- 密钥状态必须是开启的;'."\n" + ."\n" + .'- 必须是对称密钥,不能是非对称密钥;'."\n" + ."\n" + .'- 密钥用途必须是加解密;'."\n" + ."\n" + .'- KMS密钥过期/删除后,数据读写不可用,RabbitMQ实例异常;', 'type' => 'string', 'required' => false, 'example' => 'key-bjj66c2a893vmhawtq5fd'], + ], + [ + 'name' => 'ProvisionedCapacity', + 'in' => 'query', + 'schema' => ['description' => '预留+弹性实例的预留TPS容量。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000'], + ], + [ + 'name' => 'Edition', + 'in' => 'query', 'schema' => [ - 'description' => '绑定键。', + 'description' => 'Serverless实例部署架构,取值如下:'."\n" + ."\n" + .'- shared:共享架构,适用预留+弹性(共享)以及按量付费版本。'."\n" + ."\n" + .'- dedicated:独享架构,适用预留+弹性(独享)版本。', 'type' => 'string', 'required' => false, - 'docRequired' => false, - 'example' => '.test.', - 'default' => '', + 'example' => 'shared', + 'enum' => ['shared', 'dedicated'], ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => '628705FD-03EE-4ABE-BB21-E1672960***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'InstanceNotExist'], + 'Data' => ['description' => '返回数据,涵盖 orderId 和 instanceId。例如'."\n" + ."\n" + .'``` json'."\n" + .'"Data": {'."\n" + .' "instanceId": "amqp-cn-xxxxx",'."\n" + .' "orderId": 22222'."\n" + .' }'."\n" + .'```', 'type' => 'any', 'example' => '{\'instanceId\': \'rabbitmq-serverless-cn-lf63qsjlf06\', \'orderId\': 234170302080010}'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'string', 'example' => 'true'], + 'StatusCode' => ['description' => '状态码。', 'type' => 'string', 'example' => '200'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A6***\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBindingResponse>\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A19A6***</RequestId>\\n</DeleteBindingResponse>","errorExample":""}]', - 'title' => '删除绑定', - ], - 'ListBindings' => [ - 'summary' => '查询指定云消息队列 RabbitMQ 版实例下某一Vhost内所有创建的绑定关系。', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'INSUFFICIENT_AVAILABLE_QUOTA', 'errorMessage' => 'Your account available limit is less than 0, please recharge before trying to purchase.', 'description' => '您的账户可用额度小于0,请先充值后再尝试购买。'], + ['errorCode' => 'UpDowngradeConfigNoChange', 'errorMessage' => 'The upgrade or downgrade configuration is not changed.', 'description' => '升级或降配的配置未改变,请重新选择'."\n"], + ], + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新实例', + 'changeSet' => [ + ['createdAt' => '2025-04-29T02:14:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-02T03:01:52.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-11-25T06:29:59.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'amqp:UpdateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'amqp:InstanceType', 'validationType' => 'always'], + ['conditionKey' => 'amqp:SupportEIP', 'validationType' => 'always'], + ['conditionKey' => 'amqp:ServerlessChargeType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"628705FD-03EE-4ABE-BB21-E1672960***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"InstanceNotExist\\",\\n \\"Data\\": \\"{\'instanceId\': \'rabbitmq-serverless-cn-lf63qsjlf06\', \'orderId\': 234170302080010}\\",\\n \\"Success\\": \\"true\\",\\n \\"StatusCode\\": \\"200\\"\\n}","type":"json"}]', + ], + 'UpdateInstanceName' => [ + 'summary' => '云消息队列 RabbitMQ 版实例后,实例名称默认为实例ID,您可以自定义修改实例名称,方便区分实例。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREons5ZTT5D', - ], + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1880770869023***', - ], - ], - [ - 'name' => 'VirtualHost', - 'in' => 'query', - 'schema' => [ - 'description' => 'Vhost名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Test', - ], + 'schema' => ['description' => '需修改名称的云消息队列 RabbitMQ 版实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-zvp2ajsj****'], ], [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '用来标记当前查询结束的位置,以便下一次调用时作为参数传入,继续翻页。首次调用和当返回最后一页时,取值为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - 'minLength' => 1, - 'default' => '', - ], - ], - [ - 'name' => 'MaxResults', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => '本次读取的最大数据记录数量。取值:'."\n" - ."\n" - .'**1~100**'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '需更新的实例名称。取值无限制,建议长度不超过64个字符。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp_test'], ], ], 'responses' => [ @@ -3883,454 +4051,163 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'E0A71208-3E87-4732-81CC-B18E0B4B1***', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'MaxResults' => [ - 'description' => '本次请求所返回的最大记录条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕。', - 'type' => 'string', - 'example' => 'caebacccb2be03f84eb48b699f0a****', - ], - 'Bindings' => [ - 'description' => '绑定关系列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SourceExchange' => [ - 'description' => '源Exchange名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Argument' => [ - 'description' => 'x-match属性。取值:'."\n" - ."\n" - .'- **all**:默认值,所有消息头的键值对必须匹配。'."\n" - ."\n" - .'- **any**:至少一对消息头的键值对必须匹配。'."\n" - ."\n" - .'该参数仅适用于Headers类型的Exchange。', - 'type' => 'string', - 'example' => 'all', - ], - 'BindingKey' => [ - 'description' => '绑定键。'."\n" - ."\n" - .'- 绑定源Exchange为非Topic类型:'."\n" - ."\n" - .' - 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 长度限制1~255字符。'."\n" - ."\n" - .'- 绑定源Exchange为Topic类型:'."\n" - ."\n" - .' - 可以包含字母、数字、短划线(-)、下划线(_)、星号(*)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。'."\n" - ."\n" - .' - 不能以半角句号(.)开头或结尾。对于井号(#)或星号(*),如果以其开头,则其后需有半角句号(.),如果以其结尾,则其前需有半角句号(.),如果既不是开头也不是结尾,则其前后均需有半角句号(.)。'."\n" - ."\n" - .' - 长度限制1~255字符。', - 'type' => 'string', - 'example' => 'amq.test', - ], - 'BindingType' => [ - 'description' => '绑定目标对象的类型。取值:'."\n" - ."\n" - .'- **QUEUE**'."\n" - ."\n" - .'- **EXCHANGE**', - 'type' => 'string', - 'example' => 'QUEUE', - ], - 'DestinationName' => [ - 'description' => '绑定目标名称。', - 'type' => 'string', - 'example' => 'QueueTest', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => '当执行报错时,返回此参数,提示错误信息。', 'type' => 'string', 'example' => 'InstanceNotExist'], + 'Data' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****'], + 'Success' => ['description' => '执行成功的返回信息。'."\n" + ."\n", 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '请求因遭遇某些未知错误而失败。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E0A71208-3E87-4732-81CC-B18E0B4B1***\\",\\n \\"Data\\": {\\n \\"MaxResults\\": 1,\\n \\"NextToken\\": \\"caebacccb2be03f84eb48b699f0a****\\",\\n \\"Bindings\\": [\\n {\\n \\"SourceExchange\\": \\"test\\",\\n \\"Argument\\": \\"all\\",\\n \\"BindingKey\\": \\"amq.test\\",\\n \\"BindingType\\": \\"QUEUE\\",\\n \\"DestinationName\\": \\"QueueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListBindingsResponse>\\n <RequestId>E0A71208-3E87-4732-81CC-B18E0B4B1***</RequestId>\\n <Data>\\n <NextToken>,</NextToken>\\n <MaxResults>1</MaxResults>\\n <Bindings>\\n <SourceExchange>test</SourceExchange>\\n <Argument>all</Argument>\\n <BindingType>QUEUE</BindingType>\\n <BindingKey>amq.test</BindingKey>\\n <DestinationName>QueueTest</DestinationName>\\n </Bindings>\\n </Data>\\n</ListBindingsResponse>","errorExample":""}]', - 'title' => '查询绑定', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => '更新实例名称', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateAccount' => [ - 'summary' => '开源客户端访问云消息队列 RabbitMQ 版服务端时,需要传入用户名和密码进行权限认证,认证通过才允许访问服务端。云消息队列 RabbitMQ 版支持通过阿里云访问控制(RAM)的AccessKey和AccessKey Secret生成用户名和密码。', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstanceName'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'amqp:UpdateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"InstanceNotExist\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"6DC68EC9-0E76-5435-B8C0-FF9492B4****\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateInstanceNameResponse>\\n <RequestId>6DC68EC9-0E76-5435-B8C0-FF9492B4****</RequestId>\\n <Data>true</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateInstanceNameResponse>","errorExample":""}]', + ], + 'UpdateInstanceServerlessSwitch' => [ + 'summary' => '更新serverless开关', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '164698', - 'abilityTreeNodes' => [ - 'FEATUREonsSLSXRS', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ - 'name' => 'instanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '消息队列RabbitMQ版实例的ID,表示您需要为哪个实例创建静态用户名密码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'amqp-cn-*********', - ], - ], - [ - 'name' => 'accountAccessKey', - 'in' => 'query', - 'schema' => [ - 'description' => '您的阿里云账号或RAM用户的AccessKey ID。获取方式,请参见[创建AccessKey](~~116401~~)。'."\n" - ."\n" - .'> 如果您使用RAM用户的AccessKey创建的静态用户名密码接入消息队列RabbitMQ版并收发消息,请确保该RAM用户已被授予收发消息权限。更多信息,请参见[RAM权限策略](~~146559~~)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'yourAccessKeyID', - ], - ], - [ - 'name' => 'userName', - 'in' => 'query', - 'schema' => [ - 'description' => '待创建的静态用户名。'."\n" - ."\n" - .'该参数值由实例ID和AccessKey ID构造的字符串经过Base64编码得出,具体计算方法,请参见本文中的**用户名计算示例代码**。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Mjo****************', - ], - ], - [ - 'name' => 'signature', - 'in' => 'query', - 'schema' => [ - 'description' => '签名,系统将根据请求参数中的签名、AccessKey Secret签名和用户名计算出静态用户密码。'."\n" - ."\n" - .'签名由指定的用户名创建时间戳和AccessKey ID进行HmacSHA1加密算法计算得出。具体计算方法,请参见本文中的**签名算法示例代码**。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '22c2d7d1769cb53c5a6d9213248e2de524******', - ], - ], - [ - 'name' => 'createTimestamp', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '指定该用户名密码创建的时间戳。单位:毫秒。'."\n" - ."\n" - .'> 该时间戳用于计算静态用户密码,由您自定义设置。不是系统生成用户名密码时的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '1671175303522', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], ], [ - 'name' => 'secretSign', + 'name' => 'ServerlessSwitch', 'in' => 'query', - 'schema' => [ - 'description' => 'AccessKey Secret签名,系统将根据请求参数中的签名、AccessKey Secret签名和用户名计算出静态用户密码。'."\n" - ."\n" - .'AccessKey Secret签名由指定的用户名创建时间戳和AccessKey ID进行HmacSHA1加密算法计算得出。具体计算方法,请参见本文中的**签名算法示例代码**。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4c1a6367ce4c4255e9617326f9133ac635******', - ], + 'schema' => ['description' => 'Serverless 弹性能力。'."\n" + ."\n" + .'- true 开启:实例最大 TPS 提升至基础 TPS × 倍率(专业版 1.5 倍,企业/铂金版 2 倍)'."\n" + ."\n" + .'- false 关闭:实例最大 TPS 恢复至原始基础 TPS', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'Remark', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'title' => '静态用户备注', - 'description' => '静态用户备注', - 'type' => 'string', - 'required' => false, - 'example' => '***环境', - ], + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一。只支持 ASCII 字符,且不能超过 64 个字符', 'type' => 'string', 'required' => false, 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结果。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***', - ], - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'operation success', - ], - 'Success' => [ - 'description' => '执行结果是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'AccessKey' => [ - 'description' => '创建该用户名密码所使用的AccessKey ID。', - 'type' => 'string', - 'example' => 'LTAI****************', - ], - 'Password' => [ - 'description' => '创建的静态用户密码。', - 'type' => 'string', - 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1', - ], - 'CreateTimeStamp' => [ - 'description' => '创建用户名密码的时间戳。单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1671175303522', - ], - 'InstanceId' => [ - 'description' => '消息队列RabbitMQ版实例的ID。', - 'type' => 'string', - 'example' => 'amqp-cn-*********', - ], - 'MasterUId' => [ - 'description' => '创建静态用户名密码的AccessKey所属的阿里云账号或RAM用户的账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1565***********01', - ], - 'UserName' => [ - 'description' => '创建的静态用户名。', - 'type' => 'string', - 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', - ], - 'Remark' => [ - 'title' => '备注', - 'description' => '备注', - 'type' => 'string', - 'example' => '***环境', - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***'], + 'Code' => ['description' => '状态码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '请求结果。', 'type' => 'boolean', 'example' => 'True'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], + 'Data' => ['description' => '返回数据。', 'type' => 'boolean'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改Serverless实例弹性开关', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FEBA5E0C-50D0-4FA6-A794-4901E5465***\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AccessKey\\": \\"LTAI****************\\",\\n \\"Password\\": \\"OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1\\",\\n \\"CreateTimeStamp\\": 1671175303522,\\n \\"InstanceId\\": \\"amqp-cn-*********\\",\\n \\"MasterUId\\": 0,\\n \\"UserName\\": \\"MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=\\",\\n \\"Remark\\": \\"***环境\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateAccountResponse>\\n <RequestId>FEBA5E0C-50D0-4FA6-A794-4901E5465***</RequestId>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n <Success>true</Success>\\n <Data>\\n <AccessKey>LTAI5***********eRZtEJ6vfo</AccessKey>\\n <Password>OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1</Password>\\n <CreateTimeStamp>1671175303522</CreateTimeStamp>\\n <InstanceId>amqp-cn-*********</InstanceId>\\n <UserName>MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=</UserName>\\n </Data>\\n</CreateAccountResponse>","errorExample":""}]', - 'title' => '创建用户名密码', - 'description' => '### 背景信息'."\n" - .'开源客户端访问云消息队列 RabbitMQ 版服务端时,需要传入用户名和密码进行权限认证,认证通过才允许访问服务端。'."\n" - .'云消息队列 RabbitMQ 版支持通过阿里云访问控制(RAM)的AccessKey和AccessKey Secret生成用户名和密码。'."\n" - .'### 注意事项'."\n" - .'- 创建静态用户名密码所属的实例需处于服务中状态。'."\n" - .'- 一个实例下的AccessKey和静态用户名密码一一对应,即一个实例下的一个AccessKey只能创建一个静态用户名密码。'."\n" - .'- 如果需要更新静态用户名密码,您可以删除该静态用户名密码后重新创建。'."\n" - .'### 用户名计算示例代码'."\n" - .'请求参数中的userName的参数值,需要由实例ID和AccessKey ID构造字符串并进行Base64编码得出。具体的计算方法如下:'."\n" - .'```'."\n" - .'import java.nio.charset.Charset;'."\n" - .'import java.nio.charset.StandardCharsets;'."\n" - .'import java.util.Base64;'."\n" - ."\n" - .'public class Base64Utils {'."\n" - .' public static final Charset UTF8 = StandardCharsets.UTF_8;'."\n" - ."\n" - .' /**'."\n" - .' * 解码 base64 字符串'."\n" - .' *'."\n" - .' * @param str'."\n" - .' * @return'."\n" - .' */'."\n" - .' public static String decode(String str) {'."\n" - .' return new String(Base64.getDecoder().decode(str.getBytes(UTF8)), UTF8);'."\n" - .' }'."\n" - ."\n" - .' public static String encode(String bytes) {'."\n" - .' return new String(Base64.getEncoder().encode(bytes.getBytes(UTF8)), UTF8);'."\n" - .' }'."\n" - ."\n" - .' public static void main(String[] args) {'."\n" - .' //使用您的实例 ID 以及购买该实例的账号 AK,组成字符串。'."\n" - .' String str = "2:${instanceId}:${ak}";'."\n" - ."\n" - .' //生成 API 使用的 userName。'."\n" - .' String userName = encode(str);'."\n" - .' System.out.println("userName=" + userName);'."\n" - ."\n" - .' String decodeStr = decode(userName);'."\n" - .' System.out.println("originStr=" + decodeStr);'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'### 签名算法示例代码'."\n" - .'请求参数中signature和secretSign的参数值,需要由指定的静态用户名的创建时间戳和AccessKey Secret进行加密算法计算得出。具体的算法和示例代码如下:'."\n" - .'```'."\n" - .'import javax.crypto.Mac;'."\n" - .'import javax.crypto.spec.SecretKeySpec;'."\n" - .'import java.security.InvalidKeyException;'."\n" - .'import java.security.NoSuchAlgorithmException;'."\n" - ."\n" - .'public class SignatureUtils {'."\n" - ."\n" - .' public static String hamcsha1(byte[] data, byte[] key) throws NoSuchAlgorithmException, InvalidKeyException {'."\n" - .' SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1");'."\n" - .' Mac mac = Mac.getInstance("HmacSHA1");'."\n" - .' mac.init(signingKey);'."\n" - .' return byte2hex(mac.doFinal(data));'."\n" - .' }'."\n" - ."\n" - .' public static String byte2hex(byte[] b) {'."\n" - .' StringBuilder hs = new StringBuilder();'."\n" - .' String stmp;'."\n" - .' for (int n = 0; b != null && n < b.length; n++) {'."\n" - .' stmp = Integer.toHexString(b[n] & 0XFF);'."\n" - .' if (stmp.length() == 1) {'."\n" - .' hs.append(\'0\');'."\n" - .' }'."\n" - .' hs.append(stmp);'."\n" - .' }'."\n" - .' return hs.toString().toUpperCase();'."\n" - .' }'."\n" - ."\n" - .' public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException {'."\n" - .' //createTimestamp 即是 API 的 createTimestamp 参数。'."\n" - .' String createTimestamp = String.valueOf(System.currentTimeMillis());'."\n" - .' System.out.println("timestamp:" + createTimestamp);'."\n" - ."\n" - .' //您账号的 sk。'."\n" - .' String sk = "${sk}";'."\n" - ."\n" - .' //生成 API 使用的 SecretSign。'."\n" - .' String SecretSign = hamcsha1(sk.getBytes(), createTimestamp.getBytes());'."\n" - .' System.out.println("SecretSign:" + SecretSign);'."\n" - ."\n" - .' //生成 API 使用的 signature。'."\n" - .' String signature = hamcsha1(createTimestamp.getBytes(), sk.getBytes());'."\n" - .' System.out.println("signature:" + signature);'."\n" - .' }'."\n" - .'}'."\n" - .'```', - 'extraInfo' => '### 控制台操作'."\n" - .'除了调用**CreateAccount**接口,您还可以通过云消息队列 RabbitMQ 版控制台创建静态用户名密码。具体操作,请参见[静态用户名密码管理](~~184399~~)。', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCBB1225-C392-480E-8C7F-D09AB2CD2***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": true\\n}","type":"json"}]', ], - 'DeleteAccount' => [ - 'summary' => '删除用户名密码。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateOpenSourceAccount' => [ + 'summary' => '更新开源用户名密码', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '160959', - 'abilityTreeNodes' => [ - 'FEATUREonsSLSXRS', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREonsSLSXRS'], ], 'parameters' => [ [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-20p****04'], + ], + [ 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '待删除的静态用户名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', - ], + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => true, 'example' => 'myname'], ], [ - 'name' => 'CreateTimestamp', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => '待删除的静态用户名密码的创建时间戳。单位:毫秒。'."\n" - ."\n" - .'您可以调用[ListAccounts](~~472730~~)接口查看。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => true, - 'example' => '1671175303522', - ], + 'schema' => ['description' => '账号密码。', 'type' => 'string', 'required' => false, 'example' => '123456Aa'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '备注', 'type' => 'string', 'required' => false, 'example' => 'project name pass the check'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求的幂等性,防止请求重复提交。', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b'], ], ], 'responses' => [ @@ -4340,280 +4217,846 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '021788F6-E50C-4BD6-9F80-66B0A1******', - ], - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'operation success', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Success' => [ - 'description' => '执行结果是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求 ID', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'], + 'Code' => ['description' => '返回码。返回200代表成功。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '执行结果是否成功。', 'type' => 'boolean', 'example' => 'True'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A1******\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": true,\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccountResponse>\\n <RequestId>021788F6-E50C-4BD6-9F80-66B0A1******</RequestId>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n <Data>true</Data>\\n <Success>true</Success>\\n</DeleteAccountResponse>","errorExample":""}]', - 'title' => '删除用户名密码', - ], - 'ListAccounts' => [ - 'summary' => '查看指定云消息队列 RabbitMQ 版实例的用户名密码。', - 'methods' => [ - 'post', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新开源用户名密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8BFB1C9D-08A2-4859-A47C-403C9EFA2***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\"\\n}","type":"json"}]', + ], + 'UpdateOpenSourcePermission' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '160958', - 'abilityTreeNodes' => [ - 'FEATUREonsSLSXRS', - ], + 'abilityTreeNodes' => ['FEATUREonsSGDS5X'], ], 'parameters' => [ [ 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '云消息队列 RabbitMQ 版实例的ID,表示您需要查询哪个实例下的静态用户名密码。', - 'type' => 'string', - 'required' => false, - 'example' => 'amqp-cn-20p****04', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***'], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => '用户名', 'type' => 'string', 'required' => false, 'example' => 'MyName'], + ], + [ + 'name' => 'Vhost', + 'in' => 'query', + 'schema' => ['description' => 'vhost 名称', 'type' => 'string', 'required' => false, 'example' => 'production'], + ], + [ + 'name' => 'Configure', + 'in' => 'query', + 'schema' => ['description' => '配置权限正则表达式', 'type' => 'string', 'required' => false, 'example' => '^$'], + ], + [ + 'name' => 'Write', + 'in' => 'query', + 'schema' => ['description' => '写权限正则', 'type' => 'string', 'required' => false, 'example' => 'order_exchange'], + ], + [ + 'name' => 'Read', + 'in' => 'query', + 'schema' => ['description' => '读权限正则', 'type' => 'string', 'required' => false, 'example' => '^$'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不超过64个ASCII字符。', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回信息。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '549A5A97-FE61-5A23-8126-3A1192*****', - ], - 'Success' => [ - 'description' => '执行结果是否成功。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'masterUid' => [ - 'type' => 'integer', - 'format' => 'int64', - 'description' => '创建静态用户名密码的AccessKey所属的阿里云账号或RAM用户的账号ID。', - 'example' => '1565************1', - ], - 'cInstanceId' => [ - 'type' => 'string', - 'description' => '云消息队列 RabbitMQ 版实例的ID。', - 'example' => 'amqp-cn-uqm******03', - ], - 'accessKey' => [ - 'type' => 'string', - 'description' => '创建静态用户名密码所使用的AccessKey ID。', - 'example' => 'LTAI****************', - ], - 'userName' => [ - 'type' => 'string', - 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', - 'description' => '静态用户名。', - ], - 'password' => [ - 'type' => 'string', - 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1', - 'description' => '静态用户密码。', - ], - 'deleted' => [ - 'type' => 'integer', - 'format' => 'int64', - 'description' => '静态用户名密码的删除时间戳。单位:毫秒。', - 'example' => '0', - ], - 'createTimestamp' => [ - 'type' => 'integer', - 'format' => 'int64', - 'description' => '静态用户名密码的创建时间戳。单位:毫秒。', - 'example' => '1671175303522', - ], - 'Remark' => [ - 'title' => '备注', - 'type' => 'string', - 'example' => '***环境', - 'description' => '备注', - ], - ], - 'description' => 'object', - ], - 'description' => '结果集。', - ], - ], - 'Code' => [ - 'description' => '返回码。返回200代表成功。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => '返回信息。', - 'type' => 'string', - 'example' => 'operation success', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****'], + 'Code' => ['description' => '状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => '请求是否成功。', 'type' => 'boolean', 'example' => 'true'], + 'Message' => ['description' => '返回信息。', 'type' => 'string', 'example' => 'operation success'], ], ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InstanceIdNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], - [ - 'errorCode' => 'InstanceNotExist', - 'errorMessage' => 'The instance resource does not exist.', - ], + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => '该请求未经授权。'], + ], + [ + ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => '实例资源不存在'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"549A5A97-FE61-5A23-8126-3A1192*****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"key\\": [\\n {\\n \\"masterUid\\": 0,\\n \\"cInstanceId\\": \\"amqp-cn-uqm******03\\",\\n \\"accessKey\\": \\"LTAI****************\\",\\n \\"userName\\": \\"MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=\\",\\n \\"password\\": \\"OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1\\",\\n \\"deleted\\": 0,\\n \\"createTimestamp\\": 1671175303522,\\n \\"Remark\\": \\"***环境\\"\\n }\\n ]\\n },\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\"\\n}","errorExample":""},{"type":"xml","example":"<ListAccountsResponse>\\n <RequestId>549A5A97-FE61-5A23-8126-3A1192*****</RequestId>\\n <Success>true</Success>\\n <Data>\\n <cInstanceId>amqp-cn-uqm******03</cInstanceId>\\n <accessKey>LTAI5***********eRZtEJ6vfo</accessKey>\\n <userName>MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=</userName>\\n <password>OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1</password>\\n <deleted>0</deleted>\\n <createTimestamp>1671175303522</createTimestamp>\\n </Data>\\n <Code>200</Code>\\n <Message>operation success</Message>\\n</ListAccountsResponse>","errorExample":""}]', - 'title' => '查看用户名密码', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新开源权限', + 'summary' => '更新开源权限', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'amqp-open.cn-wulanchabu.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-beijing.aliyuncs.com', 'endpoint' => 'amqp-open.cn-beijing.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => '郑州(联通合营)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'amqp-open.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-zhengzhou-jva.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-qingdao.aliyuncs.com', 'endpoint' => 'amqp-open.cn-qingdao.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-shanghai.aliyuncs.com', 'endpoint' => 'amqp-open.cn-shanghai.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-hongkong.aliyuncs.com', 'endpoint' => 'amqp-open.cn-hongkong.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'amqp-open.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-shenzhen.aliyuncs.com', 'endpoint' => 'amqp-open.cn-shenzhen.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-northeast-1.aliyuncs.com', 'endpoint' => 'amqp-open.ap-northeast-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-chengdu.aliyuncs.com', 'endpoint' => 'amqp-open.cn-chengdu.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-guangzhou.aliyuncs.com', 'endpoint' => 'amqp-open.cn-guangzhou.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-southeast-1.aliyuncs.com', 'endpoint' => 'amqp-open.ap-southeast-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-southeast-3.aliyuncs.com', 'endpoint' => 'amqp-open.ap-southeast-3.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-huhehaote.aliyuncs.com', 'endpoint' => 'amqp-open.cn-huhehaote.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-southeast-5.aliyuncs.com', 'endpoint' => 'amqp-open.ap-southeast-5.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-southeast-6.aliyuncs.com', 'endpoint' => 'amqp-open.ap-southeast-6.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.ap-southeast-7.aliyuncs.com', 'endpoint' => 'amqp-open.ap-southeast-7.aliyuncs.com', 'vpc' => 'amqp-open-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'amqp-open.cn-hangzhou.aliyuncs.com', 'endpoint' => 'amqp-open.cn-hangzhou.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'amqp-open.us-east-1.aliyuncs.com', 'endpoint' => 'amqp-open.us-east-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'amqp-open.us-west-1.aliyuncs.com', 'endpoint' => 'amqp-open.us-west-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'amqp-open.eu-central-1.aliyuncs.com', 'endpoint' => 'amqp-open.eu-central-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'amqp-open.me-central-1.aliyuncs.com', 'endpoint' => 'amqp-open.me-central-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'amqp-open.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'amqp-open.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'amqp-open.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'amqp-open.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'amqp-open-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'InstanceNotExist', 'message' => 'The instance resource does not exist.', 'http_code' => 404, 'description' => '实例资源不存在'], + ['code' => 'INSUFFICIENT_AVAILABLE_QUOTA', 'message' => 'Your account available limit is less than 0, please recharge before trying to purchase.', 'http_code' => 400, 'description' => '您的账户可用额度小于0,请先充值后再尝试购买。'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => '请求因遭遇某些未知错误而失败。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter {wildCard} is invalid.', 'http_code' => 400, 'description' => '特定参数{wildCard}不合法。'], + ['code' => 'MissingParameter', 'message' => 'You must specify the parameter {wildCard}.', 'http_code' => 400, 'description' => '该请求要求入参{wildCard}必须填写。'], + ['code' => 'ResourceNotFound', 'message' => 'The resource does not exist.', 'http_code' => 404, 'description' => '资源不存在'], + ['code' => 'Throttling.Api', 'message' => 'The request was denied due to API flow control.', 'http_code' => 429, 'description' => '请求由于流量控制而被拒绝。'], + ['code' => 'UnauthorizedOperation', 'message' => 'The request has failed due to unauthorized operation.', 'http_code' => 403, 'description' => '该请求未经授权。'], + ['code' => 'UPDOWNGRADE_CONFIG_NO_CHANGE', 'message' => 'the upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => '升级或降配的配置未改变,请重新选择'], + ['code' => 'UPDOWNGRADE_CONFIG_NO_CHANGE', 'message' => 'The upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => '升级或降配的配置未改变,请重新选择'], + ['code' => 'UpDowngradeConfigNoChange', 'message' => 'The upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => '升级或降配的配置未改变,请重新选择'."\n"], + ['code' => 'PARAM_ERRPR', 'message' => 'param error.', 'http_code' => 200, 'description' => '请求参数错误'], + ['code' => 'RemoteCallError', 'message' => 'service internal remote call failed.', 'http_code' => 400, 'description' => '服务内部远程调用失败'], + ], + 'changeSet' => [ [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'amqp-open.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeleteBinding'], + ], + 'createdAt' => '2025-01-21T08:20:00.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'amqp-open.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-12-05T07:55:32.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'amqp-open.cn-zhangjiakou.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'UpdateInstance'], + ], + 'createdAt' => '2024-12-02T03:02:00.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'amqp-open.cn-zhengzhou-jva.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-11-25T07:26:49.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'amqp-open.cn-huhehaote.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateInstance'], + ], + 'createdAt' => '2024-11-25T06:30:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListInstances'], + ], + 'createdAt' => '2024-11-25T06:22:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateBinding'], + ], + 'createdAt' => '2024-11-19T11:07:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateBinding'], + ['description' => '请求参数发生变更', 'api' => 'DeleteBinding'], + ], + 'createdAt' => '2024-11-13T03:50:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateBinding'], + ['description' => '请求参数发生变更', 'api' => 'DeleteBinding'], + ], + 'createdAt' => '2024-11-12T11:11:59.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'amqp-open.cn-wulanchabu.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListExchangeUpStreamBindings'], + ], + 'createdAt' => '2024-08-15T03:08:56.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'amqp-open.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListDownStreamBindings'], + ], + 'createdAt' => '2024-08-15T02:56:12.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'amqp-open.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListQueueUpStreamBindings'], + ], + 'createdAt' => '2024-08-14T09:11:50.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'amqp-open.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListExchanges'], + ], + 'createdAt' => '2024-07-30T12:06:47.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'amqp-open.cn-guangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-07-30T11:37:15.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'amqp-open.cn-chengdu.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateExchange'], + ], + 'createdAt' => '2024-07-11T08:42:28.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'amqp-open.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateExchange'], + ], + 'createdAt' => '2024-03-19T03:50:10.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'amqp-open.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-03-06T09:56:13.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'amqp-open.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-03-05T09:03:16.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'amqp-open.ap-southeast-3.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-02-27T07:25:00.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'amqp-open.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-02-22T14:29:06.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'amqp-open.ap-southeast-6.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-01-24T09:34:55.000Z', + 'description' => '', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'amqp-open.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateInstance'], + ], + 'createdAt' => '2024-01-24T06:13:34.000Z', + 'description' => '', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'amqp-open.us-west-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListInstances'], + ], + 'createdAt' => '2023-11-07T08:02:06.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'amqp-open.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateBinding'], + ['description' => '错误码发生变更', 'api' => 'CreateExchange'], + ['description' => '错误码发生变更', 'api' => 'CreateQueue'], + ['description' => '响应参数发生变更', 'api' => 'DeleteAccount'], + ['description' => '错误码发生变更', 'api' => 'DeleteExchange'], + ['description' => '错误码发生变更', 'api' => 'DeleteQueue'], + ['description' => '错误码发生变更', 'api' => 'DeleteVirtualHost'], + ['description' => '错误码发生变更', 'api' => 'GetMetadataAmount'], + ], + 'createdAt' => '2023-11-03T02:39:35.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'amqp-open.cn-shanghai-finance-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListInstances'], + ], + 'createdAt' => '2023-11-03T02:15:47.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'amqp-open.ap-southeast-7.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ListExchanges'], + ], + 'createdAt' => '2022-11-30T06:42:20.000Z', + 'description' => 'listexchanges regionId非必填', ], [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'amqp-open.cn-beijing-finance-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteBinding'], + ], + 'createdAt' => '2022-11-26T12:17:00.000Z', + 'description' => 'regionId非必填字段', ], [ - 'regionId' => 'me-central-1', - 'endpoint' => 'amqp-open.me-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateVirtualHost'], + ], + 'createdAt' => '2022-11-15T03:06:59.000Z', + 'description' => '修改CreateVhost中regionId字段为非必填字段', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteQueue'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateExchange'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindings'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDownStreamBindings'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListExchanges'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListVirtualHosts'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccounts'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateInstance'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteExchange'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBinding'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueues'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVirtualHost'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMetadataAmount'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBinding'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAccount'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstance'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueueConsumers'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccount'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateInstanceName'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateQueue'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstance'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListExchangeUpStreamBindings'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVirtualHost'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueueUpStreamBindings'], + ], + ], + 'ram' => [ + 'productCode' => 'Amqp', + 'productName' => '云消息队列 MQ', + 'ramCodes' => ['amqp'], + 'ramLevel' => '资源级', + 'ramConditions' => [ + [ + 'name' => 'amqp:InstanceType', + 'schema' => [ + 'type' => 'String', + 'description' => '实例规格类型', + 'enums' => ['professional', 'enterprise', 'vip'], + ], + ], + [ + 'name' => 'amqp:SupportEIP', + 'schema' => [ + 'type' => 'String', + 'description' => '是否支持公网', + 'enums' => ['true', 'false'], + ], + ], + [ + 'name' => 'amqp:ServerlessChargeType', + 'schema' => [ + 'type' => 'String', + 'description' => 'Serverless实例计费类型', + 'enums' => ['onDemand'], + ], + ], + ], + 'ramActions' => [ + [ + 'apiName' => 'UpdateInstance', + 'description' => '更新实例', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'amqp:UpdateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'amqp:InstanceType', 'validationType' => 'always'], + ['conditionKey' => 'amqp:SupportEIP', 'validationType' => 'always'], + ['conditionKey' => 'amqp:ServerlessChargeType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'GetMetadataAmount', + 'description' => '获取实例的元数据', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ListDownStreamBindings', + 'description' => '查询Exchange绑定', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ['action' => 'amqp:ListQueue', 'validationType' => 'always'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteBinding', + 'description' => '删除绑定', + 'operationType' => 'delete', + 'additionalActions' => [ + ['action' => 'amqp:CreateExchange', 'validationType' => 'conditional'], + ['action' => 'amqp:CreateQueue'], + ['action' => 'amqp:GetVhost'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#VirtualHostName}/queues/*'], + ], + ], + ], + [ + 'apiName' => 'ListQueueUpStreamBindings', + 'description' => '查询Queue被绑定', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:ListQueue'], + ['action' => 'amqp:ListExchange'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], + ], + ], + [ + 'apiName' => 'GetInstance', + 'description' => '查询实例信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateBinding', + 'description' => '创建绑定', + 'operationType' => 'create', + 'additionalActions' => [ + ['action' => 'amqp:CreateExchange', 'validationType' => 'conditional'], + ['action' => 'amqp:CreateQueue'], + ['action' => 'amqp:GetVhost'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#vhostName}/queues/*'], + ], + ], + ], + [ + 'apiName' => 'ListVirtualHosts', + 'description' => '查询 Vhost', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:ListVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateQueue', + 'description' => '创建Queue', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/*'], + ], + ], + ], + [ + 'apiName' => 'DeleteVirtualHost', + 'description' => '删除Vhost', + 'operationType' => 'delete', + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:DeleteVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}'], + ], + ], + ], + [ + 'apiName' => 'ListExchangeUpStreamBindings', + 'description' => '查询Exchange被绑定', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ['action' => 'amqp:ListQueue', 'validationType' => 'always'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAccount', + 'description' => '创建用户名密码', + 'operationType' => 'create', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:FetchStaticAccount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ListInstanceWhiteList', + 'description' => '查询实例IP/VPCID值', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListInstanceWhiteList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateExchange', + 'description' => 'CreateExchange', + 'operationType' => 'create', + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], + ], + 'ramAction' => [ + 'action' => 'amqp:CreateExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/*'], + ], + ], + ], + [ + 'apiName' => 'CreateInstance', + 'description' => '创建实例', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'amqp:InstanceType', 'validationType' => 'always'], + ['conditionKey' => 'amqp:SupportEIP', 'validationType' => 'always'], + ['conditionKey' => 'amqp:ServerlessChargeType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListQueueConsumers', + 'description' => '查询Queue的消费者', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ListQueues', + 'description' => '查询Queue', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:ListQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateInstanceName', + 'description' => '更新实例名称', + 'operationType' => 'update', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:UpdateInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'ListInstances', + 'description' => '查询实例列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'amqp:ListInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListBindings', + 'description' => '查询绑定', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:ListQueue'], + ['action' => 'amqp:ListExchange'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAccounts', + 'description' => '查看用户名密码', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:ListStaticAccounts', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteAccount', + 'description' => '删除用户名密码', + 'operationType' => 'delete', + 'additionalActions' => [ + ['action' => 'amqp:GetInstance'], + ], + 'ramAction' => [ + 'action' => 'amqp:DeleteStaticAccount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteQueue', + 'description' => '删除 Queue', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'amqp:DeleteQueue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/{#queueName}'], + ], + ], + ], + [ + 'apiName' => 'ListExchanges', + 'description' => '查询Exchange', + 'operationType' => 'list', + 'additionalActions' => [ + ['action' => 'amqp:ListExchange', 'validationType' => 'always'], + ], + 'ramAction' => [ + 'action' => 'amqp:GetInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteExchange', + 'description' => '删除Exchange', + 'operationType' => 'delete', + 'additionalActions' => [ + ['action' => 'amqp:GetVhost'], + ], + 'ramAction' => [ + 'action' => 'amqp:DeleteExchange', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/{#exchangeName}'], + ], + ], + ], + [ + 'apiName' => 'CreateVirtualHost', + 'description' => '创建Vhost', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'amqp:CreateVhost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'VirtualHost', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:instances/{#InstanceId}'], + ['validationType' => 'always', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#VirtualHostName}/queues/*'], + ['validationType' => 'always', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#vhostName}/queues/*'], + ['validationType' => 'always', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/*'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instance/{#InstanceId}'], + ['validationType' => 'always', 'resourceType' => 'Queue', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/{#queueName}'], + ['validationType' => 'always', 'resourceType' => 'Exchange', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/{#exchangeName}'], + ['validationType' => 'always', 'resourceType' => 'VirtualHost', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*'], ], ], ]; |
