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.php1104
-rw-r--r--data/en_us/onsmqtt/2020-04-20/api-docs.php7749
2 files changed, 8853 insertions, 0 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
new file mode 100644
index 0000000..8774615
--- /dev/null
+++ b/data/en_us/onsmqtt/2019-12-11/api-docs.php
@@ -0,0 +1,1104 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'OnsMqtt',
+ 'version' => '2019-12-11',
+ ],
+ 'directories' => [
+ [
+ 'id' => 66368,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'SendMessage',
+ ],
+ ],
+ [
+ 'id' => 66371,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateGroupId',
+ 'DeleteGroupId',
+ 'ListGroupId',
+ ],
+ ],
+ [
+ 'id' => 66375,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'QuerySessionByClientId',
+ 'BatchQuerySessionByClientIds',
+ ],
+ ],
+ [
+ 'id' => 66378,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'QueryToken',
+ 'ApplyToken',
+ 'RevokeToken',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'SendMessage' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MqttTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'Payload',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ReceiptId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'default' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 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' => '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' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'CreateGroupId' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'CreateGroupIdError',
+ 'errorMessage' => 'Failed to create GroupId. Try again later.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'DeleteGroupId' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'DeleteGroupIdError',
+ 'errorMessage' => 'Failed to delete GroupId. Try again later.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'ListGroupId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'QuerySessionByClientId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'BatchQuerySessionByClientIds' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ClientIdList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'OnlineStatusList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OnlineStatus' => [
+ 'type' => 'boolean',
+ ],
+ 'ClientId' => [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'QueryToken' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'ApplyToken' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Resources',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'ExpireTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'Actions',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ 'RevokeToken' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Token',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => null,
+ ],
+ ],
+ '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',
+ ],
+ ],
+];
diff --git a/data/en_us/onsmqtt/2020-04-20/api-docs.php b/data/en_us/onsmqtt/2020-04-20/api-docs.php
new file mode 100644
index 0000000..4f37fa4
--- /dev/null
+++ b/data/en_us/onsmqtt/2020-04-20/api-docs.php
@@ -0,0 +1,7749 @@
+<?php return [
+ 'version' => '1.0',
+ '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,
+ 'type' => 'directory',
+ 'children' => [
+ 'SendMessage',
+ ],
+ ],
+ [
+ 'id' => 321815,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'QuerySessionByClientId',
+ 'BatchQuerySessionByClientIds',
+ 'CloseConnection',
+ ],
+ ],
+ [
+ 'id' => 321819,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'GetDeviceCredential',
+ 'RefreshDeviceCredential',
+ 'RegisterDeviceCredential',
+ 'UnRegisterDeviceCredential',
+ 'ListDeviceCredentialClientId',
+ ],
+ ],
+ [
+ 'id' => 321825,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'QueryMqttTraceDevice',
+ 'QueryMqttTraceMessageOfClient',
+ 'QueryMqttTraceMessagePublish',
+ 'QueryMqttTraceMessageSubscribe',
+ ],
+ ],
+ [
+ 'id' => 321830,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'RegisterCaCertificate',
+ 'ActiveCaCertificate',
+ 'InactivateCaCertificate',
+ 'ListCaCertificate',
+ 'GetCaCertificate',
+ 'GetRegisterCode',
+ 'DeleteCaCertificate',
+ ],
+ ],
+ [
+ 'id' => 321838,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'ActiveDeviceCertificate',
+ 'InactivateDeviceCertificate',
+ 'ListDeviceCertificate',
+ 'ListDeviceCertificateByCaSn',
+ 'GetDeviceCertificate',
+ 'DeleteDeviceCertificate',
+ ],
+ ],
+ [
+ 'id' => 321845,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'AddCustomAuthIdentity',
+ 'UpdateCustomAuthIdentity',
+ 'QueryCustomAuthIdentity',
+ 'DeleteCustomAuthIdentity',
+ 'AddCustomAuthPermission',
+ 'UpdateCustomAuthPermission',
+ 'QueryCustomAuthPermission',
+ 'DeleteCustomAuthPermission',
+ 'AddCustomAuthConnectBlack',
+ 'DeleteCustomAuthConnectBlack',
+ 'QueryCustomAuthConnectBlack',
+ ],
+ ],
+ [
+ 'id' => 321857,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'TagResources',
+ 'ListTagResources',
+ 'UntagResources',
+ ],
+ ],
+ [
+ 'id' => 321861,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'SetSniConfig',
+ 'DisasterDowngrade',
+ 'DisasterRecovery',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'ApplyToken' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ '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==',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ ],
+ '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' => '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ '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' => '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID. This parameter is a common parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '833EDFCB-C447-4CE3-B21F-3A4C2D1B****',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '265380',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"key":"test","value":"test"}]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '84611',
+ 'abilityTreeNodes' => [
+ 'FEATUREons4L127M',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ '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",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'GID_test',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ApsaraMQ for MQTT instance to which the group belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'mqtt-cn-0pp1ldu****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID. This parameter is a common parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '2C7D722D-0F3D-4415-A9CD-A464D82C****',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'CreateGroupIdError',
+ 'errorMessage' => 'Failed to create GroupId. Try again later.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group that you want to delete.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'GID_test',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID. This parameter is a common parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '0621DDD7-F0E9-4D35-8900-518116D6****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'DeleteGroupIdError',
+ 'errorMessage' => 'Failed to delete GroupId. Try again later.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '84622',
+ 'abilityTreeNodes' => [
+ 'FEATUREons4L127M',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SendMessage' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ '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',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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' => '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientId',
+ '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',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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****',
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchQuerySessionByClientIds' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ ],
+ 'parameters' => [
+ [
+ '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' => 'ClientIdList',
+ '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,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Client ID of the device',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ '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' => '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ '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' => '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientId',
+ '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',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientId',
+ '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',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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****',
+ ],
+ ],
+ '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' => 'DeviceCredentialExsit',
+ 'errorMessage' => 'Device Credential Exsit.',
+ ],
+ [
+ 'errorCode' => 'DeviceCredentialNumExceed',
+ 'errorMessage' => 'The number of device credentia exceeds the limit. Please revoke unused device certificates.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Token for starting the next page query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFdXXXXXWa',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SystemOverFlow',
+ 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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' => '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SystemOverFlow',
+ 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '84628',
+ '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' => 'MsgId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The message ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'AC1EC0030EAB78308DB16A3EC773****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SystemOverFlow',
+ 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '84629',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The message ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'AC1EC1B33D5978308DB17F3245E4****',
+ 'maxLength' => 2147483647,
+ 'minLength' => 0,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SystemOverFlow',
+ 'errorMessage' => 'An error occurred while processing your request. Please try again.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ 'responseParamsDescription' => ' ',
+ ],
+ 'RegisterCaCertificate' => [
+ 'summary' => 'RegisterCaCertificate',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141175',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ '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-----',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ '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******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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******',
+ ],
+ ],
+ [
+ '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******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ 'Sn' => [
+ 'description' => 'The SN serial number of the activated CA certificate, used to uniquely identify a CA certificate.',
+ 'type' => 'string',
+ 'example' => '007269004887******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREonsQV6LXV',
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ '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******',
+ ],
+ ],
+ ],
+ '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 is deregistered. The serial number is the unique identifier of a CA certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '007269004887******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141168',
+ '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******',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ParameterFieldCheckFailed',
+ 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
+ ],
+ [
+ 'errorCode' => 'MqttInstanceNotFound',
+ 'errorMessage' => 'Specified instance is not found',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141174',
+ 'abilityTreeNodes' => [
+ 'FEATUREonsQV6LXV',
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ '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******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'Certificate details.',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '140814',
+ 'abilityTreeNodes' => [
+ 'FEATUREonsQV6LXV',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MqttInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'post-cn-7mz2d******',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'RegisterCode' => [
+ 'title' => '注册码',
+ 'description' => 'The registration code of the CA certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '13274673-8f90-4630-bea1-9cccb25756ad2089******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'ParameterFieldCheckFailed',
+ 'errorMessage' => 'Failed to validate the parameters. The parameters may be missing or invalid.',
+ ],
+ [
+ 'errorCode' => 'MqttInstanceNotFound',
+ 'errorMessage' => 'Specified instance is not found',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '142200',
+ 'abilityTreeNodes' => [
+ 'FEATUREonsQV6LXV',
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ '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******',
+ ],
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons0PHGX2',
+ ],
+ ],
+ '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',
+ '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******',
+ ],
+ ],
+ [
+ '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.'."\n"
+ ."\n"
+ .'The serial number of a CA certificate cannot exceed 128 bytes in size.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '007269004887******',
+ ],
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => [
+ 'FEATUREons0PHGX2',
+ ],
+ ],
+ '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',
+ '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******',
+ ],
+ ],
+ ],
+ '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 is deregistered. The serial number is the unique identifier of a device certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '356217374433******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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",
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '145872',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MqttInstanceId',
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Indicates which page of the results to return. The starting page is counted from 1.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '145874',
+ '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******',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'Query result.',
+ '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.',
+ '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. 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '145870',
+ 'abilityTreeNodes' => [
+ 'FEATUREons0PHGX2',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MqttInstanceId',
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceSn',
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'CaSn',
+ '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.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '007269004887******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ '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****',
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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",
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '145869',
+ 'abilityTreeNodes' => [
+ 'FEATUREons0PHGX2',
+ ],
+ ],
+ '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',
+ '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",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '356217374433****',
+ ],
+ ],
+ [
+ '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******',
+ ],
+ ],
+ ],
+ '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 whose registration information is deleted. The serial number is the unique identifier of a device certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '356217374433******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '207003',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the Message Queue for MQTT instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'mqtt-cn-xxxx',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Secret',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The AccessKey secret.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xxxxx',
+ ],
+ ],
+ [
+ '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' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'UpdateCustomAuthIdentity' => [
+ 'summary' => 'Updates the information about custom identity authentication.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the ApsaraMQ for MQTT instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'post-111****',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The username. The value cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Secret',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The AccessKey secret.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xxxx',
+ ],
+ ],
+ [
+ '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' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IdentityType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identity type.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'USER',
+ 'enum' => [
+ 'USER',
+ 'CLIENT',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'eyJhY2NvdW50IjoiMTM4MTcxODk3NDQzMjQ1OSIsImV2ZW50SWQiOiJGMkUxOUE3QS1FM0Q0LTVCOEYtQkU4OS1CNkMyM0RBM0UyRjIiLCJsb2dJZCI6IjY2LTEzODE3MTg5NzQ0MzI0NTkiLCJydyI6IlciLCJ0aW1lIjoxNjc4MzI2MTI1MDAwfQ',
+ ],
+ ],
+ [
+ 'name' => 'Size',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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' => 'Username',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ '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' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The client ID if you set IdentityType to CLIENT.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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' => 'IdentityType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The identity type. Valid values: USER and 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' => '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' => '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',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ '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****',
+ ],
+ ],
+ [
+ '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' => 'Topic',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Authorized Topic, supporting multi-level MQTT topics and wildcards.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test/t1',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username or client ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'DeleteCustomAuthPermission' => [
+ 'summary' => 'Deletes permissions on a topic.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ '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' => 'ClientId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the ApsaraMQ for MQTT client.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ApsaraMQ for MQTT instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'post-111****',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the client to be queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GID_test@@@test',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that marks the end position of the previous returned page. To obtain the next batch of data, call the operation again by using the value of NextToken returned by the previous request. If you call this operation for the first time or want to query all results, set NextToken to an empty string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'xOfRU60sGEwN1OlFBIL8Ew==',
+ ],
+ ],
+ [
+ 'name' => 'Size',
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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",
+ '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=',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'TagResources' => [
+ 'summary' => 'Add tags to resources.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '255118',
+ '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'."\n",
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ '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' => true,
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ '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' => '82B9E503-F4A1-4F30-976F-C6999FF9****',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'operation success.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ [
+ 'errorCode' => 'ResourceIdNotFound',
+ 'errorMessage' => 'resourceId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '255352',
+ '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',
+ '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,
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AAAAAaFXUH1VTHnBlds7StUakOQ=',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ [
+ 'errorCode' => 'ResourceIdNotFound',
+ 'errorMessage' => 'resourceId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'UntagResources' => [
+ 'summary' => 'Removes tags from resources.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '257391',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TagKey',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tagkeyTest',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'mqtt-cn-5yd3xxx'."\n",
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'instance',
+ ],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'False',
+ ],
+ ],
+ ],
+ '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' => 'B3C2F69B-B543-49B0-8B21-C8843AE0****',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'operation success.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceIdNotFound',
+ 'errorMessage' => 'resourceId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '258058',
+ 'abilityTreeNodes' => [
+ 'FEATUREonsFLJRJ5',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MqttInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '实例ID',
+ 'description' => 'The instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'mqtt-cn-5yd3xxx',
+ ],
+ ],
+ [
+ 'name' => 'DefaultCertificate',
+ 'in' => 'query',
+ '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",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1533xxxx-cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SniConfig',
+ 'in' => 'query',
+ '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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '*.mqtt.aliyuncs.com#15xxxxx-cn-hangzhou;mqtt-test.mqtt.aliyuncs.com#15xxxx9-cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MqttInstanceNotFound',
+ 'errorMessage' => 'Specified instance is not found',
+ ],
+ [
+ 'errorCode' => 'MqttOwnerCheckError',
+ 'errorMessage' => 'Failed to validate the instance permission',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionCheckFailed',
+ 'errorMessage' => 'Failed to verify API permissions.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'abilityTreeCode' => '263645',
+ '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-xxx',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'abilityTreeCode' => '263654',
+ 'abilityTreeNodes' => [
+ 'FEATUREons3CYUNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'mqtt-cn-xxx',
+ ],
+ ],
+ [
+ 'name' => 'RecoveryInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'mqtt-cn-xxx',
+ ],
+ ],
+ ],
+ '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' => '{}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ApiNotSupport',
+ 'errorMessage' => 'The specified API is not supported.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request. Try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+];