summaryrefslogtreecommitdiff
path: root/data/en_us/amqp-open/2019-12-12
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/amqp-open/2019-12-12')
-rw-r--r--data/en_us/amqp-open/2019-12-12/api-docs.php6860
1 files changed, 3659 insertions, 3201 deletions
diff --git a/data/en_us/amqp-open/2019-12-12/api-docs.php b/data/en_us/amqp-open/2019-12-12/api-docs.php
index 4f7d10d..5749c31 100644
--- a/data/en_us/amqp-open/2019-12-12/api-docs.php
+++ b/data/en_us/amqp-open/2019-12-12/api-docs.php
@@ -1,92 +1,371 @@
<?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' => 'Instances',
+ 'children' => ['CreateInstance', 'GetInstance', 'UpdateInstance', 'UpdateInstanceName', 'GetMetadataAmount', 'ListInstances', 'AddInstanceWhiteList', 'ListInstanceWhiteList', 'RemoveInstanceWhiteList'],
'type' => 'directory',
- 'children' => [
- 'CreateInstance',
- 'GetInstance',
- 'UpdateInstance',
- 'UpdateInstanceName',
- 'GetMetadataAmount',
- 'ListInstances',
- ],
+ 'title' => 'Instances',
],
[
- 'id' => 121325,
- 'title' => 'Vhost',
+ 'children' => ['CreateVirtualHost', 'DeleteVirtualHost', 'ListVirtualHosts'],
'type' => 'directory',
- 'children' => [
- 'CreateVirtualHost',
- 'DeleteVirtualHost',
- 'ListVirtualHosts',
- ],
+ 'title' => 'Vhost',
],
[
- 'id' => 121329,
- 'title' => 'Queue',
+ 'children' => ['CreateQueue', 'DeleteQueue', 'ListQueueConsumers', 'ListQueues', 'ListQueueUpStreamBindings'],
'type' => 'directory',
- 'children' => [
- 'CreateQueue',
- 'DeleteQueue',
- 'ListQueueConsumers',
- 'ListQueues',
- 'ListQueueUpStreamBindings',
- ],
+ 'title' => 'Queue',
],
[
- 'id' => 121319,
- 'title' => 'Exchange',
+ 'children' => ['CreateExchange', 'DeleteExchange', 'ListDownStreamBindings', 'ListExchanges', 'ListExchangeUpStreamBindings'],
'type' => 'directory',
- 'children' => [
- 'CreateExchange',
- 'DeleteExchange',
- 'ListDownStreamBindings',
- 'ListExchanges',
- 'ListExchangeUpStreamBindings',
- ],
+ 'title' => 'Exchange',
],
[
- 'id' => 121311,
+ 'children' => ['CreateBinding', 'DeleteBinding', 'ListBindings'],
+ 'type' => 'directory',
'title' => 'Binding',
+ ],
+ [
+ 'children' => ['CreateAccount', 'DeleteAccount', 'ListAccounts'],
'type' => 'directory',
- 'children' => [
- 'CreateBinding',
- 'DeleteBinding',
- 'ListBindings',
- ],
+ 'title' => 'Static username and password',
],
[
- 'id' => 177638,
- 'title' => 'Account',
+ 'children' => ['CreateOpenSourceAccount', 'CreateOpenSourcePermission', 'DeleteOpenSourceAccount', 'DeleteOpenSourcePermission', 'ListOpenSourceAccounts', 'ListOpenSourcePermissions', 'UpdateInstanceServerlessSwitch', 'UpdateOpenSourceAccount', 'UpdateOpenSourcePermission'],
+ 'title' => 'Others',
'type' => 'directory',
- 'children' => [
- 'CreateAccount',
- 'DeleteAccount',
- 'ListAccounts',
- ],
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'CreateInstance' => [
- 'summary' => 'Creates an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'post',
+ 'AddInstanceWhiteList' => [
+ 'summary' => 'Adds an entry to the whitelist of an instance.',
+ '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' => ['description' => 'The ID of the instance receiving the whitelist entry.', 'type' => 'string', 'required' => true, 'example' => 'rabbitmq-cn-xxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'WhiteListItem',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'The value of the whitelist entry. For an IP address whitelist, specify a CIDR block and set the `WhiteListType` parameter to `2`. For a VPC whitelist, specify a VPC ID and set the `WhiteListType` parameter to `1`.', 'type' => 'string', 'required' => true, 'example' => '172.0.0.20/30', 'title' => ''],
+ 'required' => true,
+ 'title' => '',
+ 'description' => 'The IP addresses or VPC IDs to add to the whitelist. Specify IP addresses as CIDR blocks.',
+ 'example' => '172.0.0.20/30',
+ ],
+ ],
+ [
+ 'name' => 'WhiteListType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the whitelist. Set this parameter to `2` if `WhiteListItem` contains IP addresses, or to `1` if it contains VPC IDs.'."\n"
+ ."\n"
+ .'You can add a VPC whitelist only to instances that have an `anytunnel` VPC endpoint. Newer instances use the `privateLink` endpoint type, which does not support this feature.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ 'enum' => ['1', '2'],
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'],
+ 'Code' => ['description' => 'The status code. A value of `200` indicates a successful request.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The message returned with the response. This is typically an error message if the request fails.', 'type' => 'string', 'example' => 'The specified parameter \'[\\"vpc-xxx\\"]\' is not valid', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => ['description' => 'Data returned by the operation.', 'type' => 'any', 'example' => 'true', 'title' => ''],
+ 'StatusCode' => ['description' => 'The HTTP status code for the response. A value of `200` indicates success.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ ],
+ 'title' => '',
+ 'description' => 'The result of the API request.',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddInstanceWhiteList',
+ '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' => 'When an open-source client accesses an ApsaraMQ for RabbitMQ server, it must provide a username and password for authentication. ApsaraMQ for RabbitMQ lets you generate a username and password from an AccessKey ID and AccessKey secret provided by Resource Access Management (RAM).',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance. This specifies the instance for which you want to create a static username and password.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-*********', 'title' => ''],
+ ],
+ [
+ 'name' => 'accountAccessKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The AccessKey ID of your Alibaba Cloud account or RAM user. For more information about how to obtain an AccessKey ID, see [Create an AccessKey](~~116401~~).'."\n"
+ ."\n"
+ .'> If you use the AccessKey of a RAM user to create a static username and password to access ApsaraMQ for RabbitMQ and to send and receive messages, make sure that the RAM user is granted the required permissions. For more information, see [RAM access policies](~~146559~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'yourAccessKeyID', 'title' => ''],
+ ],
+ [
+ 'name' => 'userName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The static username that you want to create.'."\n"
+ ."\n"
+ .'The value of this parameter is a Base64-encoded string that is constructed from the instance ID and the AccessKey ID. For more information about how to calculate the value, see the **Username calculation sample code** section in this topic.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Mjo****************', 'title' => ''],
+ ],
+ [
+ 'name' => 'signature',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The signature. The system calculates the static password based on the signature, the AccessKey secret signature, and the username.'."\n"
+ ."\n"
+ .'The signature is calculated using the HmacSHA1 algorithm on the creation timestamp of the specified username and the AccessKey ID. For more information about how to calculate the signature, see the **Signature algorithm sample code** section in this topic.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '22c2d7d1769cb53c5a6d9213248e2de524******', 'title' => ''],
+ ],
+ [
+ 'name' => 'createTimestamp',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The timestamp that indicates when the username and password are created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'> This timestamp is used to calculate the static password. You can customize this value. This is not the timestamp that the system generates when the username and password are created.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1671175303522', 'title' => ''],
+ ],
+ [
+ 'name' => 'secretSign',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The signature of the AccessKey secret. The system calculates the static password based on the signature, the AccessKey secret signature, and the username.'."\n"
+ ."\n"
+ .'The AccessKey secret signature is calculated using the HmacSHA1 algorithm on the creation timestamp of the specified username and the AccessKey ID. For more information about how to calculate the signature, see the **Signature algorithm sample code** section in this topic.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4c1a6367ce4c4255e9617326f9133ac635******', 'title' => ''],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The remarks on the static user.', 'type' => 'string', 'example' => '*** environment', 'title' => '', 'required' => false],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.',
+ 'enumValueTitles' => [],
+ 'type' => 'string',
+ 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***',
+ ],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessKey' => ['description' => 'The AccessKey ID that is used to create the username and password.', 'type' => 'string', 'example' => 'LTAI****************', 'title' => ''],
+ 'Password' => ['description' => 'The created static password.', 'type' => 'string', 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1', 'title' => ''],
+ 'CreateTimeStamp' => ['description' => 'The timestamp when the username and password were created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1671175303522', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'example' => 'amqp-cn-*********', 'title' => ''],
+ 'MasterUId' => ['description' => 'The ID of the Alibaba Cloud account or RAM user that owns the AccessKey. The AccessKey is used to create the static username and password.', 'type' => 'integer', 'format' => 'int64', 'example' => '1565***********01', 'title' => ''],
+ 'UserName' => ['description' => 'The created static username.', 'type' => 'string', 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', 'title' => ''],
+ 'Remark' => ['description' => 'The remarks.', 'type' => 'string', 'example' => '*** environment', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'CreateAccount',
+ 'description' => '### Background information'."\n"
+ ."\n"
+ .'When an open-source client accesses an ApsaraMQ for RabbitMQ server, it must provide a username and password for authentication. The client can access the server after the authentication is successful. ApsaraMQ for RabbitMQ lets you generate a username and password from an AccessKey ID and AccessKey secret provided by RAM.'."\n"
+ ."\n"
+ .'### Notes'."\n"
+ ."\n"
+ .'- The instance for which you create a static username and password must be in the In Service state.'."\n"
+ ."\n"
+ .'- An AccessKey and a static username and password have a one-to-one mapping within an instance. This means you can create only one static username and password for each AccessKey in an instance.'."\n"
+ ."\n"
+ .'- To update a static username and password, delete the existing one and create a new one.'."\n"
+ ."\n"
+ .'### Username calculation sample code'."\n"
+ ."\n"
+ .'The value of the userName request parameter is a Base64-encoded string. This string is constructed from the instance ID and the AccessKey ID. The following sample code shows how to calculate the value:'."\n"
+ ."\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"
+ .' * Decode a Base64 string'."\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"
+ .' // Construct a string from your instance ID and the AccessKey ID of the account that was used to purchase the instance.'."\n"
+ .' String str = "2:${instanceId}:${ak}";'."\n"
+ ."\n"
+ .' // Generate the userName for the API call.'."\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"
+ .'### Signature algorithm sample code'."\n"
+ ."\n"
+ .'The values of the signature and secretSign request parameters are calculated using an encryption algorithm. The algorithm uses the creation timestamp of the static username and the AccessKey secret. The following sample code shows the algorithm:'."\n"
+ ."\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 is the createTimestamp parameter of the API.'."\n"
+ .' String createTimestamp = String.valueOf(System.currentTimeMillis());'."\n"
+ .' System.out.println("timestamp:" + createTimestamp);'."\n"
+ ."\n"
+ .' // The AccessKey secret of your account.'."\n"
+ .' String sk = "${sk}";'."\n"
+ ."\n"
+ .' // Generate the SecretSign for the API call.'."\n"
+ .' String SecretSign = hamcsha1(sk.getBytes(), createTimestamp.getBytes());'."\n"
+ .' System.out.println("SecretSign:" + SecretSign);'."\n"
+ ."\n"
+ .' // Generate the signature for the API call.'."\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'],
+ ],
+ ],
+ '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'],
+ ],
+ ],
],
+ 'translator' => 'manual',
+ ],
+ 'CreateBinding' => [
+ 'summary' => 'A producer sends a message to an exchange, which then routes the message to a specified queue or another exchange based on the binding and routing rules.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -96,394 +375,514 @@
'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' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the vhost. The vhost must be created in the console. Both `DestinationName` and `SourceExchange` must belong to this vhost.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceExchange',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the source exchange. This exchange must be created in the console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NormalEX', 'title' => ''],
+ ],
+ [
+ 'name' => 'DestinationName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the binding destination. The destination must be created in the console. It must belong to the same vhost as `SourceExchange`. The `VirtualHost` parameter specifies the vhost.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue', 'title' => ''],
+ ],
+ [
+ 'name' => 'BindingKey',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The binding key.'."\n"
+ ."\n"
+ .'- If the source exchange is not a topic exchange:'."\n"
+ ."\n"
+ .' - It can contain letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The length must be 1 to 255 characters.'."\n"
+ ."\n"
+ .'- If the source exchange is a topic exchange:'."\n"
+ ."\n"
+ .' - It can contain letters, digits, hyphens (-), underscores (\\_), asterisks (\\*), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The key cannot start or end with a period (.). If the key starts with a number sign (#) or an asterisk (\\*), a period (.) must immediately follow. If the key ends with a number sign (#) or an asterisk (\\*), a period (.) must immediately precede it. If a number sign (#) or an asterisk (\\*) is in the middle of the key, it must have a period (.) on both sides.'."\n"
+ ."\n"
+ .' - The length must be 1 to 255 characters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '.test', 'title' => ''],
+ ],
+ [
+ 'name' => 'BindingType',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- 0: Queue'."\n"
+ ."\n"
+ .'- 1: Exchange', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''],
+ ],
+ [
+ 'name' => 'Argument',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The key-value pairs for the message header attributes. The message header attributes consist of one or more key-value pairs. The x-match attribute is required. Other attributes are custom. The x-match attribute supports the following values:'."\n"
+ ."\n"
+ .'- all: This is the default value. All key-value pairs in the message header must match.'."\n"
+ ."\n"
+ .'- any: At least one key-value pair in the message header must match.'."\n"
+ ."\n"
+ .'Separate attributes with semicolons (;) and separate keys from values with colons (:). Example: x-match:all;type:report;format:pdf'."\n"
+ .'This parameter is valid only for headers exchanges. For other types of exchanges, this parameter is ignored.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'x-match:all;type:report;format:pdf ', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '09768C14-E51C-4F4A-8077-30810032C***', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'CreateBinding',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"09768C14-E51C-4F4A-8077-30810032C***\\"\\n}","type":"json"}]',
+ ],
+ 'CreateExchange' => [
+ 'summary' => 'A producer sends a message to an exchange. The exchange then routes the message to one or more queues based on the routing key and the binding key, or discards the message.',
+ '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' => 'The instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the vhost to which the exchange belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'ExchangeName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the exchange. Note:'."\n"
+ ."\n"
+ .'- The name can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- The name of an exchange cannot be changed after the exchange is created. To change the name, delete the exchange and create a new one.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoExchange', 'title' => ''],
+ ],
+ [
+ 'name' => 'ExchangeType',
+ 'in' => 'formData',
'schema' => [
- 'title' => '客户端Token',
- 'description' => 'The client token.'."\n",
+ 'description' => 'The type of the exchange. Valid values:'."\n"
+ ."\n"
+ .'- **DIRECT**: This routing rule type routes messages to a queue whose binding key exactly matches the routing key of the message.'."\n"
+ ."\n"
+ .'- **TOPIC**: This type is similar to the DIRECT type. It routes messages to bound queues using routing key pattern matching and string comparison.'."\n"
+ ."\n"
+ .'- **FANOUT**: This routing rule type is simple. It routes all messages sent to the exchange to all queues that are bound to the exchange. This works like a broadcast feature.'."\n"
+ ."\n"
+ .'- **HEADERS**: This type is similar to the DIRECT type. It uses header properties instead of a routing key for routing. When a queue is bound to a headers exchange, key-value pairs are defined for the binding. When a message is sent to the exchange, key-value pairs are defined in the message header. The exchange routes the message by comparing the key-value pairs in the header with the key-value pairs of the binding.',
'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enum' => ['DIRECT', 'TOPIC', 'FANOUT', 'HEADERS', 'X_JMS_TOPIC', 'X_DELAYED_MESSAGE', 'X_CONSISTENT_HASH'],
+ 'example' => 'DIRECT',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'XDelayedType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'An x-delayed-message exchange lets you use the x-delay header property to specify a delivery delay for a message in milliseconds. The routing rule for the delayed message is determined by the exchange type that you specify for the XDelayedType parameter. This parameter sets the actual exchange type to which the message is delivered after the delay. Valid values:'."\n"
+ ."\n"
+ .'- **DIRECT**: Delivers the delayed message to the specified queue that is bound to a DIRECT exchange.'."\n"
+ ."\n"
+ .'- **TOPIC**: Delivers the delayed message to queues that are bound to a TOPIC exchange.'."\n"
+ ."\n"
+ .'- **FANOUT**: Delivers the delayed message to queues that are bound to a FANOUT exchange.'."\n"
+ ."\n"
+ .'- **HEADERS**: Delivers the delayed message to queues that are bound to a HEADERS exchange.'."\n"
+ ."\n"
+ .'- **X-JMS-TOPIC**: Delivers the delayed message to queues that are bound to an X-JMS-TOPIC exchange.',
+ 'type' => 'string',
+ 'enum' => ['DIRECT', 'TOPIC', 'FANOUT', 'HEADERS', 'X_JMS_TOPIC'],
'required' => false,
- 'example' => 'c2c5d1274axxxxxxxx',
+ 'example' => 'DIRECT',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'AutoDeleteState',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Specifies whether to automatically delete the exchange. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes. The exchange is automatically deleted after the last queue is unbound from it.'."\n"
+ ."\n"
+ .'- **false**: No. The exchange is not automatically deleted after the last queue is unbound from it.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'Internal',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Specifies whether the exchange is an internal exchange. Valid values:'."\n"
+ ."\n"
+ .'- **false**: No'."\n"
+ ."\n"
+ .'- **true**: Yes', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'AlternateExchange',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The alternate exchange. Configure an alternate exchange to receive messages that fail to be routed.', 'type' => 'string', 'required' => false, 'example' => 'DemoAE', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'CreateExchange',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A****\\"\\n}","type":"json"}]',
+ ],
+ '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' => '', 'description' => 'The client token.', 'type' => 'string', 'example' => 'c2c5d1274axxxxxxxx', 'required' => false],
+ ],
[
'name' => 'PaymentType',
'in' => 'query',
'schema' => [
- 'title' => '付费类型',
- 'description' => 'The billing method of the instance. Valid values:'."\n"
- ."\n"
- .'* Subscription: subscription instance'."\n"
- .'* PayAsYouGo: serverless instance'."\n",
+ 'title' => '',
+ 'description' => 'The payment type. Valid values:'."\n"
+ .'- Subscription: subscription'."\n"
+ .'- PayAsYouGo: Serverless.',
+ 'enumValueTitles' => ['PayAsYouGo' => 'PayAsYouGo', 'Subscription' => 'Subscription'],
'type' => 'string',
'required' => true,
- 'enumValueTitles' => [
- 'PayAsYouGo' => 'PayAsYouGo',
- 'Subscription' => 'Subscription',
- ],
'example' => 'Subscription',
- 'enum' => [
- 'Subscription',
- 'PayAsYouGo',
- ],
+ 'enum' => ['Subscription', 'PayAsYouGo'],
],
],
[
'name' => 'Period',
'in' => 'query',
- 'schema' => [
- 'title' => '预付费周期,单位: periodCycle',
- 'description' => 'The subscription period. The unit of the subscription period is specified by periodCycle.'."\n"
- ."\n"
- .'> This parameter takes effect only if you set PaymentType to Subscription. Default value: 1.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['title' => '', 'description' => 'The subscription period. Unit: periodCycle.'."\n"
+ ."\n"
+ .'> This parameter takes effect only when PaymentType is set to Subscription. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'default' => '1', 'required' => false],
],
[
'name' => 'PeriodCycle',
'in' => 'query',
'schema' => [
- 'title' => '预付费周期单位',
+ 'title' => '',
'description' => 'The unit of the subscription period. Valid values:'."\n"
+ .'- Month: month'."\n"
+ .'- Year: year'."\n"
."\n"
- .'* Month'."\n"
- .'* Year'."\n"
- ."\n"
- .'This parameter is valid only if you set PaymentType to Subscription. Default value: Month.'."\n",
+ .'This parameter takes effect only when PaymentType is set to Subscription. Default value: Month.',
+ 'enumValueTitles' => ['Month' => 'Month', 'Year' => 'Year'],
'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'Month' => 'Month',
- 'Year' => 'Year',
- ],
'example' => 'Month',
'default' => 'Month',
- 'enum' => [
- 'Month',
- 'Year',
- 'M',
- 'Y',
- ],
+ 'enum' => ['Month', 'Year', 'M', 'Y'],
+ 'required' => false,
],
],
[
'name' => 'AutoRenew',
'in' => 'query',
- 'schema' => [
- 'title' => '续费方式',
- 'description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n"
- ."\n"
- .'* true: enables auto-renewal.'."\n"
- .'* false: disables auto-renewal. If you select this value, you must manually renew the instance.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'AutoRenewal',
- 'default' => 'false',
- ],
+ 'schema' => ['title' => '', 'description' => 'The renewal method. Valid values:'."\n"
+ .'- true: Auto-renewal is enabled.'."\n"
+ .'- false: Manual renewal is required.', 'type' => 'boolean', 'example' => 'false', 'default' => 'false', 'required' => false],
],
[
'name' => 'AutoRenewPeriod',
'in' => 'query',
- 'schema' => [
- 'title' => '自动续费周期,单位:月',
- 'description' => 'The auto-renewal period. The unit of the auto-renewal period is specified by RenewalDurationUnit. Default value: Month.'."\n"
- ."\n"
- .'> This parameter takes effect only if you set AutoRenew to true. Default value: 1.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['title' => '', 'description' => 'The auto-renewal epoch. Unit: the value of RenewalDurationUnit. Default unit: month.'."\n"
+ ."\n"
+ .'> This parameter takes effect only when AutoRenew is set to true. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'default' => '1', 'required' => false],
],
[
'name' => 'RenewStatus',
'in' => 'query',
- 'schema' => [
- 'title' => 'autoRenew和renewStatus都是续费方式,当两个同时填写时,以renewStatus为准',
- 'description' => 'The renewal status. This parameter is the same as AutoRenew. You can configure one of these parameters. Valid value:'."\n"
- ."\n"
- .'* AutoRenewal'."\n"
- ."\n"
- .'> If you configure both this parameter and AutoRenew, the value of this parameter is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['title' => '', 'description' => 'The renewal status. This parameter is equivalent to autoRenew. Specify only one of the two parameters. Valid values:'."\n"
+ .'- AutoRenewal: auto-renewal is enabled.'."\n"
+ ."\n"
+ .'> Both autoRenew and renewStatus specify the renewal method. If both are specified, renewStatus takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'false'],
],
[
'name' => 'RenewalDurationUnit',
'in' => 'query',
'schema' => [
- 'description' => 'The unit of the auto-renewal period. Valid values:'."\n"
- ."\n"
- .'* Month'."\n"
- .'* Year'."\n",
+ 'description' => 'The unit of the auto-renewal epoch. Valid values:'."\n"
+ .'- Month: month'."\n"
+ .'- Year: year.',
+ 'enumValueTitles' => ['Month' => 'Month', 'Year' => 'Year'],
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'Month' => 'Month',
- 'Year' => 'Year',
- ],
'example' => 'Month',
+ 'title' => '',
],
],
[
'name' => 'InstanceType',
'in' => 'query',
'schema' => [
- 'title' => '实例规格类型',
- 'description' => 'The instance edition. Valid values if you create a subscription instance:'."\n"
- ."\n"
- .'* professional: Professional Edition.'."\n"
- .'* enterprise: Enterprise Edition'."\n"
- .'* vip: Enterprise Platinum Edition'."\n"
+ 'title' => '',
+ 'description' => 'The instance type.'."\n"
+ .'Valid values for subscription instances:'."\n"
+ .'- professional: Professional Edition'."\n"
+ .'- enterprise: Enterprise Edition'."\n"
+ .'- vip: Platinum Edition'."\n"
."\n"
- .'If you create a serverless instance, you do not need to specify this parameter.'."\n",
+ .'You do not need to specify this parameter for Serverless instances.',
+ 'enumValueTitles' => ['enterprise' => 'enterprise', 'vip' => 'vip', 'professional' => 'professional'],
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'enterprise' => 'enterprise',
- 'vip' => 'vip',
- 'professional' => 'professional',
- ],
'example' => 'professional',
- 'enum' => [
- 'professional',
- 'enterprise',
- 'vip',
- 'serverless',
- ],
+ 'enum' => ['professional', 'enterprise', 'vip', 'serverless', 'provisioned'],
],
],
[
'name' => 'ServerlessChargeType',
'in' => 'query',
'schema' => [
- 'description' => 'The billing method of the serverless instance. Valid value:'."\n"
- ."\n"
- .'* onDemand: You are charged based on your actual usage.'."\n",
+ 'description' => 'The billing type of the Serverless instance. Valid values:'."\n"
+ .'- onDemand: pay-as-you-go.',
'type' => 'string',
- 'required' => false,
'example' => 'onDemand',
- 'enum' => [
- 'onDemand',
- ],
+ 'enum' => ['onDemand', 'provisioned'],
+ 'required' => false,
+ 'title' => '',
],
],
[
'name' => 'InstanceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the instance. We recommend that you specify a name that does not exceed 64 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'amqp-xxxxx',
- ],
+ 'schema' => ['description' => 'The instance name. We recommend that the name does not exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'amqp-xxxxx', 'title' => ''],
],
[
'name' => 'MaxPrivateTps',
'in' => 'query',
- 'schema' => [
- 'title' => '私网TPS流量,单位:次/秒',
- 'description' => 'The maximum number of virtual private cloud (VPC)-based transactions per second (TPS) on the instance.'."\n"
- ."\n"
- .'Configure this parameter based on the values provided on the [ApsaraMQ for RocketMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1000',
- ],
+ 'schema' => ['title' => '', 'description' => 'The private network TPS traffic. Unit: transactions per second.'."\n"
+ ."\n"
+ .'Configure the settings based on the values provided on the [ApsaraMQ for RabbitMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'],
],
[
'name' => 'SupportEip',
'in' => 'query',
- 'schema' => [
- 'title' => '是否支持公网',
- 'description' => 'Specifies whether elastic IP addresses (EIPs) are supported. Valid values:'."\n"
- ."\n"
- .'* True'."\n"
- .'* False'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to support public network access. Valid values:'."\n"
+ .'- true: Public network access is supported.'."\n"
+ .'- false: Public network access is not supported.', 'type' => 'boolean', 'example' => 'true', 'default' => 'false', 'required' => false],
],
[
'name' => 'MaxEipTps',
'in' => 'query',
- 'schema' => [
- 'title' => '公网网TPS流量峰值,单位:TPS',
- 'description' => 'The maximum number of Internet-based TPS on the instance.'."\n"
- ."\n"
- .'Configure this parameter based on the values provided on the [ApsaraMQ for RocketMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '128',
- 'default' => '128',
- ],
+ 'schema' => ['title' => '', 'description' => 'The peak public network TPS traffic. Unit: TPS.'."\n"
+ ."\n"
+ .'Configure the settings based on the values provided on the [ApsaraMQ for RabbitMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int64', 'example' => '128', 'default' => '128', 'required' => false],
],
[
'name' => 'QueueCapacity',
'in' => 'query',
- 'schema' => [
- 'title' => '配置Queue的数量上限',
- 'description' => 'The number of queues on the instance.'."\n"
- ."\n"
- .'Configure this parameter based on the values provided on the [ApsaraMQ for RocketMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1000',
- ],
+ 'schema' => ['title' => '', 'description' => 'The number of queues.'."\n"
+ ."\n"
+ .'Configure the settings based on the values provided on the [ApsaraMQ for RabbitMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000'],
],
[
'name' => 'MaxConnections',
'in' => 'query',
- 'schema' => [
- 'title' => '最大连接数',
- 'description' => 'The maximum number of connections that can be established to the instance.'."\n"
- ."\n"
- .'Configure this parameter based on the values provided on the [ApsaraMQ for RocketMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '50000',
- ],
+ 'schema' => ['title' => '', 'description' => 'The maximum number of connections.'."\n"
+ ."\n"
+ .'Configure the settings based on the values provided on the [ApsaraMQ for RabbitMQ buy page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50000'],
],
[
'name' => 'StorageSize',
'in' => 'query',
- 'schema' => [
- 'title' => '配置消息存储空间',
- 'description' => 'The storage capacity. Unit: GB. Valid values:'."\n"
- ."\n"
- .'* Professional Edition and Enterprise Edition instances: Set the value to 0.'."\n"
- ."\n"
- .'> The value 0 specifies that storage space is available for Professional Edition and Enterprise Edition instances, but no storage fees are generated.'."\n"
- ."\n"
- .'* Enterprise Platinum Edition instances: Set the value to m × 100, where m is an integer that ranges from 7 to 28.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '7',
- ],
+ 'schema' => ['title' => '', 'description' => 'The message storage space. Unit: GB. Valid values:'."\n"
+ .'- Professional Edition and Enterprise instance: fixed at 0.'."\n"
+ ."\n"
+ .'> A value of 0 indicates that no storage fees are charged for Professional Edition and Enterprise instances, not that no storage space is available.'."\n"
+ ."\n"
+ .'- Platinum Edition instances: m × 100, where m ranges from \\[7,28\\].', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '7'],
],
[
'name' => 'SupportTracing',
'in' => 'query',
- 'schema' => [
- 'title' => '是否开通消息轨迹功能',
- 'description' => 'Specifies whether to enable the message trace feature. Valid values:'."\n"
- ."\n"
- .'* true'."\n"
- .'* false'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* Enterprise Platinum Edition instances allow you to retain message traces for 15 days free of charge. If you create an Enterprise Platinum Edition instance, you can set this parameter only to true and TracingStorageTime only to 15.'."\n"
- ."\n"
- .'* For instances of other editions, you can set this parameter to true or false.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to enable the message trace feature. Valid values:'."\n"
+ .'- true: The message trace feature is enabled.'."\n"
+ .'- false: The message trace feature is disabled.'."\n"
+ ."\n"
+ .'> - Platinum Edition instances provide the message trace feature free of charge for 15 days. The trace feature can only be enabled, and the trace retention period can only be set to 15 days.'."\n"
+ .'- Instances of other types can enable or disable the trace feature.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true'],
],
[
'name' => 'TracingStorageTime',
'in' => 'query',
'schema' => [
- 'title' => '配置消息轨迹的保存时长',
- 'description' => 'The retention period of messages. Unit: days. Valid values:'."\n"
+ 'title' => '',
+ 'description' => 'The retention period of message traces. Unit: days. Valid values:'."\n"
+ .'- 3: 3 days'."\n"
+ .'- 7: 7 days'."\n"
+ .'- 15: 15 days'."\n"
."\n"
- .'* 3'."\n"
- .'* 7'."\n"
- .'* 15'."\n"
- ."\n"
- .'This parameter is valid only if you set SupportTracing to true.'."\n",
+ .'This parameter takes effect only when SupportTracing is set to true.',
'type' => 'integer',
'format' => 'int32',
+ 'enum' => ['3', '7', '15'],
'required' => false,
'example' => '3',
- 'enum' => [
- '3',
- '7',
- '15',
- ],
],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the instance belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmvvajg5qkxhi',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmvvajg5qkxhi', 'title' => ''],
],
[
'name' => 'EncryptedInstance',
'in' => 'query',
- 'schema' => [
- 'title' => '是否开通磁盘存储加密',
- 'description' => 'Specifies whether to enable storage encryption for the instance. This parameter is available only for exclusive instances.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['title' => '', 'description' => 'This feature is exclusive to dedicated instances. Specifies whether to enable data storage encryption for the instance.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false'],
],
[
'name' => 'KmsKeyId',
'in' => 'query',
- 'schema' => [
- 'title' => 'kms Key Id',
- 'description' => 'The ID of the Key Management Service (KMS)-managed key used for storage encryption. This parameter is available only for exclusive instances and required only if you set EncryptedInstance to true. The key must meet the following conditions:'."\n"
- ."\n"
- .'* The key cannot be a service key.'."\n"
- .'* The key must be in the Enabled state.'."\n"
- .'* The key must be a symmetric key.'."\n"
- .'* The key must be used for encryption and decryption.'."\n"
- .'* After the key is expired or deleted, you cannot read or write data and exceptions can occur in the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'key-xxx',
- ],
+ 'schema' => ['title' => '', 'description' => 'This feature is exclusive to dedicated instances. This parameter is required when EncryptedInstance is set to true. The ID of the KMS key used for data encryption at rest. The key must meet the following requirements:'."\n"
+ ."\n"
+ .'- The key cannot be a service key.'."\n"
+ ."\n"
+ .'- The key must be in the active state.'."\n"
+ ."\n"
+ .'- The key must be a symmetric key, not an asymmetric key.'."\n"
+ ."\n"
+ .'- The key usage must be encryption and decryption.'."\n"
+ ."\n"
+ .'- If the KMS key expires or is deleted, data reads and writes become unavailable, and the RabbitMQ instance failures occur.', 'type' => 'string', 'required' => false, 'example' => 'key-xxx'],
],
[
'name' => 'ProvisionedCapacity',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'schema' => ['description' => 'The provisioned TPS capacity for provisioned + elastic instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000', 'title' => ''],
],
[
'name' => 'Edition',
'in' => 'query',
'schema' => [
+ 'description' => 'The deployment architecture of the Serverless instance. Valid values:'."\n"
+ ."\n"
+ .'- shared: shared architecture. Applicable to provisioned + elastic (shared) and pay-as-you-go editions.'."\n"
+ ."\n"
+ .'- dedicated: dedicated architecture. Applicable to provisioned + elastic (dedicated) edition.',
'type' => 'string',
- 'enum' => [
- 'shared',
- 'dedicated',
- ],
+ 'enum' => ['shared', 'dedicated'],
+ 'required' => false,
+ 'example' => 'shared',
+ 'title' => '',
],
],
[
@@ -491,289 +890,214 @@
'in' => 'query',
'style' => 'json',
'schema' => [
- 'title' => '资源标签',
+ 'title' => '',
+ 'description' => 'The resource tags.',
'type' => 'array',
'items' => [
- 'title' => '标签对象',
+ 'title' => '',
+ 'description' => 'The tag object.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'title' => '资源标签健',
- 'type' => 'string',
- 'example' => 'testKey',
- ],
- 'Value' => [
- 'title' => '资源标签值',
- 'type' => 'string',
- 'example' => 'testValue',
- ],
+ 'Key' => ['title' => '', 'description' => 'The tag key.', 'type' => 'string', 'example' => 'testKey', 'required' => false],
+ 'Value' => ['title' => '', 'description' => 'The tag value.', 'type' => 'string', 'example' => 'testValue', 'required' => false],
],
+ 'required' => false,
+ 'example' => '',
],
+ 'required' => false,
+ 'example' => '',
],
],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The VPC ID used to create a PrivateLink endpoint.', 'type' => 'string', 'required' => true, 'example' => 'vpc-xxx'],
+ ],
+ [
+ 'name' => 'VswitchIds',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The vSwitch IDs used to create a PrivateLink endpoint when creating the instance.'."\n"
+ ."\n"
+ .'1. Two vSwitch IDs are required, and they must belong to different zones (except for regions with a single zone).'."\n"
+ ."\n"
+ .'2. The vSwitches must belong to the specified VPC.'."\n"
+ .' '."\n"
+ .'3. The vSwitch status must be Available.'."\n"
+ ."\n"
+ .'4. Each vSwitch must have at least 20 available IP addresses.'."\n"
+ ."\n"
+ .'5. The zone of each vSwitch must support NLB creation.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The vSwitch ID specified when creating the instance.', 'type' => 'string', 'required' => true, 'example' => 'vsw-xxx'],
+ 'required' => true,
+ 'maxItems' => 2,
+ 'minItems' => 1,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'SecurityGroupId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The security group used to create a PrivateLink endpoint.'."\n"
+ ."\n"
+ .'1. Add an inbound access policy that allows the protocol type TCP on destination ports 5672 and 5671.'."\n"
+ ."\n"
+ .'2. Managed security groups are not supported.'."\n"
+ ."\n"
+ .'3. The security group must belong to the specified VPC.', 'type' => 'string', 'required' => true, 'example' => 'sg-xxx'],
+ ],
+ [
+ 'name' => 'ListenerMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Specifies whether the instance enables only TLS-encrypted ports. This parameter is supported only for dedicated provisioned + elastic instances and Platinum Edition instances.',
+ 'type' => 'string',
+ 'example' => 'tcp_and_ssl',
+ 'default' => 'tcp_and_ssl',
+ 'enum' => ['tcp_and_ssl', 'ssl_only'],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'AuthModel',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => 'ram openSource', 'description' => '', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServerlessSwitch',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'JsonResult<Object>',
- 'description' => 'JsonResult'."\n",
+ 'title' => '',
+ 'description' => 'JsonResult<Object>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'xxx failed,xxxx',
- ],
- 'Data' => [
- 'description' => 'The ID of the created instance.'."\n",
- 'type' => 'any',
- 'example' => 'amqp-cn-xxxxx',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['description' => 'The common parameter. Each request has a unique ID that can be used for troubleshooting.', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***', 'title' => ''],
+ 'Code' => ['description' => 'The response code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'xxx failed,xxxx', 'title' => ''],
+ 'Data' => ['description' => 'The ID of the created instance.', 'type' => 'any', 'example' => 'amqp-cn-xxxxx', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create an instance',
+ 'summary' => 'Creates an ApsaraMQ for RabbitMQ instance.',
+ 'changeSet' => [],
+ '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' => 'All Resource', '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' => 'CreateInstance',
- 'description' => '**Before you call this operation, make sure that you fully understand the [billing methods and pricing](~~606747~~) of ApsaraMQ for RabbitMQ.'."\n",
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'GetInstance' => [
- 'summary' => '获取实例详情',
- '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' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => true, 'example' => 'KcUt5e5TbhkwaLyLl', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the static user to be created.', 'type' => 'string', 'required' => true, 'example' => '***&KcUt5e5TbhkwaLyLl', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The remarks.', 'type' => 'string', 'required' => false, 'example' => 'description', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. The value of this parameter is generated by the client. It must be unique among different requests, is case-sensitive, and cannot exceed 64 ASCII characters in length.', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'OpenApiResponse<InstanceVO>',
- 'description' => 'OpenApiResponse<InstanceVO>',
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- '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' => '',
- 'type' => 'string',
- 'example' => '',
- ],
- 'Value' => [
- 'title' => '标签value',
- 'description' => '',
- 'type' => 'string',
- 'example' => '',
- ],
- ],
- ],
- ],
- 'Status' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'SERVING',
- ],
- 'SupportEIP' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ExpireTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1651507200000',
- ],
- 'OrderCreateTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1651507200000',
- ],
- 'PrivateEndpoint' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'."\n",
- ],
- 'StorageSize' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200'."\n",
- ],
- 'MaxEipTps' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000',
- ],
- 'InstanceId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'amqp-cn-*********',
- ],
- 'InstanceType' => [
- 'description' => '',
- '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' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50'."\n",
- ],
- 'MaxTps' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000',
- ],
- 'AutoRenewInstance' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'InstanceName' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'yunQi-instance',
- ],
- 'MaxQueue' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000',
- ],
- 'OrderType' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'PRE_PAID',
- ],
- 'TracingStorageTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '15',
- ],
- 'SupportTracing' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'MaxConnections' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1500',
- ],
- 'ResourceGroupId' => [
- 'type' => 'string',
- ],
- 'EncryptedInstance' => [
- 'type' => 'boolean',
- ],
- 'KmsKeyId' => [
- 'type' => 'string',
- ],
- 'ProvisionedCapacity' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'Edition' => [
- 'type' => 'string',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***', 'title' => ''],
+ 'Code' => ['description' => 'The response code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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"}]',
- ],
- 'UpdateInstance' => [
- 'summary' => 'Upgrades or downgrades the configurations of an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'post',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
+ [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create open-source username and password',
+ 'summary' => 'Creates an open-source username and password.',
+ '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' => [],
@@ -782,367 +1106,419 @@
'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' => 'The client token.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c2c5d1274axxxxxxxx',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'UserName',
'in' => 'query',
- 'schema' => [
- 'title' => '变配的实例 id,必填',
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'amqp-cn-jtexxxxx',
- 'enum' => [],
- ],
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => false, 'example' => 'myName', 'title' => ''],
],
[
- 'name' => 'ModifyType',
+ 'name' => 'Vhost',
'in' => 'query',
- 'schema' => [
- 'title' => '变配类型:'."\n"
- .'- UPGRADE:升配'."\n"
- .'- DOWNGRADE:降配',
- 'description' => 'The type of the configuration change. Valid values:'."\n"
- ."\n"
- .'* UPGRADE'."\n"
- .'* DOWNGRADE'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'UPGRADE',
- 'enum' => [
- 'UPGRADE',
- 'DOWNGRADE',
- ],
- ],
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => false, 'example' => 'vhostName', 'title' => ''],
],
[
- 'name' => 'InstanceType',
+ 'name' => 'Configure',
'in' => 'query',
- 'schema' => [
- 'title' => '实例规格类型',
- 'description' => 'The instance edition. Valid values for subscription instances:'."\n"
- ."\n"
- .'* professional: Professional Edition'."\n"
- .'* enterprise: Enterprise Edition'."\n"
- .'* vip: Enterprise Platinum Edition.'."\n"
- ."\n"
- .'If your instance is a pay-as-you-go instance, you do not need to configure this parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'professional',
- 'enum' => [
- 'professional',
- 'enterprise',
- 'vip',
- ],
- ],
+ 'schema' => ['description' => 'The regular expression for the configure permission.', 'type' => 'string', 'required' => false, 'example' => '^$', 'title' => ''],
],
[
- 'name' => 'ServerlessChargeType',
+ 'name' => 'Write',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing method of the serverless instance. Valid values:'."\n"
- ."\n"
- .'* onDemand: You are charged based on your actual usage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'onDemand',
- 'enum' => [
- 'onDemand',
- ],
- ],
+ 'schema' => ['description' => 'The regular expression for the write permission.', 'type' => 'string', 'required' => false, 'example' => 'order_exchange', 'title' => ''],
],
[
- 'name' => 'MaxPrivateTps',
+ 'name' => 'Read',
'in' => 'query',
- 'schema' => [
- 'title' => '私网TPS流量,单位:次/秒',
- 'description' => 'The peak transactions per second (TPS) for accessing the instance in a virtual private cloud (VPC).'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1000',
- ],
+ 'schema' => ['description' => 'The regular expression for the read permission.', 'type' => 'string', 'required' => false, 'example' => '^$', 'title' => ''],
],
[
- 'name' => 'SupportEip',
+ 'name' => 'ClientToken',
'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '是否支持公网',
- 'description' => 'Specifies whether elastic IP addresses (EIPs) are supported.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ ],
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
[
- 'name' => 'MaxEipTps',
- 'in' => 'query',
- 'schema' => [
- 'title' => '公网网TPS流量峰值,单位:TPS',
- 'description' => 'The peak TPS for accessing the instance over the Internet.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '128',
- 'default' => '128',
- ],
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create open source permission',
+ 'summary' => 'Creates an open source permission.',
+ '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' => 'A queue is a buffer that stores messages. In ApsaraMQ for RabbitMQ, messages are sent to a specified exchange and then routed to a bound queue.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'QueueCapacity',
- 'in' => 'query',
- 'schema' => [
- 'title' => '配置Queue的数量上限',
- 'description' => 'The maximum number of queues that can be created on the instance.'."\n",
- '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' => 'The maximum number of connections that can be created on the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1000',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
- 'name' => 'StorageSize',
- 'in' => 'query',
- 'schema' => [
- 'title' => '配置消息存储空间',
- 'description' => 'The size of the storage space that can be used to store messages.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '7',
- ],
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the vhost to which the queue belongs.'."\n"
+ .'The name can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'SupportTracing',
- 'in' => 'query',
+ 'name' => 'QueueName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the queue to create.'."\n"
+ ."\n"
+ .'- The queue name can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- After a queue is created, its name cannot be changed. To change the name, delete the queue and create a new one.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoDeleteState',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Specifies whether to automatically delete the queue. Valid values:'."\n"
+ ."\n"
+ .'- true: The queue is automatically deleted after the last consumer unsubscribes from it.'."\n"
+ ."\n"
+ .'- false: The queue is not automatically deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ExclusiveState',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Specifies whether the queue is an exclusive queue. Valid values:'."\n"
+ ."\n"
+ .'- true: The queue is an exclusive queue. An exclusive queue can be used only by the connection that declares it. The queue is automatically deleted after the connection is closed.'."\n"
+ ."\n"
+ .'- false: The queue is not an exclusive queue.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'MessageTTL',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The time to live (TTL) of a message in the queue.'."\n"
+ ."\n"
+ .'- A message expires if its retention time in the queue exceeds the configured TTL.'."\n"
+ ."\n"
+ .'- The message TTL must be a non-negative integer. The maximum value is 1 day. The unit is milliseconds. For example, if the value is 1000, the message can be stored in the queue for a maximum of 1 second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoExpireState',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The auto-expiration time for the queue. The queue is automatically deleted if it is not accessed within the specified time period.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n"
+ ."\n"
+ .'> This feature must be enabled before you can use this parameter. To enable the feature, <props="china">[submit a ticket](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[submit a ticket](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaxLength',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'This parameter is not supported in the current version.'."\n"
+ ."\n"
+ .'The maximum number of messages that can be stored in the queue. If this limit is exceeded, the earliest messages in the queue are deleted.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1000', 'title' => ''],
+ ],
+ [
+ 'name' => 'DeadLetterExchange',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The dead-letter exchange. This type of exchange is used to receive rejected messages.'."\n"
+ ."\n"
+ .'If a consumer rejects a message and the message is not requeued, ApsaraMQ for RabbitMQ routes the message to the specified dead-letter exchange. The dead-letter exchange then routes the message to a bound queue for storage.', 'type' => 'string', 'required' => false, 'example' => 'DLExchange', 'title' => ''],
+ ],
+ [
+ 'name' => 'DeadLetterRoutingKey',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The dead-letter routing key.'."\n"
+ .'The key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@). The key must be 1 to 255 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test.dl', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaximumPriority',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The priority of the queue. The recommended value is an integer from 1 to 10.'."\n"
+ ."\n"
+ .'> This parameter is used for message priority. It is supported only by dedicated instances and can be used only after the message priority feature is enabled. To enable the feature, <props="china">[submit a ticket](https://selfservice.console.aliyun.com/ticket/createIndex)</props><props="intl">[submit a ticket](https://ticket-intl.console.aliyun.com/#/ticket/createIndex)</props>.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '是否开通消息轨迹功能',
- 'description' => 'Specifies whether to enable the message trace feature.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '59B52E2C-0B8E-44EC-A314-D0314A50***', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'CreateQueue',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateQueue'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'TracingStorageTime',
- 'in' => 'query',
- 'schema' => [
- 'title' => '配置消息轨迹的保存时长',
- 'description' => 'The retention period of message traces.'."\n"
- ."\n"
- .'Valid values:'."\n"
- ."\n"
- .'* 3'."\n"
- .'* 7'."\n"
- .'* 15'."\n",
- '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59B52E2C-0B8E-44EC-A314-D0314A50***\\"\\n}","type":"json"}]',
+ ],
+ 'CreateVirtualHost' => [
+ 'summary' => 'Creates a vhost. A vhost is used to logically isolate resources. Each vhost manages its own exchanges, queues, and bindings. Applications can run on independent vhosts in a secure manner. This way, the business of an application is not affected by other applications. Before you connect producers and consumers to an ApsaraMQ for RabbitMQ instance, you must specify vhosts for the producers and consumers.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9n***', 'title' => ''],
+ ],
+ [
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the vhost to create. The name must meet the following requirements:'."\n"
+ ."\n"
+ .'- The name can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .'- The name must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- The vhost name cannot be changed after creation. To use a different name, delete the vhost and create a new one.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Demo', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '是否开通磁盘存储加密',
- 'description' => '实例是否开通数据存储加密功能',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '628705FD-03EE-4ABE-BB21-E1672960***', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'CreateVirtualHost',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVirtualHost'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'KmsKeyId',
- 'in' => 'query',
- 'schema' => [
- 'title' => 'kms Key Id',
- 'description' => '使用同地域下KMS密钥ID',
- '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"628705FD-03EE-4ABE-BB21-E1672960***\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteAccount' => [
+ 'summary' => 'Deletes a static username and password.',
+ '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' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'schema' => ['description' => 'The static username to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8='],
],
[
- 'name' => 'Edition',
+ 'name' => 'CreateTimestamp',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'enum' => [
- 'shared',
- 'dedicated',
- ],
- ],
+ 'schema' => ['description' => 'The timestamp that indicates when the static username and password were created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'Call the [ListAccounts](~~472730~~) operation to find this value.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '1671175303522'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '628705FD-03EE-4ABE-BB21-E1672960***',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'InstanceNotExist',
- ],
- 'Data' => [
- 'description' => 'The returned data, which includes orderId and instanceId. Sample returned data:'."\n"
- ."\n"
- .'```json'."\n"
- .'"Data": {'."\n"
- .' "instanceId": "amqp-cn-xxxxx",'."\n"
- .' "orderId": 22222'."\n"
- .' }'."\n"
- .'```'."\n",
- 'type' => 'any',
- 'example' => '{“instanceId”: “amqp-cn-jtexxxxx”, “orderId”: 2222222}',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful.'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'StatusCode' => [
- 'description' => 'The response code.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A1******'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the call is successful.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'operation success'],
+ 'Data' => ['description' => 'The returned data.', 'type' => 'boolean', 'title' => '', 'example' => 'true'],
+ 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'title' => '', 'example' => 'true'],
],
+ 'example' => '',
],
],
],
- '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' => 'DeleteAccount',
+ 'changeSet' => [],
+ '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' => 'All Resource', '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' => 'UpdateInstance',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A1******\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": true,\\n \\"Success\\": true\\n}","type":"json"}]',
],
- 'UpdateInstanceName' => [
- 'summary' => 'Updates the name of an ApsaraMQ for RabbitMQ instance. After an ApsaraMQ for RabbitMQ instance is created, the ID of the instance is used as its name by default. You can specify a custom name for an instance to facilitate instance identification.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteBinding' => [
+ 'summary' => 'The DeleteBinding operation detaches a source exchange from a target queue or another 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' => 'The ID of the ApsaraMQ for RabbitMQ instance for which you want to update the name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-zvp2ajsj****',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
- 'name' => 'InstanceName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the instance. No limits are imposed on the value. We recommend that you set this parameter to a maximum of 64 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-ZVp2ajsj****',
- ],
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceExchange',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the source exchange.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NormalEX', 'title' => ''],
+ ],
+ [
+ 'name' => 'DestinationName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the destination object.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue', 'title' => ''],
+ ],
+ [
+ 'name' => 'BindingType',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- **QUEUE**'."\n"
+ ."\n"
+ .'- **EXCHANGE**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QUEUE', 'title' => ''],
+ ],
+ [
+ 'name' => 'BindingKey',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The binding key.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'default' => '', 'example' => '.test.', 'title' => ''],
],
],
'responses' => [
@@ -1150,90 +1526,73 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The returned HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned when an error occurs during the update of the instance name.'."\n",
- 'type' => 'string',
- 'example' => 'InstanceNotExist',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****',
- ],
- 'Success' => [
- 'description' => 'The returned message that indicates the request is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 404 => [
- [
- 'errorCode' => 'InstanceNotExist',
- 'errorMessage' => 'The instance resource does not exist.',
- ],
+ 'title' => 'DeleteBinding',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBinding'],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ '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/*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'amqp:CreateExchange', 'validationType' => 'conditional'],
+ ['action' => 'amqp:CreateQueue'],
+ ['action' => 'amqp:GetVhost'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- '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' => 'UpdateInstanceName',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"021788F6-E50C-4BD6-9F80-66B0A19A6***\\"\\n}","type":"json"}]',
],
- 'GetMetadataAmount' => [
- 'summary' => 'Queries the maximum number of vhosts, exchanges, and queues that you can create and the number of created vhosts, exchanges, and queues on an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteExchange' => [
+ 'summary' => 'Deletes an exchange.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsUA0VH5'],
],
'parameters' => [
[
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'amqp-cn-v0h1kb9n***',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance that contains the exchange.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'VirtualHost',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the vhost that contains the exchange.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'ExchangeName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The name of the exchange to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoExchange', 'title' => ''],
],
],
'responses' => [
@@ -1241,330 +1600,179 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B75ACF23-2BEB-44AC-A0B6-AE14EDCA***',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'MaxVirtualHosts' => [
- 'description' => 'The maximum number of vhosts that can be created on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'CurrentVirtualHosts' => [
- 'description' => 'The number of created vhosts on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxQueues' => [
- 'description' => 'The maximum number of queues that can be created on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentExchanges' => [
- 'description' => 'The number of created exchanges on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '7',
- ],
- 'MaxExchanges' => [
- 'description' => 'The maximum number of exchanges that can be created on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'CurrentQueues' => [
- 'description' => 'The number of created queues on the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6961FFB8-6358-4EDC-9E3C-4A0C56CE6***', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'GetMetadataAmount',
+ 'title' => 'DeleteExchange',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'- You cannot delete exchanges with the type **headers**.'."\n"
+ ."\n"
+ .'- You cannot delete the three built-in exchanges in a vhost: amq.direct, amq.topic, or amq.fanout.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListInstances' => [
- 'summary' => 'Queries all AparaMQ for RabbitMQ instances in a region. The returned data includes the basic information, endpoint, and specification limits of each instance.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6961FFB8-6358-4EDC-9E3C-4A0C56CE6***\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteOpenSourceAccount' => [
+ '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' => ['FEATUREonsSLSXRS'],
],
'parameters' => [
[
- 'name' => 'NextToken',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9n***', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'UserName',
'in' => 'query',
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => false, 'example' => 'KcUt5e5TbhkwaLyLl', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The maximum number of entries to return. Valid values: 1 to 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '200',
- 'minimum' => '1',
- 'example' => '1',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '035F5EEF-730F-5579-86E3-F1B394A5CBB6'],
+ 'Success' => ['description' => 'Indicates whether the operation was successful.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ ],
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
[
- 'name' => 'ResourceGroupId',
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete open-source username and password',
+ 'summary' => 'Deletes the username and password of an open-source user.',
+ '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' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsSGDS5X'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the instances belong.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekzu74zjgdu4mq',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => true, 'example' => 'myName', 'title' => ''],
+ ],
+ [
+ 'name' => 'Vhost',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'example' => 'production', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***',
- ],
- 'Data' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Instances' => [
- 'description' => 'The instances.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The instance.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'The instance status. Valid values:'."\n"
- ."\n"
- .'* DEPLOYING: The instance is being deployed.'."\n"
- .'* EXPIRED: The instance is expired.'."\n"
- .'* SERVING: The instance is running.'."\n"
- .'* RELEASED: The instance is released.'."\n",
- 'type' => 'string',
- 'example' => 'SERVING',
- ],
- 'SupportEIP' => [
- 'description' => 'Indicates whether the instance supports elastic IP addresses (EIPs).'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ExpireTime' => [
- 'description' => 'The timestamp that indicates when the instance expires. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1651507200000',
- ],
- 'OrderCreateTime' => [
- 'description' => 'The timestamp that indicates when the order was created. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1572441939000',
- ],
- 'PrivateEndpoint' => [
- 'description' => 'The virtual private cloud (VPC) endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com',
- ],
- 'StorageSize' => [
- 'description' => 'The disk size. Unit: GB.'."\n"
- ."\n"
- .'> For Professional Edition instances and Enterprise Edition instances, this parameter is unavailable and \\*\\*-1\\*\\* is returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'MaxEipTps' => [
- 'description' => 'The maximum number of Internet-based transactions per second (TPS) for the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '24832',
- ],
- 'InstanceId' => [
- 'description' => 'The instance ID'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****',
- ],
- 'InstanceType' => [
- 'description' => 'The instance type.'."\n"
- ."\n"
- .'* PROFESSIONAL: Professional Edition'."\n"
- .'* ENTERPRISE: Enterprise Edition'."\n"
- .'* VIP: Enterprise Platinum Edition'."\n",
- 'type' => 'string',
- 'example' => 'professional',
- ],
- 'PublicEndpoint' => [
- 'description' => 'The public endpoint of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com',
- ],
- 'ClassicEndpoint' => [
- 'description' => 'The endpoint that is used to access the instance over the classic network. This parameter is no longer available.'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****.not-support',
- ],
- 'MaxVhost' => [
- 'description' => 'The maximum number of vhosts on the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'MaxTps' => [
- 'description' => 'The maximum number of VPC-based TPS for the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5000',
- ],
- 'AutoRenewInstance' => [
- 'description' => 'Indicates whether the instance is automatically renewed.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'InstanceName' => [
- 'description' => 'The instance name.'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-st21x7kv****',
- ],
- 'MaxQueue' => [
- 'description' => 'The maximum number of queues on the instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'OrderType' => [
- 'description' => 'The billing method. Valid values:'."\n"
- ."\n"
- .'* PrePaid: the subscription billing method.'."\n"
- .'* POST_PAID: the pay-as-you-go billing method.'."\n",
- 'type' => 'string',
- 'example' => 'PRE_PAID',
- ],
- 'Tags' => [
- 'description' => 'The tags that are added to the instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tag that is added to the instance.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'region',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'hangzhou',
- ],
- ],
- ],
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-aek3axfj2w4czrq',
- ],
- 'EncryptedInstance' => [
- 'description' => 'Indicates whether the encryption at rest feature is enabled for the instance.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'KmsKeyId' => [
- 'description' => 'The ID of the Key Management Service (KMS) key used for the data disk.'."\n",
- 'type' => 'string',
- 'example' => 'key-bjj66c2a893vmhawtq5fd',
- ],
- 'ProvisionedCapacity' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'Edition' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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' => 'ListInstances',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateVirtualHost' => [
- 'summary' => 'Creates a vhost. A vhost is used to logically isolate resources. Each vhost manages its own exchanges, queues, and bindings. Applications can run on independent vhosts in a secure manner. This way, the business of an application is not affected by other applications. Before you connect producers and consumers to an ApsaraMQ for RabbitMQ instance, you must specify vhosts for the producers and consumers.',
- 'methods' => [
- 'post',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
+ [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete open source permission',
+ 'summary' => 'Deletes an open source permission.',
+ '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' => [],
@@ -1573,39 +1781,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' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9n***',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***', 'title' => ''],
+ ],
+ [
+ 'name' => 'QueueName',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The queue name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'DemoQueue', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the vhost that you want to create. Valid values:'."\n"
- ."\n"
- .'* The name can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slash (/), and at signs (@).'."\n"
- .'* The name must be 1 to 255 characters in length.'."\n"
- .'* After the vhost is created, you cannot change its name. If you want to change the name of a vhost, delete the vhost and create another vhost.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Demo',
- ],
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test', 'title' => ''],
],
],
'responses' => [
@@ -1613,28 +1808,43 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '628705FD-03EE-4ABE-BB21-E1672960***',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'CreateVirtualHost',
- ],
- 'DeleteVirtualHost' => [
- 'summary' => 'Deletes a virtual host (vhost).',
- 'methods' => [
- 'post',
+ 'title' => 'DeleteQueue',
+ 'summary' => 'Deletes a queue.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"92385FD2-624A-48C9-8FB5-753F2AFA***\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteVirtualHost' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1646,32 +1856,18 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsSCH7G8',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsSCH7G8'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance to which the vhost you want to delete belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the vhost that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The name of the vhost to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -1679,13 +1875,11 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4311050D-BD63-48F9-822B-947A75A1***',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4311050D-BD63-48F9-822B-947A75A1***', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -1693,22 +1887,41 @@
'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' => 'DeleteVirtualHost',
- 'description' => 'Before you delete a vhost, make sure that all exchanges and queues in the vhost are deleted.'."\n",
+ 'summary' => 'Deletes a virtual host (vhost).',
+ 'description' => 'Before you delete a vhost, you must delete all exchanges and queues in it.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListVirtualHosts' => [
- 'summary' => 'Queries all virtual hosts (vhosts) on an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4311050D-BD63-48F9-822B-947A75A1***\\"\\n}","type":"json"}]',
+ ],
+ 'GetInstance' => [
+ 'summary' => 'Retrieves the details of an ApsaraMQ for RabbitMQ instance.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1717,277 +1930,382 @@
'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' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return. Valid values: **1 to 100**'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The ID of the Message Queue for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'OpenApiResponse<InstanceVO>',
+ 'description' => 'OpenApiResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EF4DB019-DA4A-4CE3-B220-223BBC93F***',
- ],
+ 'RequestId' => ['description' => 'The unique ID generated for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'VirtualHosts' => [
- 'description' => 'The vhosts.'."\n",
+ 'Tags' => [
+ 'description' => 'The list of tags.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the tag.',
'type' => 'object',
'properties' => [
- 'Name' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'Tag key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'Tag value', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Status' => ['description' => 'The instance status. Valid values:'."\n"
+ ."\n"
+ .'- DEPLOYING: The instance is being deployed.'."\n"
+ ."\n"
+ .'- EXPIRED: The instance has expired.'."\n"
+ ."\n"
+ .'- SERVING: The instance is in service.'."\n"
+ ."\n"
+ .'- RELEASED: The instance has been released.', 'type' => 'string', 'example' => 'SERVING', 'title' => ''],
+ 'SupportEIP' => ['description' => 'Indicates whether the instance supports EIPs.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The timestamp that indicates when the instance expires, in milliseconds.'."\n"
+ ."\n"
+ .'> The value is a long integer. Handle it with care in certain programming languages to prevent precision loss.', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000', 'title' => ''],
+ 'OrderCreateTime' => ['description' => 'The timestamp that indicates when the order was created, in milliseconds.'."\n"
+ ."\n"
+ .'> The value is a long integer. Handle it with care in certain programming languages to prevent precision loss.', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000', 'title' => ''],
+ 'PrivateEndpoint' => ['description' => 'The VPC endpoint of the instance.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com'."\n", 'title' => ''],
+ 'StorageSize' => ['description' => 'The disk capacity. Unit: GB.'."\n"
+ ."\n"
+ .'> For Professional and Enterprise Edition instances, this parameter returns **-1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '200'."\n", 'title' => ''],
+ 'MaxEipTps' => ['description' => 'The peak public TPS.'."\n"
+ ."\n"
+ .'For valid values, see the [ApsaraMQ for RabbitMQ purchase page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'amqp-cn-*********', 'title' => ''],
+ 'InstanceType' => ['description' => 'The instance type.'."\n"
+ ."\n"
+ .'- PROFESSIONAL: Professional Edition'."\n"
+ ."\n"
+ .'- ENTERPRISE: Enterprise Edition'."\n"
+ ."\n"
+ .'- VIP: Platinum Edition'."\n"
+ ."\n"
+ .'- SERVERLESS: Serverless Edition', 'type' => 'string', 'example' => 'enterprise', 'title' => ''],
+ 'PublicEndpoint' => ['description' => 'The public endpoint of the instance.', 'type' => 'string', 'example' => 'xxx.cn-hangzhou.xxx.net.mq.amqp.aliyuncs.com', 'title' => ''],
+ 'ClassicEndpoint' => ['description' => 'The classic network endpoint. This parameter is deprecated.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.not-support'."\n", 'title' => ''],
+ 'MaxVhost' => ['description' => 'The maximum number of vhosts for the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '50'."\n", 'title' => ''],
+ 'MaxTps' => ['description' => 'The peak private TPS.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
+ 'AutoRenewInstance' => ['description' => 'Indicates whether auto-renewal is enabled for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'InstanceName' => ['description' => 'The name of the instance. A length of 64 characters or less is recommended.', 'type' => 'string', 'example' => 'yunQi-instance', 'title' => ''],
+ 'MaxQueue' => ['description' => 'The maximum number of queues for the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
+ 'OrderType' => ['description' => 'The billing method.'."\n"
+ ."\n"
+ .'- PRE\\_PAID: subscription'."\n"
+ ."\n"
+ .'- POST\\_PAID: pay-as-you-go', 'type' => 'string', 'example' => 'PRE_PAID', 'title' => ''],
+ 'TracingStorageTime' => ['description' => 'The retention period of message traces. Unit: days. Valid values:'."\n"
+ ."\n"
+ .'- 3: 3 days'."\n"
+ ."\n"
+ .'- 7: 7 days'."\n"
+ ."\n"
+ .'- 15: 15 days'."\n"
+ ."\n"
+ .'This parameter applies only when `SupportTracing` is set to true.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''],
+ 'SupportTracing' => ['description' => 'Indicates whether the message trace feature is enabled.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'MaxConnections' => ['description' => 'The maximum number of connections.'."\n"
+ ."\n"
+ .'For valid values, see the [ApsaraMQ for RabbitMQ purchase page](https://common-buy.aliyun.com/?commodityCode=ons_onsproxy_pre).', 'type' => 'integer', 'format' => 'int32', 'example' => '1500', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group for the instance.', 'type' => 'string', 'example' => 'rg-acfm2vn6jkayvfy', 'title' => ''],
+ 'ServerlessSwitch' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'EncryptedInstance' => ['description' => 'Indicates whether storage encryption is enabled for the instance data.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'KmsKeyId' => ['description' => 'The KMS key ID of the cloud disk.', 'type' => 'string', 'example' => 'key-hzz6566e86byam3lg5rw4', 'title' => ''],
+ 'ProvisionedCapacity' => ['description' => 'The reserved TPS capacity for reserved and elastic instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''],
+ 'Edition' => ['description' => 'The deployment architecture. Valid values:'."\n"
+ ."\n"
+ .'- shared: shared architecture, which is suitable for reserved and elastic (shared) instances and pay-as-you-go instances.'."\n"
+ ."\n"
+ .'- dedicated: dedicated architecture, which is suitable for reserved and elastic (dedicated) instances.', 'type' => 'string', 'example' => 'shared', 'title' => ''],
+ 'ListenerMode' => [
+ 'description' => 'The listener mode. A value of tcp\\_and\\_ssl enables both port 5672 and 5671, while ssl\\_only enables only port 5671.',
+ 'type' => 'string',
+ 'example' => 'tcp_and_ssl',
+ 'default' => 'tcp_and_ssl',
+ 'enum' => ['tcp_and_ssl', 'ssl_only'],
+ 'title' => '',
+ ],
+ 'VpcId' => ['description' => 'The VPC ID used to create a PrivateLink endpoint for the instance.', 'type' => 'string', 'example' => 'vpc-xxx', 'title' => ''],
+ 'SecurityGroupId' => ['description' => 'The security group ID used to create a PrivateLink endpoint for the instance.', 'type' => 'string', 'example' => 'sg-xxx', 'title' => ''],
+ 'VswitchIds' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-xxx', 'title' => ''],
+ 'maxItems' => 2,
+ 'minItems' => 1,
+ 'description' => 'The VSwitch IDs used to create a PrivateLink endpoint for the instance.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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\\": false,\\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' => 'GetInstance',
+ 'changeSet' => [],
+ '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' => 'ListVirtualHosts',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'translator' => 'machine',
],
- 'CreateQueue' => [
- 'summary' => 'Creates a queue. In ApsaraMQ for RabbitMQ, a queue is a message queue. All messages in ApsaraMQ for RabbitMQ are sent to a specific exchange and then routed to a bound queue by the exchange.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetMetadataAmount' => [
+ 'summary' => 'Queries the current and maximum numbers of vhosts, exchanges, and queues for a specified ApsaraMQ for RabbitMQ instance.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance on which you want to create a queue.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => false, 'example' => 'amqp-cn-v0h1kb9n***', 'title' => ''],
],
- [
- 'name' => 'VirtualHost',
- 'in' => 'formData',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The name of the vhost to which the queue that you want to create belongs. The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B75ACF23-2BEB-44AC-A0B6-AE14EDCA***', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxVirtualHosts' => ['description' => 'The maximum number of vhosts that you can create.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'CurrentVirtualHosts' => ['description' => 'The number of existing vhosts.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'MaxQueues' => ['description' => 'The maximum number of queues that you can create.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'CurrentExchanges' => ['description' => 'The number of existing exchanges.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''],
+ 'MaxExchanges' => ['description' => 'The maximum number of exchanges that you can create.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'CurrentQueues' => ['description' => 'The number of existing queues.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'GetMetadataAmount',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMetadataAmount'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'QueueName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the queue that you want to create.'."\n"
- ."\n"
- .'* The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .'* After the queue is created, you cannot change the name of the queue. If you want to change the name of the queue, delete the queue and create another queue.'."\n",
- '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListAccounts' => [
+ 'summary' => 'Lists the usernames and passwords for a specified ApsaraMQ for RabbitMQ instance.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'AutoDeleteState',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to automatically delete the queue. Valid values:'."\n"
- ."\n"
- .'* true: The queue is automatically deleted. After the last consumer unsubscribes from the queue, the queue is automatically deleted.'."\n"
- .'* false: The queue is not automatically deleted.'."\n",
- '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' => 'The ID of the ApsaraMQ for RabbitMQ instance whose static usernames and passwords you want to list.', 'type' => 'string', 'required' => false, 'example' => 'amqp-cn-20p****04', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'Specifies whether the exchange is an exclusive exchange. Valid values:'."\n"
- ."\n"
- .'* true: The exchange is an exclusive exchange. Only the connection that declares the exclusive exchange can use the exclusive exchange. After the connection is closed, the exclusive exchange is automatically deleted.'."\n"
- .'* false: The exchange is not an exclusive exchange.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'title' => 'Schema of Response',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '549A5A97-FE61-5A23-8126-3A1192*****'],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'masterUid' => ['description' => 'The ID of the Alibaba Cloud account or RAM user that created the static username and password.', 'type' => 'integer', 'format' => 'int64', 'example' => '1565************1', 'title' => ''],
+ 'cInstanceId' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'example' => 'amqp-cn-uqm******03', 'title' => ''],
+ 'accessKey' => ['description' => 'The AccessKey ID that was used to create the static username and password.', 'type' => 'string', 'example' => 'LTAI****************', 'title' => ''],
+ 'userName' => ['description' => 'The static username.', 'type' => 'string', 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=', 'title' => ''],
+ 'password' => ['description' => 'The static password.', 'type' => 'string', 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1', 'title' => ''],
+ 'deleted' => ['description' => 'The UNIX timestamp when the static username and password were deleted. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ 'createTimestamp' => ['description' => 'The UNIX timestamp when the static username and password were created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1671175303522', 'title' => ''],
+ 'Remark' => ['description' => 'The remark.', 'type' => 'string', 'example' => '*** environment', 'title' => ''],
+ ],
+ 'description' => 'object',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The result set.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ ],
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''],
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'ListAccounts',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccounts'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'MessageTTL',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The message time to live (TTL) of the queue.'."\n"
- ."\n"
- .'* If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires.'."\n"
- .'* The message TTL must be set to a non-negative integer. The maximum message TTL is one day. Unit: milliseconds. For example, if the message TTL is 1,000 milliseconds, the message can be retained for up to 1 second in the queue.'."\n",
- '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' => 'Queries all bindings that are created in a vhost of a specified ApsaraMQ for RabbitMQ instance.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'AutoExpireState',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The validity period after which the queue is automatically deleted. If the queue is not accessed within the specified period of time, the queue is automatically deleted.'."\n"
- ."\n"
- .'Unit: milliseconds.'."\n"
- ."\n"
- .'> You can use the feature that corresponds to this parameter only after you enable the feature. To enable the feature, [submit a ticket](https://ticket-intl.console.aliyun.com/#/ticket/createIndex).'."\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' => 'This parameter is unavailable in the current version of ApsaraMQ for RabbitMQ.'."\n"
- ."\n"
- .'The maximum number of messages that can be stored in the queue. If this threshold is exceeded, the earliest stored messages in the queue are deleted.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '1000',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***', 'title' => ''],
],
[
- 'name' => 'DeadLetterExchange',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The dead-letter exchange. A dead-letter exchange is used to receive rejected messages.'."\n"
- ."\n"
- .'If a consumer rejects a message that cannot be redelivered, ApsaraMQ for RabbitMQ routes the message to the specified dead-letter exchange. Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange for storage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'DLExchange',
- ],
+ 'name' => 'VirtualHost',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Test', 'title' => ''],
],
[
- 'name' => 'DeadLetterRoutingKey',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The dead-letter routing key. The key must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test.dl',
- ],
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that marks the end of the current query. To retrieve the next page of results, pass the token that was returned in the previous call. For the first call or if the last page is returned, the value of this parameter is an empty string.', 'type' => 'string', 'required' => false, 'minLength' => 1, 'default' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
- 'name' => 'MaximumPriority',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Queue priorities are not supported. The value does not affect the call or return results.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries to return. Valid values:'."\n"
+ ."\n"
+ .'**1 to 100**', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -1995,79 +2313,143 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '59B52E2C-0B8E-44EC-A314-D0314A50***',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E0A71208-3E87-4732-81CC-B18E0B4B1***', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxResults' => ['description' => 'The maximum number of entries returned for the current request.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The position where the current query ends. An empty value indicates that all data is returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'Bindings' => [
+ 'description' => 'The list of bindings.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceExchange' => ['description' => 'The name of the source exchange.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Argument' => ['description' => 'The x-match property. Valid values:'."\n"
+ ."\n"
+ .'- **all**: The default value. All key-value pairs of the message header must match.'."\n"
+ ."\n"
+ .'- **any**: At least one key-value pair of the message header must match.'."\n"
+ ."\n"
+ .'This parameter is valid only for headers exchanges.', 'type' => 'string', 'example' => 'all', 'title' => ''],
+ 'BindingKey' => ['description' => 'The binding key.'."\n"
+ ."\n"
+ .'- If the source exchange is not a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- If the source exchange is a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain letters, digits, hyphens (-), underscores (\\_), asterisks (\\*), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key cannot start or end with a period (.). If the key starts with a number sign (#) or an asterisk (\\*), it must be followed by a period (.). If the key ends with a number sign (#) or an asterisk (\\*), it must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is in the middle of the key, it must be both preceded and followed by a period (.).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.', 'type' => 'string', 'example' => 'amq.test', 'title' => ''],
+ 'BindingType' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- **QUEUE**'."\n"
+ ."\n"
+ .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE', 'title' => ''],
+ 'DestinationName' => ['description' => 'The name of the destination.', 'type' => 'string', 'example' => 'QueueTest', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'CreateQueue',
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''],
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'title' => 'ListBindings',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteQueue' => [
- 'summary' => 'Deletes a queue.',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindings'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'amqp:GetInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'amqp:ListQueue'],
+ ['action' => 'amqp:ListExchange'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ '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' => 'The instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance to which the exchange belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***', 'title' => ''],
],
[
- 'name' => 'QueueName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The queue name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DemoQueue',
- ],
+ 'name' => 'VirtualHost',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the vhost to which the exchange belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'VirtualHost',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Test',
- ],
+ 'name' => 'ExchangeName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the exchange.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that is used to retrieve the next page of results. If this is your first call, or if you have retrieved all results, leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -2075,31 +2457,110 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***',
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9C1E0502-0790-4FDB-8C96-6D5C8D9B7***', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxResults' => ['description' => 'The maximum number of results returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. If the value is empty, all results have been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'Bindings' => [
+ 'description' => 'The bindings.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceExchange' => ['description' => 'The name of the source exchange.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Argument' => ['description' => 'The x-match property. Valid values:'."\n"
+ ."\n"
+ .'- **all**: The default value. All key-value pairs in the message header must match.'."\n"
+ ."\n"
+ .'- **any**: At least one key-value pair in the message header must match.'."\n"
+ ."\n"
+ .'This parameter is valid only for headers exchanges.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'BindingKey' => ['description' => 'The binding key.'."\n"
+ ."\n"
+ .'- If the source exchange is not a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- If the source exchange is a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), asterisks (\\*), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key cannot start or end with a period (.). If the binding key starts with a number sign (#) or an asterisk (\\*), it must be followed by a period (.). If it ends with a number sign (#) or an asterisk (\\*), it must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is in the middle of the binding key, it must be surrounded by periods (.).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.', 'type' => 'string', 'example' => 'amq.test', 'title' => ''],
+ 'BindingType' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- **QUEUE**'."\n"
+ ."\n"
+ .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE', 'title' => ''],
+ 'DestinationName' => ['description' => 'The name of the destination.', 'type' => 'string', 'example' => 'QueueTest', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'DeleteQueue',
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InstanceIdNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => ''],
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'title' => 'ListDownStreamBindings',
+ 'summary' => 'Queries the exchanges or queues that are bound to a specified exchange.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListQueueConsumers' => [
- 'summary' => 'Queries the online consumers of a queue.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDownStreamBindings'],
+ ],
],
- '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListExchangeUpStreamBindings' => [
+ 'summary' => 'Queries the queues or other exchanges that are bound to a specified exchange.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2111,73 +2572,33 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '76240',
- 'abilityTreeNodes' => [
- 'FEATUREonsUKJAUW',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsHNP38C'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '188077086902***',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'query',
- 'schema' => [
- 'description' => 'The virtual host (vhost) name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'Queue',
+ 'name' => 'ExchangeName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the queue for which you want to query online consumers.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'queue-rabbit-springboot-advance5',
- ],
+ 'schema' => ['description' => 'The exchange name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- 'default' => '',
- ],
+ 'schema' => ['description' => 'The token that marks the end of the current query. Pass this token in the next call to query the next page. This parameter is an empty string for the first query or when the last page is returned.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
- 'name' => 'QueryCount',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of data entries to return. If you do not configure this parameter, the default value 1 is used.'."\n"
- ."\n"
- .'Valid values: 1 to 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -2185,75 +2606,109 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4409B7D5-E4EC-4EB5-804A-385DCDFCD***',
- ],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the call is successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2DCCCE88-BC82-4A4F-AF5E-9A759672B***', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'Consumers' => [
- 'description' => 'The consumers.'."\n",
+ 'MaxResults' => ['description' => 'The maximum number of results returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that indicates the position where the current query ends. An empty value indicates that all data has been read.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'Bindings' => [
+ 'description' => 'The bindings.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ConsumerTag' => [
- 'description' => 'The consumer tag.'."\n",
- 'type' => 'string',
- 'example' => 'sgen-1',
- ],
+ 'SourceExchange' => ['description' => 'The name of the source exchange.', 'type' => 'string', 'example' => 'dle', 'title' => ''],
+ 'Argument' => ['description' => 'The x-match property. Valid values:'."\n"
+ ."\n"
+ .'- **all**: The default value. All key-value pairs in the message header must match.'."\n"
+ ."\n"
+ .'- **any**: At least one key-value pair in the message header must match.'."\n"
+ ."\n"
+ .'This parameter is valid only for headers exchanges. It is invalid for other types of exchanges.', 'type' => 'string', 'example' => 'all', 'title' => ''],
+ 'BindingKey' => ['description' => 'The binding key.'."\n"
+ ."\n"
+ .'- If the source exchange is not a topic exchange:'."\n"
+ ."\n"
+ .' - The key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The key must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- If the source exchange is a topic exchange:'."\n"
+ ."\n"
+ .' - The key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The key cannot start or end with a period (.). A number sign (#) or an asterisk (\\*) must be preceded by a period if it is not at the start of the key. It must be followed by a period if it is not at the end of the key.'."\n"
+ ."\n"
+ .' - The key must be 1 to 255 characters in length.', 'type' => 'string', 'example' => 'amq.dle.test', 'title' => ''],
+ 'BindingType' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- **QUEUE**'."\n"
+ ."\n"
+ .'- **EXCHANGE**', 'type' => 'string', 'example' => 'EXCHANGE', 'title' => ''],
+ 'DestinationName' => ['description' => 'The destination name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
],
],
- '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' => 'ListQueueConsumers',
- 'description' => 'ApsaraMQ for RabbitMQ allows you to query only online consumers.'."\n",
+ 'title' => 'ListExchangeUpStreamBindings',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListQueues' => [
- 'summary' => 'Queries all queues in a vhost of an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListExchanges' => [
+ 'summary' => 'Lists all exchanges in a specified vhost of an instance.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2265,59 +2720,33 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsUKJAUW',
- ],
+ 'abilityTreeCode' => '58733',
+ 'abilityTreeNodes' => ['FEATUREonsHNP38C'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-7pp2mwbc****', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'query',
- 'schema' => [
- 'description' => 'The virtual host (vhost) name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The name of the vhost.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- 'minLength' => 1,
- 'default' => '',
- ],
+ 'schema' => ['description' => 'The token for retrieving the next page of results. Set this parameter to the token value returned from the previous call.'."\n"
+ ."\n"
+ .'- Omit this parameter on your first call.'."\n"
+ ."\n"
+ .'- If a subsequent call is required, set this parameter to the `NextToken` value returned from the previous call.', 'type' => 'string', 'required' => false, 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return. Valid values: **1 to 100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -2325,111 +2754,88 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'CE811989-9F02-42CE-97A6-2239CB5C2***',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'Queues' => [
- 'description' => 'The queues.'."\n",
+ 'MaxResults' => ['description' => 'The maximum number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that marks the start of the next query.'."\n"
+ ."\n"
+ .'- If this parameter is empty, no more data is available.'."\n"
+ ."\n"
+ .'- If a value is returned, use the value as the `NextToken` value in the next call to continue the query.', 'type' => 'string', 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****', 'title' => ''],
+ 'Exchanges' => [
+ 'description' => 'The exchanges.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ExclusiveState' => [
- 'description' => 'Indicates whether the queue is an exclusive queue.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'AutoDeleteState' => [
- 'description' => 'Indicates whether the queue was automatically deleted.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the queue was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1580887085240',
- ],
- 'Attributes' => [
- 'description' => 'The attributes.'."\n",
- 'type' => 'object',
- 'example' => 'test',
- ],
- 'VHostName' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Name' => [
- 'description' => 'The queue name.'."\n",
- 'type' => 'string',
- 'example' => 'QueueTest',
- ],
- 'OwnerId' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs.'."\n",
- 'type' => 'string',
- 'example' => '1880770869023***',
- ],
- 'LastConsumeTime' => [
- 'description' => 'The time when messages in the queue were last consumed.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1680887085240',
- ],
+ 'AutoDeleteState' => ['description' => 'Indicates whether the exchange is an auto-delete exchange.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the exchange was created. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1580886216000', 'title' => ''],
+ 'Attributes' => ['description' => 'The attributes of the exchange. This parameter is not supported.', 'type' => 'object', 'example' => 'test', 'title' => ''],
+ 'VHostName' => ['description' => 'The name of the vhost to which the exchange belongs.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Name' => ['description' => 'The name of the exchange.', 'type' => 'string', 'example' => 'amq.direct', 'title' => ''],
+ 'ExchangeType' => ['description' => 'The type of the exchange.', 'type' => 'string', 'example' => 'DIRECT', 'title' => ''],
+ 'Internal' => ['description' => 'Indicates whether the exchange is an internal exchange.', 'type' => 'boolean', 'title' => '', 'example' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
],
],
- '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' => 'ListQueues',
+ 'responseDemo' => '[{"errorExample":"","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\\": false\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'ListExchanges',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListQueueUpStreamBindings' => [
- 'summary' => 'Queries the exchanges that are bound to a queue.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListExchanges'],
+ ],
],
- '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'],
+ ],
+ ],
],
+ ],
+ 'ListInstanceWhiteList' => [
+ 'summary' => 'Queries the IP or VPC whitelist for an instance.',
+ 'path' => '',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2441,67 +2847,101 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons5ZTT5D',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsSGDS5X'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
+ 'schema' => ['description' => 'The ID of the instance whose whitelist to query.', 'type' => 'string', 'required' => true, 'example' => 'rabbitmq-cn-xxx', 'title' => ''],
],
[
- 'name' => 'VirtualHost',
+ 'name' => 'whiteListType',
'in' => 'query',
'schema' => [
- 'description' => 'The virtual host (vhost) name.'."\n",
- 'type' => 'string',
+ 'description' => 'The type of whitelist to query.'."\n"
+ ."\n"
+ .'VPC whitelists apply only to instances whose VPC endpoint is of the `anytunnel` type. The latest instance versions use a `PrivateLink` VPC endpoint and do not support VPC whitelists.',
+ 'enumValueTitles' => [1 => 'VPC whitelist', 'IP address whitelist'],
+ 'type' => 'integer',
+ 'format' => 'int32',
'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
+ 'enum' => ['1', '2'],
+ 'title' => '',
+ 'example' => '2',
],
],
- [
- 'name' => 'QueueName',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The queue name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'QueueTest',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The unique ID of the request. Use this ID to troubleshoot issues.', 'type' => 'string', 'title' => '', 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****'],
+ 'Code' => ['description' => 'The return code. A value of `200` indicates a successful request.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned on a failed request.', 'type' => 'string', 'example' => 'xxx failed,xxxx', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => ['description' => 'The returned data, which is an array of whitelist entries. Each object in the array contains an `id` (a sequence number used for deletion) and a `value` (the actual entry, such as an IP address range or a VPC ID).', 'type' => 'any', 'example' => '"Data": ['."\n"
+ .' {'."\n"
+ .' "id": 454,'."\n"
+ .' "value": "10.1.2.1/30"'."\n"
+ .' }'."\n"
+ .' ]', 'title' => ''],
+ 'StatusCode' => ['description' => 'The HTTP status code. A value of `200` indicates a successful request.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ ],
+ 'title' => '',
+ 'description' => 'The response object.',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListInstanceWhiteList',
+ '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' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
+ 'schema' => ['description' => 'The token to retrieve the next page of results. If this is your first query, leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return. The recommended value is from 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '200', 'minimum' => '1', 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the resource group that contains the instance.', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzu74zjgdu4mq', 'title' => ''],
],
],
'responses' => [
@@ -2509,308 +2949,387 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'Bindings' => [
- 'description' => 'The bindings.'."\n",
+ 'NextToken' => ['description' => 'The token for the next page of results. If this field is empty, it means all results have been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The maximum number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'Instances' => [
+ 'description' => 'A list of instances.',
'type' => 'array',
'items' => [
+ 'description' => 'An instance.',
'type' => 'object',
'properties' => [
- 'SourceExchange' => [
- 'description' => 'The name of the source exchange.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Argument' => [
- 'description' => 'The x-match attribute. Valid values:'."\n"
- ."\n"
- .'* **all:** A headers exchange routes a message to a queue only if all binding attributes of the queue except for x-match match the headers attributes of the message. This value is the default value.'."\n"
- .'* **any:** A headers exchange routes a message to a queue if one or more binding attributes of the queue except for x-match match the headers attributes of the message.'."\n"
- ."\n"
- .'This parameter is available for only headers exchanges.'."\n",
- 'type' => 'string',
- 'example' => 'all',
- ],
- 'BindingKey' => [
- 'description' => 'The binding key.'."\n"
- ."\n"
- .'* If the source exchange is not a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n"
- ."\n"
- .'* If the source exchange is a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key cannot start or end with a period (.). If a binding key starts with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be followed by a period (.). If the binding key ends with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is used in the middle of a binding key, the number sign (#) or asterisk (\\*) must be preceded and followed by a period (.).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n",
- 'type' => 'string',
- 'example' => 'amq.test',
+ 'Status' => ['description' => 'The instance status. Valid values:'."\n"
+ ."\n"
+ .'- DEPLOYING: The instance is being deployed.'."\n"
+ ."\n"
+ .'- EXPIRED: The instance has expired.'."\n"
+ ."\n"
+ .'- SERVING: The instance is running.'."\n"
+ ."\n"
+ .'- RELEASED: The instance is released.', 'type' => 'string', 'example' => 'SERVING', 'title' => ''],
+ 'SupportEIP' => ['description' => 'Indicates whether the instance supports EIPs.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration timestamp of the instance, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1651507200000', 'title' => ''],
+ 'OrderCreateTime' => ['description' => 'The creation timestamp of the order, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1572441939000', 'title' => ''],
+ 'PrivateEndpoint' => ['description' => 'The VPC endpoint of the instance.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com', 'title' => ''],
+ 'StorageSize' => ['description' => 'The storage capacity of the disk. Unit: GB.'."\n"
+ ."\n"
+ .'> This parameter returns a value of **-1** for Professional Edition and Enterprise Edition instances, to which it does not apply.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'MaxEipTps' => ['description' => 'The peak transactions per second (TPS) of the instance over the public network.', 'type' => 'integer', 'format' => 'int32', 'example' => '24832', 'title' => ''],
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****', 'title' => ''],
+ 'InstanceType' => ['description' => 'The instance type. Valid values:'."\n"
+ ."\n"
+ .'- professional: Professional Edition'."\n"
+ ."\n"
+ .'- enterprise: Enterprise Edition'."\n"
+ ."\n"
+ .'- vip: Platinum Edition'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- serverless: Serverless Edition'."\n"
+ ."\n"
+ .'</props>', 'type' => 'string', 'example' => 'professional', 'title' => ''],
+ 'PublicEndpoint' => ['description' => 'The public endpoint of the instance.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.mq-amqp.cn-hangzhou-a.aliyuncs.com', 'title' => ''],
+ 'ClassicEndpoint' => ['description' => 'The classic network endpoint. This parameter is deprecated.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****.not-support', 'title' => ''],
+ 'MaxVhost' => ['description' => 'The maximum number of vhosts for the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'MaxTps' => ['description' => 'The peak transactions per second (TPS) of the instance over the private network.', 'type' => 'integer', 'format' => 'int32', 'example' => '5000', 'title' => ''],
+ 'AutoRenewInstance' => ['description' => 'Indicates whether auto-renewal is enabled for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'amqp-cn-st21x7kv****', 'title' => ''],
+ 'MaxQueue' => ['description' => 'The maximum number of queues for the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'OrderType' => ['description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'- PRE\\_PAID: The instance uses the subscription billing method.'."\n"
+ ."\n"
+ .'- POST\\_PAID: The instance uses the pay-as-you-go billing method.', 'type' => 'string', 'example' => 'PRE_PAID', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags attached to the instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'region', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'BindingType' => [
- 'description' => 'The type of the object to which the source exchange is bound. Valid values:'."\n"
- ."\n"
- .'* **QUEUE**'."\n"
- .'* **EXCHANGE**'."\n",
+ 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-aek3axfj2w4czrq', 'title' => ''],
+ 'ServerlessSwitch' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'EncryptedInstance' => ['description' => 'Indicates whether storage encryption is enabled for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'KmsKeyId' => ['description' => 'The ID of the KMS key used for data disk encryption.', 'type' => 'string', 'example' => 'key-bjj66c2a893vmhawtq5fd', 'title' => ''],
+ 'ProvisionedCapacity' => ['description' => 'The reserved TPS capacity for reserved and elastic instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''],
+ 'Edition' => ['description' => 'The deployment architecture, which is applicable only to Serverless Edition instances. Valid values:'."\n"
+ ."\n"
+ .'- shared: A shared architecture, used for reserved, elastic (shared), and pay-as-you-go instances.'."\n"
+ ."\n"
+ .'- dedicated: A dedicated architecture, used for reserved and elastic (dedicated) instances.', 'type' => 'string', 'example' => 'shared', 'title' => ''],
+ 'ListenerMode' => [
+ 'description' => 'The port listener mode of the instance. `tcp_and_ssl` enables both port `5672` and port `5671`, while `ssl_only` enables only port `5671`.',
'type' => 'string',
- 'example' => 'QUEUE',
+ 'example' => 'tcp_and_ssl',
+ 'default' => 'tcp_and_ssl',
+ 'enum' => ['tcp_and_ssl', 'ssl_only'],
+ 'title' => '',
],
- 'DestinationName' => [
- 'description' => 'The name of the object to which the source exchange is bound.'."\n",
- 'type' => 'string',
- 'example' => 'QueueTest',
+ 'VpcId' => ['description' => 'The ID of the VPC in which the instance resides. This VPC is used for PrivateLink endpoint creation.', 'type' => 'string', 'example' => 'vpc-xxx', 'title' => ''],
+ 'SecurityGroupId' => ['description' => 'The ID of the security group to which the instance belongs. This security group is used for PrivateLink endpoint creation.', 'type' => 'string', 'example' => 'sg-xxx', 'title' => ''],
+ 'VswitchIds' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'A VSwitch ID to which the instance is connected.', 'type' => 'string', 'example' => 'vsw-xxx', 'title' => ''],
+ 'maxItems' => 2,
+ 'minItems' => 1,
+ 'description' => 'The IDs of the VSwitches to which the instance is connected. These VSwitches are used for PrivateLink endpoint creation.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'ListQueueUpStreamBindings',
+ 'title' => 'ListInstances',
+ 'summary' => 'Queries a list of ApsaraMQ for RabbitMQ instances in a specified region and returns basic information about each instance, such as its endpoints and specification limits.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateExchange' => [
- 'summary' => 'Creates an exchange. In ApsaraMQ for RabbitMQ, an exchange is used to route a message that is received from a producer to one or more queues or to discard the message. An exchange routes a message to queues by using the routing key and binding keys.',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'amqp:ListInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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\\": false,\\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}","type":"json"}]',
+ ],
+ 'ListOpenSourceAccounts' => [
+ 'summary' => 'Enumerates open-source usernames and passwords.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ for which you want to create an exchange.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-7pp2mwbc****', 'title' => ''],
],
[
- 'name' => 'VirtualHost',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the vhost to which the exchange that you want to create belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that marks the end of the current query. This token is passed as a parameter in the next call to continue pagination. Set this parameter to an empty string for the first call or when the last page is returned.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
- 'name' => 'ExchangeName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the exchange that you want to create. The exchange name must meet the following conventions:'."\n"
- ."\n"
- .'* The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .'* After the exchange is created, you cannot change its name. If you want to change its name, delete the exchange and create another exchange.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DemoExchange',
- ],
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
- [
- 'name' => 'ExchangeType',
- 'in' => 'formData',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The exchange type. Valid values:'."\n"
- ."\n"
- .'* **DIRECT**: An exchange of this type routes a message to the queue whose binding key is exactly the same as the routing key of the message.'."\n"
- .'* **TOPIC**: This type of exchange is similar to direct exchanges. An exchange of this type routes a message to one or more queues based on the results of the fuzzy match or multi-condition match between the routing key of the message and the binding keys of the current exchange.'."\n"
- .'* **FANOUT**: An exchange of this type routes all received messages to all queues bound to this exchange. You can use a fanout exchange to broadcast messages.'."\n"
- .'* **HEADERS**: This type of exchange is similar to direct exchanges. The only difference is that a headers exchange routes messages based on the headers attributes instead of routing keys. When you bind a headers exchange to a queue, you must configure binding attributes in the key-value format for the binding. When you send a message to a headers exchange, you must configure the headers attributes in the key-value format for the message. After a headers exchange receives a message, the exchange routes the message based on the matching results between the headers attributes of the message and the binding attributes of the bound queues.'."\n"
- .'* **X-CONSISTENT-HASH**: An exchange of this type allows you to perform hash calculations on routing keys or header values and use consistent hashing to route a message to different queues.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DIRECT',
- 'enum' => [
- 'DIRECT',
- 'TOPIC',
- 'FANOUT',
- 'HEADERS',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****'],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CInstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'amqp-abc***', 'title' => ''],
+ 'AliyunUserId' => ['description' => 'The Alibaba Cloud UID.', 'type' => 'integer', 'format' => 'int64', 'example' => '12345678900123', 'title' => ''],
+ 'Name' => ['description' => 'The username.', 'type' => 'string', 'example' => 'example', 'title' => ''],
+ 'PasswordHash' => ['description' => 'The password hash.', 'type' => 'string', 'example' => 'f6af6bbb91e947d988d191bfe01c9a9b', 'title' => ''],
+ 'HashingAlgorithm' => ['description' => 'The hash algorithm.', 'type' => 'string', 'example' => 'bcrypt', 'title' => ''],
+ 'Tags' => ['description' => 'The tags.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'ExtraJson' => ['description' => 'The description.', 'type' => 'string', 'example' => '{}', 'title' => ''],
+ 'Limits' => ['description' => 'The quota configuration.', 'type' => 'string', 'example' => 'null', 'title' => ''],
+ 'WeakPassword' => ['description' => 'Indicates whether the password is a weak password. Valid values:'."\n"
+ .'- 0: No.'."\n"
+ .'- 1: Yes.', 'type' => 'boolean', 'title' => '', 'example' => ''],
+ 'CreateTime' => ['description' => 'The time when the user was created.', 'type' => 'string', 'example' => '1704067200000', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'MaxResults' => ['description' => 'The maximum number of entries to return.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that marks the end of the current query. This token is passed as a parameter in the next call to continue pagination. Set this parameter to an empty string for the first call or when the last page is returned.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
[
- 'name' => 'XDelayedType',
- 'in' => 'formData',
- 'schema' => [
- 'type' => 'string',
- 'enum' => [
- 'DIRECT',
- 'TOPIC',
- 'FANOUT',
- 'HEADERS',
- 'X_JMS_TOPIC',
- ],
- ],
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Enumerate open-source usernames and passwords',
+ '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\\": false,\\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' => 'Specifies whether to automatically delete the exchange. Valid values:'."\n"
- ."\n"
- .'* **true**: If the last queue that is bound to the exchange is unbound, the exchange is automatically deleted.'."\n"
- .'* **false**: If the last queue that is bound to the exchange is unbound, the exchange is not automatically deleted.'."\n",
- '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' => 'Specifies whether the exchange is an internal exchange. Valid values:'."\n"
- ."\n"
- .'* **false**'."\n"
- .'* **true**'."\n",
- 'type' => 'boolean',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'false',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
- 'name' => 'AlternateExchange',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The alternate exchange. An alternate exchange is used to receive messages that fail to be routed to queues from the current exchange.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'DemoAE',
- ],
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => true, 'example' => 'myName', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token for the next query.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***',
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CInstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ 'AliyunUserId' => ['description' => 'The Alibaba Cloud UID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890123456', 'title' => ''],
+ 'Name' => ['description' => 'The username.', 'type' => 'string', 'example' => 'shhtzn', 'title' => ''],
+ 'Vhost' => ['description' => 'The vhost name.', 'type' => 'string', 'example' => 'production', 'title' => ''],
+ 'Configure' => ['description' => 'The regular expression for configure permissions.', 'type' => 'string', 'example' => '^$', 'title' => ''],
+ 'Write' => ['description' => 'The regular expression for write permissions.', 'type' => 'string', 'example' => 'order_exchange', 'title' => ''],
+ 'Read' => ['description' => 'The regular expression for read permissions.', 'type' => 'string', 'example' => '^$', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'MaxResults' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'NextToken' => ['description' => 'The token for the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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' => 'CreateExchange',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteExchange' => [
- 'summary' => 'Deletes an exchange.',
- 'methods' => [
- 'post',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
+ [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'List open source permissions',
+ 'summary' => 'Lists open source permissions.',
+ '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' => 'Queries the online consumer clients of a specified queue.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance whose exchange you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******', 'title' => ''],
],
[
'name' => 'VirtualHost',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The vhost to which the exchange that you want to delete belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'ExchangeName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the exchange that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DemoExchange',
- ],
+ 'name' => 'Queue',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The queue name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'queue-rabbit-springboot-advance5', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that marks the end of the current page of results. To retrieve the next page, include this token in the next request. If this is your first request or the last page is returned, the value is an empty string.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'default' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
+ ],
+ [
+ 'name' => 'QueryCount',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return. If you do not set this parameter, the default value is 1.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -2818,35 +3337,78 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6961FFB8-6358-4EDC-9E3C-4A0C56CE6***',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4409B7D5-E4EC-4EB5-804A-385DCDFCD***', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxResults' => ['description' => 'The maximum number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token to retrieve the next page of results. An empty value indicates that all results have been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'Consumers' => [
+ 'description' => 'The consumer information.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ConsumerTag' => ['description' => 'The consumer tag.', 'type' => 'string', 'example' => 'sgen-1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => 'DeleteExchange',
- 'description' => '## [](#)Usage notes'."\n"
- ."\n"
- .'* You cannot delete exchanges of the **headers** and **x-jms-topic** types.'."\n"
- .'* You cannot delete built-in exchanges in a vhost. These exchanges are amq.direct, amq.topic, and 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' => 'The instance resource does not exist.'],
+ ],
+ ],
+ 'title' => 'ListQueueConsumers',
+ 'description' => 'ApsaraMQ for RabbitMQ lets you query only online consumer clients. You cannot query offline consumer clients.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListDownStreamBindings' => [
- 'summary' => 'Queries all exchanges or queues to which an exchange is bound.',
- '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListQueueUpStreamBindings' => [
+ 'summary' => 'Queries the exchanges that are bound to a specified queue.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2858,67 +3420,33 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsHNP38C',
- ],
+ 'abilityTreeNodes' => ['FEATUREons5ZTT5D'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance to which the exchange belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the vhost to which the exchange belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'ExchangeName',
+ 'name' => 'QueueName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The exchange name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The queue name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QueueTest', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
+ 'schema' => ['description' => 'The token that marks the end of the current query. To retrieve the next page of results, pass this token in the next request. For the first request or when the last page is returned, this parameter is an empty string.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -2926,129 +3454,105 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '9C1E0502-0790-4FDB-8C96-6D5C8D9B7***',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
+ 'MaxResults' => ['description' => 'The maximum number of results returned.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that marks the end of the current results. An empty value indicates that all results have been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
'Bindings' => [
- 'description' => 'The bindings.'."\n",
+ 'description' => 'The bindings.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'SourceExchange' => [
- 'description' => 'The name of the source exchange.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Argument' => [
- 'description' => 'The x-match attribute. Valid values:'."\n"
- ."\n"
- .'* **all:** A headers exchange routes a message to a queue only if all binding attributes of the queue except for x-match match the headers attributes of the message. This value is the default value.'."\n"
- .'* **any:** A headers exchange routes a message to a queue if one or more binding attributes of the queue except for x-match match the headers attributes of the message.'."\n"
- ."\n"
- .'This parameter is available only for headers exchanges.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'BindingKey' => [
- 'description' => 'The binding key.'."\n"
- ."\n"
- .'* If the source exchange is not a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n"
- ."\n"
- .'* If the source exchange is a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key cannot start or end with a period (.). If a binding key starts with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be followed by a period (.). If the binding key ends with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is used in the middle of a binding key, the number sign (#) or asterisk (\\*) must be preceded and followed by a period (.).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n",
- 'type' => 'string',
- 'example' => 'amq.test',
- ],
- 'BindingType' => [
- 'description' => 'The type of the object to which the source exchange is bound. Valid values:'."\n"
- ."\n"
- .'* **QUEUE**'."\n"
- .'* **EXCHANGE**'."\n",
- 'type' => 'string',
- 'example' => 'QUEUE',
- ],
- 'DestinationName' => [
- 'description' => 'The name of the object to which the source exchange is bound.'."\n",
- 'type' => 'string',
- 'example' => 'QueueTest',
- ],
+ 'SourceExchange' => ['description' => 'The name of the source exchange.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Argument' => ['description' => 'The x-match property. Valid values:'."\n"
+ ."\n"
+ .'- **all**: This is the default value. All key-value pairs in the message header must match.'."\n"
+ ."\n"
+ .'- **any**: At least one key-value pair in the message header must match.'."\n"
+ ."\n"
+ .'This parameter is valid only for headers exchanges. It is invalid for other types of exchanges.', 'type' => 'string', 'example' => 'all', 'title' => ''],
+ 'BindingKey' => ['description' => 'The binding key.'."\n"
+ ."\n"
+ .'- If the source exchange is not a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.'."\n"
+ ."\n"
+ .'- If the source exchange is a topic exchange:'."\n"
+ ."\n"
+ .' - The binding key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
+ ."\n"
+ .' - The binding key cannot start or end with a period (.). If a number sign (#) or an asterisk (\\*) is at the beginning of the key, it must be followed by a period (.). If it is at the end of the key, it must be preceded by a period (.). If it is in the middle of the key, it must be enclosed by periods (.).'."\n"
+ ."\n"
+ .' - The binding key must be 1 to 255 characters in length.', 'type' => 'string', 'example' => 'amq.test', 'title' => ''],
+ 'BindingType' => ['description' => 'The type of the destination object. Valid values:'."\n"
+ ."\n"
+ .'- **QUEUE**'."\n"
+ ."\n"
+ .'- **EXCHANGE**', 'type' => 'string', 'example' => 'QUEUE', 'title' => ''],
+ 'DestinationName' => ['description' => 'The name of the destination.', 'type' => 'string', 'example' => 'QueueTest', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
],
],
- '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' => 'ListDownStreamBindings',
+ 'title' => 'ListQueueUpStreamBindings',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListExchanges' => [
- 'summary' => 'Queries all exchanges that are created in a virtual host (vhost).',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueueUpStreamBindings'],
+ ],
],
- '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:ListQueue'],
+ ['action' => 'amqp:ListExchange'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListQueues' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3060,60 +3564,28 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '58733',
- 'abilityTreeNodes' => [
- 'FEATUREonsHNP38C',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsUKJAUW'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-7pp2mwbc****',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-5yd3aw******', 'title' => ''],
],
[
'name' => 'VirtualHost',
'in' => 'query',
- 'schema' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If you call this operation for the first time or a next query is not required, leave this parameter empty.'."\n"
- .'* If a next query is to be sent, set the value to the value of `NextToken` that is returned from the previous request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****',
- ],
+ 'schema' => ['description' => 'The token that marks the end of the current query. Pass this token in the next call to retrieve the next page of results. The value is an empty string for the first call or when the last page is returned.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'minLength' => 1, 'default' => '', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return. Valid values: **1 to 100**'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -3121,107 +3593,84 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'FEBA5E0C-50D0-4FA6-A794-4901E5465***',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CE811989-9F02-42CE-97A6-2239CB5C2***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page.``'."\n"
- ."\n"
- .'* If the value of this parameter is empty, the next query is not required and the token used to start the next query is unavailable.``'."\n"
- .'* If the value of this parameter is not empty, the next query is required, and the value is the token used to start the next query.``'."\n",
- 'type' => 'string',
- 'example' => 'AAAANDQBYW1xcC1jbi03cHAybXdiY3AwMGEBdmhvc3QBAXNkZndhYWJhATE2NDkzMTM4OTU5NDIB4o3z1pPwWzk4aYuiRffi8R6-****',
- ],
- 'Exchanges' => [
- 'description' => 'The exchanges.'."\n",
+ 'MaxResults' => ['description' => 'The maximum number of results returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. If this parameter is empty, all results have been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'Queues' => [
+ 'description' => 'The queues.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'AutoDeleteState' => [
- 'description' => 'Indicates whether the exchange was automatically deleted.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'CreateTime' => [
- 'description' => 'The timestamp that indicates when the exchange was created. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1580886216000',
- ],
- 'Attributes' => [
- 'description' => 'The attributes. This parameter is unavailable in the current version.'."\n",
- 'type' => 'object',
- 'example' => 'test',
- ],
- 'VHostName' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Name' => [
- 'description' => 'The exchange name.'."\n",
- 'type' => 'string',
- 'example' => 'amq.direct',
- ],
- 'ExchangeType' => [
- 'description' => 'The exchange type.'."\n",
- 'type' => 'string',
- 'example' => 'DIRECT',
- ],
- 'Internal' => [
- 'title' => '是否为内部Exchange',
- 'type' => 'boolean',
- ],
+ 'ExclusiveState' => ['description' => 'Indicates whether the queue is an exclusive queue.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'AutoDeleteState' => ['description' => 'The auto-delete status.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the queue was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1580887085240', 'title' => ''],
+ 'Attributes' => ['description' => 'The attributes.', 'type' => 'object', 'example' => 'test', 'title' => ''],
+ 'VHostName' => ['description' => 'The vhost name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Name' => ['description' => 'The queue name.', 'type' => 'string', 'example' => 'QueueTest', 'title' => ''],
+ 'OwnerId' => ['description' => 'The ID of the instance to which the queue belongs.', 'type' => 'string', 'example' => 'amqp-cn-5yd3aw******', 'title' => ''],
+ 'LastConsumeTime' => ['description' => 'The last time a message was consumed from the queue.', 'type' => 'integer', 'format' => 'int64', 'example' => '1680887085240', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
],
],
- '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' => 'ListExchanges',
+ 'title' => 'ListQueues',
+ 'summary' => 'Queries information about all queues in a vhost on a specified ApsaraMQ for RabbitMQ instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListExchangeUpStreamBindings' => [
- 'summary' => 'Queries all queues or exchanges that are bound to an exchange.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListQueues'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListVirtualHosts' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3233,67 +3682,24 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsHNP38C',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsSCH7G8'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
- ],
- [
- 'name' => 'VirtualHost',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The virtual host (vhost) name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'ExchangeName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The exchange name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1880770869023***', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
+ 'schema' => ['description' => 'The token that is used to retrieve the next page of results. If the number of results exceeds the value of MaxResults, NextToken is returned. You can include this parameter in the next call to retrieve the next page of results. Leave this parameter empty for the first call.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The maximum number of results to return. Valid values:'."\n"
+ .'**1 to 100**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '2', 'title' => ''],
],
],
'responses' => [
@@ -3301,238 +3707,117 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '2DCCCE88-BC82-4A4F-AF5E-9A759672B***',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EF4DB019-DA4A-4CE3-B220-223BBC93F***', 'title' => ''],
'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'Bindings' => [
- 'description' => 'The bindings.'."\n",
+ 'MaxResults' => ['description' => 'The maximum number of results returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. If this parameter is not returned, all data has been returned.', 'type' => 'string', 'example' => 'caebacccb2be03f84eb48b699f0a****', 'title' => ''],
+ 'VirtualHosts' => [
+ 'description' => 'The list of vhosts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'SourceExchange' => [
- 'description' => 'The name of the source exchange.'."\n",
- 'type' => 'string',
- 'example' => 'dle',
- ],
- 'Argument' => [
- 'description' => 'The x-match attribute. Valid values:'."\n"
- ."\n"
- .'* **all:** A headers exchange routes a message to a queue only if all binding attributes of the queue except for x-match match the headers attributes of the message. This value is the default value.'."\n"
- .'* **any:** A headers exchange routes a message to a queue if one or more binding attributes of the queue except for x-match match the headers attributes of the message.'."\n"
- ."\n"
- .'This parameter is available only for headers exchanges.'."\n",
- 'type' => 'string',
- 'example' => 'all',
- ],
- 'BindingKey' => [
- 'description' => 'The binding key.'."\n"
- ."\n"
- .'* If the source exchange is not a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n"
- ."\n"
- .'* If the source exchange is a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain letters, digits, hyphens (-), underscores (\\_), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key cannot start or end with a period (.). If a binding key starts with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be followed by a period (.). If the binding key ends with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is used in the middle of a binding key, the number sign (#) or asterisk (\\*) must be preceded and followed by a period (.).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n",
- 'type' => 'string',
- 'example' => 'amq.dle.test',
- ],
- 'BindingType' => [
- 'description' => 'The type of the object to which the source exchange is bound. Valid values:'."\n"
- ."\n"
- .'* **QUEUE**'."\n"
- .'* **EXCHANGE**'."\n",
- 'type' => 'string',
- 'example' => 'EXCHANGE',
- ],
- 'DestinationName' => [
- 'description' => 'The name of the object to which the source exchange is bound.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
+ 'Name' => ['description' => 'The name of the vhost.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
+ ['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' => 'ListExchangeUpStreamBindings',
+ 'title' => 'ListVirtualHosts',
+ 'summary' => 'Lists all vhosts in a specified ApsaraMQ for RabbitMQ instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateBinding' => [
- 'summary' => 'Creates a binding. In ApsaraMQ for RabbitMQ, after a producer sends a message to an exchange, the exchange routes the message to a queue or another exchange based on the binding relationship and the routing rule.',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ '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' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'RemoveInstanceWhiteList' => [
+ 'summary' => 'Removes an IP address or a VPC from an instance\'s whitelist.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
- ],
- ],
- [
- 'name' => 'VirtualHost',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The virtual host (vhost) name. You must create the vhost in the ApsaraMQ for RabbitMQ console in advance. The object specified by **DestinationName** and the source exchange specified by **SourceExchange** must belong to the vhost.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'SourceExchange',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the source exchange. You must create the source exchange in the ApsaraMQ for RabbitMQ console in advance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'NormalEX',
- ],
- ],
- [
- 'name' => 'DestinationName',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the object that you want to bind to the source exchange. You must create the object in the ApsaraMQ for RabbitMQ console in advance. The vhost of the object is the same as the vhost to which the source exchange specified by **SourceExchange** belongs. The vhost of the source exchange is the one specified by **VirtualHost**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DemoQueue',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance from which to remove a whitelist entry.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'amqp-cn-5yd3aw******'],
],
[
- 'name' => 'BindingKey',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The binding key.'."\n"
- ."\n"
- .'* If the source exchange is not a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n"
- ."\n"
- .'* If the source exchange is a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain letters, digits, hyphens (-), underscores (\\_), asterisks (\\*), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key cannot start or end with a period (.). If a binding key starts with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be followed by a period (.). If the binding key ends with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is used in the middle of a binding key, the number sign (#) or asterisk (\\*) must be preceded and followed by a period (.).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '.test',
- ],
+ 'name' => 'whiteListItemId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Call the ListInstanceWhiteList operation to obtain this ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '420'],
],
[
- 'name' => 'BindingType',
- 'in' => 'formData',
+ 'name' => 'whiteListType',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The type of the object that you want to bind to the source exchange. Valid values:'."\n"
+ 'description' => 'The type of the whitelist item. Specify 2 for an IP address or 1 for a VPC ID.'."\n"
."\n"
- .'* \\*\\*0: \\*\\*Queue'."\n"
- .'* \\*\\*1: \\*\\*Exchange'."\n",
- 'type' => 'string',
+ .'A VPC whitelist only applies to instances with the anytunnel VPC endpoint type. Newer instances use PrivateLink for their VPC endpoints and do not support VPC whitelists.',
+ 'type' => 'integer',
+ 'format' => 'int32',
'required' => true,
- 'docRequired' => true,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'Argument',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The key-value pairs that are configured for the headers attributes of a message. One or more key-value pairs can be concatenated to configure the headers attributes of a message. You must specify the x-match attribute as one of the valid values. You can specify custom values for other attributes. Valid values of the x-match attribute:'."\n"
- ."\n"
- .'* \\*\\*all: \\*\\*A headers exchange routes a message to a queue only if all binding attributes of the queue except for x-match match the headers attributes of the message. This value is the default value.'."\n"
- .'* \\*\\*any: \\*\\*A headers exchange routes a message to a queue if one or more binding attributes of the queue except for x-match match the headers attributes of the message.'."\n"
- ."\n"
- .'Separate the attributes with semicolons (;). Separate the key and value of an attribute with a colon (:). Example: x-match:all;type:report;format:pdf. This parameter is available for only headers exchanges. You can set this parameter to an arbitrary value for other types of exchanges.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'x-match:all;type:report;format:pdf ',
+ 'enum' => ['1', '2'],
+ 'title' => '',
+ 'example' => '2',
],
],
],
@@ -3541,31 +3826,32 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '09768C14-E51C-4F4A-8077-30810032C***',
- ],
+ 'RequestId' => ['description' => 'The unique ID for the request.', 'type' => 'string', 'title' => '', 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***'],
+ 'Code' => ['description' => 'The status code. A value of 200 indicates the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned if the request fails.', 'type' => 'string', 'example' => 'can not find resource: instanceId:amqp-cn-xxx, whiteListItemId:420, whiteListType:1', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Data' => ['description' => 'The data returned for the request.', 'type' => 'any', 'example' => 'true', 'title' => ''],
+ 'StatusCode' => ['description' => 'The HTTP status code. A value of 200 indicates the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'example' => '',
],
],
],
- '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' => 'CreateBinding',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteBinding' => [
- 'summary' => 'Deletes a binding to unbind a queue or an exchange from a source exchange.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'RemoveInstanceWhiteList',
+ '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' => 'Upgrades or downgrades the specifications of an ApsaraMQ for RabbitMQ instance.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3574,176 +3860,266 @@
'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' => ['description' => 'The client token.', 'type' => 'string', 'example' => 'c2c5d1274axxxxxxxx', 'title' => '', 'required' => false],
+ ],
+ [
'name' => 'InstanceId',
- 'in' => 'formData',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The instance ID.'."\n",
+ 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.',
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-v0h1kb9nu***',
+ 'example' => 'amqp-cn-jtexxxxx',
+ 'enum' => [],
+ 'title' => '',
],
],
[
- 'name' => 'VirtualHost',
- 'in' => 'formData',
+ 'name' => 'ModifyType',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The vhost name.'."\n",
+ 'description' => 'The type of specification change. Valid values:'."\n"
+ ."\n"
+ .'- UPGRADE: Upgrade'."\n"
+ ."\n"
+ .'- DOWNGRADE: Downgrade',
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
+ 'example' => 'UPGRADE',
+ 'enum' => ['UPGRADE', 'DOWNGRADE'],
+ 'title' => '',
],
],
[
- 'name' => 'SourceExchange',
- 'in' => 'formData',
+ 'name' => 'InstanceType',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The name of the source exchange.'."\n",
+ 'description' => 'The instance type. This parameter is required for subscription instances. Valid values:'."\n"
+ ."\n"
+ .'- professional: Professional Edition'."\n"
+ ."\n"
+ .'- enterprise: Enterprise Edition'."\n"
+ ."\n"
+ .'- vip: Platinum Edition'."\n"
+ ."\n"
+ .'You do not need to specify this parameter for pay-as-you-go instances.',
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'NormalEX',
+ 'required' => false,
+ 'example' => 'professional',
+ 'enum' => ['professional', 'enterprise', 'vip', 'serverless', 'provisioned'],
+ 'title' => '',
],
],
[
- 'name' => 'DestinationName',
- 'in' => 'formData',
+ 'name' => 'ServerlessChargeType',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The name of the object that you want to unbind from the source exchange.'."\n",
+ 'description' => 'The billing method of the pay-as-you-go (Serverless) instance. Valid value:'."\n"
+ ."\n"
+ .'- onDemand: Pay-as-you-go',
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'DemoQueue',
+ 'example' => 'onDemand',
+ 'enum' => ['onDemand', 'provisioned'],
+ 'required' => false,
+ 'title' => '',
],
],
[
- 'name' => 'BindingType',
- 'in' => 'formData',
+ 'name' => 'MaxPrivateTps',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The peak transactions per second (TPS) for private network traffic.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
+ ],
+ [
+ 'name' => 'SupportEip',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable Internet access.', 'type' => 'boolean', 'example' => 'false', 'default' => 'false', 'title' => '', 'required' => false],
+ ],
+ [
+ 'name' => 'MaxEipTps',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The peak TPS for public network traffic.', 'type' => 'integer', 'format' => 'int64', 'example' => '128', 'default' => '128', 'title' => '', 'required' => false],
+ ],
+ [
+ 'name' => 'QueueCapacity',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of queues.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaxConnections',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of connections.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '1000'],
+ ],
+ [
+ 'name' => 'StorageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The message storage capacity. Unit: GB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '7'],
+ ],
+ [
+ 'name' => 'SupportTracing',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable the message trace feature.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => 'false'],
+ ],
+ [
+ 'name' => 'TracingStorageTime',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The type of the object that you want to unbind from the source exchange. Valid values:'."\n"
- ."\n"
- .'* **QUEUE**'."\n"
- .'* **EXCHANGE**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'QUEUE',
+ 'description' => 'The retention period for message traces. Unit: days.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enum' => ['3', '7', '15'],
+ 'title' => '',
+ 'required' => false,
+ 'example' => '3',
],
],
[
- 'name' => 'BindingKey',
- 'in' => 'formData',
+ 'name' => 'EncryptedInstance',
+ 'in' => 'query',
+ 'schema' => ['title' => '是否开通磁盘存储加密', 'description' => 'This feature is for dedicated instances only. Specifies whether to enable data encryption.'."\n"
+ ."\n"
+ .'- You cannot change the EncryptedInstance and KmsKeyId properties of a dedicated instance. This includes changing its encryption status or downgrading it to a shared instance. Do not include the EncryptedInstance and KmsKeyId parameters when you call UpdateInstance to upgrade or downgrade a dedicated instance.'."\n"
+ ."\n"
+ .'- The EncryptedInstance and KmsKeyId parameters are used only when you upgrade a shared instance to an encrypted dedicated instance.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false'],
+ ],
+ [
+ 'name' => 'KmsKeyId',
+ 'in' => 'query',
+ 'schema' => ['title' => 'kms Key Id', 'description' => 'This feature is for dedicated instances only. This parameter is required if EncryptedInstance is set to true.'."\n"
+ .'It specifies the ID of the KMS key used for data encryption.'."\n"
+ .'The key must meet the following requirements:'."\n"
+ ."\n"
+ .'- The KMS key must be in the same region as the ApsaraMQ for RabbitMQ instance.'."\n"
+ ."\n"
+ .'- The key cannot be a service key.'."\n"
+ ."\n"
+ .'- The key must be active.'."\n"
+ ."\n"
+ .'- The key must be a symmetric key.'."\n"
+ ."\n"
+ .'- The key must be used for encryption and decryption.'."\n"
+ ."\n"
+ .'- If the KMS key expires or is deleted, data reads and writes will fail, and the ApsaraMQ for RabbitMQ instance will become unavailable.', 'type' => 'string', 'required' => false, 'example' => 'key-bjj66c2a893vmhawtq5fd'],
+ ],
+ [
+ 'name' => 'ProvisionedCapacity',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The provisioned TPS capacity for a reserved plus elastic instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000', 'title' => ''],
+ ],
+ [
+ 'name' => 'Edition',
+ 'in' => 'query',
'schema' => [
- 'description' => 'The binding key.'."\n",
+ 'description' => 'The deployment architecture of the Serverless instance. Valid values:'."\n"
+ ."\n"
+ .'- shared: A shared architecture. This applies to reserved plus elastic (shared) and pay-as-you-go instances.'."\n"
+ ."\n"
+ .'- dedicated: A dedicated architecture. This applies to reserved plus elastic (dedicated) instances.',
'type' => 'string',
+ 'enum' => ['shared', 'dedicated'],
'required' => false,
- 'docRequired' => false,
- 'example' => '.test.',
- 'default' => '',
+ 'example' => 'shared',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID. Each request has a unique ID. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '628705FD-03EE-4ABE-BB21-E1672960***'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the request was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'InstanceNotExist', 'title' => ''],
+ 'Data' => ['description' => 'The returned data. It includes the order ID and instance ID. For example:'."\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}', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'StatusCode' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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' => 'DeleteBinding',
- ],
- 'ListBindings' => [
- 'summary' => 'Queries all bindings of a virtual host (vhost) on an ApsaraMQ for RabbitMQ instance.',
- 'methods' => [
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'INSUFFICIENT_AVAILABLE_QUOTA', 'errorMessage' => 'Your account available limit is less than 0, please recharge before trying to purchase.', 'description' => '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.', 'description' => 'The upgrade or downgrade configuration is not changed, please re-select'."\n"],
+ ],
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UpdateInstance',
+ 'changeSet' => [],
+ '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' => 'An ApsaraMQ for RabbitMQ instance is named after its instance ID by default. You can change the name for easier identification.',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1880770869023***',
- ],
- ],
- [
- 'name' => 'VirtualHost',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The vhost name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Test',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- 'minLength' => 1,
- 'default' => '',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for RabbitMQ instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp-cn-zvp2ajsj****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'InstanceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return. Valid values:'."\n"
- ."\n"
- .'**1 to 100**'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The new name of the instance. The name can be any string of up to 64 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'amqp_test', 'title' => ''],
],
],
'responses' => [
@@ -3751,728 +4127,810 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'E0A71208-3E87-4732-81CC-B18E0B4B1***',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'MaxResults' => [
- 'description' => 'The maximum number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'NextToken' => [
- 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, all data is retrieved.'."\n",
- 'type' => 'string',
- 'example' => 'caebacccb2be03f84eb48b699f0a****',
- ],
- 'Bindings' => [
- 'description' => 'The bindings.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'SourceExchange' => [
- 'description' => 'The name of the source exchange.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Argument' => [
- 'description' => 'The x-match attribute. Valid values:'."\n"
- ."\n"
- .'* **all:** A headers exchange routes a message to a queue only if all binding attributes of the queue except for x-match match the headers attributes of the message. This value is the default value.'."\n"
- .'* **any:** A headers exchange routes a message to a queue if one or more binding attributes of the queue except for x-match match the headers attributes of the message.'."\n"
- ."\n"
- .'This parameter is available only for headers exchanges.'."\n",
- 'type' => 'string',
- 'example' => 'all',
- ],
- 'BindingKey' => [
- 'description' => 'The binding key.'."\n"
- ."\n"
- .'* If the source exchange is not a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain only letters, digits, hyphens (-), underscores (\\_), periods (.), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n"
- ."\n"
- .'* If the source exchange is a topic exchange, the binding key must meet the following conventions:'."\n"
- ."\n"
- .' * The binding key can contain letters, digits, hyphens (-), underscores (\\_), asterisks (\\*), periods (.), number signs (#), forward slashes (/), and at signs (@).'."\n"
- .' * The binding key cannot start or end with a period (.). If a binding key starts with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be followed by a period (.). If the binding key ends with a number sign (#) or an asterisk (\\*), the number sign (#) or asterisk (\\*) must be preceded by a period (.). If a number sign (#) or an asterisk (\\*) is used in the middle of a binding key, the number sign (#) or asterisk (\\*) must be preceded and followed by a period (.).'."\n"
- .' * The binding key must be 1 to 255 characters in length.'."\n",
- 'type' => 'string',
- 'example' => 'amq.test',
- ],
- 'BindingType' => [
- 'description' => 'The type of the object to which the source exchange is bound. Valid values:'."\n"
- ."\n"
- .'* **QUEUE**'."\n"
- .'* **EXCHANGE**'."\n",
- 'type' => 'string',
- 'example' => 'QUEUE',
- ],
- 'DestinationName' => [
- 'description' => 'The name of the object to which the source exchange is bound.'."\n",
- 'type' => 'string',
- 'example' => 'QueueTest',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned if the request fails.', 'type' => 'string', 'example' => 'InstanceNotExist', 'title' => ''],
+ 'Data' => ['description' => 'The response data.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6DC68EC9-0E76-5435-B8C0-FF9492B4****', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'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' => 'The instance resource does not exist.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'The request processing has failed due to some unknown error.'],
],
],
- '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' => 'ListBindings',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'UpdateInstanceName',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateAccount' => [
- 'summary' => 'Creates a pair of static username and password. If you access an ApsaraMQ for RabbitMQ broker from an open source RabbitMQ client, you must use a pair of username and password for authentication. You can access the ApsaraMQ for RabbitMQ broker only after the authentication is passed. ApsaraMQ for RabbitMQ allows you to generate usernames and passwords by using AccessKey pairs provided by Alibaba Cloud Resource Access Management (RAM).',
- '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' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Message\\": \\"InstanceNotExist\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"6DC68EC9-0E76-5435-B8C0-FF9492B4****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ ],
+ 'UpdateInstanceServerlessSwitch' => [
+ 'summary' => 'Update serverless switch',
+ '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' => 'The ID of the instance for which you want to create a pair of static username and password.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'amqp-cn-*********',
- ],
- ],
- [
- 'name' => 'accountAccessKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The AccessKey ID of your Alibaba Cloud account or RAM user. For information about how to obtain an AccessKey pair, see [Create an AccessKey pair](~~116401~~).'."\n"
- ."\n"
- .'> If you use the pair of static username and password that is created by using the Accesskey pair of a RAM user to access ApsaraMQ for RabbitMQ to send and receive messages, make sure that the RAM user is granted the required permissions. For more information, see [RAM policies](~~146559~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'yourAccessKeyID',
- ],
- ],
- [
- 'name' => 'userName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The static username that you want to create.'."\n"
- ."\n"
- .'The value of this parameter is a Base64-encoded string that is generated based on the instance ID and AccessKey ID. For more information, see the "**Sample code on how to generate a username**" section of this topic.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Mjo****************',
- ],
- ],
- [
- 'name' => 'signature',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The signature. The system generates a static password based on the signature in the request, the AccessKey secret signature, and the username.'."\n"
- ."\n"
- .'The system uses the HMAC-SHA1 algorithm to generate the signature based on the timestamp that indicates when the username is created and the AccessKey ID. For more information, see the **"Sample code on how to generate a signature"** section of this topic.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '22c2d7d1769cb53c5a6d9213248e2de524******',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
],
[
- 'name' => 'createTimestamp',
+ 'name' => 'ServerlessSwitch',
'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates when the password is created. Unit: milliseconds.'."\n"
- ."\n"
- .'> This timestamp is specified by you and is used to generate a static password. The timestamp is not the timestamp that indicates when the system generates the password.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1671175303522',
- ],
+ 'schema' => ['description' => 'The serverless elastic capability.'."\n"
+ ."\n"
+ .'- true (enabled): The maximum TPS of the instance is increased to the base TPS multiplied by a factor (1.5x for Professional Edition, 2x for Enterprise/Platinum Edition).'."\n"
+ ."\n"
+ .'- false (disabled): The maximum TPS of the instance is restored to the original base TPS.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'secretSign',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The AccessKey secret signature. The system generates a static password based on the signature in the request, the AccessKey secret signature, and the username.'."\n"
- ."\n"
- .'The system uses the HMAC-SHA1 algorithm to generate the AccessKey secret signature based on the timestamp that indicates when the username is created and the AccessKey ID. For more information, see the **"Sample code on how to generate a signature"** section of this topic.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '4c1a6367ce4c4255e9617326f9133ac635******',
- ],
- ],
- [
- 'name' => 'Remark',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'title' => '静态用户备注',
- 'type' => 'string',
- 'example' => '***环境',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. The value of this parameter is generated by the client and must be unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned results.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'enumValueTitles' => [],
- 'example' => '92385FD2-624A-48C9-8FB5-753F2AFA***',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request was successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the call is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AccessKey' => [
- 'description' => 'The AccessKey ID that is used to create the password.'."\n",
- 'type' => 'string',
- 'example' => 'LTAI****************',
- ],
- 'Password' => [
- 'description' => 'The created static password.'."\n",
- 'type' => 'string',
- 'example' => 'NEMxQTYzNjdDRTVDNDI1NUU5NjE3**************1MzNGODoxNjcxMTc1MzEzNTIy',
- ],
- 'CreateTimeStamp' => [
- 'description' => 'The timestamp that indicates when the password was created. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1671175303522',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'type' => 'string',
- 'example' => 'amqp-cn-*********',
- ],
- 'MasterUId' => [
- 'description' => 'The Alibaba Cloud account ID or RAM user to which the AccessKey pair that is used to create the static username and password belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '15657*********01',
- ],
- 'UserName' => [
- 'description' => 'The created static username.'."\n",
- 'type' => 'string',
- 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=',
- ],
- 'Remark' => [
- 'title' => '备注',
- 'type' => 'string',
- 'example' => '***环境',
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'CCBB1225-C392-480E-8C7F-D09AB2CD2***'],
+ 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'The result of the request.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
+ 'Data' => ['description' => 'The returned data.', 'type' => 'boolean', 'title' => '', 'example' => ''],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update the elastic switch of a serverless instance',
+ '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' => 'CreateAccount',
- 'description' => '### [](#)Background information'."\n"
- ."\n"
- .'If you access an ApsaraMQ for RabbitMQ broker from an open source RabbitMQ client, you must use a pair of username and password for authentication. You can access the ApsaraMQ for RabbitMQ broker only after the authentication is passed. ApsaraMQ for RabbitMQ allows you to generate usernames and passwords by using AccessKey pairs provided by Alibaba Cloud RAM.'."\n"
- ."\n"
- .'### [](#)Precautions'."\n"
- ."\n"
- .'* The ApsaraMQ for RabbitMQ instance for which you want to create a pair of static username and password must be in the Running state.'."\n"
- .'* You can use an AccessKey pair to create only one pair of static username and password for an ApsaraMQ for RabbitMQ instance.'."\n"
- .'* If you want to update an existing pair of static username and password, you must delete the existing pair and create another pair.'."\n"
- ."\n"
- .'### [](#)Sample code on how to generate a username'."\n"
- ."\n"
- .'The value of the userName parameter in the request is a Base64-encoded string that is generated by using the instance ID and AccessKey ID. The following sample code provides an example on how to generate a username:'."\n"
- ."\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"
- .' * Decode the Base64 string.'."\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"
- .' String str = "2:${instanceId}:${ak}";'."\n"
- ."\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"
- .'### [](#)Sample code on how to generate a signature'."\n"
- ."\n"
- .'The system uses the encryption algorithm to generate the values of the signature and secretSign parameters in the request based on the timestamp that indicates when the specified static username is created and the AccessKey ID. The following sample code provides an example on how to generate the values of the signature and secretSign parameters:'."\n"
- ."\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"
- .' String createTimestamp = String.valueOf(System.currentTimeMillis());'."\n"
- .' System.out.println("timestamp:" + createTimestamp);'."\n"
- ."\n"
- .' String sk = "${sk}";'."\n"
- ."\n"
- .' String SecretSign = hamcsha1(sk.getBytes(), createTimestamp.getBytes());'."\n"
- .' System.out.println("SecretSign:" + SecretSign);'."\n"
- ."\n"
- .' String signature = hamcsha1(createTimestamp.getBytes(), sk.getBytes());'."\n"
- .' System.out.println("signature:" + signature);'."\n"
- .' }'."\n"
- .'}'."\n"
- .'~~~',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCBB1225-C392-480E-8C7F-D09AB2CD2***\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success\\",\\n \\"Data\\": false\\n}","type":"json"}]',
],
- 'DeleteAccount' => [
- 'summary' => 'Deletes a pair of username and password.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateOpenSourceAccount' => [
+ 'summary' => 'Updates the username and password for open-source access.',
+ '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' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-20p****04', 'title' => ''],
+ ],
+ [
'name' => 'UserName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pair of username and password that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'MjphbXFwLWNuLXVxbTJ5cjc3djAwMzpMVEFJNXQ4YmVNbVZNMWVSWnRFSjZ2Zm1=',
- ],
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => true, 'example' => 'myname', 'title' => ''],
],
[
- 'name' => 'CreateTimestamp',
+ 'name' => 'Password',
'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates when the pair of static username and password that you want to delete was created. Unit: milliseconds.'."\n"
- ."\n"
- .'You can call the [ListAccounts](~~472730~~) operation to view the timestamp.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'docRequired' => true,
- 'example' => '1671175303522'."\n",
- ],
+ 'schema' => ['description' => 'The account password.', 'type' => 'string', 'required' => false, 'example' => '123456Aa', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The remarks.', 'type' => 'string', 'required' => false, 'example' => 'project name pass the check', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request and prevent repeated submissions.', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The schema of the response.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A6***',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8BFB1C9D-08A2-4859-A47C-403C9EFA2***'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates success.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation was successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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' => 'DeleteAccount',
- ],
- 'ListAccounts' => [
- 'summary' => 'Queries the static username and password of an ApsaraMQ for RabbitMQ.',
- 'methods' => [
- 'post',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'The request has failed due to unauthorized operation.', 'description' => 'The request has failed due to unauthorized operation.'],
+ ],
+ [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update open-source username and password',
+ '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' => 'The ID of the ApsaraMQ for RabbitMQ instance for which you want to query the static username and password.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'amqp-cn-20p****04',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => 'amqp-cn-v0h1kb9nu***', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => false, 'example' => 'MyName', 'title' => ''],
+ ],
+ [
+ 'name' => 'Vhost',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The vhost name.', 'type' => 'string', 'required' => false, 'example' => 'production', 'title' => ''],
+ ],
+ [
+ 'name' => 'Configure',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The regular expression for configure permissions.', 'type' => 'string', 'required' => false, 'example' => '^$', 'title' => ''],
+ ],
+ [
+ 'name' => 'Write',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The regular expression for write permissions.', 'type' => 'string', 'required' => false, 'example' => 'order_exchange', 'title' => ''],
+ ],
+ [
+ 'name' => 'Read',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The regular expression for read permissions.', 'type' => 'string', 'required' => false, 'example' => '^$', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'f6af6bb123988d191bfe01c9a9b', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '549A5A97-FE61-5A23-8126-3A11929C1EC4',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the call is successful.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'additionalProperties' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'masterUid' => [
- 'type' => 'integer',
- 'format' => 'int64',
- 'description' => 'The Alibaba Cloud account ID or Resource Access Management (RAM) user to which the AccessKey pair that is used to create the static username and password belongs.'."\n",
- 'example' => '1565************1',
- ],
- 'cInstanceId' => [
- 'type' => 'string',
- 'description' => 'The ID of the ApsaraMQ for RabbitMQ instance.'."\n",
- 'example' => 'amqp-cn-uqm******03',
- ],
- 'accessKey' => [
- 'type' => 'string',
- 'description' => 'The AccessKey ID that is used to create the static username and password.'."\n",
- 'example' => 'LTAI****************',
- ],
- 'userName' => [
- 'type' => 'string',
- 'example' => 'MjphbXFwLWNuLXVxbTJ6cjc2djAwMzpMVEFJNX*******ZNMWVSWnRFSjZ2Zm8=',
- 'description' => 'The static username.'."\n",
- ],
- 'password' => [
- 'type' => 'string',
- 'example' => 'OUYwQzM2QjZBRkUxNDRFM***************MzZCNzdDQzoxNjcxNDMwMzkyODI1',
- 'description' => 'The static password.'."\n",
- ],
- 'deleted' => [
- 'type' => 'integer',
- 'format' => 'int64',
- 'description' => 'The timestamp that indicates when the static username and password were deleted. Unit: milliseconds.'."\n",
- 'example' => '1671175303522',
- ],
- 'createTimestamp' => [
- 'type' => 'integer',
- 'format' => 'int64',
- 'description' => 'The timestamp that indicates when the static username and password were created. Unit: milliseconds.'."\n",
- 'example' => '1671175303522',
- ],
- 'Remark' => [
- 'title' => '备注',
- 'type' => 'string',
- 'example' => '***环境',
- ],
- ],
- 'description' => 'object',
- ],
- 'description' => 'The returned information about the username and password.'."\n",
- ],
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the call is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '021788F6-E50C-4BD6-9F80-66B0A19A****'],
+ 'Code' => ['description' => 'The status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success', 'title' => ''],
],
+ 'example' => '',
],
],
],
'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' => 'The request has failed due to unauthorized operation.'],
+ ],
+ [
+ ['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance resource does not exist.', 'description' => 'The instance resource does not exist.'],
],
],
- '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' => 'ListAccounts',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Update open source permissions',
+ 'summary' => 'Updates open source permissions.',
+ '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-qingdao',
- 'endpoint' => 'amqp-open.cn-qingdao.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'amqp-open.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'amqp-open.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'amqp-open.cn-zhengzhou-jva.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'amqp-open.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'amqp-open.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'amqp-open.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'amqp-open.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'amqp-open.cn-shenzhen.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'amqp-open.cn-guangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'amqp-open.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'amqp-open.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'amqp-open.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'amqp-open.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'amqp-open.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'amqp-open.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'amqp-open.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'amqp-open.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'amqp-open.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'amqp-open.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'amqp-open.cn-shanghai-finance-1.aliyuncs.com',
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'The instance resource does not exist.'],
+ ['code' => 'INSUFFICIENT_AVAILABLE_QUOTA', 'message' => 'Your account available limit is less than 0, please recharge before trying to purchase.', 'http_code' => 400, 'description' => 'Your account available limit is less than 0, please recharge before trying to purchase.'],
+ ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'The request processing has failed due to some unknown error.'],
+ ['code' => 'InvalidParameter', 'message' => 'The specified parameter {wildCard} is invalid.', 'http_code' => 400, 'description' => 'The specified parameter {wildCard} is invalid.'],
+ ['code' => 'MissingParameter', 'message' => 'You must specify the parameter {wildCard}.', 'http_code' => 400, 'description' => 'You must specify the parameter {wildCard}.'],
+ ['code' => 'ResourceNotFound', 'message' => 'The resource does not exist.', 'http_code' => 404, 'description' => 'Resource does not exist'],
+ ['code' => 'Throttling.Api', 'message' => 'The request was denied due to API flow control.', 'http_code' => 429, 'description' => 'The request was denied due to API flow control.'],
+ ['code' => 'UnauthorizedOperation', 'message' => 'The request has failed due to unauthorized operation.', 'http_code' => 403, 'description' => 'The request has failed due to unauthorized operation.'],
+ ['code' => 'UPDOWNGRADE_CONFIG_NO_CHANGE', 'message' => 'the upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => 'The upgrade or downgrade configuration is not changed, please re-select'],
+ ['code' => 'UPDOWNGRADE_CONFIG_NO_CHANGE', 'message' => 'The upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => 'The upgrade or downgrade configuration is not changed, please re-select'],
+ ['code' => 'UpDowngradeConfigNoChange', 'message' => 'The upgrade or downgrade configuration is not changed.', 'http_code' => 400, 'description' => 'The upgrade or downgrade configuration is not changed, please re-select'."\n"],
+ ['code' => 'PARAM_ERRPR', 'message' => 'param error.', 'http_code' => 200, 'description' => 'Request parameter error'],
+ ['code' => 'RemoteCallError', 'message' => 'service internal remote call failed.', 'http_code' => 400, 'description' => 'Service internal remote call failed'],
+ ],
+ 'changeSet' => [],
+ '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'],
],
- [
- 'regionId' => 'ap-southeast-7',
- 'endpoint' => 'amqp-open.ap-southeast-7.aliyuncs.com',
+ ],
+ 'ram' => [
+ 'productCode' => 'Amqp',
+ 'productName' => 'ApsaraMQ',
+ 'ramCodes' => ['amqp'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [
+ [
+ 'name' => 'amqp:InstanceType',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'The primary edition of the instance',
+ 'enums' => ['professional', 'enterprise', 'vip'],
+ ],
+ ],
+ [
+ 'name' => 'amqp:SupportEIP',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'whether to enable the Internet access feature',
+ 'enums' => ['true', 'false'],
+ ],
+ ],
+ [
+ 'name' => 'amqp:ServerlessChargeType',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'Serverless instance billing type',
+ 'enums' => ['onDemand'],
+ ],
+ ],
],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'amqp-open.cn-beijing-finance-1.aliyuncs.com',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'amqp:ListInstanceWhiteList',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateExchange',
+ 'description' => '',
+ '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' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListQueueConsumers',
+ 'description' => '',
+ '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' => '',
+ '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' => 'All Resource', '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' => 'All Resource', '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' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteQueue',
+ 'description' => '',
+ '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' => '',
+ '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' => '',
+ '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' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'amqp:CreateVhost',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Amqp', 'resourceType' => 'VirtualHost', 'arn' => 'acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*'],
+ ],
+ ],
+ ],
],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'amqp-open.me-central-1.aliyuncs.com',
+ '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/*'],
],
],
];