summaryrefslogtreecommitdiff
path: root/data/en_us/onsmqtt
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/onsmqtt')
-rw-r--r--data/en_us/onsmqtt/2019-12-11/api-docs.php846
-rw-r--r--data/en_us/onsmqtt/2020-04-20/api-docs.php9848
2 files changed, 4338 insertions, 6356 deletions
diff --git a/data/en_us/onsmqtt/2019-12-11/api-docs.php b/data/en_us/onsmqtt/2019-12-11/api-docs.php
index 8774615..0978c1c 100644
--- a/data/en_us/onsmqtt/2019-12-11/api-docs.php
+++ b/data/en_us/onsmqtt/2019-12-11/api-docs.php
@@ -1,47 +1,30 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'OnsMqtt',
- 'version' => '2019-12-11',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'OnsMqtt', 'version' => '2019-12-11'],
'directories' => [
[
'id' => 66368,
'title' => null,
'type' => 'directory',
- 'children' => [
- 'SendMessage',
- ],
+ 'children' => ['SendMessage'],
],
[
'id' => 66371,
'title' => null,
'type' => 'directory',
- 'children' => [
- 'CreateGroupId',
- 'DeleteGroupId',
- 'ListGroupId',
- ],
+ 'children' => ['CreateGroupId', 'DeleteGroupId', 'ListGroupId'],
],
[
'id' => 66375,
'title' => null,
'type' => 'directory',
- 'children' => [
- 'QuerySessionByClientId',
- 'BatchQuerySessionByClientIds',
- ],
+ 'children' => ['QuerySessionByClientId', 'BatchQuerySessionByClientIds'],
],
[
'id' => 66378,
'title' => null,
'type' => 'directory',
- 'children' => [
- 'QueryToken',
- 'ApplyToken',
- 'RevokeToken',
- ],
+ 'children' => ['QueryToken', 'ApplyToken', 'RevokeToken'],
],
],
'components' => [
@@ -49,13 +32,8 @@
],
'apis' => [
'SendMessage' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -63,46 +41,27 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- ],
+ 'systemTags' => ['operationType' => 'none'],
'parameters' => [
[
'name' => 'MqttTopic',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'Payload',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'ReceiptId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'default' => '',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'docRequired' => false, 'default' => ''],
],
],
'responses' => [
@@ -110,58 +69,27 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'MsgId' => [
- 'type' => 'string',
- ],
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'MsgId' => ['type' => 'string'],
+ 'RequestId' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SendMessageFailed',
- 'errorMessage' => 'A storage exception occurred while sending the message. Please try again.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SendMessageFailed', 'errorMessage' => 'A storage exception occurred while sending the message. Please try again.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -171,13 +99,8 @@
'responseDemo' => null,
],
'CreateGroupId' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -185,27 +108,17 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -213,49 +126,23 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'GroupIdAlreadyExsited',
- 'errorMessage' => 'The specified GroupId already exists.',
- ],
- [
- 'errorCode' => 'GroupIdAlreadyUsedByOtherUsers',
- 'errorMessage' => 'The current GroupId is used by another user. Please change to a different GroupId.',
- ],
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'GroupIdAlreadyExsited', 'errorMessage' => 'The specified GroupId already exists.'],
+ ['errorCode' => 'GroupIdAlreadyUsedByOtherUsers', 'errorMessage' => 'The current GroupId is used by another user. Please change to a different GroupId.'],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
],
500 => [
- [
- 'errorCode' => 'CreateGroupIdError',
- 'errorMessage' => 'Failed to create GroupId. Try again later.',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ ['errorCode' => 'CreateGroupIdError', 'errorMessage' => 'Failed to create GroupId. Try again later.'],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
],
],
'eventInfo' => [
@@ -265,13 +152,8 @@
'responseDemo' => null,
],
'DeleteGroupId' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -279,27 +161,17 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -307,45 +179,22 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'ResourcePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.'],
+ ['errorCode' => 'ResourcePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
],
500 => [
- [
- 'errorCode' => 'DeleteGroupIdError',
- 'errorMessage' => 'Failed to delete GroupId. Try again later.',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ ['errorCode' => 'DeleteGroupIdError', 'errorMessage' => 'Failed to delete GroupId. Try again later.'],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
],
],
'eventInfo' => [
@@ -355,14 +204,8 @@
'responseDemo' => null,
],
'ListGroupId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -370,18 +213,12 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -389,31 +226,17 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
'Data' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'UpdateTime' => [
- 'type' => 'integer',
- 'format' => 'int64',
- ],
- 'IndependentNaming' => [
- 'type' => 'boolean',
- ],
- 'InstanceId' => [
- 'type' => 'string',
- ],
- 'GroupId' => [
- 'type' => 'string',
- ],
- 'CreateTime' => [
- 'type' => 'integer',
- 'format' => 'int64',
- ],
+ 'UpdateTime' => ['type' => 'integer', 'format' => 'int64'],
+ 'IndependentNaming' => ['type' => 'boolean'],
+ 'InstanceId' => ['type' => 'string'],
+ 'GroupId' => ['type' => 'string'],
+ 'CreateTime' => ['type' => 'integer', 'format' => 'int64'],
],
],
],
@@ -423,28 +246,13 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
],
],
'eventInfo' => [
@@ -454,14 +262,8 @@
'responseDemo' => null,
],
'QuerySessionByClientId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -469,27 +271,17 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'ClientId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -497,54 +289,26 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'OnlineStatus' => [
- 'type' => 'boolean',
- ],
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'OnlineStatus' => ['type' => 'boolean'],
+ 'RequestId' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -554,14 +318,8 @@
'responseDemo' => null,
],
'BatchQuerySessionByClientIds' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -569,18 +327,12 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- ],
+ 'systemTags' => ['operationType' => 'none'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'ClientIdList',
@@ -588,9 +340,7 @@
'style' => 'repeatList',
'schema' => [
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
+ 'items' => ['type' => 'string'],
'required' => true,
'maxItems' => 10,
],
@@ -601,20 +351,14 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
'OnlineStatusList' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'OnlineStatus' => [
- 'type' => 'boolean',
- ],
- 'ClientId' => [
- 'type' => 'string',
- ],
+ 'OnlineStatus' => ['type' => 'boolean'],
+ 'ClientId' => ['type' => 'string'],
],
],
],
@@ -624,42 +368,18 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -669,14 +389,8 @@
'responseDemo' => null,
],
'QueryToken' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -684,27 +398,17 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Token',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -712,58 +416,27 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
- 'TokenStatus' => [
- 'type' => 'boolean',
- ],
+ 'RequestId' => ['type' => 'string'],
+ 'TokenStatus' => ['type' => 'boolean'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'QueryTokenOverFlow',
- 'errorMessage' => 'You have queried tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'QueryTokenOverFlow', 'errorMessage' => 'You have queried tokens too many times. Please try again later.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -773,13 +446,8 @@
'responseDemo' => null,
],
'ApplyToken' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -787,46 +455,27 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'Resources',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'ExpireTime',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true],
],
[
'name' => 'Actions',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -834,58 +483,27 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
- 'Token' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
+ 'Token' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.'],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -895,13 +513,8 @@
'responseDemo' => null,
],
'RevokeToken' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -909,27 +522,17 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'Token',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
],
'responses' => [
@@ -937,55 +540,26 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
+ 'RequestId' => ['type' => 'string'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'RevokeTokenOverFlow',
- 'errorMessage' => 'You have revoked tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.'],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.'],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.'],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.'],
+ ['errorCode' => 'RevokeTokenOverFlow', 'errorMessage' => 'You have revoked tokens too many times. Please try again later.'],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.'],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.'],
],
],
'eventInfo' => [
@@ -996,109 +570,31 @@
],
],
'endpoints' => [
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'onsmqtt.cn-shanghai-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'onsmqtt.cn-qingdao.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'onsmqtt.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'onsmqtt.cn-shenzhen-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'onsmqtt.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'onsmqtt.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'onsmqtt.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'onsmqtt.cn-shenzhen.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'onsmqtt.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'onsmqtt.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'onsmqtt.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'onsmqtt.me-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'onsmqtt.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan-acdr-1',
- 'endpoint' => 'onsmqtt.cn-heyuan-acdr-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'mq-internet-access',
- 'endpoint' => 'onsmqtt.mq-internet-access.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'onsmqtt.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'onsmqtt.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'onsmqtt.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'onsmqtt.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'onsmqtt.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'onsmqtt.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'onsmqtt.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'onsmqtt.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'onsmqtt.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'onsmqtt.cn-guangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou-finance',
- 'endpoint' => 'onsmqtt.cn-hangzhou-finance.aliyuncs.com',
- ],
+ ['regionId' => 'cn-shanghai-finance-1', 'endpoint' => 'onsmqtt.cn-shanghai-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'endpoint' => 'onsmqtt.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'endpoint' => 'onsmqtt.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'endpoint' => 'onsmqtt.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'endpoint' => 'onsmqtt.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'endpoint' => 'onsmqtt.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'endpoint' => 'onsmqtt.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'endpoint' => 'onsmqtt.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'endpoint' => 'onsmqtt.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'endpoint' => 'onsmqtt.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'endpoint' => 'onsmqtt.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'endpoint' => 'onsmqtt.me-central-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'endpoint' => 'onsmqtt.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan-acdr-1', 'endpoint' => 'onsmqtt.cn-heyuan-acdr-1.aliyuncs.com'],
+ ['regionId' => 'mq-internet-access', 'endpoint' => 'onsmqtt.mq-internet-access.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'endpoint' => 'onsmqtt.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'endpoint' => 'onsmqtt.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'endpoint' => 'onsmqtt.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'endpoint' => 'onsmqtt.us-east-1.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'endpoint' => 'onsmqtt.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'endpoint' => 'onsmqtt.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'endpoint' => 'onsmqtt.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'endpoint' => 'onsmqtt.us-west-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'endpoint' => 'onsmqtt.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'endpoint' => 'onsmqtt.cn-guangzhou.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'endpoint' => 'onsmqtt.cn-hangzhou-finance.aliyuncs.com'],
],
];
diff --git a/data/en_us/onsmqtt/2020-04-20/api-docs.php b/data/en_us/onsmqtt/2020-04-20/api-docs.php
index 4f37fa4..7d22640 100644
--- a/data/en_us/onsmqtt/2020-04-20/api-docs.php
+++ b/data/en_us/onsmqtt/2020-04-20/api-docs.php
@@ -1,313 +1,152 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'OnsMqtt',
- 'version' => '2020-04-20',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'OnsMqtt', 'version' => '2020-04-20'],
'directories' => [
[
- 'id' => 321803,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'ApplyToken',
- 'QueryToken',
- 'RevokeToken',
- ],
- ],
- [
- 'id' => 321807,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'ListInstances',
- ],
- ],
- [
- 'id' => 321809,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'CreateGroupId',
- 'DeleteGroupId',
- 'ListGroupId',
- ],
- ],
- [
- 'id' => 321813,
- 'title' => null,
+ 'children' => ['CreateGroupId', 'DeleteGroupId', 'ListGroupId'],
'type' => 'directory',
- 'children' => [
- 'SendMessage',
- ],
+ 'title' => 'Group ID',
],
[
- 'id' => 321815,
- 'title' => null,
+ 'children' => ['QuerySessionByClientId', 'BatchQuerySessionByClientIds'],
'type' => 'directory',
- 'children' => [
- 'QuerySessionByClientId',
- 'BatchQuerySessionByClientIds',
- 'CloseConnection',
- ],
+ 'title' => 'Clients',
],
[
- 'id' => 321819,
- 'title' => null,
+ 'children' => ['GetDeviceCredential', 'RefreshDeviceCredential', 'RegisterDeviceCredential', 'UnRegisterDeviceCredential', 'ListDeviceCredentialClientId'],
'type' => 'directory',
- 'children' => [
- 'GetDeviceCredential',
- 'RefreshDeviceCredential',
- 'RegisterDeviceCredential',
- 'UnRegisterDeviceCredential',
- 'ListDeviceCredentialClientId',
- ],
+ 'title' => 'Unique-certificate-per-device',
],
[
- 'id' => 321825,
- 'title' => null,
+ 'children' => ['QueryMqttTraceMessageSubscribe'],
'type' => 'directory',
- 'children' => [
- 'QueryMqttTraceDevice',
- 'QueryMqttTraceMessageOfClient',
- 'QueryMqttTraceMessagePublish',
- 'QueryMqttTraceMessageSubscribe',
- ],
+ 'title' => 'Traces',
],
[
- 'id' => 321830,
- 'title' => null,
+ 'children' => ['RegisterCaCertificate', 'ActiveCaCertificate', 'InactivateCaCertificate'],
'type' => 'directory',
- 'children' => [
- 'RegisterCaCertificate',
- 'ActiveCaCertificate',
- 'InactivateCaCertificate',
- 'ListCaCertificate',
- 'GetCaCertificate',
- 'GetRegisterCode',
- 'DeleteCaCertificate',
- ],
+ 'title' => 'CA certificates',
],
[
- 'id' => 321838,
- 'title' => null,
+ 'children' => ['ActiveDeviceCertificate', 'InactivateDeviceCertificate'],
'type' => 'directory',
- 'children' => [
- 'ActiveDeviceCertificate',
- 'InactivateDeviceCertificate',
- 'ListDeviceCertificate',
- 'ListDeviceCertificateByCaSn',
- 'GetDeviceCertificate',
- 'DeleteDeviceCertificate',
- ],
+ 'title' => 'Device certificates',
],
[
- 'id' => 321845,
- 'title' => null,
+ 'children' => ['QueryCustomAuthIdentity'],
'type' => 'directory',
- 'children' => [
- 'AddCustomAuthIdentity',
- 'UpdateCustomAuthIdentity',
- 'QueryCustomAuthIdentity',
- 'DeleteCustomAuthIdentity',
- 'AddCustomAuthPermission',
- 'UpdateCustomAuthPermission',
- 'QueryCustomAuthPermission',
- 'DeleteCustomAuthPermission',
- 'AddCustomAuthConnectBlack',
- 'DeleteCustomAuthConnectBlack',
- 'QueryCustomAuthConnectBlack',
- ],
+ 'title' => 'Custom permissions',
],
[
- 'id' => 321857,
- 'title' => null,
- 'type' => 'directory',
'children' => [
- 'TagResources',
- 'ListTagResources',
- 'UntagResources',
+ 'SetSniConfig', 'DisasterRecovery', 'AddCustomAuthConnectBlack', 'AddCustomAuthIdentity', 'AddCustomAuthPermission', 'ApplyToken', 'CloseConnection', 'DeleteCaCertificate', 'DeleteCustomAuthConnectBlack', 'DeleteCustomAuthIdentity', 'DeleteCustomAuthPermission', 'DeleteDeviceCertificate', 'DisasterDowngrade', 'GetCaCertificate', 'GetDeviceCertificate', 'GetRegisterCode', 'ListCaCertificate', 'ListDeviceCertificate', 'ListDeviceCertificateByCaSn', 'ListInstances',
+ 'ListTagResources', 'QueryCustomAuthConnectBlack', 'QueryCustomAuthPermission', 'QueryMqttTraceDevice', 'QueryMqttTraceMessageOfClient', 'QueryMqttTraceMessagePublish', 'QueryToken', 'RevokeToken', 'SendMessage', 'TagResources', 'UntagResources', 'UpdateCustomAuthIdentity', 'UpdateCustomAuthPermission',
],
- ],
- [
- 'id' => 321861,
- 'title' => null,
'type' => 'directory',
- 'children' => [
- 'SetSniConfig',
- 'DisasterDowngrade',
- 'DisasterRecovery',
- ],
+ 'title' => 'Others',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'ApplyToken' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ActiveCaCertificate' => [
+ 'summary' => 'ApsaraMQ for MQTT supports device verification using X.509 certificates. A certificate authority (CA) certificate is required to issue and validate these device certificates, and it must be active to be used. While CA certificates are active by default upon registration, this operation allows you to reactivate any certificate that has become inactive.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
- 'name' => 'Resources',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The topics on the ApsaraMQ for MQTT instance. Separate multiple topics with commas (,). Each token can be used to access up to 100 topics. Multiple topics are sorted in alphabetic order. MQTT wildcards, including single-level wildcards represented by plus signs (+) and multi-level wildcards represented by number signs (#), can be used for the Resources parameter that you register to apply for a token.'."\n"
- ."\n"
- .'For example, if you set the **Resources** parameter to Topic1/+ when you apply for a token, the ApsaraMQ for MQTT client can manage the topics in Topic1/xxx. If you set the **Resources** parameter to Topic1/# when you apply for a token, the ApsaraMQ for MQTT client can manage topics of any level in Topic1/xxx/xxx/xxx.'."\n"
- ."\n"
- .'> ApsaraMQ for MQTT supports subtopics. You can specify subtopics in the code for messaging instead of configuring them in the ApsaraMQ for MQTT console. Forward slashes (/) are used to separate topics of different levels. For more information, see [Terms](~~42420~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TopicA/+',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
- ],
- [
- 'name' => 'ExpireTime',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The timestamp that indicates the point in time when the token expires. Unit: milliseconds. The minimum validity period of a token is 60 seconds, and the maximum validity period of a token is 30 days. If you specify a validity period of more than 30 days for a token, no errors are returned. However, the token is valid only for 30 days.'."\n"
- ."\n"
- .'For example, you want to specify a validity period of 60 seconds for a token. If the current system timestamp is 1609434061000, you must set this parameter to **1609434121000**. The value is calculated by using the following formula: 1609434061000 + 60 x 1000 = 1609434121000.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1609434121000',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is bound.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'Actions',
+ 'name' => 'Sn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The permission type of the token. Valid values:'."\n"
- ."\n"
- .'* **R**: read-only. You can only subscribe to the specified topics.'."\n"
- .'* **W**: write-only. You can only send messages to the specified topics.'."\n"
- .'* **R,W**: read and write. You can send messages to and subscribe to the specified topics. Separate **R** and **W** with a comma (,).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'R',
- ],
+ 'schema' => ['description' => 'The serial number of the CA certificate that you want to reactivate. The serial number is the unique identifier of a CA certificate.'."\n"
+ ."\n"
+ .'The serial number of a CA certificate cannot exceed 128 bytes in size.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'Token' => [
- 'description' => 'The token that is returned by the ApsaraMQ for MQTT broker.'."\n"
- ."\n"
- .'> Do not assume the length, format, or rule of the token to return. The actual returned token shall prevail.'."\n",
- 'type' => 'string',
- 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==',
- ],
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '31782AAF-D0CC-44C3-ABFD-1B500276****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Sn' => ['description' => 'The serial number of the activated CA certificate, used to uniquely identify a CA certificate.', 'type' => 'string', 'example' => '007269004887******', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttApplyCluster4InstanceFailed', 'errorMessage' => 'the instance can not find cluster.', 'description' => 'The instance failed to obtain cluster information.'],
+ ['errorCode' => 'FindCaBySnError', 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ['errorCode' => 'SystemError', 'errorMessage' => 'system error.', 'description' => 'System error, please try again'],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Token\\": \\"LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==\\",\\n \\"RequestId\\": \\"31782AAF-D0CC-44C3-ABFD-1B500276****\\"\\n}","errorExample":""},{"type":"xml","example":"<ApplyTokenResponse>\\n <RequestId>31782AAF-D0CC-44C3-ABFD-1B500276****</RequestId>\\n <Token>LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==</Token>\\n</ApplyTokenResponse>","errorExample":""}]',
- 'title' => 'ApplyToken',
- 'summary' => 'Applies for a token from ApsaraMQ for MQTT. If token-based authentication is used for permission authentication on an ApsaraMQ for MQTT broker, a token that is issued by the broker is required for authentication each time a client is connected to the broker.',
- 'description' => '* You can call this operation up to 100 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* Each successful call to the **ApplyToken** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'QueryToken' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'ActiveCaCertificate',
+ 'description' => '- Only ApsaraMQ for MQTT Enterprise Platinum Edition <props="china">and Professional Edition</props> instances support this operation.'."\n"
+ ."\n"
+ .'- You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n"
+ ."\n"
+ .'- You can call this operation to reactivate only CA certificates that are registered with ApsaraMQ for MQTT brokers. You can call the [ListCaCertificate](~~2604958~~) operation to query CA certificates that are registered with an ApsaraMQ for MQTT instance.',
+ 'extraInfo' => '### 控制台操作'."\n"
+ .'除了调用ActiveCaCertificate接口,您还可以通过微消息队列MQTT版控制台激活CA证书。具体操作,请参见[CA证书管理](~~436873~~)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ActiveCaCertificate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:ActiveCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","type":"json"}]',
+ ],
+ 'ActiveDeviceCertificate' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -316,541 +155,399 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons0PHGX2'],
],
'parameters' => [
[
- 'name' => 'Token',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate is bound.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'DeviceSn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'schema' => ['description' => 'The serial number of the device certificate that you want to reactivate. The serial number is the unique identifier of a device certificate.', 'type' => 'string', 'required' => true, 'example' => '356217374433******', 'title' => ''],
+ ],
+ [
+ 'name' => 'CaSn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The serial number of the CA certificate that issued the device certificate. The serial number is the unique identifier of a CA certificate.'."\n"
+ ."\n"
+ .'The serial number of a CA certificate cannot exceed 128 bytes in size.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'TokenStatus' => [
- 'description' => 'The status of the queried token. Valid values:'."\n"
- ."\n"
- .'* **true**: indicates the token is valid.'."\n"
- .'* **false**: indicates the token is invalid.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '5C8AADD0-6A95-436D-AFA0-3405CCE3****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request. This is a common parameter. Each request has a unique ID that you can use to troubleshoot issues.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'DeviceSn' => ['description' => 'The serial number of the activated device certificate. The SN is the unique identifier of a device certificate.', 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'QueryTokenOverFlow',
- 'errorMessage' => 'You have queried tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TokenStatus\\": true,\\n \\"RequestId\\": \\"5C8AADD0-6A95-436D-AFA0-3405CCE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<QueryTokenResponse>\\r\\n<RequestId>5C8AADD0-6A95-436D-AFA0-3405CCE3****</RequestId>\\r\\n<TokenStatus>true</TokenStatus>\\r\\n</QueryTokenResponse>","errorExample":""}]',
- 'title' => 'QueryToken',
- 'summary' => 'Queries the status of a token. If token-based authentication is used for permission authentication on an ApsaraMQ for MQTT broker, a token that is issued by the broker is required for authentication each time a client is connected to the broker. A token is a temporary credential and is valid only within a specific period of time. You can call this operation to query whether a token expires.',
- 'description' => '* You can call this operation up to 100 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* Each successful call to the **QueryToken** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RevokeToken' => [
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'ActiveDeviceCertificate',
+ 'summary' => 'Device certificates, issued by certificate authority (CA) certificates, are used by the ApsaraMQ for MQTT broker to authenticate clients. The broker validates a device certificate against the registered CA certificate; upon successful authentication, the certificate is automatically registered with the broker and activated. Should a device certificate become inactive, you can call this operation to reactivate it.',
+ 'description' => '- Only ApsaraMQ for MQTT Enterprise Platinum Edition <props="china">and Professional Edition</props> instances support this operation.'."\n"
+ ."\n"
+ .'- You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.',
+ 'extraInfo' => '### 控制台操作'."\n"
+ .'除了调用ActiveDeviceCertificate接口,您还可以通过微消息队列MQTT版控制台激活设备证书。具体操作,请参见[设备证书管理](~~449435~~) 。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ActiveDeviceCertificate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:ActiveDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","type":"json"}]',
+ ],
+ 'AddCustomAuthConnectBlack' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'Token',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The token that you want to revoke.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-i7m26mf****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'name' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The client ID of the device whose connections you want to disable.'."\n", 'type' => 'string', 'required' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '833EDFCB-C447-4CE3-B21F-3A4C2D1B****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****'],
+ 'Code' => ['description' => 'The HTTP status code. The value 200 indicates that the request is successful.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The message returned.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'RevokeTokenOverFlow',
- 'errorMessage' => 'You have revoked tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'Customauth.over.capacity', 'errorMessage' => 'Over custom auth capacity.', 'description' => 'User-defined permission quantity capacity exceeds the limit'],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"833EDFCB-C447-4CE3-B21F-3A4C2D1B****\\"\\n}","errorExample":""},{"type":"xml","example":"<RevokeTokenResponse>\\r\\n<RequestId>833EDFCB-C447-4CE3-B21F-3A4C2D1B****</RequestId>\\r\\n</RevokeTokenResponse>","errorExample":""}]',
- 'title' => 'RevokeToken',
- 'summary' => 'Revokes a token.',
- 'description' => '* You can call this operation up to 5 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* Each successful call to the **RevokeToken** operation increases the messaging transactions per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListInstances' => [
- 'summary' => 'Queries instances.',
- 'methods' => [
- 'post',
- 'get',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'AddCustomAuthConnectBlack',
+ 'summary' => 'Adds a device to the connection blacklist to disable connections from the device.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCustomAuthConnectBlack'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'AddCustomAuthIdentity' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
+ 'operationType' => 'create',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '265380',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeCode' => '207003',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'Tags',
- 'in' => 'query',
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the Message Queue for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-xxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The username.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Secret',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The AccessKey secret.'."\n", 'type' => 'string', 'required' => true, 'example' => 'xxxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'description' => '',
+ 'description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n",
'type' => 'string',
- 'required' => false,
- 'example' => '[{"key":"test","value":"test"}]',
+ 'required' => true,
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The client ID if you set IdentityType to CLIENT.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
+ [
+ 'name' => 'SignMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The signature verification mode. ORIGIN: compares the password and the AccessKey secret. SIGNED: uses the HMAC_SHA1 algorithm to sign the client ID to obtain a password and then compares the password.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SIGNED',
+ 'enum' => ['ORIGIN', 'SIGNED'],
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'title' => 'Schema of Response',
+ 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '294F5B26-FADF-41D0-BE68-14ABE4EB****',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'Instances' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'InstanceId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'mqtt-cn-xxxxxxx',
- ],
- 'InstanceName' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'mqtt-cn-xxxxxxx',
- ],
- 'InstanceStatus' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'InstanceType' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '4',
- ],
- 'Specific' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'mqtt.p2.1xlarge',
- ],
- 'RegionId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'cn-shenzhen',
- ],
- 'CreateTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1739345768000',
- ],
- 'ExpireTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1741795200000',
- ],
- 'KernelVersion' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'V3.3.0',
- ],
- 'MqttTags' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'TagKey' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'TagValue' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'OrderId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '245949616640095',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Code' => ['description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The message returned.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
- [
- 'errorCode' => 'ServiceUnable',
- 'errorMessage' => 'The current user has not activated the ONS service. Please activate the service first.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'Customauth.over.capacity', 'errorMessage' => 'Over custom auth capacity.', 'description' => 'User-defined permission quantity capacity exceeds the limit'],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294F5B26-FADF-41D0-BE68-14ABE4EB****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": \\"true\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"mqtt-cn-xxxxxxx\\",\\n \\"InstanceName\\": \\"mqtt-cn-xxxxxxx\\",\\n \\"InstanceStatus\\": 5,\\n \\"InstanceType\\": 4,\\n \\"Specific\\": \\"mqtt.p2.1xlarge\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"CreateTime\\": 1739345768000,\\n \\"ExpireTime\\": 1741795200000,\\n \\"KernelVersion\\": \\"V3.3.0\\",\\n \\"MqttTags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"OrderId\\": \\"245949616640095\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'ListInstances',
- ],
- 'CreateGroupId' => [
- 'summary' => 'Creates a group ID. Before you connect producers and consumers to an ApsaraMQ for MQTT broker to send and receive messages, you must specify a unique ID for each client for identification. A client ID is in the format of \\\\\\<GroupID>@@@\\\\\\<DeviceID>. In the preceding format, DeviceID is the custom ID that you specify for the client, and GroupID is the ID of the group that you create on the ApsaraMQ for MQTT broker in advance.',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'AddCustomAuthIdentity',
+ 'summary' => 'Adds the information about identity authentication. The identity can be accurate to a client.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCustomAuthIdentity'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'AddCustomAuthPermission' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '84611',
- 'abilityTreeNodes' => [
- 'FEATUREons4L127M',
- ],
- ],
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'GroupId',
- 'in' => 'query',
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-0pp12gl****', 'title' => ''],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the group that you want to create. The group ID must meet the following conventions:'."\n"
- ."\n"
- .'* The ID must be 7 to 64 characters in length. It must start with GID\\_ or GID- and can contain only letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .'* The ID cannot be changed after the group is created. For more information, see [Terms](~~42420~~).'."\n",
+ 'description' => 'The identity type. Valid values: USER and CLIENT.'."\n",
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test',
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
+ 'name' => 'Identity',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The username or client ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'PermitAction',
+ 'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the group belongs.'."\n",
+ 'description' => 'The permissions that you want to grant.'."\n",
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-0pp1ldu****',
+ 'example' => 'PUB_SUB',
+ 'enum' => ['PUB', 'SUB', 'PUB_SUB'],
+ 'title' => '',
],
],
[
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'repeatList',
+ 'name' => 'Effect',
+ 'in' => 'formData',
'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'type' => 'string',
- ],
- 'Value' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'maxItems' => 100,
+ 'description' => 'Specifies whether to allow or deny access.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ALLOW',
+ 'enum' => ['ALLOW', 'DENY'],
+ 'title' => '',
],
],
+ [
+ 'name' => 'Topic',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The topics on which you want to grant permissions. Multi-level topics and wildcard characters are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test/t1', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '2C7D722D-0F3D-4415-A9CD-A464D82C****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****'],
+ 'Code' => ['description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'GroupIdAlreadyExsited',
- 'errorMessage' => 'The specified GroupId already exists.',
- ],
- [
- 'errorCode' => 'GroupIdAlreadyUsedByOtherUsers',
- 'errorMessage' => 'The current GroupId is used by another user. Please change to a different GroupId.',
- ],
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'Customauth.over.capacity', 'errorMessage' => 'Over custom auth capacity.', 'description' => ''],
],
- 500 => [
- [
- 'errorCode' => 'CreateGroupIdError',
- 'errorMessage' => 'Failed to create GroupId. Try again later.',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2C7D722D-0F3D-4415-A9CD-A464D82C****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateGroupIdResponse>\\r\\n<RequestId>2C7D722D-0F3D-4415-A9CD-A464D82C****</RequestId>\\r\\n</CreateGroupIdResponse>","errorExample":""}]',
- 'title' => 'CreateGroupId',
- 'description' => 'Each successful call to the **CreateGroupId** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteGroupId' => [
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'AddCustomAuthPermission',
+ 'summary' => 'Grants permissions on topics. You must create a parent topic in the console before you call this API operation.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ApplyToken' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -858,31 +555,37 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'GroupId',
+ 'name' => 'Resources',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the group that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test',
- ],
+ 'schema' => ['description' => 'The topics on the ApsaraMQ for MQTT instance. Separate multiple topics with commas (,). Each token can be used to access up to 100 topics. Multiple topics are sorted in alphabetic order. MQTT wildcards, including single-level wildcards represented by plus signs (+) and multi-level wildcards represented by number signs (#), can be used for the Resources parameter that you register to apply for a token.'."\n"
+ ."\n"
+ .'For example, if you set the **Resources** parameter to Topic1/+ when you apply for a token, the ApsaraMQ for MQTT client can manage the topics in Topic1/xxx. If you set the **Resources** parameter to Topic1/# when you apply for a token, the ApsaraMQ for MQTT client can manage topics of any level in Topic1/xxx/xxx/xxx.'."\n"
+ ."\n"
+ .'> ApsaraMQ for MQTT supports subtopics. You can specify subtopics in the code for messaging instead of configuring them in the ApsaraMQ for MQTT console. Forward slashes (/) are used to separate topics of different levels. For more information, see [Terms](~~42420~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TopicA/+', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance from which you want to delete a group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-0pp1ldu****',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ExpireTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The timestamp that indicates the point in time when the token expires. Unit: milliseconds. The minimum validity period of a token is 60 seconds, and the maximum validity period of a token is 30 days. If you specify a validity period of more than 30 days for a token, no errors are returned. However, the token is valid only for 30 days.'."\n"
+ ."\n"
+ .'For example, you want to specify a validity period of 60 seconds for a token. If the current system timestamp is 1609434061000, you must set this parameter to **1609434121000**. The value is calculated by using the following formula: 1609434061000 + 60 x 1000 = 1609434121000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1609434121000', 'title' => ''],
+ ],
+ [
+ 'name' => 'Actions',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The permission type of the token. Valid values:'."\n"
+ ."\n"
+ .'* **R**: read-only. You can only subscribe to the specified topics.'."\n"
+ .'* **W**: write-only. You can only send messages to the specified topics.'."\n"
+ .'* **R,W**: read and write. You can send messages to and subscribe to the specified topics. Separate **R** and **W** with a comma (,).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'R', 'title' => ''],
],
],
'responses' => [
@@ -890,72 +593,68 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '0621DDD7-F0E9-4D35-8900-518116D6****',
- ],
+ 'Token' => ['description' => 'The token that is returned by the ApsaraMQ for MQTT broker.'."\n"
+ ."\n"
+ .'> Do not assume the length, format, or rule of the token to return. The actual returned token shall prevail.'."\n", 'type' => 'string', 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '31782AAF-D0CC-44C3-ABFD-1B500276****', 'title' => ''],
],
'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'ResourcePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'DeleteGroupIdError',
- 'errorMessage' => 'Failed to delete GroupId. Try again later.',
- ],
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0621DDD7-F0E9-4D35-8900-518116D6****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteGroupIdResponse>\\r\\n<RequestId>0621DDD7-F0E9-4D35-8900-518116D6****</RequestId>\\r\\n</DeleteGroupIdResponse>","errorExample":""}]',
- 'title' => 'DeleteGroupId',
- 'summary' => 'Deletes a group from an ApsaraMQ for MQTT instance.',
- 'description' => 'Each successful call to the **DeleteGroupId** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Token\\": \\"LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==\\",\\n \\"RequestId\\": \\"31782AAF-D0CC-44C3-ABFD-1B500276****\\"\\n}","errorExample":""},{"type":"xml","example":"<ApplyTokenResponse>\\n <RequestId>31782AAF-D0CC-44C3-ABFD-1B500276****</RequestId>\\n <Token>LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==</Token>\\n</ApplyTokenResponse>","errorExample":""}]',
+ 'title' => 'ApplyToken',
+ 'summary' => 'Applies for a token from ApsaraMQ for MQTT. If token-based authentication is used for permission authentication on an ApsaraMQ for MQTT broker, a token that is issued by the broker is required for authentication each time a client is connected to the broker.',
+ 'description' => '* You can call this operation up to 100 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
+ .'* Each successful call to the **ApplyToken** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListGroupId' => [
- 'summary' => 'Queries all groups on an ApsaraMQ for MQTT instance.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ApplyToken'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:ApplyToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'BatchQuerySessionByClientIds' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -964,44 +663,31 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '84622',
- 'abilityTreeNodes' => [
- 'FEATUREons4L127M',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsICR0M4'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance whose groups you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-0pp1ldu****',
- ],
+ 'schema' => ['description' => 'The instance ID of ApsaraMQ for MQTT. Must match the instance ID used by the client. Find it on the **Instance Details** page in the [console](https://mqtt.console.aliyun.com).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'ClientIdList',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
+ 'description' => 'The client IDs to query.',
'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'type' => 'string',
- ],
- 'Value' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'maxItems' => 100,
+ 'items' => ['description' => 'The Nth client ID to query.'."\n"
+ ."\n"
+ .'> You can query up to 10 client IDs per call. N ranges from 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ClientIdList.1', 'title' => ''],
+ 'required' => true,
+ 'example' => 'ClientIdList.1',
+ 'maxItems' => 10,
+ 'title' => '',
],
],
],
@@ -1010,269 +696,219 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '95996EEB-D894-44FA-A87C-940F5CD9****',
- ],
- 'Data' => [
- 'description' => 'The details of a queried group.'."\n",
+ 'RequestId' => ['description' => 'A unique request identifier.', 'type' => 'string', 'example' => '63309FDB-ED6C-46AE-B31C-A172FBA0****', 'title' => ''],
+ 'OnlineStatusList' => [
+ 'description' => 'The online status of each queried client.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'UpdateTime' => [
- 'description' => 'The time when the group was last updated.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1564577317000',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the group belongs.'."\n",
- 'type' => 'string',
- 'example' => 'post-cn-45910tj****',
- ],
- 'IndependentNaming' => [
- 'description' => 'Indicates whether a separate namespace is configured for the ApsaraMQ for MQTT instance. Valid values:'."\n"
- ."\n"
- .'* **true**: A separate namespace is configured for the ApsaraMQ for MQTT instance. Resource names must be unique within an ApsaraMQ for MQTT instance but can be the same across ApsaraMQ for MQTT instances.'."\n"
- .'* **false**: No separate namespace is configured for the ApsaraMQ for MQTT instance. Resource names must be globally unique within an ApsaraMQ for MQTT instance and across ApsaraMQ for MQTT instances.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'GroupId' => [
- 'description' => 'The queried group that belongs to the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test1',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the group was created.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1564577317000',
- ],
- 'Tags' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'TagKey' => [
- 'type' => 'string',
- ],
- 'TagValue' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
+ 'OnlineStatus' => ['description' => 'Whether the client is online. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The client is online.'."\n"
+ ."\n"
+ .'- **false**: The client is offline.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID, as defined in [Terms](~~42420~~).', 'type' => 'string', 'example' => 'GID_test@0001', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InstanceNotFound',
- 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ 403 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 417 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95996EEB-D894-44FA-A87C-940F5CD9****\\",\\n \\"Data\\": [\\n {\\n \\"UpdateTime\\": 1564577317000,\\n \\"InstanceId\\": \\"post-cn-45910tj****\\",\\n \\"IndependentNaming\\": true,\\n \\"GroupId\\": \\"GID_test1\\",\\n \\"CreateTime\\": 1564577317000,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"\\",\\n \\"TagValue\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListGroupIdResponse>\\n<RequestId>95996EEB-D894-44FA-A87C-940F5CD9****</RequestId>\\n<Data>\\n <InstanceId>post-cn-45910tj****</InstanceId>\\n <CreateTime>1564577317000</CreateTime>\\n <UpdateTime>1564577317000</UpdateTime>\\n <IndependentNaming>true</IndependentNaming>\\n <GroupId>GID_test2</GroupId>\\n</Data>\\n<Data>\\n <InstanceId>post-cn-45910tj****</InstanceId>\\n <CreateTime>1563200655000</CreateTime>\\n <UpdateTime>1563200655000</UpdateTime>\\n <IndependentNaming>true</IndependentNaming>\\n <GroupId>GID_test1</GroupId>\\n</Data>\\n</ListGroupIdResponse>","errorExample":""}]',
- 'title' => 'ListGroupId',
- 'description' => 'Each successful call to the **ListGroupId** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'BatchQuerySessionByClientIds',
+ 'summary' => 'Queries the online status of multiple clients by client ID.',
+ 'description' => '- The **BatchQuerySessionByClientIds** operation supports up to 100 QPS. [QPS limits](~~163047~~).'."\n"
+ ."\n"
+ .'- Each call queries the online status of up to 10 clients.'."\n"
+ ."\n"
+ .'- Each successful call counts as one billable transaction. [Billing](~~52819~~).'."\n"
+ ."\n"
+ .'- This operation queries data from the internal cache and may return stale results. For real-time queries, use [QuerySessionByClientId](~~2603924~~).',
+ 'requestParamsDescription' => '> Other parameters are described in [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'SendMessage' => [
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchQuerySessionByClientIds'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:BatchQuerySessionByClientIds',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"63309FDB-ED6C-46AE-B31C-A172FBA0****\\",\\n \\"OnlineStatusList\\": [\\n {\\n \\"OnlineStatus\\": true,\\n \\"ClientId\\": \\"GID_test@0001\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'CloseConnection' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- ],
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'MqttTopic',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The topic to which you want to send a message on the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'TopicA',
- ],
- ],
- [
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'schema' => ['description' => 'ID of the Micro Message Queue MQTT version instance.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
- 'name' => 'Payload',
+ 'name' => 'ClientId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The message content, which is the payload of the message. We recommend that you encode the content in Base64 to prevent non-printable characters from being transmitted.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'Client ID of the device', 'type' => 'string', 'required' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'MsgId' => [
- 'description' => 'The unique message ID that is returned by the ApsaraMQ for MQTT broker after the message is sent.'."\n",
- 'type' => 'string',
- 'example' => '0B736D997B7F45FF54E61C1C1B58****',
- ],
- 'RequestId' => [
- 'description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****'],
+ 'Code' => ['description' => 'Return code of the interface: 200 indicates success. Other values indicate error codes. For details about the error codes, see Error Codes.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'Call result information', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation was successful. true means success, false means failure.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SendMessageFailed',
- 'errorMessage' => 'A storage exception occurred while sending the message. Please try again.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"MsgId\\": \\"0B736D997B7F45FF54E61C1C1B58****\\",\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\"\\n}","errorExample":""},{"type":"xml","example":"<SendMessageResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <MsgId>0B736D997B7F45FF54E61C1C1B58****</MsgId>\\n</SendMessageResponse>","errorExample":""}]',
- 'title' => 'SendMessage',
- 'summary' => 'Sends a single message from an application on a cloud server to ApsaraMQ for MQTT.',
- 'description' => '* The **SendMessage** operation is called by an application on a cloud server. This operation is complementary to the operation that is called to send a message from an ApsaraMQ for MQTT client. For information about the differences between the scenarios of sending messages from applications on cloud servers and the scenarios of sending messages from ApsaraMQ for MQTT clients, see [Developer guide](~~179160~~).'."\n"
- .'* Messages that are sent by calling the **SendMessage** operation cannot be forwarded to ApsaraMQ for RocketMQ. If you want to use an ApsaraMQ for MQTT broker to forward messages to ApsaraMQ for RocketMQ, use [an SDK to send the messages](~~174527~~). The **SendMessage** operation supports up to 1,000 queries per second (QPS). For more information, see [QPS limits](~~163047~~).'."\n"
- .'* Each successful call to the **SendMessage** operation is calculated as a message transaction per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'QuerySessionByClientId' => [
- 'methods' => [
- 'post',
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ 'title' => 'CloseConnection',
+ 'summary' => 'Proactively closes an online connection. After you call this API operation, the device may reconnect to the broker based on the client reconnection mechanism.',
+ 'description' => 'This API is still in the testing phase and is only available for Professional Edition instances in the Shanghai region. Legacy instances are not supported at this time.',
+ 'translator' => 'machine',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:CloseConnection',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CreateGroupId' => [
+ 'summary' => 'Message producers and consumers must specify a unique Client ID when they connect to ApsaraMQ for MQTT to send and receive messages. A Client ID consists of two parts in the format <groupid>@@@<deviceid>. The DeviceID is defined by the client, and the GroupID must be created on the ApsaraMQ for MQTT server beforehand.',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '84611',
+ 'abilityTreeNodes' => ['FEATUREons4L127M'],
],
'parameters' => [
[
- 'name' => 'ClientId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT client that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'schema' => ['description' => 'The ID of the group to create. This ID must meet the following requirements:'."\n"
+ ."\n"
+ .'- The ID must be 7 to 64 characters in length, start with `GID_` or `GID-`, and contain only letters, digits, hyphens, and underscores.'."\n"
+ ."\n"
+ .'- Group IDs cannot be modified after creation. For more information, see [glossary](~~42420~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the instance to which the group ID belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-0pp1ldu****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => 'A list of resource tags. A resource can have a maximum of 20 tags. You can specify up to 20 tags in a single request.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'description' => 'An array of tag key-value pairs.',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -1281,86 +917,60 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'OnlineStatus' => [
- 'description' => 'Indicates whether the ApsaraMQ for MQTT client is connected to the ApsaraMQ for MQTT broker. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBBC0E****',
- ],
+ 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '2C7D722D-0F3D-4415-A9CD-A464D82C****', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'GroupIdAlreadyExsited', 'errorMessage' => 'The specified GroupId already exists.', 'description' => ''],
+ ['errorCode' => 'GroupIdAlreadyUsedByOtherUsers', 'errorMessage' => 'The current GroupId is used by another user. Please change to a different GroupId.', 'description' => ''],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'CreateGroupIdError', 'errorMessage' => 'Failed to create GroupId. Try again later.', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"OnlineStatus\\": true,\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBBC0E****\\"\\n}","errorExample":""},{"type":"xml","example":"<QuerySessionByClientIdResponse>\\r\\n <OnlineStatus>true</OnlineStatus>\\r\\n <RequestId>E4581CCF-62AF-44D9-B5B4-D1DBBC0E****</RequestId>\\r\\n</QuerySessionByClientIdResponse>","errorExample":""}]',
- 'title' => 'QuerySessionByClientId',
- 'summary' => 'Queries the running status of an ApsaraMQ for MQTT client. You can troubleshoot issues based on the queried results. You can enter the ID of an ApsaraMQ for MQTT client to check the connection status and IP address of the device.',
- 'description' => '* You can call this operation up to 500 times per second.**** For more information, see [Limits on QPS](~~163047~~).'."\n"
- .'* Each successful call to the **QuerySessionByClientId** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~178121~~) and [Endpoints](~~181438~~).'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2C7D722D-0F3D-4415-A9CD-A464D82C****\\"\\n}","type":"json"}]',
+ 'title' => 'CreateGroupId',
+ 'description' => 'Each successful call to the **CreateGroupId** operation counts as one message TPS and affects your billing. For more information, see [billing](~~52819~~).',
+ 'requestParamsDescription' => '> For more information about common parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'BatchQuerySessionByClientIds' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateGroupId'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:CreateMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'DeleteCaCertificate' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1369,140 +979,81 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '142200',
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is bound.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'ClientIdList',
+ 'name' => 'Sn',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The ApsaraMQ for MQTT clients.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The serial number of the ApsaraMQ for MQTT client. The value N indicates the Nth ApsaraMQ for MQTT client.'."\n"
- ."\n"
- .'> You can query the status of up to 10 ApsaraMQ for MQTT clients in a single query. The value range of N is 1 to 10.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ClientIdList.1',
- ],
- 'required' => true,
- 'example' => 'ClientIdList.1',
- 'maxItems' => 10,
- ],
+ 'schema' => ['description' => 'The serial number of the CA certificate that you want to delete. The serial number is the unique identifier of a CA certificate.'."\n"
+ ."\n"
+ .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n", 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '63309FDB-ED6C-46AE-B31C-A172FBA0****',
- ],
- 'OnlineStatusList' => [
- 'description' => 'The status list of all queried ApsaraMQ for MQTT clients.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'OnlineStatus' => [
- 'description' => 'Indicates whether the ApsaraMQ for MQTT client is online. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT client. For more information about client IDs, see [Terms](~~42420~~).'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@0001',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Sn' => ['description' => 'The serial number of the CA certificate that you deleted. The serial number is the unique identifier of a CA certificate.'."\n", 'type' => 'string', 'example' => '007269004887******', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindCaBySnError', 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Sn>007269004887******</Sn>\\n</DeleteCaCertificateResponse>","errorExample":""}]',
+ 'title' => 'DeleteCaCertificate',
+ 'summary' => 'Deletes a certificate authority (CA) certificate from an ApsaraMQ for MQTT broker. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates. Before you can use a CA certificate, you must register the certificate with an ApsaraMQ for MQTT broker. If you no longer require a CA certificate, you can call this operation to delete the certificate from the ApsaraMQ for MQTT broker.',
+ 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
+ .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n"
+ .'* You can call this operation to delete only CA certificates that are registered with ApsaraMQ for MQTT brokers. You can call the [ListCaCertificate](~~2604958~~) operation to query CA certificates that are registered with an ApsaraMQ for MQTT instance.'."\n"
+ .'* If you delete a specific CA certificate from an ApsaraMQ for MQTT broker, all device certificates that are issued by the CA certificate and are registered with the ApsaraMQ for MQTT broker are automatically deleted.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63309FDB-ED6C-46AE-B31C-A172FBA0****\\",\\n \\"OnlineStatusList\\": [\\n {\\n \\"OnlineStatus\\": true,\\n \\"ClientId\\": \\"GID_test@0001\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchQuerySessionByClientIdsResponse>\\r\\n <OnlineStatusList>\\r\\n <ClientId>GID_test@0001</ClientId>\\r\\n <OnlineStatus>true</OnlineStatus>\\r\\n </OnlineStatusList>\\r\\n <OnlineStatusList>\\r\\n <ClientId>GID_test@0002</ClientId>\\r\\n <OnlineStatus>false</OnlineStatus>\\r\\n </OnlineStatusList>\\r\\n <RequestId>63309FDB-ED6C-46AE-B31C-A172FBA0****</RequestId>\\r\\n</BatchQuerySessionByClientIdsResponse>","errorExample":""}]',
- 'title' => 'BatchQuerySessionByClientIds',
- 'summary' => 'Queries the status of multiple ApsaraMQ for MQTT clients by client ID.',
- 'description' => '* You can call the **BatchQuerySessionByClientIds** operation up to 100 times per second. For more information, see [Limits on QPS](~~163047~~).'."\n"
- .'* You can call the **BatchQuerySessionByClientIds** operation to query the status of up to 10 ApsaraMQ for MQTT clients in a single query.'."\n"
- .'* Each successful call to the **BatchQuerySessionByClientIds** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
- 'CloseConnection' => [
- 'summary' => 'Proactively closes an online connection. After you call this API operation, the device may reconnect to the broker based on the client reconnection mechanism.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DeleteCustomAuthConnectBlack' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1510,272 +1061,159 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'ID of the Micro Message Queue MQTT version instance.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Client ID of the device',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT client.'."\n", 'type' => 'string', 'required' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
- ],
- 'Code' => [
- 'description' => 'Return code of the interface: 200 indicates success. Other values indicate error codes. For details about the error codes, see Error Codes.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'Call result information',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the operation was successful. true means success, false means failure.',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '317076B7-F946-46BC-A98F-4CF9777C****'],
+ 'Code' => ['description' => 'The response code. The status code 200 indicates that the request was successful.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation was successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": true\\n}","type":"json"}]',
- 'title' => 'CloseConnection',
- 'description' => 'This API is still in the testing phase and is only available for Professional Edition instances in the Shanghai region. Legacy instances are not supported at this time.',
- 'translator' => 'machine',
- ],
- 'GetDeviceCredential' => [
- 'summary' => 'Queries the access credential of a device. If unique-certificate-per-device authentication is used as the authentication method on an ApsaraMQ for MQTT broker, an access credential that you apply for in advance is required for authentication when you connect your device to the broker. The connection can be established only after the authentication is passed.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"317076B7-F946-46BC-A98F-4CF9777C****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteCustomAuthConnectBlack',
+ 'summary' => 'Deletes a connection blacklist.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteCustomAuthIdentity' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device whose access credential you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
+ 'name' => 'Username',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The username.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
+ 'description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n",
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The client ID if you set IdentityType to CLIENT.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DQDC0E****',
- ],
- 'DeviceCredential' => [
- 'description' => 'The information about the access credential of the device.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'UpdateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was last updated. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'DeviceAccessKeyId' => [
- 'description' => 'The AccessKey ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.Z5fXh9sRRVufyLi6wo****',
- ],
- 'CreateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was created. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'example' => 'post-cn-0pp12gl****',
- ],
- 'DeviceAccessKeySecret' => [
- 'description' => 'The AccessKey secret of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.BJMkn4eMQJK2vaApTS****',
- ],
- 'ClientId' => [
- 'description' => 'The client ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@test',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '11568B5B-13A8-4E72-9DBA-3A14F7D3****'],
+ 'Code' => ['description' => 'The HTTP status code. The status code 200 indicates that the request is successful. Other status codes indicate that the request failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNotFound',
- 'errorMessage' => 'Device Credential Not Found. Check if the device certificate is registered.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DQDC0E****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceCredentialResponse>\\n<RequestId>E4581CCF-62AF-44D9-B5B4-D1DQDC0E****</RequestId>\\n<DeviceCredential>\\n <InstanceId>post-cn-0pp12gl****</InstanceId>\\n <DeviceAccessKeySecret>DC.BJMkn4eMQJK2vaApTS****</DeviceAccessKeySecret>\\n <CreateTime>1605541382000</CreateTime>\\n <UpdateTime>1605541382000</UpdateTime>\\n <DeviceAccessKeyId>DC.Z5fXh9sRRVufyLi6wo****</DeviceAccessKeyId>\\n <ClientId>GID_test@@@test</ClientId>\\n</DeviceCredential>\\n</GetDeviceCredentialResponse>","errorExample":""}]',
- 'title' => 'GetDeviceCredential',
- 'description' => '* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
- .'* Each successful call to the **GetDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RefreshDeviceCredential' => [
- 'summary' => 'Updates the access credential of a device.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"11568B5B-13A8-4E72-9DBA-3A14F7D3****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteCustomAuthIdentity',
+ 'summary' => 'Deletes an identity for custom authorization.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteCustomAuthPermission' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1783,377 +1221,205 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device whose access credential you want to update.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-0pp1ldu****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
- 'in' => 'query',
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
+ 'description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n",
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
+ [
+ 'name' => 'Identity',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The username or client ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The topic on which you want to grant permissions. Multi-level topics and Wildcard characters are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test/t1', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBDC0F****',
- ],
- 'DeviceCredential' => [
- 'description' => 'The access credential of the device.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'UpdateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was last updated. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'DeviceAccessKeyId' => [
- 'description' => 'The AccessKey ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.Z5fXh9sRRVufyLi6wo****',
- ],
- 'CreateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was created. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'example' => 'post-cn-0pp12gl****',
- ],
- 'DeviceAccessKeySecret' => [
- 'description' => 'The AccessKey secret of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.BJMkn4eMQJK2vaApTS****',
- ],
- 'ClientId' => [
- 'description' => 'The client ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@test',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '34063BCA-0946-49C1-B824-2ED2C905****'],
+ 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The message returned.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNotFound',
- 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNumExceed',
- 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.',
- ],
- [
- 'errorCode' => 'DeviceCredentialExsit',
- 'errorMessage' => 'Device Credential Exsit.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBDC0F****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RefreshDeviceCredentialResponse>\\n<RequestId>E4581CCF-62AF-44D9-B5B4-D1DBDC0F****</RequestId>\\n<DeviceCredential>\\n <InstanceId>post-cn-0pp12gl****</InstanceId>\\n <DeviceAccessKeySecret>DC.BJMkn4eMQJK2vaApTS****</DeviceAccessKeySecret>\\n <CreateTime>1605541382000</CreateTime>\\n <UpdateTime>1605541382000</UpdateTime>\\n <DeviceAccessKeyId>DC.Z5fXh9sRRVufyLi6wo****</DeviceAccessKeyId>\\n <ClientId>GID_test@@@test</ClientId>\\n</DeviceCredential>\\n</RefreshDeviceCredentialResponse>","errorExample":""}]',
- 'title' => 'RefreshDeviceCredential',
- 'description' => '## [](#)Limits'."\n"
- ."\n"
- .'You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
- ."\n"
- .'> Each successful call to the **RefreshDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RegisterDeviceCredential' => [
- 'summary' => 'Registers an access credential for a device. In unique-certificate-per-device authentication mode, an application server applies a unique access credential for each device from the corresponding ApsaraMQ for MQTT broker. The access credential of a device consists of the client ID, AccessKey ID, and AccessKey secret of the device. When you connect a device to ApsaraMQ for MQTT, you must configure Username and Password based on the access credential of the device for authentication. You can activate the device and transfer data between the device and ApsaraMQ for MQTT only after the authentication is passed.',
- 'methods' => [
- 'post',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34063BCA-0946-49C1-B824-2ED2C905****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteCustomAuthPermission',
+ 'summary' => 'Deletes permissions on a topic.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomAuthPermission'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteDeviceCertificate' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeCode' => '145869',
+ 'abilityTreeNodes' => ['FEATUREons0PHGX2'],
],
'parameters' => [
[
- 'name' => 'ClientId',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device for which you want to create an access credential.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate is bound.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'DeviceSn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'schema' => ['description' => 'The serial number of the device certificate whose registration information you want to delete. The serial number is the unique identifier of a device.'."\n"
+ ."\n"
+ .'The serial number of a device certificate cannot exceed 128 bytes in size.'."\n", 'type' => 'string', 'required' => true, 'example' => '356217374433****', 'title' => ''],
+ ],
+ [
+ 'name' => 'CaSn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The serial number of the CA certificate to which the device certificate belongs. The serial number is the unique identifier of a CA certificate. CA certificates are used to validate device certificates.'."\n"
+ ."\n"
+ .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n", 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBDC0E****',
- ],
- 'DeviceCredential' => [
- 'description' => 'The access credential of the device.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'UpdateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was last updated. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'DeviceAccessKeyId' => [
- 'description' => 'The AccessKey ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.Z5fXh9sRRVufyLi6wo****',
- ],
- 'CreateTime' => [
- 'description' => 'The timestamp that indicates when the access credential of the device was created. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1605541382000',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'example' => 'post-cn-0pp12gl****',
- ],
- 'DeviceAccessKeySecret' => [
- 'description' => 'The AccessKey secret of the device.'."\n",
- 'type' => 'string',
- 'example' => 'DC.BJMkn4eMQJK2vaApTS****',
- ],
- 'ClientId' => [
- 'description' => 'The client ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@test',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'DeviceSn' => ['description' => 'The serial number of the device certificate whose registration information is deleted. The serial number is the unique identifier of a device certificate.'."\n", 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNumExceed',
- 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNotFound',
- 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.',
- ],
- [
- 'errorCode' => 'DeviceCredentialExsit',
- 'errorMessage' => 'Device Credential Exsit.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <DeviceSn>356217374433******</DeviceSn>\\n</DeleteDeviceCertificateResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceCertificate',
+ 'summary' => 'Deletes the registration information about a specific device certificate from an ApsaraMQ for MQTT broker. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client. If you no longer require a device certificate, you can call this operation to delete the registration information about the certificate from an ApsaraMQ for MQTT broker.',
+ 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
+ .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBDC0E****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RegisterDeviceCredentialResponse>\\n<RequestId>E4581CCF-62AF-44D9-B5B4-D1DBDC0E****</RequestId>\\n<DeviceCredential>\\n <InstanceId>post-cn-0pp12gl****</InstanceId>\\n <DeviceAccessKeySecret>DC.BJMkn4eMQJK2vaApTS****</DeviceAccessKeySecret>\\n <CreateTime>1605541382000</CreateTime>\\n <UpdateTime>1605541382000</UpdateTime>\\n <DeviceAccessKeyId>DC.Z5fXh9sRRVufyLi6wo****</DeviceAccessKeyId>\\n <ClientId>GID_test@@@test</ClientId>\\n</DeviceCredential>\\n</RegisterDeviceCredentialResponse>","errorExample":""}]',
- 'title' => 'RegisterDeviceCredential',
- 'description' => '* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
- .'* Each successful call to the **RegisterDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
- 'UnRegisterDeviceCredential' => [
- 'summary' => 'Deregisters the access credential of a device. After the access credential of a device is deregistered, you can no longer use the access credential to authenticate the device on the ApsaraMQ for MQTT broker.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteGroupId' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
- 'riskType' => 'high',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsICR0M4'],
],
'parameters' => [
[
- 'name' => 'ClientId',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device whose access credential you want to deregister.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'schema' => ['description' => 'The Group ID to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'schema' => ['description' => 'The ApsaraMQ for MQTT instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-0pp1ldu****', 'title' => ''],
],
],
'responses' => [
@@ -2161,772 +1427,315 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCD-62AF-44D9-B5B4-D1DBDC0E****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0621DDD7-F0E9-4D35-8900-518116D6****', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNotFound',
- 'errorMessage' => 'Device Credential Not Found. Check if the device certificate is registered.',
- ],
- [
- 'errorCode' => 'DeviceCredentialExsit',
- 'errorMessage' => 'Device Credential Exsit.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNumExceed',
- 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.', 'description' => ''],
+ ['errorCode' => 'ResourcePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'SystemError', 'errorMessage' => 'system error.', 'description' => 'System error, please try again'],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ 417 => [
+ ['errorCode' => 'DeleteGroupIdError', 'errorMessage' => 'Failed to delete GroupId. Try again later.', 'description' => ''],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4581CCD-62AF-44D9-B5B4-D1DBDC0E****\\"\\n}","errorExample":""},{"type":"xml","example":"<UnRegisterDeviceCredentialResponse>\\r\\n<RequestId>E4581CCD-62AF-44D9-B5B4-D1DBDC0E****</RequestId>\\r\\n</UnRegisterDeviceCredentialResponse>","errorExample":""}]',
- 'title' => 'UnRegisterDeviceCredential',
- 'description' => '* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
- .'* Each successful call to the **UnRegisterDeviceCredential** operation increases the number of transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
- 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
+ 'title' => 'DeleteGroupId',
+ 'summary' => 'Deletes a Group ID from an ApsaraMQ for MQTT instance.',
+ 'description' => 'Each successful call to the **DeleteGroupId** operation counts as one messaging TPS and affects your billing. [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> Additional parameters are described in [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListDeviceCredentialClientId' => [
- 'summary' => 'Queries clients that have applied for access credentials in unique-certificate-per-device authentication mode in an ApsaraMQ for MQTT instance.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGroupId'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0621DDD7-F0E9-4D35-8900-518116D6****\\"\\n}","type":"json"}]',
+ ],
+ 'DisasterDowngrade' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'abilityTreeCode' => '263645',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Cloud Message Queue MQTT version instance, which must match the actual instance ID used by the client. You can obtain this ID from the **Instance Details** page in the console.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-xxxxxxxx',
- ],
- ],
- [
- 'name' => 'GroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Group ID of the MQTT version of the micro message queue.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_xxx',
- ],
- ],
- [
- 'name' => 'PageNo',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Indicates the page number of the returned results. The starting page is counted from 1.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of query records to display per page. '."\n"
- .'Value range: 1 to 100.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '100',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-xxx', 'title' => ''],
],
[
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Token for starting the next page query.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFdXXXXXWa',
- ],
+ 'name' => 'DowngradeInstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance for which you want to downgrade the VIP access.'."\n", 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-xxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'DeviceCredentialClientIdList' => [
- 'description' => 'Returns the information list.',
- 'type' => 'object',
- 'properties' => [
- 'Total' => [
- 'description' => 'Total number of query results.',
- 'type' => 'string',
- 'example' => '10',
- ],
- 'ClientIdList' => [
- 'description' => 'Client list.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'Client ID.',
- 'type' => 'string',
- 'example' => 'GID_test@@@pub-1',
- ],
- ],
- 'PageNo' => [
- 'description' => 'The current page number of the returned query records.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'PageSize' => [
- 'description' => 'The maximum number of results to display per page.',
- 'type' => 'string',
- 'example' => '100',
- ],
- 'NextToken' => [
- 'description' => 'Indicates whether there is a token (Token) for the next query. Values: '."\n"
- .'- For the first query and when there is no next query, this field does not need to be filled. '."\n"
- .'- If there is a next query, the value should be the NextToken returned from the previous API call.',
- 'type' => 'string',
- 'example' => '634dxxxxx75b5f',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****'],
+ 'Code' => ['description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For information about error codes, see Error codes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only if Resource Access Management (RAM) permission verification failed.'."\n", 'type' => 'string', 'example' => 'None', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ApplyTokenOverFlow',
- 'errorMessage' => 'You have applied for tokens too many times. Please try again later.',
- ],
- [
- 'errorCode' => 'CheckAccountInfoFailed',
- 'errorMessage' => 'An error occurred while checking the account information by the STS token.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'ParameterCheckFailed',
- 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNotFound',
- 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.',
- ],
- [
- 'errorCode' => 'DeviceCredentialNumExceed',
- 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
- ],
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"AccessDeniedDetail\\": \\"None\\"\\n}","type":"json"}]',
+ 'title' => 'DisasterDowngrade',
+ 'summary' => 'Downgrades the virtual IP address (VIP) access of a specific instance during the disaster recovery of multiple instances. Only Enterprise Platinum Edition instances support this operation. To call the operation, you must submit a ticket.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:DisasterDowngrade',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceCredentialClientIdList\\": {\\n \\"Total\\": \\"10\\",\\n \\"ClientIdList\\": [\\n \\"GID_test@@@pub-1\\"\\n ],\\n \\"PageNo\\": \\"1\\",\\n \\"PageSize\\": \\"100\\",\\n \\"NextToken\\": \\"634dxxxxx75b5f\\"\\n }\\n}","type":"json"}]',
- 'title' => 'ListDeviceCredentialClientId',
- 'translator' => 'machine',
],
- 'QueryMqttTraceDevice' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DisasterRecovery' => [
+ 'summary' => 'Restores Internet access for an instance using its virtual IP address (VIP) for graceful recovery in a multi-instance disaster recovery architecture. This operation is available only for Platinum Edition instances. To use this operation, submit a ticket.',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '84626',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'abilityTreeCode' => '263654',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-i7m26mf****',
- ],
- ],
- [
- 'name' => 'Reverse',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
- ."\n"
- .'* **true**: The returned results are displayed in reverse time order of actions on the device. This means that the information about the latest action on the device is displayed as the first entry and the information about the earliest action on the device is displayed as the last entry.'."\n"
- .'* **false**: The returned results are displayed in time order of actions on the device. This means that the information about the earliest action on the device is displayed as the first entry and the information about the latest action on the device is displayed as the last entry.'."\n"
- ."\n"
- .'If you do not specify this parameter, the returned results are displayed in time order of actions on the device by default.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device whose trace you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@producer',
- ],
- ],
- [
- 'name' => 'BeginTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1621580400000',
- ],
- ],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1621584000000',
- ],
- ],
- [
- 'name' => 'CurrentPage',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '1',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-xxx', 'title' => ''],
],
[
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '5',
- ],
+ 'name' => 'RecoveryInstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the instance to recover.', 'type' => 'string', 'required' => true, 'example' => 'mqtt-cn-xxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'CurrentPage' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '317076B7-F946-46BC-A98F-4CF9777C****',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'Total' => [
- 'description' => 'The total number of returned actions on the device.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3',
- ],
- 'DeviceInfoList' => [
- 'description' => 'The details of the action on the device.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ChannelId' => [
- 'description' => 'The connection ID.'."\n",
- 'type' => 'string',
- 'example' => 'c69fe839209547fa9d073781b9cd****',
- ],
- 'Time' => [
- 'description' => 'The time when the action occurred on the device.'."\n",
- 'type' => 'string',
- 'example' => '2021-05-21 15:51:54.867',
- ],
- 'ActionCode' => [
- 'description' => 'The returned code for the action on the device. Valid values:'."\n"
- ."\n"
- .'* **mqtt.trace.action.connect**: This value is returned if the value of Action is **connect**.'."\n"
- .'* **mqtt.trace.action.close**: This value is returned if the value of Action is **close**.'."\n"
- .'* **mqtt.trace.action.disconnect**: This value is returned if the value of Action is **disconnect**.'."\n",
- 'type' => 'string',
- 'example' => 'mqtt.trace.action.connect',
- ],
- 'Action' => [
- 'description' => 'The action on the device. Valid values:'."\n"
- ."\n"
- .'* **connect**: The ApsaraMQ for MQTT client requests a connection to the ApsaraMQ for MQTT broker.'."\n"
- .'* **close**: The TCP connection is closed.'."\n"
- .'* **disconnect**: The ApsaraMQ for MQTT client requests a disconnection from the ApsaraMQ for MQTT broker.'."\n",
- 'type' => 'string',
- 'example' => 'connect',
- ],
- 'ActionInfo' => [
- 'description' => 'The returned information for the action on the device. Valid values:'."\n"
- ."\n"
- .'* **accepted**: The ApsaraMQ for MQTT broker accepts the connection request from the ApsaraMQ for MQTT client.'."\n"
- .'* **not authorized**: The TCP connection is closed because the permission verification of the client to access the instance fails.'."\n"
- .'* **clientId conflict**: The TCP connection is closed due to a conflict in the ID of the ApsaraMQ for MQTT client.'."\n"
- .'* **resource auth failed**: The TCP connection is closed because the permission verification for the ApsaraMQ for MQTT client to access the topic or group fails.'."\n"
- .'* **no heart**: The TCP connection is closed because no heartbeat is detected on the client.'."\n"
- .'* **closed by client**: The TCP connection is closed because an exception occurs on the client.'."\n"
- .'* **disconnected by client**: The client requests a disconnection.'."\n"
- .'* **invalid param**: The TCP connection is closed due to invalid request parameters.'."\n"
- .'* **Socket IOException**: The TCP connection is closed due to network jitter or packet loss.'."\n",
- 'type' => 'string',
- 'example' => 'accept',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '135F8639-F262-4417-98D1-4DE4595C****'],
+ 'Code' => ['description' => 'The return code. A value of 200 indicates that the call is successful. Other values indicate error codes. For more information about error codes, see Error codes.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'AccessDeniedDetail' => ['description' => 'The details that are returned when the access is denied. This field is returned only when the RAM authentication fails.', 'type' => 'string', 'example' => '{}', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"317076B7-F946-46BC-A98F-4CF9777C****\\",\\n \\"PageSize\\": 2,\\n \\"Total\\": 3,\\n \\"DeviceInfoList\\": [\\n {\\n \\"ChannelId\\": \\"c69fe839209547fa9d073781b9cd****\\",\\n \\"Time\\": \\"2021-05-21 15:51:54.867\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.connect\\",\\n \\"Action\\": \\"connect\\",\\n \\"ActionInfo\\": \\"accept\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceDeviceResponse>\\n<DeviceInfoList>\\n <Action>connect</Action>\\n <ActionCode>mqtt.trace.action.connect</ActionCode>\\n <ActionInfo>accepted</ActionInfo>\\n <Time>2021-05-21 15:10:21.844</Time>\\n <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>\\n </DeviceInfoList>\\n <DeviceInfoList>\\n <Action>close</Action>\\n <ActionCode>mqtt.trace.action.close</ActionCode>\\n <ActionInfo>no heart</ActionInfo>\\n <Time>2021-05-21 15:51:37.980</Time>\\n <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>\\n </DeviceInfoList>\\n <DeviceInfoList>\\n <Action>connect</Action>\\n <ActionCode>mqtt.trace.action.connect</ActionCode>\\n <ActionInfo>accepted</ActionInfo>\\n <Time>2021-05-21 15:52:48.669</Time>\\n <ChannelId>34022074d3c1403faba6e0334121****</ChannelId>\\n </DeviceInfoList>\\n <PageSize>5</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <Total>3</Total>\\n <RequestId>317076B7-F946-46BC-A98F-4CF9777C****</RequestId>\\n</QueryMqttTraceDeviceResponse>","errorExample":""}]',
- 'title' => 'QueryMqttTraceDevice',
- 'summary' => 'Queries the trace of a device that corresponds to an ApsaraMQ for MQTT client by page. When the status of a device is abnormal, you can call this operation to query the connection history of the device. This helps you efficiently troubleshoot issues.',
- 'description' => '* Each successful call to the **QueryMqttTraceDevice** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
- .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- ],
- 'QueryMqttTraceMessageOfClient' => [
- 'methods' => [
- 'post',
- 'get',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"135F8639-F262-4417-98D1-4DE4595C****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"AccessDeniedDetail\\": \\"{}\\"\\n}","type":"json"}]',
+ 'title' => 'DisasterRecovery',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisasterRecovery'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:DisasterRecovery',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [],
+ ],
],
+ ],
+ 'GetCaCertificate' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '84627',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141174',
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
- 'name' => 'MqttRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section of the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-i7m26mf****',
- ],
- ],
- [
- 'name' => 'ClientId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID of the device whose messages you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'GID_test@@@producer',
- ],
- ],
- [
- 'name' => 'BeginTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1618646400000',
- ],
- ],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1621591200000',
- ],
- ],
- [
- 'name' => 'CurrentPage',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'The instance ID bound to the CA certificate, which is the instance ID of the MQTT version of the cloud message queue.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'Reverse',
+ 'name' => 'Sn',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
- ."\n"
- .'* **true**: The returned results are displayed in reverse order of the time when messages are sent or received. This means that the latest sent or received message is displayed as the first entry and the earliest sent or received message is displayed as the last entry.'."\n"
- .'* **false**: The returned results are displayed in order of the time when messages are sent or received. This means that the earliest sent or received message is displayed as the first entry and the latest sent or received message is displayed as the last entry.'."\n"
- ."\n"
- .'If this parameter is not specified, the returned results are displayed in order of the time when messages are sent or received.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The SN serial number of the CA certificate to be queried, used to uniquely identify a CA certificate.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'CurrentPage' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => 'B096B9D6-62F3-4567-BB59-58D1362E****',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'Total' => [
- 'description' => 'The total number of messages returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
- 'MessageOfClientList' => [
- 'description' => 'The returned messages.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Time' => [
- 'description' => 'The time when the message was sent or received.'."\n",
- 'type' => 'string',
- 'example' => '2021-05-21 15:08:19.234',
- ],
- 'Action' => [
- 'description' => 'The action on the message. Valid values:'."\n"
- ."\n"
- .'* **pub_mqtt**: The ApsaraMQ for MQTT client sends the message.'."\n"
- .'* **sub**: The ApsaraMQ for MQTT client subscribes to the message.'."\n"
- .'* **push_offline**: The ApsaraMQ for MQTT broker pushes the offline message to the ApsaraMQ for MQTT client.'."\n",
- 'type' => 'string',
- 'example' => 'pub_mqtt',
- ],
- 'ActionCode' => [
- 'description' => 'The returned code for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **mqtt.trace.action.msg.pub.mqtt**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
- .'* **mqtt.trace.action.msg.sub**: This value is returned if the value of Action is **sub**.'."\n"
- .'* **mqtt.trace.action.msg.push.offline**: This value is returned if the value of Action is **push_offline**.'."\n",
- 'type' => 'string',
- 'example' => 'mqtt.trace.action.msg.pub.mqtt',
- ],
- 'ActionInfo' => [
- 'description' => 'The information returned for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **Pub From Mqtt Client**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
- .'* **Push To Mqtt Client**: This value is returned if the value of Action is **sub**.'."\n"
- .'* **Push Offline Msg To Mqtt Client**: This value is returned if the value of Action is **push_offline**.'."\n",
- 'type' => 'string',
- 'example' => 'Pub From Mqtt Client',
- ],
- 'MsgId' => [
- 'description' => 'The message ID.'."\n",
- 'type' => 'string',
- 'example' => 'AC1EC0030EAB78308DB16A3EC773****',
- ],
- 'ClientId' => [
- 'description' => 'The client ID of the device.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@producer',
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Data' => [
+ 'description' => 'Certificate details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RegistrationCode' => ['description' => 'Registration code of the CA certificate', 'type' => 'string', 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******', 'title' => ''],
+ 'CaName' => ['description' => 'Name of the CA certificate', 'type' => 'string', 'example' => 'mqtt_ca', 'title' => ''],
+ 'Sn' => ['description' => 'The SN serial number of the CA certificate, used to uniquely identify a CA certificate. Value range: no more than 128 bytes.', 'type' => 'string', 'example' => '00f26900ba87******', 'title' => ''],
+ 'CaContent' => ['description' => 'Content of the CA certificate.'."\n"
+ .'> \\n represents a new line.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----', 'title' => ''],
+ 'VerificationContent' => ['description' => 'Content of the Verification certificate.'."\n"
+ .'> \\n represents a new line.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----', 'title' => ''],
+ 'ValidBegin' => ['description' => 'The start time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1654137303000', 'title' => ''],
+ 'ValidEnd' => ['description' => 'The end time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1969497303000', 'title' => ''],
+ 'Status' => ['description' => 'The status of the CA certificate. The values are as follows:'."\n"
+ .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
+ .'> After the CA certificate is registered, it is in an active state by default.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'title' => '',
],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindCaBySnError', 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"RegistrationCode\\": \\"13274673-8f90-4630-bea1-9cccb25756ad2089******\\",\\n \\"CaName\\": \\"mqtt_ca\\",\\n \\"Sn\\": \\"00f26900ba87******\\",\\n \\"CaContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"VerificationContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"Status\\": \\"1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <RegistrationCode>13274673-8f90-4630-bea1-9cccb25756ad2089******</RegistrationCode>\\n <CaName>mqtt_ca</CaName>\\n <Sn>00f26900ba87******</Sn>\\n <CaContent>-----BEGIN CERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END CERTIFICATE-----</CaContent>\\n <VerificationContent>-----BEGIN CERTIFICATE-----\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\n-----END CERTIFICATE-----</VerificationContent>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <Status>1</Status>\\n </Data>\\n</GetCaCertificateResponse>","errorExample":""}]',
+ 'title' => 'GetCaCertificate',
+ 'summary' => 'Queries the details of a certificate authority (CA) certificate, such as the content and status of the certificate. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates.',
+ 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
+ .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"B096B9D6-62F3-4567-BB59-58D1362E****\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 5,\\n \\"MessageOfClientList\\": [\\n {\\n \\"Time\\": \\"2021-05-21 15:08:19.234\\",\\n \\"Action\\": \\"pub_mqtt\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.pub.mqtt\\",\\n \\"ActionInfo\\": \\"Pub From Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC0030EAB78308DB16A3EC773****\\",\\n \\"ClientId\\": \\"GID_test@@@producer\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceMessageOfClientResponse>\\n <RequestId>B096B9D6-62F3-4567-BB59-58D1362E****</RequestId>\\n <PageSize>10</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <Total>5</Total>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.210 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC773****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n</QueryMqttTraceMessageOfClientResponse>","errorExample":""}]',
- 'title' => 'QueryMqttTraceMessageOfClient',
- 'summary' => 'Queries messages on a device within a specific period of time. If a message is not sent or received as expected, you can call this operation to query the messaging status of the message to efficiently troubleshoot issues.',
- 'description' => '* Each successful call to the **QueryMqttTraceMessageOfClient** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
- .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
],
- 'QueryMqttTraceMessagePublish' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetDeviceCertificate' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2935,306 +1744,122 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '84628',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '145870',
+ 'abilityTreeNodes' => ['FEATUREons0PHGX2'],
],
'parameters' => [
[
- 'name' => 'MqttRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-i7m26mf****',
- ],
- ],
- [
- 'name' => 'MsgId',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The message ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'AC1EC0030EAB78308DB16A3EC773****',
- ],
+ 'schema' => ['description' => 'The instance ID to which the device certificate is bound, i.e., the instance ID of the Cloud Message Queue MQTT version.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'BeginTime',
+ 'name' => 'DeviceSn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1618646400000',
- ],
+ 'schema' => ['description' => 'The SN serial number of the device certificate to be queried, used to uniquely identify a device certificate. Value range: no more than 128 bytes.', 'type' => 'string', 'required' => true, 'example' => '356217374433******', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'CaSn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1621591200000',
- ],
+ 'schema' => ['description' => 'The SN serial number of the CA certificate to which the device certificate to be queried belongs, used to uniquely identify a CA certificate. Value range: no more than 128 bytes.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'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' => '69AD5550-BF22-438A-9202-A6E89185****',
- ],
- 'MessageTraceLists' => [
- 'description' => 'The message traces.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Time' => [
- 'description' => 'The time when the message was sent.'."\n",
- 'type' => 'string',
- 'example' => '2021-05-21 15:08:19.210',
- ],
- 'Action' => [
- 'description' => 'The action on the message. Valid values:'."\n"
- ."\n"
- .'* **pub_mqtt**: indicates that the message was sent by an ApsaraMQ for MQTT client.'."\n"
- .'* **pub_mq**: indicates that the message was sent by an ApsaraMQ for RocketMQ client.'."\n",
- 'type' => 'string',
- 'example' => 'pub_mqtt',
- ],
- 'ActionCode' => [
- 'description' => 'The returned code for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **mqtt.trace.action.msg.pub.mqtt**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
- .'* **mqtt.trace.action.msg.pub.mq**: This value is returned if the value of Action is **pub_mq**.'."\n",
- 'type' => 'string',
- 'example' => 'mqtt.trace.action.msg.pub.mqtt',
- ],
- 'ActionInfo' => [
- 'description' => 'The returned information for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **Pub From Mqtt Client**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
- .'* **Pub From MQ**: This value is returned if the value of Action is **pub_mq**.'."\n",
- 'type' => 'string',
- 'example' => 'Pub From Mqtt Client',
- ],
- 'MsgId' => [
- 'description' => 'The message ID.'."\n",
- 'type' => 'string',
- 'example' => 'AC1EC0030EAB78308DB16A3EC773BD95',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the client that sends the message.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@producer',
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Data' => [
+ 'description' => 'Certificate details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidBegin' => ['description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1654137303000', 'title' => ''],
+ 'ValidEnd' => ['description' => 'The end time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1969497303000', 'title' => ''],
+ 'DeviceSn' => ['description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.', 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
+ 'DeviceName' => ['description' => 'Name of the device certificate.', 'type' => 'string', 'example' => 'mqtt_device', 'title' => ''],
+ 'DeviceContent' => ['description' => 'Content of the device certificate.'."\n"
+ ."\n"
+ .' represents a new line.', 'type' => 'string', 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----', 'title' => ''],
+ 'CaSn' => ['description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.', 'type' => 'string', 'example' => '00f26900ba87******', 'title' => ''],
+ 'Status' => ['description' => 'The status of the device certificate. The values are as follows:'."\n"
+ .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
+ .'> After the device certificate is registered, it is in an active state by default.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'title' => '',
],
],
- 'description' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceName\\": \\"mqtt_device\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"Status\\": \\"1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceName>mqtt_device</DeviceName>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <CaSn>00f26900ba87******</CaSn>\\n <Status>1</Status>\\n </Data>\\n</GetDeviceCertificateResponse>","errorExample":""}]',
+ 'title' => 'GetDeviceCertificate',
+ 'summary' => 'Queries the details of a device certificate. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
+ 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
+ .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"69AD5550-BF22-438A-9202-A6E89185****\\",\\n \\"MessageTraceLists\\": [\\n {\\n \\"Time\\": \\"2021-05-21 15:08:19.210\\",\\n \\"Action\\": \\"pub_mqtt\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.pub.mqtt\\",\\n \\"ActionInfo\\": \\"Pub From Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC0030EAB78308DB16A3EC773BD95\\",\\n \\"ClientId\\": \\"GID_test@@@producer\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceMessagePublishResponse>\\n <MessageTraceLists>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <Time>2021-05-21 15:08:19.210</Time>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <MsgId>AC1EC0030EAB78308DB16A3EC773****</MsgId>\\n </MessageTraceLists>\\n <RequestId>69AD5550-BF22-438A-9202-A6E89185****</RequestId>\\n</QueryMqttTraceMessagePublishResponse>","errorExample":""}]',
- 'title' => 'QueryMqttTraceMessagePublish',
- 'summary' => 'Queries the trace of a message. If a message is not sent or received as expected, you can call this operation to view the message details to troubleshoot the issue. For example, you can query the time when the message is published and the client that publishes the message.',
- 'description' => '* Each successful call to the **QueryMqttTraceMessagePublish** operation increases the messaging transactions per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
- .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
],
- 'QueryMqttTraceMessageSubscribe' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetDeviceCredential' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '84629',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section of the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'mqtt-cn-i7m26mf****',
- ],
- ],
- [
- 'name' => 'Reverse',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
- ."\n"
- .'* **true**: The returned results are displayed in reverse order of the time when messages are delivered. This means that the latest consumed message is displayed as the first entry and the earliest consumed message is displayed as the last entry.'."\n"
- .'* **false**: The returned results are displayed in order of the time when messages are delivered. This means that the earliest consumed message is displayed as the first entry and the latest consumed message is displayed as the last entry.'."\n"
- ."\n"
- .'If you do not specify this parameter, the returned results are displayed in order of time when messages are delivered.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'false',
- ],
- ],
- [
'name' => 'ClientId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the client that subscribes to the message. If you do not specify this parameter, the IDs of all clients that subscribe to the message are returned.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'GID_test@@@consumer',
- ],
- ],
- [
- 'name' => 'BeginTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1621936800000',
- ],
- ],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '9223372036854774807',
- 'minimum' => '-9223372036854774808',
- 'example' => '1618646400000',
- ],
- ],
- [
- 'name' => 'CurrentPage',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The client ID of the device whose access credential you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'docRequired' => true,
- 'maximum' => '2147483647',
- 'minimum' => '-2147483648',
- 'example' => '5',
- ],
- ],
- [
- 'name' => 'MsgId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The message ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'AC1EC1B33D5978308DB17F3245E4****',
- 'maxLength' => 2147483647,
- 'minLength' => 0,
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
@@ -3242,275 +1867,155 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'CurrentPage' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The unique ID that the system generates for the request. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n",
- 'type' => 'string',
- 'example' => '4E685844-ADAF-4D85-9EAC-F9471E8C****',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'Total' => [
- 'description' => 'The returned delivery traces.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'MessageTraceLists' => [
- 'description' => 'The delivery trace of the queried message.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Time' => [
- 'description' => 'The time when the message was delivered.'."\n",
- 'type' => 'string',
- 'example' => '2021-05-25 16:46:41.274',
- ],
- 'Action' => [
- 'description' => 'The action on the message. Valid values:'."\n"
- ."\n"
- .'* **sub**: The ApsaraMQ for MQTT client subscribes to the message.'."\n"
- .'* **push_offline**: The ApsaraMQ for MQTT broker pushes the offline message to the ApsaraMQ for MQTT client.'."\n",
- 'type' => 'string',
- 'example' => 'sub',
- ],
- 'ActionCode' => [
- 'description' => 'The code returned for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **mqtt.trace.action.msg.sub**: The value that is returned if the value of Action is **sub**.'."\n"
- .'* **mqtt.trace.action.msg.push.offline**: The value that is returned if the value of Action is **push_offline**.'."\n",
- 'type' => 'string',
- 'example' => 'mqtt.trace.action.msg.sub',
- ],
- 'ActionInfo' => [
- 'description' => 'The returned information for the action on the message. Valid values:'."\n"
- ."\n"
- .'* **Push To Mqtt Client**: The value that is returned if the value of Action is **sub**.'."\n"
- .'* **Push Offline Msg To Mqtt Client**: The value that is returned if the value of Action is **push_offline**.'."\n",
- 'type' => 'string',
- 'example' => 'Push To Mqtt Client',
- ],
- 'MsgId' => [
- 'description' => 'The message ID.'."\n",
- 'type' => 'string',
- 'example' => 'AC1EC1B33D5978308DB17F3245E4****',
- ],
- 'ClientId' => [
- 'description' => 'The ID of the client that subscribes to the message.'."\n",
- 'type' => 'string',
- 'example' => 'GID_test@@@consumer',
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.', 'type' => 'string', 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DQDC0E****', 'title' => ''],
+ 'DeviceCredential' => [
+ 'description' => 'The information about the access credential of the device.',
+ 'type' => 'object',
+ 'properties' => [
+ 'UpdateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was last updated. The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'DeviceAccessKeyId' => ['description' => 'The AccessKey ID of the device.', 'type' => 'string', 'example' => 'DC.Z5fXh9sRRVufyLi6wo****', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ 'DeviceAccessKeySecret' => ['description' => 'The AccessKey secret of the device.', 'type' => 'string', 'example' => 'DC.BJMkn4eMQJK2vaApTS****', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID of the device.', 'type' => 'string', 'example' => 'GID_test@@@test', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNotFound', 'errorMessage' => 'Device Credential Not Found. Check if the device certificate is registered.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'SystemOverFlow',
- 'errorMessage' => 'An error occurred while processing your request. Please try again.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4E685844-ADAF-4D85-9EAC-F9471E8C****\\",\\n \\"PageSize\\": 5,\\n \\"Total\\": 2,\\n \\"MessageTraceLists\\": [\\n {\\n \\"Time\\": \\"2021-05-25 16:46:41.274\\",\\n \\"Action\\": \\"sub\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.sub\\",\\n \\"ActionInfo\\": \\"Push To Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC1B33D5978308DB17F3245E4****\\",\\n \\"ClientId\\": \\"GID_test@@@consumer\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceMessageSubscribeResponse>\\n <MessageTraceLists>\\n <Action>sub</Action>\\n <ActionCode>mqtt.trace.action.msg.sub</ActionCode>\\n <ClientId>GID_test@@@consumer</ClientId>\\n <ActionInfo>Push To Mqtt Client</ActionInfo>\\n <Time>2021-05-25 16:46:41.274 </Time>\\n <MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>\\n </MessageTraceLists>\\n <MessageTraceLists>\\n <Action>sub</Action>\\n <ActionCode>mqtt.trace.action.msg.sub</ActionCode>\\n <ClientId>GID_test@@@consumer2</ClientId>\\n <ActionInfo>Push To Mqtt Client</ActionInfo>\\n <Time>2021-05-25 16:46:41.247 </Time>\\n <MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>\\n </MessageTraceLists>\\n <RequestId>4E685844-ADAF-4D85-9EAC-F9471E8C****</RequestId>\\n <PageSize>5</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <Total>2</Total>\\n</QueryMqttTraceMessageSubscribeResponse>","errorExample":""}]',
- 'title' => 'QueryMqttTraceMessageSubscribe',
- 'summary' => 'Queries the delivery trace of a message. If a message is not sent or received as expected, you can call this operation to view the details about the message. For example, you can query the clients that subscribe to the message and the time when the message is delivered. This operation helps you locate the problem and identify the cause of the problem.',
- 'description' => '* Each successful call to the **QueryMqttTraceMessageSubscribe** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
- .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
- 'requestParamsDescription' => ' ',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'GetDeviceCredential',
+ 'summary' => 'Queries the access credential of a device. If unique-certificate-per-device authentication is used as the authentication method on an ApsaraMQ for MQTT broker, an access credential that you apply for in advance is required for authentication when you connect your device to the broker. The connection can be established only after the authentication is passed.',
+ 'description' => '- You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
+ ."\n"
+ .'- Each successful call to the **GetDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
'responseParamsDescription' => ' ',
- ],
- 'RegisterCaCertificate' => [
- 'summary' => 'RegisterCaCertificate',
- 'methods' => [
- 'post',
- 'get',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceCredential'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DQDC0E****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetRegisterCode' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '141175',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeCode' => '140814',
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which you want to bind the CA certificate.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
- ],
- [
- 'name' => 'CaName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the CA certificate that you want to register with an ApsaraMQ for MQTT broker.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt_ca',
- ],
- ],
- [
- 'name' => 'CaContent',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The content of the CA certificate that you want to register with an ApsaraMQ for MQTT broker.'."\n"
- ."\n\n"
- .'> In the example, \\n indicates a line feed.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----',
- ],
- ],
- [
- 'name' => 'VerificationContent',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The content of the validation certificate issued by the CA certificate that you want to register with an ApsaraMQ for MQTT broker. The validation certificate must be used together with the registration code of the CA certificate to verify the private key of the CA certificate.'."\n"
- .'> In the example, \\n indicates a line feed.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Sn' => [
- 'description' => 'The serial number of the registered CA certificate. The serial number is the unique identifier of a CA certificate.',
- 'type' => 'string',
- 'example' => '007269004887******',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'RegisterCode' => ['title' => '', 'description' => 'The registration code of the CA certificate.'."\n", 'type' => 'string', 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'RegisterCodeError',
- 'errorMessage' => 'Register code error in verification certificate.',
- ],
- [
- 'errorCode' => 'RegisterCodeUsed',
- 'errorMessage' => 'Register code has been used.',
- ],
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'GetCaNumError',
- 'errorMessage' => 'Failed to get ca num. Try again later.',
- ],
- [
- 'errorCode' => 'CaNumExceed',
- 'errorMessage' => 'CA certificate num exceed',
- ],
- [
- 'errorCode' => 'CertificateContentError',
- 'errorMessage' => 'Certificate content error, please check ca/verification certificate content. BasicConstraints extension should be set to true in CA certificate',
- ],
- [
- 'errorCode' => 'SnNotUnique',
- 'errorMessage' => 'Sn is not unique in gloabal',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","errorExample":""},{"type":"xml","example":"<RegisterCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Sn>007269004887******</Sn>\\n</RegisterCaCertificateResponse>","errorExample":""}]',
- 'title' => 'RegisterCaCertificate',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"RegisterCode\\": \\"13274673-8f90-4630-bea1-9cccb25756ad2089******\\"\\n}","errorExample":""},{"type":"xml","example":"<GetRegisterCodeResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <RegisterCode>13274673-8f90-4630-bea1-9cccb25756ad2089******</RegisterCode>\\n</GetRegisterCodeResponse>","errorExample":""}]',
+ 'title' => 'GetRegisterCode',
+ 'summary' => 'Obtains the registration code of a specific certificate authority (CA) certificate. When you register a CA certificate with an ApsaraMQ for MQTT broker, you must upload the validation certificate of the CA certificate to verify whether you have the private key of the CA certificate. The validation certificate of a CA certificate must be generated by using the registration code of the CA certificate.',
'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
.'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
- 'extraInfo' => '- Only Platinum and Professional instances support using the RegisterCaCertificate interface. - The request frequency limit per user is 500 times/second. For special requirements, please contact Cloud Message Queue MQTT version technical support, DingTalk group number: 35228338.',
- ],
- 'ActiveCaCertificate' => [
- 'summary' => 'Activate CA Certificate',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetRegisterCode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'InactivateCaCertificate' => [
+ 'summary' => 'ApsaraMQ for MQTT supports X.509 certificate-based device verification. Clients use device certificates for connection authentication. A Certificate Authority (CA) certificate is used to issue device certificates to clients and to verify the validity of those certificates. If you do not need to use a CA certificate for a period of time, call this operation to unregister it. This changes the status of the CA certificate to inactive. When you need to use the CA certificate again, you can call the ActiveCaCertificate operation to reactivate it.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3522,108 +2027,87 @@
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is bound.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is attached.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
'name' => 'Sn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the CA certificate that you want to reactivate. The serial number is the unique identifier of a CA certificate.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'The serial number (SN) of the CA certificate that you want to unregister. The SN uniquely identifies a CA certificate.'."\n"
+ ."\n"
+ .'The value can be up to 128 bytes long.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Sn' => [
- 'description' => 'The SN serial number of the activated CA certificate, used to uniquely identify a CA certificate.',
- 'type' => 'string',
- 'example' => '007269004887******',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request. This ID is unique for each request. You can use it to troubleshoot and locate issues.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Sn' => ['description' => 'The serial number (SN) of the unregistered CA certificate. The SN uniquely identifies a CA certificate.', 'type' => 'string', 'example' => '007269004887******', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- ],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindCaBySnError',
- 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindCaBySnError', 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","errorExample":""},{"type":"xml","example":"<ActiveCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Sn>007269004887******</Sn>\\n</ActiveCaCertificateResponse>","errorExample":""}]',
- 'title' => 'ActiveCaCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* You can call this operation to reactivate only CA certificates that are registered with ApsaraMQ for MQTT brokers. You can call the [ListCaCertificate](~~2604958~~) operation to query CA certificates that are registered with an ApsaraMQ for MQTT instance.',
- ],
- 'InactivateCaCertificate' => [
- 'summary' => 'Deregister a certificate authority (CA) certificate. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates. If you no longer require a CA certificate, you can call this operation to deregister the certificate. If you want to continue using a deregistered CA certificate, you can call the ActiveCaCertificate operation to reactivate the certificate.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'InactivateCaCertificate',
+ 'description' => '- Only Platinum Edition<props="china"> and Professional Edition</props> instances support the InactivateCaCertificate operation.'."\n"
+ ."\n"
+ .'- The request rate for a single user is limited to 500 per second. If you have special requirements, contact ApsaraMQ for MQTT technical support. The DingTalk group number is 35228338.'."\n"
+ ."\n"
+ .'- You can call this operation only for CA certificates that are registered with ApsaraMQ for MQTT. To query the registered CA certificates for an instance, call the [ListCaCertificate](~~2604958~~) operation.',
+ 'extraInfo' => '### 控制台操作'."\n"
+ .'除了调用InactivateCaCertificate接口,您还可以通过微消息队列MQTT版控制台注销指定的CA证书。具体操作,请参见[CA证书管理](~~436873~~)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InactivateCaCertificate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:UnregisterCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","type":"json"}]',
+ ],
+ 'InactivateDeviceCertificate' => [
+ 'summary' => 'A device certificate is a digital certificate that a root Certificate Authority (CA) issues to a client device. The service uses this certificate to authenticate the client during connection. If authentication is successful, the service and the client can communicate securely using the encryption key in the certificate. If authentication fails, the service denies the client\'s connection. Should you need to temporarily disable a device certificate, you can call this operation to inactivate it, setting its status to inactive.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3635,101 +2119,92 @@
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeNodes' => ['FEATUREons0PHGX2'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is bound.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate is attached.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'Sn',
+ 'name' => 'DeviceSn',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the CA certificate that you want to deregister. The serial number is the unique identifier of a CA certificate.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'The serial number (SN) of the device certificate that you want to inactivate. The SN uniquely identifies a device certificate.', 'type' => 'string', 'required' => true, 'example' => '356217374433******', 'title' => ''],
+ ],
+ [
+ 'name' => 'CaSn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The SN of the CA certificate to which the device certificate belongs. The SN uniquely identifies a CA certificate.'."\n"
+ ."\n"
+ .'The value can be up to 128 bytes in length.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'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' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Sn' => [
- 'description' => 'The serial number of the CA certificate that is deregistered. The serial number is the unique identifier of a CA certificate.'."\n",
- 'type' => 'string',
- 'example' => '007269004887******',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request. This common parameter is unique to each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'DeviceSn' => ['description' => 'The SN of the inactivated device certificate. The SN uniquely identifies a device certificate.', 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindCaBySnError',
- 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","errorExample":""},{"type":"xml","example":"<InactivateCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Sn>007269004887******</Sn>\\n</InactivateCaCertificateResponse>","errorExample":""}]',
- 'title' => 'InactivateCaCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* You can call this operation to deregister only CA certificates that are registered with ApsaraMQ for MQTT brokers. You can call the [ListCaCertificate](~~2604958~~) operation to query CA certificates that are registered with an ApsaraMQ for MQTT instance.',
+ 'title' => 'InactivateDeviceCertificate',
+ 'description' => '- Only Platinum Edition<props="china">and Professional Edition</props> instances support the InactivateDeviceCertificate operation.'."\n"
+ ."\n"
+ .'- The request frequency for a single user is limited to 500 calls per second. For special requirements, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.',
+ 'extraInfo' => '### 控制台操作'."\n"
+ .'除了调用InactivateDeviceCertificate接口,您还可以通过微消息队列MQTT版控制台注销设备证书。具体操作,请参见[设备证书管理](~~449435~~) 。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InactivateDeviceCertificate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:UnregisterDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess'],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","type":"json"}]',
],
'ListCaCertificate' => [
- 'summary' => 'Queries all certificate authority (CA) certificates that are registered with an ApsaraMQ for MQTT instance. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3742,40 +2217,23 @@
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '141168',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeNodes' => ['FEATUREonsQV6LXV'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID of the Cloud Message Queue MQTT version, indicating which instance\'s CA certificates need to be viewed.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The instance ID of the Cloud Message Queue MQTT version, indicating which instance\'s CA certificates need to be viewed.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
'name' => 'PageNo',
'in' => 'query',
- 'schema' => [
- 'description' => 'Indicates the page number of the returned results. The starting page is counted from 1.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'Indicates the page number of the returned results. The starting page is counted from 1.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of query records to display per page. Value range: 1 to 100.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The maximum number of query records to display per page. Value range: 1 to 100.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -3785,88 +2243,40 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
'Data' => [
'description' => 'Query result.',
'type' => 'object',
'properties' => [
- 'Total' => [
- 'description' => 'Maximum number of pages in the query result.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageNo' => [
- 'description' => 'The current page number of the returned query records.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'PageSize' => [
- 'description' => 'The maximum number of results to display per page.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
+ 'Total' => ['description' => 'Maximum number of pages in the query result.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageNo' => ['description' => 'The current page number of the returned query records.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'PageSize' => ['description' => 'The maximum number of results to display per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'CaCertificateVOS' => [
'description' => 'Details of the CA certificate',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'RegistrationCode' => [
- 'description' => 'Registration code of the CA certificate',
- 'type' => 'string',
- 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******',
- ],
- 'CaName' => [
- 'description' => 'Name of the CA certificate',
- 'type' => 'string',
- 'example' => 'mqtt_ca',
- ],
- 'Sn' => [
- 'description' => 'SN serial number of the CA certificate',
- 'type' => 'string',
- 'example' => '007269004887******',
- ],
- 'CaContent' => [
- 'description' => 'Content of the CA certificate. '."\n"
- .'> \\n represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----',
- ],
- 'VerificationContent' => [
- 'description' => 'Verify the content of the certificate. '."\n"
- .'> \\n represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----',
- ],
- 'ValidBegin' => [
- 'description' => 'The start time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1654137303000',
- ],
- 'ValidEnd' => [
- 'description' => 'The end time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1969497303000',
- ],
- 'Status' => [
- 'description' => 'The status of the CA certificate. The values are as follows:'."\n"
- .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
- .'> After the CA certificate is registered, it is in an active state by default.',
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'RegistrationCode' => ['description' => 'Registration code of the CA certificate', 'type' => 'string', 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******', 'title' => ''],
+ 'CaName' => ['description' => 'Name of the CA certificate', 'type' => 'string', 'example' => 'mqtt_ca', 'title' => ''],
+ 'Sn' => ['description' => 'SN serial number of the CA certificate', 'type' => 'string', 'example' => '007269004887******', 'title' => ''],
+ 'CaContent' => ['description' => 'Content of the CA certificate. '."\n"
+ .'> \\n represents a new line.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----', 'title' => ''],
+ 'VerificationContent' => ['description' => 'Verify the content of the certificate. '."\n"
+ .'> \\n represents a new line.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----', 'title' => ''],
+ 'ValidBegin' => ['description' => 'The start time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1654137303000', 'title' => ''],
+ 'ValidEnd' => ['description' => 'The end time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1969497303000', 'title' => ''],
+ 'Status' => ['description' => 'The status of the CA certificate. The values are as follows:'."\n"
+ .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
+ .'> After the CA certificate is registered, it is in an active state by default.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
@@ -3874,42 +2284,47 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"Total\\": 1,\\n \\"PageNo\\": 2,\\n \\"PageSize\\": 10,\\n \\"CaCertificateVOS\\": [\\n {\\n \\"RegistrationCode\\": \\"13274673-8f90-4630-bea1-9cccb25756ad2089******\\",\\n \\"CaName\\": \\"mqtt_ca\\",\\n \\"Sn\\": \\"007269004887******\\",\\n \\"CaContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"VerificationContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"Status\\": \\"1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <Total>1</Total>\\n <PageNo>2</PageNo>\\n <PageSize>10</PageSize>\\n <CaCertificateVOS>\\n <RegistrationCode>13274673-8f90-4630-bea1-9cccb25756ad2089******</RegistrationCode>\\n <CaName>mqtt_ca</CaName>\\n <Sn>007269004887******</Sn>\\n <CaContent>-----BEGIN CERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END CERTIFICATE-----</CaContent>\\n <VerificationContent>-----BEGIN CERTIFICATE-----\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\n-----END CERTIFICATE-----</VerificationContent>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <Status>1</Status>\\n </CaCertificateVOS>\\n </Data>\\n</ListCaCertificateResponse>","errorExample":""}]',
'title' => 'ListCaCertificate',
+ 'summary' => 'Queries all certificate authority (CA) certificates that are registered with an ApsaraMQ for MQTT instance. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates.',
'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
.'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
- ],
- 'GetCaCertificate' => [
- 'summary' => 'Queries the details of a certificate authority (CA) certificate, such as the content and status of the certificate. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates.',
- 'methods' => [
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListCaCertificate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'ListDeviceCertificate' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3918,34 +2333,27 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '141174',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeCode' => '145872',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID bound to the CA certificate, which is the instance ID of the MQTT version of the cloud message queue.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The instance ID of the Cloud Message Queue MQTT version, indicating which instance\'s device certificates need to be viewed.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'Sn',
+ 'name' => 'PageNo',
'in' => 'query',
- 'schema' => [
- 'description' => 'The SN serial number of the CA certificate to be queried, used to uniquely identify a CA certificate.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'Indicates which page of the results to return. The starting page is counted from 1.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of query records to display per page. Value range: 1 to 100.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -3955,61 +2363,39 @@
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
'Data' => [
- 'description' => 'Certificate details.',
+ 'description' => 'Query result.',
'type' => 'object',
'properties' => [
- 'RegistrationCode' => [
- 'description' => 'Registration code of the CA certificate',
- 'type' => 'string',
- 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******',
- ],
- 'CaName' => [
- 'description' => 'Name of the CA certificate',
- 'type' => 'string',
- 'example' => 'mqtt_ca',
- ],
- 'Sn' => [
- 'description' => 'The SN serial number of the CA certificate, used to uniquely identify a CA certificate. Value range: no more than 128 bytes.',
- 'type' => 'string',
- 'example' => '00f26900ba87******',
- ],
- 'CaContent' => [
- 'description' => 'Content of the CA certificate.'."\n"
- .'> \\n represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----',
- ],
- 'VerificationContent' => [
- 'description' => 'Content of the Verification certificate.'."\n"
- .'> \\n represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----',
- ],
- 'ValidBegin' => [
- 'description' => 'The start time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1654137303000',
- ],
- 'ValidEnd' => [
- 'description' => 'The end time when the CA certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1969497303000',
- ],
- 'Status' => [
- 'description' => 'The status of the CA certificate. The values are as follows:'."\n"
- .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
- .'> After the CA certificate is registered, it is in an active state by default.',
- 'type' => 'string',
- 'example' => '1',
+ 'Total' => ['description' => 'Maximum number of pages in the query result.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageNo' => ['description' => 'The current page number of the returned query records.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'PageSize' => ['description' => 'The maximum number of results to display per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'DeviceCertificateVOS' => [
+ 'description' => 'Details of the device certificate.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidBegin' => ['description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1654137303000', 'title' => ''],
+ 'ValidEnd' => ['description' => 'The end time when the device certificate becomes effective. Formatted as a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1969497303000', 'title' => ''],
+ 'DeviceSn' => ['description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.', 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
+ 'DeviceContent' => ['description' => 'Content of the device certificate.'."\n"
+ ."\n"
+ .' represents a new line.', 'type' => 'string', 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----', 'title' => ''],
+ 'Status' => ['description' => 'The status of the device certificate. The values are as follows:'."\n"
+ .'- 0: indicates that the certificate is in an inactive state. - 1: indicates that the certificate is in an active state.'."\n"
+ .'After the device certificate is registered, it defaults to the active state.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'CaSn' => ['description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.', 'type' => 'string', 'example' => '00f26900ba87******', 'title' => ''],
+ 'DeviceName' => ['description' => 'Name of the device certificate.', 'type' => 'string', 'example' => 'mqtt_device', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
@@ -4017,50 +2403,44 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindCaBySnError',
- 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"RegistrationCode\\": \\"13274673-8f90-4630-bea1-9cccb25756ad2089******\\",\\n \\"CaName\\": \\"mqtt_ca\\",\\n \\"Sn\\": \\"00f26900ba87******\\",\\n \\"CaContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"VerificationContent\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\\\\\n-----END CERTIFICATE-----\\",\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"Status\\": \\"1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <RegistrationCode>13274673-8f90-4630-bea1-9cccb25756ad2089******</RegistrationCode>\\n <CaName>mqtt_ca</CaName>\\n <Sn>00f26900ba87******</Sn>\\n <CaContent>-----BEGIN CERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END CERTIFICATE-----</CaContent>\\n <VerificationContent>-----BEGIN CERTIFICATE-----\\\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\\\n-----END CERTIFICATE-----</VerificationContent>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <Status>1</Status>\\n </Data>\\n</GetCaCertificateResponse>","errorExample":""}]',
- 'title' => 'GetCaCertificate',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"Total\\": 1,\\n \\"PageNo\\": 2,\\n \\"PageSize\\": 10,\\n \\"DeviceCertificateVOS\\": [\\n {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"Status\\": \\"1\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"DeviceName\\": \\"mqtt_device\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <Total>1</Total>\\n <PageNo>2</PageNo>\\n <PageSize>10</PageSize>\\n <DeviceCertificateVOS>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <Status>1</Status>\\n <CaSn>00f26900ba87******</CaSn>\\n <DeviceName>mqtt_device</DeviceName>\\n </DeviceCertificateVOS>\\n </Data>\\n</ListDeviceCertificateResponse>","errorExample":""}]',
+ 'title' => 'ListDeviceCertificate',
+ 'summary' => 'Queries all device certificates that are registered with an ApsaraMQ for MQTT instance. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
.'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
- ],
- 'GetRegisterCode' => [
- 'summary' => 'Obtains the registration code of a specific certificate authority (CA) certificate. When you register a CA certificate with an ApsaraMQ for MQTT broker, you must upload the validation certificate of the CA certificate to verify whether you have the private key of the CA certificate. The validation certificate of a CA certificate must be generated by using the registration code of the CA certificate.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'ListDeviceCertificateByCaSn' => [
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4069,44 +2449,76 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
+ 'operationType' => 'list',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '140814',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeCode' => '145874',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The instance ID bound to the CA certificate, which is the instance ID of the MQTT version of the cloud message queue.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Indicates the page number of the returned results. The starting page is counted from 1.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of query records to display per page. Value range: 1 to 100.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'CaSn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The SN serial number of the CA certificate to be queried, indicating which CA certificate\'s registered device certificates are to be retrieved.', 'type' => 'string', 'required' => true, 'example' => '007269004887******', 'title' => ''],
],
],
'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' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'RegisterCode' => [
- 'title' => '注册码',
- 'description' => 'The registration code of the CA certificate.'."\n",
- 'type' => 'string',
- 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Data' => [
+ 'description' => 'Query result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => ['description' => 'Total number of query results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageNo' => ['description' => 'The current page number of the returned query records.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'PageSize' => ['description' => 'The maximum number of results to display per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'DeviceCertificateVOS' => [
+ 'description' => 'Details of the device certificate.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ValidBegin' => ['description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1654137303000', 'title' => ''],
+ 'ValidEnd' => ['description' => 'The end time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'example' => '1969497303000', 'title' => ''],
+ 'DeviceSn' => ['description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.', 'type' => 'string', 'example' => '356217374433******', 'title' => ''],
+ 'DeviceContent' => ['description' => 'Content of the device certificate.'."\n"
+ ."\n"
+ .' represents a new line.', 'type' => 'string', 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----', 'title' => ''],
+ 'Status' => ['description' => 'The status of the device certificate. The values are as follows:'."\n"
+ .'- 0: indicates that the certificate is in an inactive state. '."\n"
+ .'- 1: indicates that the certificate is in an active state.'."\n"
+ ."\n"
+ .'After the device certificate is registered, it is in an active state by default.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'CaSn' => ['description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.', 'type' => 'string', 'example' => '00f26900ba87******', 'title' => ''],
+ 'DeviceName' => ['description' => 'Name of the device certificate.', 'type' => 'string', 'example' => 'mqtt_device', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
],
@@ -4114,43 +2526,44 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'FindDeviceBySnError', 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"RegisterCode\\": \\"13274673-8f90-4630-bea1-9cccb25756ad2089******\\"\\n}","errorExample":""},{"type":"xml","example":"<GetRegisterCodeResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <RegisterCode>13274673-8f90-4630-bea1-9cccb25756ad2089******</RegisterCode>\\n</GetRegisterCodeResponse>","errorExample":""}]',
- 'title' => 'GetRegisterCode',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"Total\\": 1,\\n \\"PageNo\\": 2,\\n \\"PageSize\\": 10,\\n \\"DeviceCertificateVOS\\": [\\n {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"Status\\": \\"1\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"DeviceName\\": \\"mqtt_device\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDeviceCertificateByCaSnResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <Total>1</Total>\\n <PageNo>2</PageNo>\\n <PageSize>10</PageSize>\\n <DeviceCertificateVOS>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <Status>1</Status>\\n <CaSn>00f26900ba87******</CaSn>\\n <DeviceName>mqtt_device</DeviceName>\\n </DeviceCertificateVOS>\\n </Data>\\n</ListDeviceCertificateByCaSnResponse>","errorExample":""}]',
+ 'title' => 'ListDeviceCertificateByCaSn',
+ 'summary' => 'Queries all device certificates that are issued by a certificate authority (CA) certificate and registered with ApsaraMQ for MQTT brokers. Device certificates are digital certificates issued to clients by CA root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
.'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
- ],
- 'DeleteCaCertificate' => [
- 'summary' => 'Deletes a certificate authority (CA) certificate from an ApsaraMQ for MQTT broker. ApsaraMQ for MQTT allows you to use X.509 certificates for authentication. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, you can use the device certificate to implement authentication. CA certificates are used to issue device certificates to clients and validate the device certificates. Before you can use a CA certificate, you must register the certificate with an ApsaraMQ for MQTT broker. If you no longer require a CA certificate, you can call this operation to delete the certificate from the ApsaraMQ for MQTT broker.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListDeviceCertificateByCaSn',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'ListDeviceCredentialClientId' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4159,109 +2572,126 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
+ 'operationType' => 'list',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '142200',
- 'abilityTreeNodes' => [
- 'FEATUREonsQV6LXV',
- ],
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the CA certificate is bound.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the Cloud Message Queue MQTT version instance, which must match the actual instance ID used by the client. You can obtain this ID from the **Instance Details** page in the console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-xxxxxxxx', 'title' => ''],
],
[
- 'name' => 'Sn',
+ 'name' => 'GroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the CA certificate that you want to delete. The serial number is the unique identifier of a CA certificate.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'Group ID of the MQTT version of the micro message queue.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_xxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Indicates the page number of the returned results. The starting page is counted from 1.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of query records to display per page.'."\n"
+ .'Value range: 1 to 100.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '100', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Token for starting the next page query.', 'type' => 'string', 'required' => false, 'example' => 'FFdXXXXXWa', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Sn' => [
- 'description' => 'The serial number of the CA certificate that you deleted. The serial number is the unique identifier of a CA certificate.'."\n",
- 'type' => 'string',
- 'example' => '007269004887******',
+ 'RequestId' => ['description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****', 'title' => ''],
+ 'DeviceCredentialClientIdList' => [
+ 'description' => 'Returns the information list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => ['description' => 'Total number of query results.', 'type' => 'string', 'example' => '10', 'title' => ''],
+ 'ClientIdList' => [
+ 'description' => 'Client list.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Client ID.', 'type' => 'string', 'example' => 'GID_test@@@pub-1', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PageNo' => ['description' => 'The current page number of the returned query records.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The maximum number of results to display per page.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'NextToken' => ['description' => 'Indicates whether there is a token (Token) for the next query. Values:'."\n"
+ ."\n"
+ .'- For the first query and when there is no next query, this field does not need to be filled.'."\n"
+ ."\n"
+ .'- If there is a next query, the value should be the NextToken returned from the previous API call.', 'type' => 'string', 'example' => '634dxxxxx75b5f', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNotFound', 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNumExceed', 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindCaBySnError',
- 'errorMessage' => 'Failed to find the CA by the SN. Please check sn is valid.',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCaCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Sn>007269004887******</Sn>\\n</DeleteCaCertificateResponse>","errorExample":""}]',
- 'title' => 'DeleteCaCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n"
- .'* You can call this operation to delete only CA certificates that are registered with ApsaraMQ for MQTT brokers. You can call the [ListCaCertificate](~~2604958~~) operation to query CA certificates that are registered with an ApsaraMQ for MQTT instance.'."\n"
- .'* If you delete a specific CA certificate from an ApsaraMQ for MQTT broker, all device certificates that are issued by the CA certificate and are registered with the ApsaraMQ for MQTT broker are automatically deleted.',
- ],
- 'ActiveDeviceCertificate' => [
- 'summary' => 'Reactivates a device certificate. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client based on the registered CA certificate. If the CA certificate matches the device certificate, the client passes the authentication and the system automatically registers the device certificate with the ApsaraMQ for MQTT broker. After a device certificate is registered with an ApsaraMQ for MQTT broker, the certificate is automatically activated. If your device certificate is changed to the inactivated state, you can call this operation to reactivate the device certificate.',
- 'methods' => [
- 'get',
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'ListDeviceCredentialClientId',
+ 'summary' => 'Queries clients that have applied for access credentials in unique-certificate-per-device authentication mode in an ApsaraMQ for MQTT instance.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDeviceCredentialClientId'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceCredentialClientIdList\\": {\\n \\"Total\\": \\"10\\",\\n \\"ClientIdList\\": [\\n \\"GID_test@@@pub-1\\"\\n ],\\n \\"PageNo\\": \\"1\\",\\n \\"PageSize\\": \\"100\\",\\n \\"NextToken\\": \\"634dxxxxx75b5f\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'ListGroupId' => [
+ 'summary' => 'You can call the ListGroupId operation to query all Group IDs in an instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4270,120 +2700,135 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons0PHGX2',
- ],
+ 'abilityTreeCode' => '84622',
+ 'abilityTreeNodes' => ['FEATUREons4L127M'],
],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate is bound.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
- ],
- [
- 'name' => 'DeviceSn',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the device certificate that you want to reactivate. The serial number is the unique identifier of a device.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '356217374433******',
- ],
+ 'schema' => ['description' => 'The ID of the instance for which you want to list group IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-0pp1ldu****', 'title' => ''],
],
[
- 'name' => 'CaSn',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The serial number of the CA certificate to which the device certificate belongs. The serial number is the unique identifier of a CA certificate.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => 'A list of resource tags. You can specify up to 20 tags.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'description' => 'The list of tags.',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'DeviceSn' => [
- 'description' => 'The serial number of the device certificate that you reactivated. The serial number is the unique identifier of a device certificate.'."\n",
- 'type' => 'string',
- 'example' => '356217374433******',
+ 'RequestId' => ['description' => 'The unique ID for the request. This is a common parameter.', 'type' => 'string', 'example' => '95996EEB-D894-44FA-A87C-940F5CD9****', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The details of the returned group IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UpdateTime' => ['description' => 'The timestamp of the last update for the group ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1564577317000', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance to which the group ID belongs.', 'type' => 'string', 'example' => 'post-cn-45910tj****', 'title' => ''],
+ 'IndependentNaming' => ['description' => 'Indicates whether the instance has an independent namespace. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance has an independent namespace. In this case, resource names must be unique within the instance, but they can be the same as resource names in other instances.'."\n"
+ ."\n"
+ .'- **false**: The instance does not have an independent namespace. In this case, resource names must be globally unique across all instances.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'GroupId' => ['description' => 'The group ID.', 'type' => 'string', 'example' => 'GID_test1', 'title' => ''],
+ 'CreateTime' => ['description' => 'The creation timestamp of the group ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1564577317000', 'title' => ''],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key', 'title' => ''],
+ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value', 'title' => ''],
+ ],
+ 'description' => 'The tags that are associated with the group ID.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The tags attached to the group ID.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InstanceNotFound', 'errorMessage' => 'Failed to find the instance. The instanceId may be invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","errorExample":""},{"type":"xml","example":"<ActiveDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <DeviceSn>356217374433******</DeviceSn>\\n</ActiveDeviceCertificateResponse>","errorExample":""}]',
- 'title' => 'ActiveDeviceCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
- ],
- 'InactivateDeviceCertificate' => [
- 'summary' => 'Deregisters a device certificate. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
- 'methods' => [
- 'get',
- 'post',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95996EEB-D894-44FA-A87C-940F5CD9****\\",\\n \\"Data\\": [\\n {\\n \\"UpdateTime\\": 1564577317000,\\n \\"InstanceId\\": \\"post-cn-45910tj****\\",\\n \\"IndependentNaming\\": true,\\n \\"GroupId\\": \\"GID_test1\\",\\n \\"CreateTime\\": 1564577317000,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"key\\",\\n \\"TagValue\\": \\"value\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListGroupId',
+ 'description' => 'Each successful call to the **ListGroupId** operation is counted as one message transaction and is billed based on transactions per second (TPS). For more information, see [billing details](~~52819~~).',
+ 'requestParamsDescription' => '> For more information about other parameters, see [common parameters](~~163046~~) and [endpoint](~~181438~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGroupId'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:ListMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListInstances' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4392,119 +2837,140 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREons0PHGX2',
- ],
+ 'abilityTreeCode' => '265380',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate that you want to deregister is bound.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
- ],
- [
- 'name' => 'DeviceSn',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the device certificate that you want to deregister. The serial number is the unique identifier of a device.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '356217374433******',
- ],
- ],
- [
- 'name' => 'CaSn',
+ 'name' => 'Tags',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the CA certificate to which the device certificate that you want to deregister belongs. The serial number is the unique identifier of a CA certificate.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'A list of resource tags in JSON format.', 'type' => 'string', 'required' => false, 'example' => '[{"key":"test","value":"test"}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'DeviceSn' => [
- 'description' => 'The serial number of the device certificate that is deregistered. The serial number is the unique identifier of a device certificate.'."\n",
- 'type' => 'string',
- 'example' => '356217374433******',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '294F5B26-FADF-41D0-BE68-14ABE4EB****', 'title' => ''],
+ 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'Instances' => [
+ 'description' => 'The list of instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The instance object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'mqtt-cn-xxxxxxx', 'title' => ''],
+ 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'mqtt-cn-xxxxxxx', 'title' => ''],
+ 'InstanceStatus' => ['description' => 'The instance status.'."\n"
+ ."\n"
+ .'- 0: Preparing'."\n"
+ ."\n"
+ .'- 5: In Service'."\n"
+ ."\n"
+ .'- 7: Upgrading'."\n"
+ ."\n"
+ .'- 15: Frozen'."\n"
+ ."\n"
+ .'- 10: Released'."\n"
+ ."\n"
+ .'- 1: Not Activated'."\n"
+ ."\n"
+ .'- 2: Overdue'."\n"
+ ."\n"
+ .'- 3: Expired', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
+ 'InstanceType' => ['description' => 'The instance type:'."\n"
+ ."\n"
+ .'- 0: Basic Edition'."\n"
+ ."\n"
+ .'- 1: Platinum Edition'."\n"
+ ."\n"
+ .'- 2: Pay-as-you-go'."\n"
+ ."\n"
+ .'- 3: Subscription Lightweight'."\n"
+ ."\n"
+ .'- 4: Professional Edition'."\n"
+ ."\n"
+ .'- 5: Serverless Edition', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
+ 'Specific' => ['description' => 'The instance type of the Professional Edition instance.', 'type' => 'string', 'example' => 'mqtt.p2.1xlarge', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1739345768000', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration time of the instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1741795200000', 'title' => ''],
+ 'KernelVersion' => ['description' => 'The Milvus version.', 'type' => 'string', 'example' => 'V3.3.0', 'title' => ''],
+ 'MqttTags' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'OrderId' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '245949616640095', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
+ ['errorCode' => 'ServiceUnable', 'errorMessage' => 'The current user has not activated the ONS service. Please activate the service first.', 'description' => 'The current user has not activated the ONS service. Please activate the ONS service first. Thank you.'],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
- 500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListInstances',
+ 'summary' => 'You can call this operation to query a list of instances.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListMqttInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","errorExample":""},{"type":"xml","example":"<InactivateDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <DeviceSn>356217374433******</DeviceSn>\\n</InactivateDeviceCertificateResponse>","errorExample":""}]',
- 'title' => 'InactivateDeviceCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294F5B26-FADF-41D0-BE68-14ABE4EB****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": \\"true\\",\\n \\"Instances\\": [\\n {\\n \\"InstanceId\\": \\"mqtt-cn-xxxxxxx\\",\\n \\"InstanceName\\": \\"mqtt-cn-xxxxxxx\\",\\n \\"InstanceStatus\\": 5,\\n \\"InstanceType\\": 4,\\n \\"Specific\\": \\"mqtt.p2.1xlarge\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"CreateTime\\": 1739345768000,\\n \\"ExpireTime\\": 1741795200000,\\n \\"KernelVersion\\": \\"V3.3.0\\",\\n \\"MqttTags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"OrderId\\": \\"245949616640095\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'ListDeviceCertificate' => [
- 'summary' => 'Queries all device certificates that are registered with an ApsaraMQ for MQTT instance. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTagResources' => [
+ 'summary' => 'Lists the tags that are attached to one or more resources.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4516,178 +2982,131 @@
'operationType' => 'list',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '145872',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeCode' => '255352',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID of the Cloud Message Queue MQTT version, indicating which instance\'s device certificates need to be viewed.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The resource type. The only valid value is instance.', 'type' => 'string', 'required' => true, 'example' => 'instance', 'title' => ''],
],
[
- 'name' => 'PageNo',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Indicates which page of the results to return. The starting page is counted from 1.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
+ 'description' => 'A list of resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the resource to query. Only instances are supported. ResourceId and Tag cannot both be empty.', 'type' => 'string', 'required' => false, 'example' => 'mqtt-cn-5yd3xxx', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'PageSize',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The maximum number of query records to display per page. Value range: 1 to 100.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '10',
+ 'description' => 'A list of resource tags. ResourceId and Tag cannot both be empty.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A tag object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token to start the next query.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAaFXUH1VTHnBlds7StUakOQ=', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Data' => [
- 'description' => 'Query result.',
- 'type' => 'object',
- 'properties' => [
- 'Total' => [
- 'description' => 'Maximum number of pages in the query result.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageNo' => [
- 'description' => 'The current page number of the returned query records.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'PageSize' => [
- 'description' => 'The maximum number of results to display per page.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'DeviceCertificateVOS' => [
- 'description' => 'Details of the device certificate.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ValidBegin' => [
- 'description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1654137303000',
- ],
- 'ValidEnd' => [
- 'description' => 'The end time when the device certificate becomes effective. Formatted as a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1969497303000',
- ],
- 'DeviceSn' => [
- 'description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.',
- 'type' => 'string',
- 'example' => '356217374433******',
- ],
- 'DeviceContent' => [
- 'description' => 'Content of the device certificate.'."\n"
- ."\n"
- .' represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----',
- ],
- 'Status' => [
- 'description' => 'The status of the device certificate. The values are as follows:'."\n"
- .'- 0: indicates that the certificate is in an inactive state. - 1: indicates that the certificate is in an active state.'."\n"
- .'After the device certificate is registered, it defaults to the active state.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'CaSn' => [
- 'description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.',
- 'type' => 'string',
- 'example' => '00f26900ba87******',
- ],
- 'DeviceName' => [
- 'description' => 'Name of the device certificate.',
- 'type' => 'string',
- 'example' => 'mqtt_device',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '34063BCA-0946-49C1-B824-2ED2C905****'],
+ 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'NextToken' => ['description' => 'The token to start the next query.', 'type' => 'string', 'example' => 'AAAAAaFXUH1VTHnBlds7StUakOQ=', 'title' => ''],
+ 'TagResources' => [
+ 'description' => 'A list of resource-tag mappings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A TagResource object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ResourceType' => ['description' => 'The resource type. The only valid value is instance.', 'type' => 'string', 'example' => 'instance', 'title' => ''],
+ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'mqtt-cn-5yd3xxx'."\n", 'title' => ''],
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
+ ['errorCode' => 'ResourceIdNotFound', 'errorMessage' => 'resourceId does not exist.', 'description' => 'The tag resource does not exist.'],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
- 500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34063BCA-0946-49C1-B824-2ED2C905****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": \\"true\\",\\n \\"NextToken\\": \\"AAAAAaFXUH1VTHnBlds7StUakOQ=\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"instance\\",\\n \\"TagValue\\": \\"test\\",\\n \\"ResourceId\\": \\"mqtt-cn-5yd3xxx\\\\n\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListTagResources',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"Total\\": 1,\\n \\"PageNo\\": 2,\\n \\"PageSize\\": 10,\\n \\"DeviceCertificateVOS\\": [\\n {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"Status\\": \\"1\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"DeviceName\\": \\"mqtt_device\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <Total>1</Total>\\n <PageNo>2</PageNo>\\n <PageSize>10</PageSize>\\n <DeviceCertificateVOS>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <Status>1</Status>\\n <CaSn>00f26900ba87******</CaSn>\\n <DeviceName>mqtt_device</DeviceName>\\n </DeviceCertificateVOS>\\n </Data>\\n</ListDeviceCertificateResponse>","errorExample":""}]',
- 'title' => 'ListDeviceCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
],
- 'ListDeviceCertificateByCaSn' => [
- 'summary' => 'Queries all device certificates that are issued by a certificate authority (CA) certificate and registered with ApsaraMQ for MQTT brokers. Device certificates are digital certificates issued to clients by CA root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'QueryCustomAuthConnectBlack' => [
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4695,143 +3114,62 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '145874',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID bound to the CA certificate, which is the instance ID of the MQTT version of the cloud message queue.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'required' => true, 'example' => 'post-111****', 'title' => ''],
],
[
- 'name' => 'PageNo',
+ 'name' => 'ClientId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Indicates the page number of the returned results. The starting page is counted from 1.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The ID of the client to be queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of query records to display per page. Value range: 1 to 100.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '10',
- ],
+ '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' => 'xOfRU60sGEwN1OlFBIL8Ew==', 'title' => ''],
],
[
- 'name' => 'CaSn',
+ 'name' => 'Size',
'in' => 'query',
- 'schema' => [
- 'description' => 'The SN serial number of the CA certificate to be queried, indicating which CA certificate\'s registered device certificates are to be retrieved.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'The number of clients to be queried. Maximum value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '100', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Code' => ['description' => 'The HTTP status code. The status code 200 indicates that the request is successful. Other status codes indicate that the request failed. For a list of error codes, see Error codes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
'Data' => [
- 'description' => 'Query result.',
+ 'description' => 'The returned data.'."\n",
'type' => 'object',
'properties' => [
- 'Total' => [
- 'description' => 'Total number of query results.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageNo' => [
- 'description' => 'The current page number of the returned query records.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'PageSize' => [
- 'description' => 'The maximum number of results to display per page.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'DeviceCertificateVOS' => [
- 'description' => 'Details of the device certificate.',
+ 'Results' => [
+ 'description' => 'The returned results.'."\n",
'type' => 'array',
'items' => [
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'ValidBegin' => [
- 'description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1654137303000',
- ],
- 'ValidEnd' => [
- 'description' => 'The end time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1969497303000',
- ],
- 'DeviceSn' => [
- 'description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.',
- 'type' => 'string',
- 'example' => '356217374433******',
- ],
- 'DeviceContent' => [
- 'description' => 'Content of the device certificate.'."\n"
- ."\n"
- .' represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----',
- ],
- 'Status' => [
- 'description' => 'The status of the device certificate. The values are as follows:'."\n"
- .'- 0: indicates that the certificate is in an inactive state. '."\n"
- .'- 1: indicates that the certificate is in an active state.'."\n"
- ."\n"
- .'After the device certificate is registered, it is in an active state by default.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'CaSn' => [
- 'description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.',
- 'type' => 'string',
- 'example' => '00f26900ba87******',
- ],
- 'DeviceName' => [
- 'description' => 'Name of the device certificate.',
- 'type' => 'string',
- 'example' => 'mqtt_device',
- ],
+ 'ClientId' => ['description' => 'The client ID.'."\n", 'type' => 'string', 'example' => 'GID_TEST@@@test', 'title' => ''],
+ 'Effect' => ['description' => 'Indicates whether to allow or deny access.'."\n", 'type' => 'string', 'example' => 'ALLOW', 'title' => ''],
+ 'PermitAction' => ['description' => 'The authorized permissions.'."\n", 'type' => 'string', 'example' => 'CONNECT', 'title' => ''],
],
+ 'title' => '',
],
+ 'title' => '',
],
+ 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'AAAAAZ0cM0HTqLXvgm7oMHWXcvc=', 'title' => ''],
],
+ 'title' => '',
],
],
],
@@ -4839,50 +3177,44 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
- 500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"ClientId\\": \\"GID_TEST@@@test\\",\\n \\"Effect\\": \\"ALLOW\\",\\n \\"PermitAction\\": \\"CONNECT\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAZ0cM0HTqLXvgm7oMHWXcvc=\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'QueryCustomAuthConnectBlack',
+ 'summary' => 'Queries a client ID in a connection blacklist.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomAuthConnectBlack'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"Total\\": 1,\\n \\"PageNo\\": 2,\\n \\"PageSize\\": 10,\\n \\"DeviceCertificateVOS\\": [\\n {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"Status\\": \\"1\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"DeviceName\\": \\"mqtt_device\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDeviceCertificateByCaSnResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <Total>1</Total>\\n <PageNo>2</PageNo>\\n <PageSize>10</PageSize>\\n <DeviceCertificateVOS>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <Status>1</Status>\\n <CaSn>00f26900ba87******</CaSn>\\n <DeviceName>mqtt_device</DeviceName>\\n </DeviceCertificateVOS>\\n </Data>\\n</ListDeviceCertificateByCaSnResponse>","errorExample":""}]',
- 'title' => 'ListDeviceCertificateByCaSn',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
],
- 'GetDeviceCertificate' => [
- 'summary' => 'Queries the details of a device certificate. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'QueryCustomAuthIdentity' => [
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4894,152 +3226,135 @@
'operationType' => 'get',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '145870',
- 'abilityTreeNodes' => [
- 'FEATUREons0PHGX2',
- ],
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID to which the device certificate is bound, i.e., the instance ID of the Cloud Message Queue MQTT version.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'required' => true, 'example' => 'post-111****', 'title' => ''],
],
[
- 'name' => 'DeviceSn',
+ 'name' => 'Username',
'in' => 'query',
- 'schema' => [
- 'description' => 'The SN serial number of the device certificate to be queried, used to uniquely identify a device certificate. Value range: no more than 128 bytes.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '356217374433******',
- ],
+ 'schema' => ['description' => 'The username.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'CaSn',
+ 'name' => 'IdentityType',
'in' => 'query',
'schema' => [
- 'description' => 'The SN serial number of the CA certificate to which the device certificate to be queried belongs, used to uniquely identify a CA certificate. Value range: no more than 128 bytes.',
+ 'description' => 'The identity type.',
'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
+ 'enum' => ['USER', 'CLIENT'],
+ 'required' => false,
+ 'example' => 'USER',
+ 'title' => '',
],
],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client ID of the device. You can specify this parameter when the identity type is CLIENT.', 'type' => 'string', 'required' => false, 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that marks the end position of the current query. You can pass this token as a parameter in the next call to continue paginating. If this is the first call or the last page is returned, the value is an empty string.', 'type' => 'string', 'required' => false, 'example' => 'eyJhY2NvdW50IjoiMTM4MTcxODk3NDQzMjQ1OSIsImV2ZW50SWQiOiJGMkUxOUE3QS1FM0Q0LTVCOEYtQkU4OS1CNkMyM0RBM0UyRjIiLCJsb2dJZCI6IjY2LTEzODE3MTg5NzQ0MzI0NTkiLCJydyI6IlciLCJ0aW1lIjoxNjc4MzI2MTI1MDAwfQ', 'title' => ''],
+ ],
+ [
+ 'name' => 'Size',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to query. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '100', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Public parameters, each request ID is unique and can be used for troubleshooting and problem localization.',
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '11568B5B-13A8-4E72-9DBA-3A14F7D3****'],
+ 'Code' => ['description' => 'The response code. 200: The request is successful. Other codes indicate errors. For more information about error codes, see Error codes.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. true: The request is successful. false: The request failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
'Data' => [
- 'description' => 'Certificate details.',
+ 'description' => 'The query result.',
'type' => 'object',
'properties' => [
- 'ValidBegin' => [
- 'description' => 'The start time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1654137303000',
- ],
- 'ValidEnd' => [
- 'description' => 'The end time when the device certificate becomes effective. The format is a Unix timestamp in milliseconds.',
- 'type' => 'string',
- 'example' => '1969497303000',
- ],
- 'DeviceSn' => [
- 'description' => 'The SN serial number of the device certificate, used to uniquely identify a device certificate.',
- 'type' => 'string',
- 'example' => '356217374433******',
- ],
- 'DeviceName' => [
- 'description' => 'Name of the device certificate.',
- 'type' => 'string',
- 'example' => 'mqtt_device',
- ],
- 'DeviceContent' => [
- 'description' => 'Content of the device certificate.'."\n"
- ."\n"
- .' represents a new line.',
- 'type' => 'string',
- 'example' => '-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----',
- ],
- 'CaSn' => [
- 'description' => 'The SN serial number of the CA certificate to which the device certificate belongs, used to uniquely identify a CA certificate.',
- 'type' => 'string',
- 'example' => '00f26900ba87******',
- ],
- 'Status' => [
- 'description' => 'The status of the device certificate. The values are as follows:'."\n"
- .'- **0**: Indicates that the certificate is in an inactive state. - **1**: Indicates that the certificate is in an active state.'."\n"
- .'> After the device certificate is registered, it is in an active state by default.',
- 'type' => 'string',
- 'example' => '1',
+ 'Results' => [
+ 'description' => 'The returned data.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Username' => ['description' => 'The username.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Secret' => ['description' => 'The secret key.', 'type' => 'string', 'example' => '62a5916d71767185b48907d85c2efa****', 'title' => ''],
+ 'IdentityType' => ['description' => 'The identity type.'."\n"
+ ."\n"
+ .'- USER: Username only.'."\n"
+ ."\n"
+ .'- CLIENT: Specific to a client.', 'type' => 'string', 'example' => 'USER', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID of the device when the identity type is CLIENT.', 'type' => 'string', 'example' => 'GID_ICP@@@4d378084', 'title' => ''],
+ 'SignMode' => ['description' => 'The signature verification mode. ORIGIN: Original value comparison, which compares the password with the secret. SIGNED: The HmacSHA1 signature is calculated for the clientId using the secret for verification, and then the password is compared.', 'type' => 'string', 'example' => 'SIGNED', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'NextToken' => ['description' => 'If more results are available, a NextToken is returned.', 'type' => 'string', 'example' => 'AAAAAXA+GzVqTutYpgkFjBrchKzuvSbpuTqtt6OF9tsC9QnJ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
- 500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'Query Identity Authentication',
+ 'summary' => 'Queries custom identity authentication.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomAuthIdentity'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Data\\": {\\n \\"ValidBegin\\": \\"1654137303000\\",\\n \\"ValidEnd\\": \\"1969497303000\\",\\n \\"DeviceSn\\": \\"356217374433******\\",\\n \\"DeviceName\\": \\"mqtt_device\\",\\n \\"DeviceContent\\": \\"-----BEGIN DEVICECERTIFICATE-----\\\\\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\\\\\n-----END DEVICECERTIFICATE-----\\",\\n \\"CaSn\\": \\"00f26900ba87******\\",\\n \\"Status\\": \\"1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <Data>\\n <ValidBegin>1654137303000</ValidBegin>\\n <ValidEnd>1969497303000</ValidEnd>\\n <DeviceSn>356217374433******</DeviceSn>\\n <DeviceName>mqtt_device</DeviceName>\\n <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\\\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\\\n-----END DEVICECERTIFICATE-----</DeviceContent>\\n <CaSn>00f26900ba87******</CaSn>\\n <Status>1</Status>\\n </Data>\\n</GetDeviceCertificateResponse>","errorExample":""}]',
- 'title' => 'GetDeviceCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"11568B5B-13A8-4E72-9DBA-3A14F7D3****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"Username\\": \\"test\\",\\n \\"Secret\\": \\"62a5916d71767185b48907d85c2efa****\\",\\n \\"IdentityType\\": \\"USER\\",\\n \\"ClientId\\": \\"GID_ICP@@@4d378084\\",\\n \\"SignMode\\": \\"SIGNED\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAXA+GzVqTutYpgkFjBrchKzuvSbpuTqtt6OF9tsC9QnJ\\"\\n }\\n}","type":"json"}]',
],
- 'DeleteDeviceCertificate' => [
- 'summary' => 'Deletes the registration information about a specific device certificate from an ApsaraMQ for MQTT broker. Device certificates are digital certificates issued to clients by certificate authority (CA) root certificates. When you connect an ApsaraMQ for MQTT client to an ApsaraMQ for MQTT broker, the broker uses the device certificate to authenticate the client. If the client passes the authentication, the client and the broker can communicate with each other based on the encrypted private key in the device certificate. If the client fails the authentication, access requests from the client are denied by the client. If you no longer require a device certificate, you can call this operation to delete the registration information about the certificate from an ApsaraMQ for MQTT broker.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'QueryCustomAuthPermission' => [
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -5047,68 +3362,84 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '145869',
- 'abilityTreeNodes' => [
- 'FEATUREons0PHGX2',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the device certificate is bound.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-7mz2d******',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
- 'name' => 'DeviceSn',
+ 'name' => 'IdentityType',
'in' => 'query',
'schema' => [
- 'description' => 'The serial number of the device certificate whose registration information you want to delete. The serial number is the unique identifier of a device.'."\n"
- ."\n"
- .'The serial number of a device certificate cannot exceed 128 bytes in size.'."\n",
+ 'description' => 'The identity type.'."\n",
'type' => 'string',
- 'required' => true,
- 'example' => '356217374433****',
+ 'required' => false,
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
[
- 'name' => 'CaSn',
+ 'name' => 'Identity',
'in' => 'query',
- 'schema' => [
- 'description' => 'The serial number of the CA certificate to which the device certificate belongs. The serial number is the unique identifier of a CA certificate. CA certificates are used to validate device certificates.'."\n"
- ."\n"
- .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '007269004887******',
- ],
+ 'schema' => ['description' => 'The username or client ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The topic whose authorization information you want to query. Multi-level topics and wildcard characters are supported.'."\n", 'type' => 'string', 'required' => false, '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, 'example' => 'AAAAAThmKW2HkRgzo4G7IRRTK2fC6zZmAk6y0bwoNPFOOcSP', 'title' => ''],
+ ],
+ [
+ 'name' => 'Size',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of queries to be returned. Maximum value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '100', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'DeviceSn' => [
- 'description' => 'The serial number of the device certificate whose registration information is deleted. The serial number is the unique identifier of a device certificate.'."\n",
- 'type' => 'string',
- 'example' => '356217374433******',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '63309FDB-ED6C-46AE-B31C-A172FBA0****'],
+ 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Results' => [
+ 'description' => 'The response results.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Identity' => ['description' => 'The username or client ID.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'PermitAction' => ['description' => 'The authorized permissions.'."\n", 'type' => 'string', 'example' => 'PUB_SUB', 'title' => ''],
+ 'Effect' => ['description' => 'Indicates whether to allow or deny access.'."\n", 'type' => 'string', 'example' => 'ALLOW', 'title' => ''],
+ 'IdentityType' => ['description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n", 'type' => 'string', 'example' => 'USER', 'title' => ''],
+ 'Topic' => ['description' => 'The topic name. Multi-level topics and wildcard characters are supported.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ 'NextToken' => ['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', 'example' => 'AAAAAV/vsqTyeMlX1MIk7/b6NrZLIlsSVf49O04ac7HAmlBoaYspakK7ZZkR3vRDp5Y9Nz0EmuWYrtF+1qkUwuJzPk/qEto/FGxl5Kd+qdwNt3t8', 'title' => ''],
+ ],
+ 'title' => '',
],
],
],
@@ -5116,361 +3447,328 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
- 500 => [
- [
- 'errorCode' => 'ParameterFieldCheckFailed',
- 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
- ],
- [
- 'errorCode' => 'FindDeviceBySnError',
- 'errorMessage' => 'Failed to find the device certificate by the SN. Please check sn is valid',
- ],
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"63309FDB-ED6C-46AE-B31C-A172FBA0****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"Identity\\": \\"test\\",\\n \\"PermitAction\\": \\"PUB_SUB\\",\\n \\"Effect\\": \\"ALLOW\\",\\n \\"IdentityType\\": \\"USER\\",\\n \\"Topic\\": \\"test\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAV/vsqTyeMlX1MIk7/b6NrZLIlsSVf49O04ac7HAmlBoaYspakK7ZZkR3vRDp5Y9Nz0EmuWYrtF+1qkUwuJzPk/qEto/FGxl5Kd+qdwNt3t8\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'QueryCustomAuthPermission',
+ 'summary' => 'Queries the authorization information about a topic.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"DeviceSn\\": \\"356217374433******\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceCertificateResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <DeviceSn>356217374433******</DeviceSn>\\n</DeleteDeviceCertificateResponse>","errorExample":""}]',
- 'title' => 'DeleteDeviceCertificate',
- 'description' => '* Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
- .'* You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.'."\n",
],
- 'AddCustomAuthIdentity' => [
- 'summary' => 'Adds the information about identity authentication. The identity can be accurate to a client.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'QueryMqttTraceDevice' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '207003',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '84626',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
+ 'name' => 'MqttRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Message Queue for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-xxxx',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-i7m26mf****', 'title' => ''],
],
[
- 'name' => 'Username',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The username.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
+ 'name' => 'Reverse',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The returned results are displayed in reverse time order of actions on the device. This means that the information about the latest action on the device is displayed as the first entry and the information about the earliest action on the device is displayed as the last entry.'."\n"
+ .'* **false**: The returned results are displayed in time order of actions on the device. This means that the information about the earliest action on the device is displayed as the first entry and the information about the latest action on the device is displayed as the last entry.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the returned results are displayed in time order of actions on the device by default.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'Secret',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The AccessKey secret.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'xxxxx',
- ],
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client ID of the device whose trace you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@producer', 'title' => ''],
],
[
- 'name' => 'IdentityType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
+ 'name' => 'BeginTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1621580400000', 'title' => ''],
],
[
- 'name' => 'ClientId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1621584000000', 'title' => ''],
],
[
- 'name' => 'SignMode',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The signature verification mode. ORIGIN: compares the password and the AccessKey secret. SIGNED: uses the HMAC_SHA1 algorithm to sign the client ID to obtain a password and then compares the password.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SIGNED',
- 'enum' => [
- 'ORIGIN',
- 'SIGNED',
- ],
- ],
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '5', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The message returned.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
+ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '317076B7-F946-46BC-A98F-4CF9777C****', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'Total' => ['description' => 'The total number of returned actions on the device.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''],
+ 'DeviceInfoList' => [
+ 'description' => 'The details of the action on the device.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ChannelId' => ['description' => 'The connection ID.'."\n", 'type' => 'string', 'example' => 'c69fe839209547fa9d073781b9cd****', 'title' => ''],
+ 'Time' => ['description' => 'The time when the action occurred on the device.'."\n", 'type' => 'string', 'example' => '2021-05-21 15:51:54.867', 'title' => ''],
+ 'ActionCode' => ['description' => 'The returned code for the action on the device. Valid values:'."\n"
+ ."\n"
+ .'* **mqtt.trace.action.connect**: This value is returned if the value of Action is **connect**.'."\n"
+ .'* **mqtt.trace.action.close**: This value is returned if the value of Action is **close**.'."\n"
+ .'* **mqtt.trace.action.disconnect**: This value is returned if the value of Action is **disconnect**.'."\n", 'type' => 'string', 'example' => 'mqtt.trace.action.connect', 'title' => ''],
+ 'Action' => ['description' => 'The action on the device. Valid values:'."\n"
+ ."\n"
+ .'* **connect**: The ApsaraMQ for MQTT client requests a connection to the ApsaraMQ for MQTT broker.'."\n"
+ .'* **close**: The TCP connection is closed.'."\n"
+ .'* **disconnect**: The ApsaraMQ for MQTT client requests a disconnection from the ApsaraMQ for MQTT broker.'."\n", 'type' => 'string', 'example' => 'connect', 'title' => ''],
+ 'ActionInfo' => ['description' => 'The returned information for the action on the device. Valid values:'."\n"
+ ."\n"
+ .'* **accepted**: The ApsaraMQ for MQTT broker accepts the connection request from the ApsaraMQ for MQTT client.'."\n"
+ .'* **not authorized**: The TCP connection is closed because the permission verification of the client to access the instance fails.'."\n"
+ .'* **clientId conflict**: The TCP connection is closed due to a conflict in the ID of the ApsaraMQ for MQTT client.'."\n"
+ .'* **resource auth failed**: The TCP connection is closed because the permission verification for the ApsaraMQ for MQTT client to access the topic or group fails.'."\n"
+ .'* **no heart**: The TCP connection is closed because no heartbeat is detected on the client.'."\n"
+ .'* **closed by client**: The TCP connection is closed because an exception occurs on the client.'."\n"
+ .'* **disconnected by client**: The client requests a disconnection.'."\n"
+ .'* **invalid param**: The TCP connection is closed due to invalid request parameters.'."\n"
+ .'* **Socket IOException**: The TCP connection is closed due to network jitter or packet loss.'."\n", 'type' => 'string', 'example' => 'accept', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'Customauth.over.capacity',
- 'errorMessage' => 'Over custom auth capacity.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"317076B7-F946-46BC-A98F-4CF9777C****\\",\\n \\"PageSize\\": 2,\\n \\"Total\\": 3,\\n \\"DeviceInfoList\\": [\\n {\\n \\"ChannelId\\": \\"c69fe839209547fa9d073781b9cd****\\",\\n \\"Time\\": \\"2021-05-21 15:51:54.867\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.connect\\",\\n \\"Action\\": \\"connect\\",\\n \\"ActionInfo\\": \\"accept\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceDeviceResponse>\\n<DeviceInfoList>\\n <Action>connect</Action>\\n <ActionCode>mqtt.trace.action.connect</ActionCode>\\n <ActionInfo>accepted</ActionInfo>\\n <Time>2021-05-21 15:10:21.844</Time>\\n <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>\\n </DeviceInfoList>\\n <DeviceInfoList>\\n <Action>close</Action>\\n <ActionCode>mqtt.trace.action.close</ActionCode>\\n <ActionInfo>no heart</ActionInfo>\\n <Time>2021-05-21 15:51:37.980</Time>\\n <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>\\n </DeviceInfoList>\\n <DeviceInfoList>\\n <Action>connect</Action>\\n <ActionCode>mqtt.trace.action.connect</ActionCode>\\n <ActionInfo>accepted</ActionInfo>\\n <Time>2021-05-21 15:52:48.669</Time>\\n <ChannelId>34022074d3c1403faba6e0334121****</ChannelId>\\n </DeviceInfoList>\\n <PageSize>5</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <Total>3</Total>\\n <RequestId>317076B7-F946-46BC-A98F-4CF9777C****</RequestId>\\n</QueryMqttTraceDeviceResponse>","errorExample":""}]',
+ 'title' => 'QueryMqttTraceDevice',
+ 'summary' => 'Queries the trace of a device that corresponds to an ApsaraMQ for MQTT client by page. When the status of a device is abnormal, you can call this operation to query the connection history of the device. This helps you efficiently troubleshoot issues.',
+ 'description' => '* Each successful call to the **QueryMqttTraceDevice** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
+ .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttDeviceTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'AddCustomAuthIdentity',
],
- 'UpdateCustomAuthIdentity' => [
- 'summary' => 'Updates the information about custom identity authentication.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'QueryMqttTraceMessageOfClient' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'free',
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '84627',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
+ 'name' => 'MqttRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-111****',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section of the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-i7m26mf****', 'title' => ''],
],
[
- 'name' => 'Username',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The username. The value cannot exceed 64 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client ID of the device whose messages you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@producer', 'title' => ''],
],
[
- 'name' => 'Secret',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The AccessKey secret.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'xxxx',
- ],
+ 'name' => 'BeginTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1618646400000', 'title' => ''],
],
[
- 'name' => 'IdentityType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1621591200000', 'title' => ''],
],
[
- 'name' => 'ClientId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '1', 'title' => ''],
],
[
- 'name' => 'SignMode',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The signature verification mode. ORIGIN: compares the password and the AccessKey secret. SIGNED: uses the HMAC_SHA1 algorithm to sign the client ID to obtain a password and then compares the password.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SIGNED',
- 'enum' => [
- 'ORIGIN',
- 'SIGNED',
- ],
- ],
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '5', 'title' => ''],
+ ],
+ [
+ 'name' => 'Reverse',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The returned results are displayed in reverse order of the time when messages are sent or received. This means that the latest sent or received message is displayed as the first entry and the earliest sent or received message is displayed as the last entry.'."\n"
+ .'* **false**: The returned results are displayed in order of the time when messages are sent or received. This means that the earliest sent or received message is displayed as the first entry and the latest sent or received message is displayed as the last entry.'."\n"
+ ."\n"
+ .'If this parameter is not specified, the returned results are displayed in order of the time when messages are sent or received.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '3F00084A-7F07-4B15-BADA-8903A4FB****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
+ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => 'B096B9D6-62F3-4567-BB59-58D1362E****', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'Total' => ['description' => 'The total number of messages returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
+ 'MessageOfClientList' => [
+ 'description' => 'The returned messages.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => ['description' => 'The time when the message was sent or received.'."\n", 'type' => 'string', 'example' => '2021-05-21 15:08:19.234', 'title' => ''],
+ 'Action' => ['description' => 'The action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **pub_mqtt**: The ApsaraMQ for MQTT client sends the message.'."\n"
+ .'* **sub**: The ApsaraMQ for MQTT client subscribes to the message.'."\n"
+ .'* **push_offline**: The ApsaraMQ for MQTT broker pushes the offline message to the ApsaraMQ for MQTT client.'."\n", 'type' => 'string', 'example' => 'pub_mqtt', 'title' => ''],
+ 'ActionCode' => ['description' => 'The returned code for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **mqtt.trace.action.msg.pub.mqtt**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
+ .'* **mqtt.trace.action.msg.sub**: This value is returned if the value of Action is **sub**.'."\n"
+ .'* **mqtt.trace.action.msg.push.offline**: This value is returned if the value of Action is **push_offline**.'."\n", 'type' => 'string', 'example' => 'mqtt.trace.action.msg.pub.mqtt', 'title' => ''],
+ 'ActionInfo' => ['description' => 'The information returned for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **Pub From Mqtt Client**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
+ .'* **Push To Mqtt Client**: This value is returned if the value of Action is **sub**.'."\n"
+ .'* **Push Offline Msg To Mqtt Client**: This value is returned if the value of Action is **push_offline**.'."\n", 'type' => 'string', 'example' => 'Pub From Mqtt Client', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.'."\n", 'type' => 'string', 'example' => 'AC1EC0030EAB78308DB16A3EC773****', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID of the device.'."\n", 'type' => 'string', 'example' => 'GID_test@@@producer', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"B096B9D6-62F3-4567-BB59-58D1362E****\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 5,\\n \\"MessageOfClientList\\": [\\n {\\n \\"Time\\": \\"2021-05-21 15:08:19.234\\",\\n \\"Action\\": \\"pub_mqtt\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.pub.mqtt\\",\\n \\"ActionInfo\\": \\"Pub From Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC0030EAB78308DB16A3EC773****\\",\\n \\"ClientId\\": \\"GID_test@@@producer\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceMessageOfClientResponse>\\n <RequestId>B096B9D6-62F3-4567-BB59-58D1362E****</RequestId>\\n <PageSize>10</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <Total>5</Total>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.210 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC773****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n <MessageOfClientList>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <Time>2021-05-21 15:08:19.234 </Time>\\n <MsgId>AC1EC0030EAB78308DB16A3EC78F****</MsgId>\\n </MessageOfClientList>\\n</QueryMqttTraceMessageOfClientResponse>","errorExample":""}]',
+ 'title' => 'QueryMqttTraceMessageOfClient',
+ 'summary' => 'Queries messages on a device within a specific period of time. If a message is not sent or received as expected, you can call this operation to query the messaging status of the message to efficiently troubleshoot issues.',
+ 'description' => '* Each successful call to the **QueryMqttTraceMessageOfClient** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
+ .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceMessageOfClient'],
+ ],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttDeviceTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F00084A-7F07-4B15-BADA-8903A4FB****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'UpdateCustomAuthIdentity',
],
- 'QueryCustomAuthIdentity' => [
- 'summary' => 'Queries the information about custom identity authentication.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'QueryMqttTraceMessagePublish' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5479,487 +3777,456 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'high',
- 'chargeType' => 'free',
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '84628',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-111****',
- ],
- ],
- [
- 'name' => 'Username',
+ 'name' => 'MqttRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The username.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'IdentityType',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The identity type.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-i7m26mf****', 'title' => ''],
],
[
- 'name' => 'ClientId',
+ 'name' => 'MsgId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test@@@test',
- ],
+ 'schema' => ['description' => 'The message ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'AC1EC0030EAB78308DB16A3EC773****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'BeginTime',
'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' => 'eyJhY2NvdW50IjoiMTM4MTcxODk3NDQzMjQ1OSIsImV2ZW50SWQiOiJGMkUxOUE3QS1FM0Q0LTVCOEYtQkU4OS1CNkMyM0RBM0UyRjIiLCJsb2dJZCI6IjY2LTEzODE3MTg5NzQ0MzI0NTkiLCJydyI6IlciLCJ0aW1lIjoxNjc4MzI2MTI1MDAwfQ',
- ],
+ 'schema' => ['description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1618646400000', 'title' => ''],
],
[
- 'name' => 'Size',
+ 'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of identities to be queried. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '100',
- ],
+ 'schema' => ['description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1621591200000', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '11568B5B-13A8-4E72-9DBA-3A14F7D3****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful. Other status codes indicate that the request failed. For a list of error codes, see Error codes.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Results' => [
- 'description' => 'The returned results.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The returned results.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Username' => [
- 'description' => 'The username.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Secret' => [
- 'description' => 'The AccessKey secret.'."\n",
- 'type' => 'string',
- 'example' => '62a5916d71767185b48907d85c2efae2',
- ],
- 'IdentityType' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'example' => 'USER',
- ],
- 'ClientId' => [
- 'description' => 'The client ID if IdentityType is set to CLIENT.'."\n",
- 'type' => 'string',
- 'example' => 'GID_ICP@@@4d378084',
- ],
- 'SignMode' => [
- 'description' => 'The signature verification mode. ORIGIN: compares the password and the AccessKey secret. SIGNED: uses the HMAC_SHA1 algorithm to sign the client ID to obtain a password and then compares the password.'."\n",
- 'type' => 'string',
- 'example' => 'SIGNED',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- 'description' => 'If excess return values exist, this parameter is returned.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAXA+GzVqTutYpgkFjBrchKzuvSbpuTqtt6OF9tsC9QnJ',
+ 'RequestId' => ['description' => 'The request ID. You can use the ID to troubleshoot issues. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '69AD5550-BF22-438A-9202-A6E89185****', 'title' => ''],
+ 'MessageTraceLists' => [
+ 'description' => 'The message traces.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => ['description' => 'The time when the message was sent.'."\n", 'type' => 'string', 'example' => '2021-05-21 15:08:19.210', 'title' => ''],
+ 'Action' => ['description' => 'The action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **pub_mqtt**: indicates that the message was sent by an ApsaraMQ for MQTT client.'."\n"
+ .'* **pub_mq**: indicates that the message was sent by an ApsaraMQ for RocketMQ client.'."\n", 'type' => 'string', 'example' => 'pub_mqtt', 'title' => ''],
+ 'ActionCode' => ['description' => 'The returned code for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **mqtt.trace.action.msg.pub.mqtt**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
+ .'* **mqtt.trace.action.msg.pub.mq**: This value is returned if the value of Action is **pub_mq**.'."\n", 'type' => 'string', 'example' => 'mqtt.trace.action.msg.pub.mqtt', 'title' => ''],
+ 'ActionInfo' => ['description' => 'The returned information for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'* **Pub From Mqtt Client**: This value is returned if the value of Action is **pub_mqtt**.'."\n"
+ .'* **Pub From MQ**: This value is returned if the value of Action is **pub_mq**.'."\n", 'type' => 'string', 'example' => 'Pub From Mqtt Client', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.'."\n", 'type' => 'string', 'example' => 'AC1EC0030EAB78308DB16A3EC773BD95', 'title' => ''],
+ 'ClientId' => ['description' => 'The ID of the client that sends the message.'."\n", 'type' => 'string', 'example' => 'GID_test@@@producer', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"69AD5550-BF22-438A-9202-A6E89185****\\",\\n \\"MessageTraceLists\\": [\\n {\\n \\"Time\\": \\"2021-05-21 15:08:19.210\\",\\n \\"Action\\": \\"pub_mqtt\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.pub.mqtt\\",\\n \\"ActionInfo\\": \\"Pub From Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC0030EAB78308DB16A3EC773BD95\\",\\n \\"ClientId\\": \\"GID_test@@@producer\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryMqttTraceMessagePublishResponse>\\n <MessageTraceLists>\\n <Action>pub_mqtt</Action>\\n <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>\\n <ClientId>GID_test@@@producer</ClientId>\\n <Time>2021-05-21 15:08:19.210</Time>\\n <ActionInfo>Pub From Mqtt Client</ActionInfo>\\n <MsgId>AC1EC0030EAB78308DB16A3EC773****</MsgId>\\n </MessageTraceLists>\\n <RequestId>69AD5550-BF22-438A-9202-A6E89185****</RequestId>\\n</QueryMqttTraceMessagePublishResponse>","errorExample":""}]',
+ 'title' => 'QueryMqttTraceMessagePublish',
+ 'summary' => 'Queries the trace of a message. If a message is not sent or received as expected, you can call this operation to view the message details to troubleshoot the issue. For example, you can query the time when the message is published and the client that publishes the message.',
+ 'description' => '* Each successful call to the **QueryMqttTraceMessagePublish** operation increases the messaging transactions per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
+ .'* You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttPubTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"11568B5B-13A8-4E72-9DBA-3A14F7D3****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"Username\\": \\"test\\",\\n \\"Secret\\": \\"62a5916d71767185b48907d85c2efa****\\",\\n \\"IdentityType\\": \\"USER\\",\\n \\"ClientId\\": \\"GID_ICP@@@4d378084\\",\\n \\"SignMode\\": \\"SIGNED\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAXA+GzVqTutYpgkFjBrchKzuvSbpuTqtt6OF9tsC9QnJ\\"\\n }\\n}","type":"json"}]',
- 'title' => 'QueryCustomAuthIdentity',
],
- 'DeleteCustomAuthIdentity' => [
- 'summary' => 'Deletes an identity for custom authorization.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'QueryMqttTraceMessageSubscribe' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
+ 'operationType' => 'none',
+ 'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '84629',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'name' => 'MqttRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the ApsaraMQ for MQTT instance resides. For more information, see [Endpoints](~~181438~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Username',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The username.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section of the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'mqtt-cn-i7m26mf****', 'title' => ''],
],
[
- 'name' => 'IdentityType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
+ 'name' => 'Reverse',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the returned results are displayed in reverse chronological order. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The returned results are displayed in reverse order of the time when messages are delivered. This means that the latest consumed message is displayed as the first entry and the earliest consumed message is displayed as the last entry.'."\n"
+ ."\n"
+ .'- **false**: The returned results are displayed in order of the time when messages are delivered. This means that the earliest consumed message is displayed as the first entry and the latest consumed message is displayed as the last entry.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the returned results are displayed in order of time when messages are delivered.', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test@@@test',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the client that subscribes to the message. If you do not specify this parameter, the IDs of all clients that subscribe to the message are returned.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'GID_test@@@consumer', 'title' => ''],
+ ],
+ [
+ 'name' => 'BeginTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1621936800000', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854774807', 'minimum' => '-9223372036854774808', 'example' => '1618646400000', 'title' => ''],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. If the input parameter value is greater than the total number of pages, the returned result is empty.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'example' => '5', 'title' => ''],
+ ],
+ [
+ 'name' => 'MsgId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The message ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maxLength' => 2147483647, 'minLength' => 0, 'example' => 'AC1EC1B33D5978308DB17F3245E4****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '11568B5B-13A8-4E72-9DBA-3A14F7D3****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful. Other status codes indicate that the request failed.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
+ 'CurrentPage' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique ID that the system generates for the request. You can use the ID to troubleshoot issues. This parameter is a common parameter.', 'type' => 'string', 'example' => '4E685844-ADAF-4D85-9EAC-F9471E8C****', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
+ 'Total' => ['description' => 'The returned delivery traces.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'MessageTraceLists' => [
+ 'description' => 'The delivery trace of the queried message.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => ['description' => 'The time when the message was delivered.', 'type' => 'string', 'example' => '2021-05-25 16:46:41.274', 'title' => ''],
+ 'Action' => ['description' => 'The action on the message. Valid values:'."\n"
+ ."\n"
+ .'- **sub**: The ApsaraMQ for MQTT client subscribes to the message.'."\n"
+ ."\n"
+ .'- **push\\_offline**: The ApsaraMQ for MQTT broker pushes the offline message to the ApsaraMQ for MQTT client.', 'type' => 'string', 'example' => 'sub', 'title' => ''],
+ 'ActionCode' => ['description' => 'The code returned for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'- **mqtt.trace.action.msg.sub**: The value that is returned if the value of Action is **sub**.'."\n"
+ ."\n"
+ .'- **mqtt.trace.action.msg.push.offline**: The value that is returned if the value of Action is **push\\_offline**.', 'type' => 'string', 'example' => 'mqtt.trace.action.msg.sub', 'title' => ''],
+ 'ActionInfo' => ['description' => 'The returned information for the action on the message. Valid values:'."\n"
+ ."\n"
+ .'- **Push To Mqtt Client**: The value that is returned if the value of Action is **sub**.'."\n"
+ ."\n"
+ .'- **Push Offline Msg To Mqtt Client**: The value that is returned if the value of Action is **push\\_offline**.', 'type' => 'string', 'example' => 'Push To Mqtt Client', 'title' => ''],
+ 'MsgId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => 'AC1EC1B33D5978308DB17F3245E4****', 'title' => ''],
+ 'ClientId' => ['description' => 'The ID of the client that subscribes to the message.', 'type' => 'string', 'example' => 'GID_test@@@consumer', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => 'QueryMqttTraceMessageSubscribe',
+ 'summary' => 'Queries the delivery trace of a message. If a message is not sent or received as expected, you can call this operation to view the details about the message. For example, you can query the clients that subscribe to the message and the time when the message is delivered. This operation helps you locate the problem and identify the cause of the problem.',
+ 'description' => '- Each successful call to the **QueryMqttTraceMessageSubscribe** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n"
+ ."\n"
+ .'- You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## 控制台操作'."\n"
+ .'除了调用**QueryMqttTraceMessageSubscribe**接口,您还可以通过微消息队列MQTT版控制台查看消息的投递轨迹。具体操作,请参见[消息轨迹查询](~~205708~~)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceMessageSubscribe'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttSubTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"11568B5B-13A8-4E72-9DBA-3A14F7D3****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'DeleteCustomAuthIdentity',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"4E685844-ADAF-4D85-9EAC-F9471E8C****\\",\\n \\"PageSize\\": 5,\\n \\"Total\\": 2,\\n \\"MessageTraceLists\\": [\\n {\\n \\"Time\\": \\"2021-05-25 16:46:41.274\\",\\n \\"Action\\": \\"sub\\",\\n \\"ActionCode\\": \\"mqtt.trace.action.msg.sub\\",\\n \\"ActionInfo\\": \\"Push To Mqtt Client\\",\\n \\"MsgId\\": \\"AC1EC1B33D5978308DB17F3245E4****\\",\\n \\"ClientId\\": \\"GID_test@@@consumer\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'AddCustomAuthPermission' => [
- 'summary' => 'Grants permissions on topics. You must create a parent topic in the console before you call this API operation.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'QuerySessionByClientId' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREonsICR0M4'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-0pp12gl****',
- ],
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT client that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'IdentityType',
- 'in' => 'formData',
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The identity type. Valid values: USER and CLIENT.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
+ 'type' => 'object',
+ 'properties' => [
+ 'OnlineStatus' => ['description' => 'Indicates whether the ApsaraMQ for MQTT client is connected to the ApsaraMQ for MQTT broker. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.', 'type' => 'string', 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBBC0E****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
+ ],
[
- 'name' => 'Identity',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The username or client ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
+ 417 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'QuerySessionByClientId',
+ 'summary' => 'Queries the running status of an ApsaraMQ for MQTT client. You can troubleshoot issues based on the queried results. You can enter the ID of an ApsaraMQ for MQTT client to check the connection status and IP address of the device.',
+ 'description' => '- You can call this operation up to 500 times per second.\\*\\*\\*\\* For more information, see [Limits on QPS](~~163047~~).'."\n"
+ ."\n"
+ .'- Each successful call to the **QuerySessionByClientId** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~178121~~) and [Endpoints](~~181438~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySessionByClientId'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'PermitAction',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The permissions that you want to grant.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'PUB_SUB',
- 'enum' => [
- 'PUB',
- 'SUB',
- 'PUB_SUB',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OnlineStatus\\": true,\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBBC0E****\\"\\n}","type":"json"}]',
+ ],
+ 'QueryToken' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'Effect',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to allow or deny access.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ALLOW',
- 'enum' => [
- 'ALLOW',
- 'DENY',
- ],
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
- 'name' => 'Topic',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The topics on which you want to grant permissions. Multi-level topics and wildcard characters are supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test/t1',
- ],
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that you want to query.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
+ 'TokenStatus' => ['description' => 'The status of the queried token. Valid values:'."\n"
+ ."\n"
+ .'* **true**: indicates the token is valid.'."\n"
+ .'* **false**: indicates the token is invalid.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '5C8AADD0-6A95-436D-AFA0-3405CCE3****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'Customauth.over.capacity',
- 'errorMessage' => 'Over custom auth capacity.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'QueryTokenOverFlow', 'errorMessage' => 'You have queried tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'AddCustomAuthPermission',
- ],
- 'UpdateCustomAuthPermission' => [
- 'summary' => 'Updates the permissions on a topic.',
- 'methods' => [
- 'post',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TokenStatus\\": true,\\n \\"RequestId\\": \\"5C8AADD0-6A95-436D-AFA0-3405CCE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<QueryTokenResponse>\\r\\n<RequestId>5C8AADD0-6A95-436D-AFA0-3405CCE3****</RequestId>\\r\\n<TokenStatus>true</TokenStatus>\\r\\n</QueryTokenResponse>","errorExample":""}]',
+ 'title' => 'QueryToken',
+ 'summary' => 'Queries the status of a token. If token-based authentication is used for permission authentication on an ApsaraMQ for MQTT broker, a token that is issued by the broker is required for authentication each time a client is connected to the broker. A token is a temporary credential and is valid only within a specific period of time. You can call this operation to query whether a token expires.',
+ 'description' => '* You can call this operation up to 100 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
+ .'* Each successful call to the **QueryToken** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryToken'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'RefreshDeviceCredential' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5968,860 +4235,592 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
+ 'operationType' => 'none',
+ 'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'ID of the Cloud Message Queue MQTT version instance.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
- ],
- [
- 'name' => 'IdentityType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
- ],
- [
- 'name' => 'Identity',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Username or Client ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'PermitAction',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The permissions that you want to grant.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'PUB_SUB',
- 'enum' => [
- 'PUB',
- 'SUB',
- 'PUB_SUB',
- ],
- ],
- ],
- [
- 'name' => 'Effect',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to allow or deny access.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ALLOW',
- 'enum' => [
- 'ALLOW',
- 'DENY',
- ],
- ],
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client ID of the device whose access credential you want to update.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'Topic',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Authorized Topic, supporting multi-level MQTT topics and wildcards.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test/t1',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '8CC04203-679B-4DED-89D9-E7C2E979****',
- ],
- 'Code' => [
- 'description' => 'Error code returned upon failed invocation. For more information, see Error Codes.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the call was successful. true: Call succeeded. false: Call failed.',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'Information',
- 'type' => 'string',
- 'example' => 'operation success.',
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.', 'type' => 'string', 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBDC0F****', 'title' => ''],
+ 'DeviceCredential' => [
+ 'description' => 'The access credential of the device.',
+ 'type' => 'object',
+ 'properties' => [
+ 'UpdateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was last updated. The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'DeviceAccessKeyId' => ['description' => 'The AccessKey ID of the device.', 'type' => 'string', 'example' => 'DC.Z5fXh9sRRVufyLi6wo****', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was created. The value of this parameter is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ 'DeviceAccessKeySecret' => ['description' => 'The AccessKey secret of the device.', 'type' => 'string', 'example' => 'DC.BJMkn4eMQJK2vaApTS****', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID of the device.', 'type' => 'string', 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNotFound', 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNumExceed', 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialExsit', 'errorMessage' => 'Device Credential Exsit.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8CC04203-679B-4DED-89D9-E7C2E979****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'UpdateCustomAuthPermission',
- 'translator' => 'machine',
- ],
- 'QueryCustomAuthPermission' => [
- 'summary' => 'Queries the authorization information about a topic.',
- 'methods' => [
- 'get',
+ 'title' => 'RefreshDeviceCredential',
+ 'summary' => 'Updates the access credential of a device.',
+ 'description' => '## [](#)Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
+ ."\n"
+ .'> Each successful call to the **RefreshDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshDeviceCredential'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:RefreshDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBDC0F****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'RegisterCaCertificate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
+ 'abilityTreeCode' => '141175',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
- ],
- [
- 'name' => 'IdentityType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The identity type.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
- ],
- [
- 'name' => 'Identity',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The username or client ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance to which you want to bind the CA certificate.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-7mz2d******', 'title' => ''],
],
[
- 'name' => 'Topic',
+ 'name' => 'CaName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The topic whose authorization information you want to query. Multi-level topics and wildcard characters are supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The name of the CA certificate that you want to register with an ApsaraMQ for MQTT broker.', 'type' => 'string', 'required' => true, 'example' => 'mqtt_ca', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'CaContent',
'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' => 'AAAAAThmKW2HkRgzo4G7IRRTK2fC6zZmAk6y0bwoNPFOOcSP',
- ],
+ 'schema' => ['description' => 'The content of the CA certificate that you want to register with an ApsaraMQ for MQTT broker.'."\n"
+ ."\n"
+ .'> In the example, '."\n"
+ .' indicates a line feed.', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END CERTIFICATE-----', 'title' => ''],
],
[
- 'name' => 'Size',
+ 'name' => 'VerificationContent',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of queries to be returned. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '100',
- ],
+ 'schema' => ['description' => 'The content of the validation certificate issued by the CA certificate that you want to register with an ApsaraMQ for MQTT broker. The validation certificate must be used together with the registration code of the CA certificate to verify the private key of the CA certificate.'."\n"
+ ."\n"
+ .'> In the example, '."\n"
+ .' indicates a line feed.', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE-----\\nMIID/DCCAu+Y5sRMpp9tnd+4s******\\n-----END CERTIFICATE-----', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '63309FDB-ED6C-46AE-B31C-A172FBA0****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Results' => [
- 'description' => 'The response results.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Identity' => [
- 'description' => 'The username or client ID.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'PermitAction' => [
- 'description' => 'The authorized permissions.'."\n",
- 'type' => 'string',
- 'example' => 'PUB_SUB',
- ],
- 'Effect' => [
- 'description' => 'Indicates whether to allow or deny access.'."\n",
- 'type' => 'string',
- 'example' => 'ALLOW',
- ],
- 'IdentityType' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'example' => 'USER',
- ],
- 'Topic' => [
- 'description' => 'The topic name. Multi-level topics and wildcard characters are supported.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- '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',
- 'example' => 'AAAAAV/vsqTyeMlX1MIk7/b6NrZLIlsSVf49O04ac7HAmlBoaYspakK7ZZkR3vRDp5Y9Nz0EmuWYrtF+1qkUwuJzPk/qEto/FGxl5Kd+qdwNt3t8',
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****'],
+ 'Sn' => ['description' => 'The serial number of the registered CA certificate. The serial number is the unique identifier of a CA certificate.', 'type' => 'string', 'example' => '007269004887******', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
+ ['errorCode' => 'RegisterCodeError', 'errorMessage' => 'Register code error in verification certificate.', 'description' => ''],
+ ['errorCode' => 'ParameterFieldCheckFailed', 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'MqttApplyCluster4InstanceFailed', 'errorMessage' => 'the instance can not find cluster.', 'description' => 'The instance failed to obtain cluster information.'],
+ ['errorCode' => 'SystemError', 'errorMessage' => 'system error.', 'description' => 'System error, please try again'],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ [
+ ['errorCode' => 'RegisterCodeUsed', 'errorMessage' => 'Register code has been used.', 'description' => ''],
+ ['errorCode' => 'GetCaNumError', 'errorMessage' => 'Failed to get ca num. Try again later.', 'description' => ''],
+ ['errorCode' => 'CaNumExceed', 'errorMessage' => 'CA certificate num exceed', 'description' => ''],
+ ['errorCode' => 'CertificateContentError', 'errorMessage' => 'Certificate content error, please check ca/verification certificate content. BasicConstraints extension should be set to true in CA certificate', 'description' => ''],
+ ['errorCode' => 'SnNotUnique', 'errorMessage' => 'Sn is not unique in gloabal', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'RegisterCaCertificate',
+ 'summary' => 'RegisterCaCertificate',
+ 'description' => '- Only ApsaraMQ for MQTT Enterprise Platinum Edition instances support this operation.'."\n"
+ ."\n"
+ .'- You can call this operation up to 500 times per second per Alibaba Cloud account. If you want to increase the limit, join the DingTalk group (ID: 35228338) to contact ApsaraMQ for MQTT technical support.',
+ 'extraInfo' => '- Only Platinum and Professional instances support using the RegisterCaCertificate interface. - The request frequency limit per user is 500 times/second. For special requirements, please contact Cloud Message Queue MQTT version technical support, DingTalk group number: 35228338.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterCaCertificate'],
+ ],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:RegisterCa',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"63309FDB-ED6C-46AE-B31C-A172FBA0****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"Identity\\": \\"test\\",\\n \\"PermitAction\\": \\"PUB_SUB\\",\\n \\"Effect\\": \\"ALLOW\\",\\n \\"IdentityType\\": \\"USER\\",\\n \\"Topic\\": \\"test\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAV/vsqTyeMlX1MIk7/b6NrZLIlsSVf49O04ac7HAmlBoaYspakK7ZZkR3vRDp5Y9Nz0EmuWYrtF+1qkUwuJzPk/qEto/FGxl5Kd+qdwNt3t8\\"\\n }\\n}","type":"json"}]',
- 'title' => 'QueryCustomAuthPermission',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Sn\\": \\"007269004887******\\"\\n}","type":"json"}]',
],
- 'DeleteCustomAuthPermission' => [
- 'summary' => 'Deletes permissions on a topic.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'RegisterDeviceCredential' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-0pp1ldu****',
- ],
- ],
- [
- 'name' => 'IdentityType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The identity type. Valid values:'."\n"
- ."\n"
- .'* USER'."\n"
- .'* CLIENT'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'USER',
- 'enum' => [
- 'USER',
- 'CLIENT',
- ],
- ],
- ],
- [
- 'name' => 'Identity',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The username or client ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test',
- ],
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client ID of the device for which you want to create an access credential.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'Topic',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The topic on which you want to grant permissions. Multi-level topics and Wildcard characters are supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'test/t1',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '34063BCA-0946-49C1-B824-2ED2C905****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The message returned.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.', 'type' => 'string', 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DBDC0E****', 'title' => ''],
+ 'DeviceCredential' => [
+ 'description' => 'The access credential of the device.',
+ 'type' => 'object',
+ 'properties' => [
+ 'UpdateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was last updated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'DeviceAccessKeyId' => ['description' => 'The AccessKey ID of the device.', 'type' => 'string', 'example' => 'DC.Z5fXh9sRRVufyLi6wo****', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the access credential of the device was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605541382000', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.', 'type' => 'string', 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ 'DeviceAccessKeySecret' => ['description' => 'The AccessKey secret of the device.', 'type' => 'string', 'example' => 'DC.BJMkn4eMQJK2vaApTS****', 'title' => ''],
+ 'ClientId' => ['description' => 'The client ID of the device.', 'type' => 'string', 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNumExceed', 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNotFound', 'errorMessage' => 'Device Credential Not Found.Check if the device certificate is registered.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialExsit', 'errorMessage' => 'Device Credential Exsit.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34063BCA-0946-49C1-B824-2ED2C905****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'DeleteCustomAuthPermission',
- ],
- 'AddCustomAuthConnectBlack' => [
- 'summary' => 'Adds a device to the connection blacklist to disable connections from the device.',
- 'methods' => [
- 'post',
+ 'title' => 'RegisterDeviceCredential',
+ 'summary' => 'Registers an access credential for a device. In unique-certificate-per-device authentication mode, an application server applies a unique access credential for each device from the corresponding ApsaraMQ for MQTT broker. The access credential of a device consists of the client ID, AccessKey ID, and AccessKey secret of the device. When you connect a device to ApsaraMQ for MQTT, you must configure Username and Password based on the access credential of the device for authentication. You can activate the device and transfer data between the device and ApsaraMQ for MQTT only after the authentication is passed.',
+ 'description' => '- You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
+ ."\n"
+ .'- Each successful call to the **RegisterDeviceCredential** operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterDeviceCredential'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:RegisterDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DBDC0E****\\",\\n \\"DeviceCredential\\": {\\n \\"UpdateTime\\": 1605541382000,\\n \\"DeviceAccessKeyId\\": \\"DC.Z5fXh9sRRVufyLi6wo****\\",\\n \\"CreateTime\\": 1605541382000,\\n \\"InstanceId\\": \\"post-cn-0pp12gl****\\",\\n \\"DeviceAccessKeySecret\\": \\"DC.BJMkn4eMQJK2vaApTS****\\",\\n \\"ClientId\\": \\"GID_test@@@test\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'RevokeToken' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-i7m26mf****',
- ],
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token that you want to revoke.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==', 'title' => ''],
],
[
- 'name' => 'ClientId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The client ID of the device whose connections you want to disable.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com/).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The schema object.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The value 200 indicates that the request is successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the operation is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The message returned.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
+ 'RequestId' => ['description' => 'The request ID. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '833EDFCB-C447-4CE3-B21F-3A4C2D1B****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
- [
- 'errorCode' => 'Customauth.over.capacity',
- 'errorMessage' => 'Over custom auth capacity.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'RevokeTokenOverFlow', 'errorMessage' => 'You have revoked tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'AddCustomAuthConnectBlack',
- ],
- 'DeleteCustomAuthConnectBlack' => [
- 'summary' => 'Deletes a connection blacklist.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"833EDFCB-C447-4CE3-B21F-3A4C2D1B****\\"\\n}","errorExample":""},{"type":"xml","example":"<RevokeTokenResponse>\\r\\n<RequestId>833EDFCB-C447-4CE3-B21F-3A4C2D1B****</RequestId>\\r\\n</RevokeTokenResponse>","errorExample":""}]',
+ 'title' => 'RevokeToken',
+ 'summary' => 'Revokes a token.',
+ 'description' => '* You can call this operation up to 5 times per second per account. If you want to increase the limit, join the DingTalk group 35228338 to contact ApsaraMQ for MQTT technical support.'."\n"
+ .'* Each successful call to the **RevokeToken** operation increases the messaging transactions per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:RevokeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SendMessage' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'none'],
'parameters' => [
[
+ 'name' => 'MqttTopic',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The topic to which you want to send a message on the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TopicA', 'title' => ''],
+ ],
+ [
'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-cn-0pp12gl****',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the **Basic Information** section on the **Instance Details** page that corresponds to the instance in the [ApsaraMQ for MQTT console](https://mqtt.console.aliyun.com).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
[
- 'name' => 'ClientId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT client.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'GID_test@@@test',
- ],
+ 'name' => 'Payload',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The message content, which is the payload of the message. We recommend that you encode the content in Base64 to prevent non-printable characters from being transmitted.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '317076B7-F946-46BC-A98F-4CF9777C****',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the operation was successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The error message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
+ 'MsgId' => ['description' => 'The unique message ID that is returned by the ApsaraMQ for MQTT broker after the message is sent.'."\n", 'type' => 'string', 'example' => '0B736D997B7F45FF54E61C1C1B58****', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.'."\n", 'type' => 'string', 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SendMessageFailed', 'errorMessage' => 'A storage exception occurred while sending the message. Please try again.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"MsgId\\": \\"0B736D997B7F45FF54E61C1C1B58****\\",\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\"\\n}","errorExample":""},{"type":"xml","example":"<SendMessageResponse>\\n <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>\\n <MsgId>0B736D997B7F45FF54E61C1C1B58****</MsgId>\\n</SendMessageResponse>","errorExample":""}]',
+ 'title' => 'SendMessage',
+ 'summary' => 'Sends a single message from an application on a cloud server to ApsaraMQ for MQTT.',
+ 'description' => '* The **SendMessage** operation is called by an application on a cloud server. This operation is complementary to the operation that is called to send a message from an ApsaraMQ for MQTT client. For information about the differences between the scenarios of sending messages from applications on cloud servers and the scenarios of sending messages from ApsaraMQ for MQTT clients, see [Developer guide](~~179160~~).'."\n"
+ .'* Messages that are sent by calling the **SendMessage** operation cannot be forwarded to ApsaraMQ for RocketMQ. If you want to use an ApsaraMQ for MQTT broker to forward messages to ApsaraMQ for RocketMQ, use [an SDK to send the messages](~~174527~~). The **SendMessage** operation supports up to 1,000 queries per second (QPS). For more information, see [QPS limits](~~163047~~).'."\n"
+ .'* Each successful call to the **SendMessage** operation is calculated as a message transaction per second (TPS). This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).'."\n",
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessage'],
+ ],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:SendMessage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"317076B7-F946-46BC-A98F-4CF9777C****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
- 'title' => 'DeleteCustomAuthConnectBlack',
],
- 'QueryCustomAuthConnectBlack' => [
- 'summary' => 'Queries a client ID in a connection blacklist.',
- 'methods' => [
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'SetSniConfig' => [
+ 'summary' => 'Configures a multi-domain certificate.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
+ 'abilityTreeCode' => '258058',
+ 'abilityTreeNodes' => ['FEATUREonsFLJRJ5'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'post-111****',
- ],
- ],
- [
- 'name' => 'ClientId',
+ 'name' => 'MqttInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the client to be queried.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'GID_test@@@test',
- ],
+ 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'mqtt-cn-5yd3xxx'],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DefaultCertificate',
'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' => 'xOfRU60sGEwN1OlFBIL8Ew==',
- ],
+ 'schema' => ['description' => 'The default certificate. This certificate is returned if no matching domain name is found in the server certificate list.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '1533xxxx-cn-hangzhou'],
],
[
- 'name' => 'Size',
+ 'name' => 'SniConfig',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of clients to be queried. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '100',
- ],
+ 'schema' => ['description' => 'The Server Name Indication (SNI) configuration that maps domain names to certificates. Format: DomainName#CertificateID#Password(if any);DomainName#CertificateID#Password(if any)', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '*.mqtt.aliyuncs.com#15xxxxx-cn-hangzhou;mqtt-test.mqtt.aliyuncs.com#15xxxx9-cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '020F6A43-19E6-4B6E-B846-44EB31DF****',
- ],
- 'Code' => [
- 'description' => 'The HTTP status code. The status code 200 indicates that the request is successful. Other status codes indicate that the request failed. For a list of error codes, see Error codes.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Data' => [
- 'description' => 'The returned data.'."\n",
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DQDC0E****'],
+ 'Success' => ['description' => 'Indicates whether the call was successful. A value of \\`true\\` indicates that the call was successful. A value of \\`false\\` indicates that the call failed.', 'type' => 'string', 'example' => 'True', 'title' => ''],
+ 'AccessDeniedDetail' => [
+ 'description' => 'The details about the access denial.',
'type' => 'object',
'properties' => [
- 'Results' => [
- 'description' => 'The returned results.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'ClientId' => [
- 'description' => 'The client ID.'."\n",
- 'type' => 'string',
- 'example' => 'GID_TEST@@@test',
- ],
- 'Effect' => [
- 'description' => 'Indicates whether to allow or deny access.'."\n",
- 'type' => 'string',
- 'example' => 'ALLOW',
- ],
- 'PermitAction' => [
- 'description' => 'The authorized permissions.'."\n",
- 'type' => 'string',
- 'example' => 'CONNECT',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAZ0cM0HTqLXvgm7oMHWXcvc=',
- ],
+ 'AuthAction' => ['description' => 'The unauthorized operation that was attempted.', 'type' => 'string', 'example' => 'SetSniConfig', 'title' => ''],
+ 'AuthPrincipalDisplayName' => ['description' => 'The display name of the authorization entity.', 'type' => 'string', 'example' => '2063xxxxxxxx533', 'title' => ''],
+ 'AuthPrincipalOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the authorization entity.', 'type' => 'string', 'example' => '1245xxxxx34343', 'title' => ''],
+ 'AuthPrincipalType' => ['description' => 'The type of the authorization entity.', 'type' => 'string', 'example' => 'SubUser', 'title' => ''],
+ 'EncodedDiagnosticMessage' => ['description' => 'The encoded diagnostic information.', 'type' => 'string', 'example' => 'AQFma6gWZmuoFkMxQ0M3MUVCLTRFQzQtNTI1OS1BQ0Q0LTlBMTFGQkVDOTA3Qw==', 'title' => ''],
+ 'NoPermissionType' => ['description' => 'The type of permission denial.', 'type' => 'string', 'example' => 'ImplicitDeny', 'title' => ''],
+ 'PolicyType' => ['description' => 'The policy type.', 'type' => 'string', 'example' => 'AccountLevelIdentityBasedPolicy', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
- ],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
- ],
+ ['errorCode' => 'MqttInstanceNotFound', 'errorMessage' => 'Specified instance is not found', 'description' => ''],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
- ],
+ 403 => [
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DQDC0E****\\",\\n \\"Success\\": \\"True\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"SetSniConfig\\",\\n \\"AuthPrincipalDisplayName\\": \\"2063xxxxxxxx533\\",\\n \\"AuthPrincipalOwnerId\\": \\"1245xxxxx34343\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFma6gWZmuoFkMxQ0M3MUVCLTRFQzQtNTI1OS1BQ0Q0LTlBMTFGQkVDOTA3Qw==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'SetSniConfig',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:SetSniConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetSniConfig'],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"020F6A43-19E6-4B6E-B846-44EB31DF****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"Data\\": {\\n \\"Results\\": [\\n {\\n \\"ClientId\\": \\"GID_TEST@@@test\\",\\n \\"Effect\\": \\"ALLOW\\",\\n \\"PermitAction\\": \\"CONNECT\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAZ0cM0HTqLXvgm7oMHWXcvc=\\"\\n }\\n}","type":"json"}]',
- 'title' => 'QueryCustomAuthConnectBlack',
],
'TagResources' => [
- 'summary' => 'Add tags to resources.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => 'Adds tags to resources.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6834,36 +4833,26 @@
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '255118',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'instance',
- ],
+ 'schema' => ['description' => 'The resource type. The value must be instance.', 'type' => 'string', 'required' => true, 'example' => 'instance', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => '',
+ 'description' => 'A list of resource IDs.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'mqtt-cn-5yd3xxx'."\n",
- ],
+ 'items' => ['description' => 'The resource ID. Currently, only instances are supported.', 'type' => 'string', 'required' => false, 'example' => 'mqtt-cn-5yd3xxx'."\n", 'title' => ''],
'required' => true,
'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -6871,29 +4860,23 @@
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => '',
+ 'description' => 'A list of tags. You can add up to 20 tags at a time. A resource can have a maximum of 20 tags.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The tag object of the resource.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => true,
'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -6901,250 +4884,151 @@
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The returned object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Data' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '82B9E503-F4A1-4F30-976F-C6999FF9****'],
+ 'Code' => ['description' => 'The status code of the API call.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Data' => ['description' => 'The result of the call.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
- [
- 'errorCode' => 'ResourceIdNotFound',
- 'errorMessage' => 'resourceId does not exist.',
- ],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
+ ['errorCode' => 'ResourceIdNotFound', 'errorMessage' => 'resourceId does not exist.', 'description' => 'The tag resource does not exist.'],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": \\"200\\",\\n \\"Data\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
'title' => 'TagResources',
- 'translator' => 'machine',
- ],
- 'ListTagResources' => [
- 'summary' => 'Queries the tags that are added to resources.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:TagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
+ ],
],
+ ],
+ 'UnRegisterDeviceCredential' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeCode' => '255352',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'instance',
- ],
- ],
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'mqtt-cn-5yd3xxx',
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
- ],
- [
- 'name' => 'Tag',
+ 'name' => 'ClientId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
+ 'schema' => ['description' => 'The client ID of the device whose access credential you want to deregister.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'GID_test@@@test', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAAAaFXUH1VTHnBlds7StUakOQ=',
- ],
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the **Instance Details** page that corresponds to the instance in the ApsaraMQ for MQTT console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '34063BCA-0946-49C1-B824-2ED2C905****',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'NextToken' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'AAAAAaFXUH1VTHnBlds7StUakOQ=',
- ],
- 'TagResources' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'ResourceType' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'instance',
- ],
- 'TagValue' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'ResourceId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'mqtt-cn-5yd3xxx'."\n",
- ],
- 'TagKey' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The unique ID that the system generates for the request. This parameter is a common parameter.', 'type' => 'string', 'example' => 'E4581CCD-62AF-44D9-B5B4-D1DBDC0E****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
- [
- 'errorCode' => 'ResourceIdNotFound',
- 'errorMessage' => 'resourceId does not exist.',
- ],
+ ['errorCode' => 'ApplyTokenOverFlow', 'errorMessage' => 'You have applied for tokens too many times. Please try again later.', 'description' => ''],
+ ['errorCode' => 'CheckAccountInfoFailed', 'errorMessage' => 'An error occurred while checking the account information by the STS token.', 'description' => ''],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'ParameterCheckFailed', 'errorMessage' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNotFound', 'errorMessage' => 'Device Credential Not Found. Check if the device certificate is registered.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialExsit', 'errorMessage' => 'Device Credential Exsit.', 'description' => ''],
+ ['errorCode' => 'DeviceCredentialNumExceed', 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request. Try again later.', 'description' => ''],
+ ['errorCode' => 'SystemOverFlow', 'errorMessage' => 'An error occurred while processing your request. Please try again.', 'description' => ''],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'UnRegisterDeviceCredential',
+ 'summary' => 'Deregisters the access credential of a device. After the access credential of a device is deregistered, you can no longer use the access credential to authenticate the device on the ApsaraMQ for MQTT broker.',
+ 'description' => '- You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see [Limits on QPS](~~163047~~).'."\n"
+ ."\n"
+ .'- Each successful call to the **UnRegisterDeviceCredential** operation increases the number of transactions per second (TPS) by one. This affects the billing of your instance. For more information, see [Billing rules](~~52819~~).',
+ 'requestParamsDescription' => '> For information about other parameters, see [Common parameters](~~163046~~) and [Endpoints](~~181438~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnRegisterDeviceCredential'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34063BCA-0946-49C1-B824-2ED2C905****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"operation success.\\",\\n \\"Success\\": \\"true\\",\\n \\"NextToken\\": \\"AAAAAaFXUH1VTHnBlds7StUakOQ=\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"instance\\",\\n \\"TagValue\\": \\"test\\",\\n \\"ResourceId\\": \\"mqtt-cn-5yd3xxx\\\\n\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'ListTagResources',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCD-62AF-44D9-B5B4-D1DBDC0E****\\"\\n}","type":"json"}]',
],
'UntagResources' => [
'summary' => 'Removes tags from resources.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7157,9 +5041,7 @@
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '257391',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
+ 'abilityTreeNodes' => ['FEATUREons3CYUNP'],
],
'parameters' => [
[
@@ -7167,16 +5049,13 @@
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => '',
+ 'description' => 'A list of tag keys to remove.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tagkeyTest',
- ],
+ 'items' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'tagkeyTest', 'title' => ''],
'required' => false,
'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -7184,249 +5063,198 @@
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => '',
+ 'description' => 'A list of resource IDs.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'mqtt-cn-5yd3xxx'."\n",
- ],
+ 'items' => ['description' => 'The ID of the resource. Only instances are supported.', 'type' => 'string', 'required' => false, 'example' => 'mqtt-cn-5yd3xxx'."\n", 'title' => ''],
'required' => true,
'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'instance',
- ],
+ 'schema' => ['description' => 'The type of the resource. The value must be \\`instance\\`.', 'type' => 'string', 'required' => true, 'example' => 'instance', 'title' => ''],
],
[
'name' => 'All',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'False',
- ],
+ 'schema' => ['description' => 'Specifies whether to remove all tags from the resources. This parameter takes effect only when `TagKey.N` is empty. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ ."\n"
+ .'- false'."\n"
+ ."\n"
+ .'Default: false', 'type' => 'boolean', 'required' => false, 'example' => 'False', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The returned object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => 'B3C2F69B-B543-49B0-8B21-C8843AE0****',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Data' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B3C2F69B-B543-49B0-8B21-C8843AE0****'],
+ 'Code' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Data' => ['description' => 'The result of the call.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'ResourceIdNotFound',
- 'errorMessage' => 'resourceId does not exist.',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'ResourceIdNotFound', 'errorMessage' => 'resourceId does not exist.', 'description' => 'The tag resource does not exist.'],
+ ['errorCode' => 'MqttOwnerCheckError', 'errorMessage' => 'Failed to validate the instance permission', 'description' => ''],
],
403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ ['errorCode' => 'PermissionCheckFailed', 'errorMessage' => 'Failed to verify API permissions.', 'description' => 'ram permission check failed'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B3C2F69B-B543-49B0-8B21-C8843AE0****\\",\\n \\"Code\\": \\"200\\",\\n \\"Data\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
'title' => 'UntagResources',
- ],
- 'SetSniConfig' => [
- 'summary' => 'Configures a multi-domain certificate.',
- 'methods' => [
- 'get',
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:UnTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ ],
],
+ ],
+ 'UpdateCustomAuthIdentity' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '258058',
- 'abilityTreeNodes' => [
- 'FEATUREonsFLJRJ5',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'MqttInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '实例ID',
- 'description' => 'The instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-5yd3xxx',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'post-111****', 'title' => ''],
],
[
- 'name' => 'DefaultCertificate',
- 'in' => 'query',
+ 'name' => 'Username',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The username. The value cannot exceed 64 characters in length.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Secret',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The AccessKey secret.'."\n", 'type' => 'string', 'required' => true, 'example' => 'xxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'title' => '默认证书。当服务端证书列表中没有对应的域名能够匹配,则返回该证书。',
- 'description' => 'The default certificate. If the domain name that you access cannot match the certificates of the broker, the default certificate is returned.'."\n",
+ 'description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n",
'type' => 'string',
'required' => true,
- 'example' => '1533xxxx-cn-hangzhou',
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
[
- 'name' => 'SniConfig',
- 'in' => 'query',
+ 'name' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The client ID if you set IdentityType to CLIENT.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GID_test@@@test', 'title' => ''],
+ ],
+ [
+ 'name' => 'SignMode',
+ 'in' => 'formData',
'schema' => [
- 'title' => 'SNI配置,实现域名和证书映射。格式为:域名#证书ID#密码(如果有);域名#证书ID#密码(如果有);',
- 'description' => 'The Server Name Indication (SNI) configuration. This parameter is used to map domain names and certificates. Format: Domain name#Certificate ID#Password (if available);Domain name#Certificate ID#Password (if available).'."\n",
+ 'description' => 'The signature verification mode. ORIGIN: compares the password and the AccessKey secret. SIGNED: uses the HMAC_SHA1 algorithm to sign the client ID to obtain a password and then compares the password.'."\n",
'type' => 'string',
- 'required' => false,
- 'example' => '*.mqtt.aliyuncs.com#15xxxxx-cn-hangzhou;mqtt-test.mqtt.aliyuncs.com#15xxxx9-cn-hangzhou',
+ 'required' => true,
+ 'example' => 'SIGNED',
+ 'enum' => ['ORIGIN', 'SIGNED'],
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'E4581CCF-62AF-44D9-B5B4-D1DQDC0E****',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'True',
- ],
- 'AccessDeniedDetail' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'AuthAction' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'SetSniConfig',
- ],
- 'AuthPrincipalDisplayName' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '2063xxxxxxxx533',
- ],
- 'AuthPrincipalOwnerId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '1245xxxxx34343',
- ],
- 'AuthPrincipalType' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'SubUser',
- ],
- 'EncodedDiagnosticMessage' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'AQFma6gWZmuoFkMxQ0M3MUVCLTRFQzQtNTI1OS1BQ0Q0LTlBMTFGQkVDOTA3Qw==',
- ],
- 'NoPermissionType' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'ImplicitDeny',
- ],
- 'PolicyType' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'AccountLevelIdentityBasedPolicy',
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '3F00084A-7F07-4B15-BADA-8903A4FB****'],
+ 'Code' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true and false.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MqttInstanceNotFound',
- 'errorMessage' => 'Specified instance is not found',
- ],
- [
- 'errorCode' => 'MqttOwnerCheckError',
- 'errorMessage' => 'Failed to validate the instance permission',
- ],
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
],
- 403 => [
- [
- 'errorCode' => 'PermissionCheckFailed',
- 'errorMessage' => 'Failed to verify API permissions.',
- ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4581CCF-62AF-44D9-B5B4-D1DQDC0E****\\",\\n \\"Success\\": \\"True\\",\\n \\"AccessDeniedDetail\\": {\\n \\"AuthAction\\": \\"SetSniConfig\\",\\n \\"AuthPrincipalDisplayName\\": \\"2063xxxxxxxx533\\",\\n \\"AuthPrincipalOwnerId\\": \\"1245xxxxx34343\\",\\n \\"AuthPrincipalType\\": \\"SubUser\\",\\n \\"EncodedDiagnosticMessage\\": \\"AQFma6gWZmuoFkMxQ0M3MUVCLTRFQzQtNTI1OS1BQ0Q0LTlBMTFGQkVDOTA3Qw==\\",\\n \\"NoPermissionType\\": \\"ImplicitDeny\\",\\n \\"PolicyType\\": \\"AccountLevelIdentityBasedPolicy\\"\\n }\\n}","type":"json"}]',
- 'title' => 'SetSniConfig',
- ],
- 'DisasterDowngrade' => [
- 'summary' => 'Downgrades the virtual IP address (VIP) access of a specific instance during the disaster recovery of multiple instances. Only Enterprise Platinum Edition instances support this operation. To call the operation, you must submit a ticket.',
- 'methods' => [
- 'post',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F00084A-7F07-4B15-BADA-8903A4FB****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateCustomAuthIdentity',
+ 'summary' => 'Updates the information about custom identity authentication.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCustomAuthIdentity'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateCustomAuthPermission' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7434,316 +5262,974 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'abilityTreeCode' => '263645',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'high', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'formData',
+ 'schema' => ['description' => 'ID of the Cloud Message Queue MQTT version instance.', 'type' => 'string', 'required' => true, 'example' => 'post-cn-0pp12gl****', 'title' => ''],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
+ 'description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'* USER'."\n"
+ .'* CLIENT'."\n",
'type' => 'string',
'required' => true,
- 'example' => 'mqtt-cn-xxx',
+ 'example' => 'USER',
+ 'enum' => ['USER', 'CLIENT'],
+ 'title' => '',
],
],
[
- 'name' => 'DowngradeInstanceId',
+ 'name' => 'Identity',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Username or Client ID.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'PermitAction',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The permissions that you want to grant.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PUB_SUB',
+ 'enum' => ['PUB', 'SUB', 'PUB_SUB'],
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Effect',
'in' => 'formData',
'schema' => [
- 'description' => 'The ID of the ApsaraMQ for MQTT instance for which you want to downgrade the VIP access.'."\n",
+ 'description' => 'Specifies whether to allow or deny access.'."\n",
'type' => 'string',
'required' => true,
- 'example' => 'mqtt-cn-xxxx',
+ 'example' => 'ALLOW',
+ 'enum' => ['ALLOW', 'DENY'],
+ 'title' => '',
],
],
+ [
+ 'name' => 'Topic',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Authorized Topic, supporting multi-level MQTT topics and wildcards.', 'type' => 'string', 'required' => true, 'example' => 'test/t1', 'title' => ''],
+ ],
],
'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' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For information about error codes, see Error codes.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values: true and false.'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial. This parameter is returned only if Resource Access Management (RAM) permission verification failed.'."\n",
- 'type' => 'string',
- 'example' => 'None',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8CC04203-679B-4DED-89D9-E7C2E979****'],
+ 'Code' => ['description' => 'Error code returned upon failed invocation. For more information, see Error Codes.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the call was successful. true: Call succeeded. false: Call failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'Information', 'type' => 'string', 'example' => 'operation success.', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
+ ['errorCode' => 'InstancePermissionCheckFailed', 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter.%s', 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'description' => ''],
+ ],
+ 404 => [
+ ['errorCode' => 'ApiNotSupport', 'errorMessage' => 'The specified API is not supported.', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8CC04203-679B-4DED-89D9-E7C2E979****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateCustomAuthPermission',
+ 'summary' => 'Updates the permissions on a topic.',
+ 'translator' => 'machine',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCustomAuthPermission'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
+ ],
+ ],
+ ],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'mq-internet-access', 'regionName' => 'Public network', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.mq-internet-access.aliyuncs.com', 'endpoint' => 'onsmqtt.mq-internet-access.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-wulanchabu.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-beijing.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-beijing.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-qingdao.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-qingdao.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-shanghai.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-shanghai.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-hongkong.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-hongkong.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-shenzhen.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-shenzhen.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.ap-northeast-1.aliyuncs.com', 'endpoint' => 'onsmqtt.ap-northeast-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-chengdu.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-chengdu.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-guangzhou.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-guangzhou.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-guangzhou.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.ap-southeast-1.aliyuncs.com', 'endpoint' => 'onsmqtt.ap-southeast-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.ap-southeast-3.aliyuncs.com', 'endpoint' => 'onsmqtt.ap-southeast-3.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-huhehaote.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-huhehaote.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.ap-southeast-5.aliyuncs.com', 'endpoint' => 'onsmqtt.ap-southeast-5.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.ap-southeast-6.aliyuncs.com', 'endpoint' => 'onsmqtt.ap-southeast-6.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'onsmqtt.cn-hangzhou.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-hangzhou.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'onsmqtt.us-east-1.aliyuncs.com', 'endpoint' => 'onsmqtt.us-east-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'onsmqtt.eu-west-1.aliyuncs.com', 'endpoint' => 'onsmqtt.eu-west-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'onsmqtt.us-west-1.aliyuncs.com', 'endpoint' => 'onsmqtt.us-west-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'onsmqtt.eu-central-1.aliyuncs.com', 'endpoint' => 'onsmqtt.eu-central-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'onsmqtt.me-central-1.aliyuncs.com', 'endpoint' => 'onsmqtt.me-central-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'onsmqtt.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-hangzhou-finance.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-hangzhou-finance.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'onsmqtt.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-heyuan-acdr-1.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'onsmqtt.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'onsmqtt.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'onsmqtt.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'onsmqtt-vpc.cn-shanghai-finance-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'ApiNotSupport', 'message' => 'The specified API is not supported.', 'http_code' => 404, 'description' => ''],
+ ['code' => 'ApplyTokenOverFlow', 'message' => 'You have applied for tokens too many times. Please try again later.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'CaNumExceed', 'message' => 'CA certificate num exceed', 'http_code' => 401, 'description' => ''],
+ ['code' => 'CertificateContentError', 'message' => 'Certificate content error, please check ca/verification certificate content. BasicConstraints extension should be set to true in CA certificate', 'http_code' => 401, 'description' => ''],
+ ['code' => 'CheckAccountInfoFailed', 'message' => 'An error occurred while checking the account information by the STS token.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'CreateGroupIdError', 'message' => 'Failed to create GroupId. Try again later.', 'http_code' => 417, 'description' => ''],
+ ['code' => 'CreateMqttRuleFailed', 'message' => 'An error occurred while creating the MQTT rule. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'CreateMqttTopicFailed', 'message' => 'An error occurred while creating the MQTT topic. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'Customauth.over.capacity', 'message' => 'Over custom auth capacity.', 'http_code' => 400, 'description' => 'User-defined permission quantity capacity exceeds the limit'],
+ ['code' => 'DeleteGroupIdError', 'message' => 'Failed to delete GroupId. Try again later.', 'http_code' => 417, 'description' => ''],
+ ['code' => 'DeleteMqttRuleFailed', 'message' => 'An error occurred while deleting the MQTT rule. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DeleteMqttTopicFailed', 'message' => 'An error occurred while deleting the MQTT topic. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DeviceCredentialExsit', 'message' => 'Device Credential Exsit.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DeviceCredentialNotFound', 'message' => 'Device Credential Not Found. Check if the device certificate is registered.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DeviceCredentialNotFound', 'message' => 'Device Credential Not Found.Check if the device certificate is registered.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DeviceCredentialNumExceed', 'message' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'FindCaBySnError', 'message' => 'Failed to find the CA by the SN. Please check sn is valid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'FindDeviceBySnError', 'message' => 'Failed to find the device certificate by the SN. Please check sn is valid', 'http_code' => 400, 'description' => ''],
+ ['code' => 'GetCaNumError', 'message' => 'Failed to get ca num. Try again later.', 'http_code' => 401, 'description' => ''],
+ ['code' => 'GroupIdAlreadyExsited', 'message' => 'The specified GroupId already exists.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'GroupIdAlreadyUsedByOtherUsers', 'message' => 'The current GroupId is used by another user. Please change to a different GroupId.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InstanceNotFound', 'message' => 'Failed to find the instance. The instanceId may be invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InstancePermissionCheckFailed', 'message' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InternalError', 'message' => 'An error occurred while processing your request. Try again later.', 'http_code' => 417, 'description' => ''],
+ ['code' => 'InvalidParameter.%s', 'message' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttApplyCluster4InstanceFailed', 'message' => 'the instance can not find cluster.', 'http_code' => 400, 'description' => 'The instance failed to obtain cluster information.'],
+ ['code' => 'MqttInstanceNotFound', 'message' => 'Specified instance is not found', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttOwnerCheckError', 'message' => 'Failed to validate the instance permission', 'http_code' => 403, 'description' => ''],
+ ['code' => 'MqttRuleExist', 'message' => 'The specified MQTT rule already exists. Please check the parameter.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttRuleNotFound', 'message' => 'The specified rule does not exist.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttRuleNumExceeded', 'message' => 'The maximum number of rules is exceeded.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttRuleNumExceeded', 'message' => 'The number of rules has exceeded the system limit.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttTopicExist', 'message' => 'The specified topic already exists. Please check the parameter.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttTopicNotFound', 'message' => 'The specified topic does not exist.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MqttTopicNumExceeded', 'message' => 'The maximum number of topics is exceeded.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MQTT_INSTANCE_OWNER_CHECK_ERROR', 'message' => 'Mqtt Instance Owner Invalid.', 'http_code' => 400, 'description' => 'Instance owner does not match'],
+ ['code' => 'ParameterCheckFailed', 'message' => 'An error occurred while validating the parameters. The parameters may be missing or invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'ParameterFieldCheckFailed', 'message' => 'Failed to validate the parameters. The parameters may be missing or invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'PermissionCheckFailed', 'message' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'PermissionCheckFailed', 'message' => 'Failed to verify API permissions.', 'http_code' => 403, 'description' => 'ram permission check failed'],
+ ['code' => 'QueryMqttRuleFailed', 'message' => 'An error occurred while querying the MQTT rule. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'QueryMqttTopicFailed', 'message' => 'An error occurred while querying the MQTT topic. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'QueryTokenOverFlow', 'message' => 'You have queried tokens too many times. Please try again later.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'RegisterCodeError', 'message' => 'Register code error in verification certificate.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'RegisterCodeUsed', 'message' => 'Register code has been used.', 'http_code' => 401, 'description' => ''],
+ ['code' => 'ResourceIdNotFound', 'message' => 'resourceId does not exist.', 'http_code' => 400, 'description' => 'The tag resource does not exist.'],
+ ['code' => 'ResourcePermissionCheckFailed', 'message' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'RespurcePermissionCheckFailed', 'message' => 'An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'RevokeTokenOverFlow', 'message' => 'You have revoked tokens too many times. Please try again later.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'SendMessageFailed', 'message' => 'A storage exception occurred while sending the message. Please try again.', 'http_code' => 417, 'description' => ''],
+ ['code' => 'ServiceUnable', 'message' => 'The current user has not activated the ONS service. Please activate the service first.', 'http_code' => 400, 'description' => 'The current user has not activated the ONS service. Please activate the ONS service first. Thank you.'],
+ ['code' => 'SnNotUnique', 'message' => 'Sn is not unique in gloabal', 'http_code' => 401, 'description' => ''],
+ ['code' => 'SystemError', 'message' => 'system error.', 'http_code' => 400, 'description' => 'System error, please try again'],
+ ['code' => 'SystemOverFlow', 'message' => 'An error occurred while processing your request. Please try again.', 'http_code' => 403, 'description' => ''],
+ ['code' => 'UpdateMqttRuleFailed', 'message' => 'An error occurred while updating the MQTT rule. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'UpdateMqttTopicFailed', 'message' => 'An error occurred while updating the MQTT topic. Please check the parameter and try again.', 'http_code' => 400, 'description' => ''],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomAuthConnectBlack'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchQuerySessionByClientIds'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCustomAuthPermission'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnRegisterDeviceCredential'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceMessageOfClient'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomAuthConnectBlack'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceMessageSubscribe'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterCaCertificate'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceDevice'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListCaCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InactivateCaCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshDeviceCredential'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListInstances'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCaCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCustomAuthConnectBlack'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryToken'],
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessage'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RevokeToken'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisasterRecovery'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InactivateDeviceCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCaCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySessionByClientId'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomAuthIdentity'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceCredential'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetSniConfig'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterDeviceCredential'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCustomAuthIdentity'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRegisterCode'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisasterDowngrade'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomAuthPermission'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ActiveDeviceCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CloseConnection'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateGroupId'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomAuthIdentity'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ApplyToken'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCustomAuthIdentity'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGroupId'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceCertificate'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDeviceCredentialClientId'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomAuthPermission'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ActiveCaCertificate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGroupId'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCustomAuthPermission'],
+ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryMqttTraceMessagePublish'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDeviceCertificateByCaSn'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDeviceCertificate'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'OnsMqtt',
+ 'productName' => 'ApsaraMQ',
+ 'ramCodes' => ['mq'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'QueryMqttTraceMessagePublish',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttPubTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
+ ],
+ [
+ 'apiName' => 'GetCaCertificate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:GetCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ [
+ 'apiName' => 'QueryCustomAuthPermission',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"82B9E503-F4A1-4F30-976F-C6999FF9****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"AccessDeniedDetail\\": \\"None\\"\\n}","type":"json"}]',
- 'title' => 'DisasterDowngrade',
- ],
- 'DisasterRecovery' => [
- 'summary' => 'Recovers the public virtual IP address (VIP) access of a specific instance during the disaster recovery of multiple instances. Only Enterprise Platinum Edition instances support this operation. To call this operation, you must submit a ticket.',
- 'methods' => [
- 'post',
+ [
+ 'apiName' => 'QueryToken',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'AddCustomAuthConnectBlack',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'QuerySessionByClientId',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListDeviceCredentialClientId',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SendMessage',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:SendMessage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDeviceCertificate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:GetDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListInstances',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'mq:ListMqttInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteCustomAuthIdentity',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateGroupId',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:CreateMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CloseConnection',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:CloseConnection',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteCaCertificate',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RegisterDeviceCredential',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:RegisterDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateCustomAuthIdentity',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'high',
- 'abilityTreeCode' => '263654',
- 'abilityTreeNodes' => [
- 'FEATUREons3CYUNP',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-xxx',
+ [
+ 'apiName' => 'ListDeviceCertificate',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
- [
- 'name' => 'RecoveryInstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'mqtt-cn-xxx',
+ ],
+ [
+ 'apiName' => 'QueryMqttTraceDevice',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttDeviceTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'Id of the request',
- 'type' => 'string',
- 'example' => '135F8639-F262-4417-98D1-4DE4595C****',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'operation success.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '{}',
- ],
- ],
+ [
+ 'apiName' => 'QueryMqttTraceMessageSubscribe',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttSubTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InstancePermissionCheckFailed',
- 'errorMessage' => 'An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.',
+ [
+ 'apiName' => 'DisasterRecovery',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'mq:DisasterRecovery',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidParameter.%s',
- 'errorMessage' => 'An error occurred while validating the parameter. The parameter may be missing or invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'ListCaCertificate',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
- 404 => [
- [
- 'errorCode' => 'ApiNotSupport',
- 'errorMessage' => 'The specified API is not supported.',
+ ],
+ [
+ 'apiName' => 'DeleteCustomAuthPermission',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ [
+ 'apiName' => 'DeleteCustomAuthConnectBlack',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UnTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddCustomAuthIdentity',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'InactivateCaCertificate',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UnregisterCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetSniConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:SetSniConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ActiveCaCertificate',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ActiveCaCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RegisterCaCertificate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:RegisterCa',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteDeviceCertificate',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:DeleteDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UnRegisterDeviceCredential',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:MqttInstanceAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'QueryMqttTraceMessageOfClient',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:QueryMqttDeviceTrace',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RevokeToken',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:RevokeToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetRegisterCode',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:GetRegisterCode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateCustomAuthPermission',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'mq:UpdateCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddCustomAuthPermission',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:AddCustomAuthPermission',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteGroupId',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'mq:DeleteMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ActiveDeviceCertificate',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ActiveDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DisasterDowngrade',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'additionalActions' => [],
+ 'ramAction' => [
+ 'action' => 'mq:DisasterDowngrade',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'QueryCustomAuthConnectBlack',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthConnectBlack',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'InactivateDeviceCertificate',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:UnregisterDeviceCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ApplyToken',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'mq:ApplyToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDeviceCredential',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:GetDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RefreshDeviceCredential',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:RefreshDeviceCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'QueryCustomAuthIdentity',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:QueryCustomAuthIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDeviceCertificateByCaSn',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:ListDeviceCertificateByCaSn',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListGroupId',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'mq:ListMqttGroupId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'BatchQuerySessionByClientIds',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'mq:BatchQuerySessionByClientIds',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'additionalActions' => [
+ ['action' => 'mq:MqttInstanceAccess', 'validationType' => 'always'],
+ ],
+ 'ramAction' => [
+ 'action' => 'mq:TagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'OnsMqtt', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"135F8639-F262-4417-98D1-4DE4595C****\\",\\n \\"Code\\": 200,\\n \\"Success\\": true,\\n \\"Message\\": \\"operation success.\\",\\n \\"AccessDeniedDetail\\": \\"{}\\"\\n}","type":"json"}]',
- 'title' => 'DisasterRecovery',
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'onsmqtt.cn-shanghai-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'onsmqtt.cn-qingdao.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'onsmqtt.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'onsmqtt.cn-shenzhen-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'onsmqtt.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'onsmqtt.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'onsmqtt.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'onsmqtt.cn-shenzhen.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'onsmqtt.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'onsmqtt.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'onsmqtt.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'onsmqtt.me-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'onsmqtt.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan-acdr-1',
- 'endpoint' => 'onsmqtt.cn-heyuan-acdr-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'mq-internet-access',
- 'endpoint' => 'onsmqtt.mq-internet-access.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'onsmqtt.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'onsmqtt.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'onsmqtt.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'onsmqtt.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'onsmqtt.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'onsmqtt.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'onsmqtt.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'onsmqtt.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'onsmqtt.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'onsmqtt.cn-guangzhou.aliyuncs.com',
],
- [
- 'regionId' => 'cn-hangzhou-finance',
- 'endpoint' => 'onsmqtt.cn-hangzhou-finance.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:mq:{#regionId}:{#accountId}:{#InstanceId}'],
],
],
];