diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/openapiexplorer/2024-11-30 | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/zh_cn/openapiexplorer/2024-11-30')
| -rw-r--r-- | data/zh_cn/openapiexplorer/2024-11-30/api-docs.php | 5216 |
1 files changed, 5216 insertions, 0 deletions
diff --git a/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php b/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php new file mode 100644 index 0000000..3f48be3 --- /dev/null +++ b/data/zh_cn/openapiexplorer/2024-11-30/api-docs.php @@ -0,0 +1,5216 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'ROA', + 'product' => 'OpenAPIExplorer', + 'version' => '2024-11-30', + ], + 'directories' => [ + [ + 'children' => [ + 'UpdateApiMcpServerUserConfig', + 'GetApiMcpServerUserConfig', + ], + 'type' => 'directory', + 'title' => 'ApiMcpServer全局配置', + 'id' => 251985, + ], + [ + 'children' => [ + 'GetApiDefinition', + 'ListApiDefinitions', + 'GetProductEndpoints', + 'GenerateCLICommand', + ], + 'type' => 'directory', + 'title' => '开放元数据', + 'id' => 248636, + ], + [ + 'children' => [ + 'CreateApiMcpServer', + 'UpdateApiMcpServer', + 'GetApiMcpServer', + 'DeleteApiMcpServer', + 'ListApiMcpServers', + 'ApiMcpServerValidateHcl', + 'ListApiMcpServerSystemTools', + ], + 'type' => 'directory', + 'title' => 'ApiMcpServer', + 'id' => 247902, + ], + [ + 'children' => [ + 'GetErrorCodeSolutions', + 'GetRequestLog', + 'GetOwnRequestLog', + ], + 'type' => 'directory', + 'title' => '诊断', + 'id' => 247910, + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'ApiMcpServerValidateHcl' => [ + 'path' => '/terraform/validate', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求 body。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'Terraform HCL 代码内容。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', + 'type' => 'string', + 'required' => false, + 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + 'hash' => [ + 'description' => 'Terraform HCL 代码的唯一标识。', + 'type' => 'string', + 'example' => '0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07', + ], + 'isValid' => [ + 'description' => '代码内容是否有效。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'errors' => [ + 'description' => '错误信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '错误信息内容。', + 'type' => 'string', + 'example' => 'Unclosed configuration block: There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.', + ], + ], + 'warnings' => [ + 'description' => '警告信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '警告信息内容。', + 'type' => 'string', + 'example' => 'Warning.', + ], + ], + 'parameters' => [ + 'description' => '参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => '参数内容。', + 'type' => 'any', + 'example' => '{'."\n" + .' "schema": {'."\n" + .' "writeOnly": false,'."\n" + .' "nullable": false,'."\n" + .' "description": "要修改的VPC名称。\\n\\n名称长度为1~128个字符,不能以`http://`或`https://`开头。",'."\n" + .' "readOnly": false,'."\n" + .' "type": "string",'."\n" + .' "required": false'."\n" + .' },'."\n" + .' "deprecated": false,'."\n" + .' "allowEmptyValue": false,'."\n" + .' "name": "name",'."\n" + .' "required": false,'."\n" + .' "example": "terraform-example"'."\n" + .' }', + ], + ], + 'diagnosticReport' => [ + 'description' => '代码内容的诊断报告。', + 'type' => 'any', + 'example' => 'Argument or block definition required: An argument or block definition is required here.', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.Code', + 'errorMessage' => 'Empty code is not valid.', + 'description' => 'Code参数为无效的空字符串。', + ], + [ + 'errorCode' => 'Missing.Code', + 'errorMessage' => 'Code is mandatory for this action.', + 'description' => '缺少必填参数Code。', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalServerError', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + 'description' => '由于服务器暂时故障,请求失败。', + ], + ], + ], + 'title' => '验证 Terraform 的 HCL 语法', + 'summary' => '验证 Terraform 的 HCL 语法。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'openapiexplorer:ApiMcpServerValidateHcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"hash\\": \\"0628e13692023222bef9d6377dd03da3304b689e1b2df60f584ea27b4163bf07\\",\\n \\"isValid\\": true,\\n \\"errors\\": [\\n \\"Unclosed configuration block: There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.\\"\\n ],\\n \\"warnings\\": [\\n \\"Warning.\\"\\n ],\\n \\"parameters\\": [\\n \\"{\\\\n \\\\\\"schema\\\\\\": {\\\\n \\\\\\"writeOnly\\\\\\": false,\\\\n \\\\\\"nullable\\\\\\": false,\\\\n \\\\\\"description\\\\\\": \\\\\\"要修改的VPC名称。\\\\\\\\n\\\\\\\\n名称长度为1~128个字符,不能以`http://`或`https://`开头。\\\\\\",\\\\n \\\\\\"readOnly\\\\\\": false,\\\\n \\\\\\"type\\\\\\": \\\\\\"string\\\\\\",\\\\n \\\\\\"required\\\\\\": false\\\\n },\\\\n \\\\\\"deprecated\\\\\\": false,\\\\n \\\\\\"allowEmptyValue\\\\\\": false,\\\\n \\\\\\"name\\\\\\": \\\\\\"name\\\\\\",\\\\n \\\\\\"required\\\\\\": false,\\\\n \\\\\\"example\\\\\\": \\\\\\"terraform-example\\\\\\"\\\\n }\\"\\n ],\\n \\"diagnosticReport\\": \\"Argument or block definition required: An argument or block definition is required here.\\"\\n}","type":"json"}]', + ], + 'CreateApiMcpServer' => [ + 'path' => '/apimcpserver', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '创建API MCP服务。', + 'type' => 'object', + 'properties' => [ + 'clientToken' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + 'description' => [ + 'description' => 'API MCP服务的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '这是一个API MCP服务。', + ], + 'language' => [ + 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZH_CN', + 'enum' => [ + 'EN_US', + 'ZH_CN', + ], + ], + 'apis' => [ + 'description' => '添加的API列表。不可为空。', + 'type' => 'array', + 'items' => [ + 'description' => 'API列表。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-05-26', + ], + 'selectors' => [ + 'description' => 'API名称匹配规则列表。不可为空。', + 'type' => 'array', + 'items' => [ + 'description' => 'API名称匹配规则。', + 'type' => 'string', + 'required' => true, + 'example' => '*Bucket', + ], + 'required' => true, + ], + ], + 'required' => true, + ], + 'required' => true, + ], + 'additionalApiDescriptions' => [ + 'description' => '补充的API描述信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '补充的API描述信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => false, + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'required' => false, + 'example' => '2014-05-26', + ], + 'apiName' => [ + 'description' => 'API名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'DescribeRegions', + ], + 'apiOverrideJson' => [ + 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', + ], + 'executeCliCommand' => [ + 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'enableOutputSchema' => [ + 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'constParameters' => [ + 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', + 'type' => 'array', + 'items' => [ + 'description' => '常量入参。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', + 'type' => 'string', + 'required' => false, + 'example' => 'InstanceId', + ], + 'value' => [ + 'description' => '参数的值。', + 'type' => 'any', + 'required' => false, + 'example' => '1234', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'prompts' => [ + 'description' => 'prompt配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt配置', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'prompt名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'prompt description', + ], + 'content' => [ + 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', + 'type' => 'string', + 'required' => false, + 'example' => 'prompt正文,{{name}}', + ], + 'arguments' => [ + 'description' => 'prompt支持的参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt支持的参数。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '参数名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => '参数的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'argument description', + ], + 'required' => [ + 'description' => '参数是否必填。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'name' => [ + 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', + 'type' => 'string', + 'required' => true, + 'example' => 'mcp-demo', + ], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具。', + 'type' => 'string', + 'required' => false, + 'example' => 'FetchRamActionDetails', + ], + 'required' => false, + ], + 'oauthClientId' => [ + 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', + 'type' => 'string', + 'required' => false, + 'example' => '403*************370', + ], + 'instructions' => [ + 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'enableAssumeRole' => [ + 'description' => '是否开启多账号访问。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'assumeRoleName' => [ + 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'assumeRoleExtraPolicy' => [ + 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'publicAccess' => [ + 'description' => '是否开启公网。', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + 'follow', + ], + ], + 'enableCustomVpcWhitelist' => [ + 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'terraformTools' => [ + 'description' => 'Terraform Tool 列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'Terraform Tool。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', + 'type' => 'string', + 'required' => false, + 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}', + ], + 'name' => [ + 'description' => 'Terraform Tool 名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => 'Terraform Tool 描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'terraform tool description', + ], + 'async' => [ + 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'destroyPolicy' => [ + 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" + ."\n" + .'- NEVER 不删除:无论任务执行成功或失败,均不删除所有创建的资源'."\n" + .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" + .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', + 'type' => 'string', + 'required' => false, + 'example' => 'ON_FAILURE', + 'enum' => [ + 'NEVER', + 'ALWAYS', + 'ON_FAILURE', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + 'id' => [ + 'description' => '创建成功的 API MCP 服务 ID。', + 'type' => 'string', + 'example' => 'v6ZZ7ftCzEILW***', + ], + 'urls' => [ + 'description' => 'API MCP 服务连接信息。', + 'type' => 'object', + 'properties' => [ + 'sse' => [ + 'description' => 'SSE 协议连接信息。', + 'type' => 'string', + 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'mcp' => [ + 'description' => 'streamable HTTP 协议连接信息,推荐使用。', + 'type' => 'string', + 'example' => 'https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + 'vpcSse' => [ + 'description' => 'VPC 下 SSE 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'vpcMcp' => [ + 'description' => 'VPC 下 streamable HTTP 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.Name', + 'errorMessage' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', + 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'errorCode' => 'InvalidParam.Apis.PopVersion', + 'errorMessage' => 'Unsupported product version: %s of product code: %s.', + 'description' => '产品%s不支持%s版本。', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', + 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', + ], + [ + 'errorCode' => 'Missing.Apis.PopCode', + 'errorMessage' => 'Apis.PopCode is mandatory for this action.', + 'description' => 'Apis参数中缺少必填参数popCode。', + ], + [ + 'errorCode' => 'Missing.Apis.PopVersion', + 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', + 'description' => '缺少必填参数Apis.PopVersion。', + ], + [ + 'errorCode' => 'InvalidParam.Apis.PopCode', + 'errorMessage' => 'Unsupported product code: %s.', + 'description' => '指定的产品名称不存在。', + ], + [ + 'errorCode' => 'Missing.Apis.Selectors', + 'errorMessage' => 'Apis.Selectors is mandatory for this action.', + 'description' => 'Apis.Selectors是必填参数', + ], + [ + 'errorCode' => 'Missing.Name', + 'errorMessage' => 'Name is mandatory for this action.', + 'description' => 'Name是必填参数', + ], + [ + 'errorCode' => 'Missing.Apis', + 'errorMessage' => 'Apis is mandatory for this action.', + 'description' => '缺少必填参数Apis', + ], + [ + 'errorCode' => 'InvalidParam.Language', + 'errorMessage' => 'Unsupported language: %s.', + 'description' => '指定多语言无效。', + ], + [ + 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', + 'errorMessage' => 'Unsupported product version: %s of product code: %s.', + 'description' => '产品%s不支持%s版本。 ', + ], + [ + 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', + 'errorMessage' => 'Unsupported product code: %s.', + 'description' => '指定的产品名称不存在', + ], + [ + 'errorCode' => 'InvalidParam.SystemTools', + 'errorMessage' => 'System tool %s is not supported.', + 'description' => '指定的系统工具无效。', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Description', + 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', + 'description' => '缺少必填参数TerraformTools.Description', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Code', + 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', + 'description' => '缺少必填参数TerraformTools.Code。', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Name', + 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', + 'description' => 'Terraform工具名称是必填参数。', + ], + [ + 'errorCode' => 'InvalidParam.TerraformTools.Name', + 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'errorCode' => 'Missing.AccountId', + 'errorMessage' => 'x-acs-account-id is mandatory in request header for this action.', + 'description' => '请求头中缺少必填参数x-acs-account-id。', + ], + [ + 'errorCode' => 'Missing.CallerUid', + 'errorMessage' => 'x-acs-caller-uid is mandatory in request header for this action.', + 'description' => '请求头中缺少必填参数x-acs-caller-uid。', + ], + [ + 'errorCode' => 'Missing.PrincipalId', + 'errorMessage' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', + 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', + ], + [ + 'errorCode' => 'InvalidParam.TerraformTools.Code', + 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', + 'description' => '指定的TerraformTools.Code参数无效。', + ], + [ + 'errorCode' => 'InvalidParam.ClientToken', + 'errorMessage' => 'The specified client token is not valid.', + 'description' => '该幂等参数有误,请检查。', + ], + ], + 409 => [ + [ + 'errorCode' => 'Exists.Name', + 'errorMessage' => 'The MCP server name already exists.', + 'description' => '同一个主账号ID下已存在该名称。', + ], + [ + 'errorCode' => 'Exists.TerraformTools.Name', + 'errorMessage' => 'The Terraform tool name already exists.', + 'description' => '指定的Terraform 工具名称已经存在。', + ], + ], + 429 => [ + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'The number of MCP server created by the user has reached the upper limit.', + 'description' => '用户创建的MCP服务器数量已达到上限。', + ], + ], + ], + 'title' => '创建 API MCP 服务', + 'summary' => '创建 API MCP 服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'openapiexplorer:CreateApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://mcpserverinner-pre.cn-zhangjiakou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n }\\n}","type":"json"}]', + ], + 'DeleteApiMcpServer' => [ + 'summary' => '删除单个API MCP服务。', + 'path' => '/apimcpserver', + 'methods' => [ + 'delete', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + ], + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务的 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'v6ZZ7ftCzEILW***', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Missing.Id', + 'errorMessage' => 'Id is mandatory for this action.', + 'description' => '缺少必填参数Id。', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', + 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', + ], + [ + 'errorCode' => 'InvalidParam.ClientToken', + 'errorMessage' => 'The specified client token is not valid.', + 'description' => '该幂等参数有误,请检查。', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationNotAllowed.SystemServer', + 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', + 'description' => '系统级别的服务不允许更新或删除操作。', + ], + ], + [ + [ + 'errorCode' => 'NotFound.ApiMcpServer', + 'errorMessage' => 'Specified MCP server not found.', + 'description' => '指定id的MCP服务不存在。', + ], + ], + ], + 'title' => '删除 API MCP 服务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'openapiexplorer:DeleteApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', + ], + 'GenerateCLICommand' => [ + 'summary' => '动态生成Aliyun CLI命令。', + 'path' => '/api/cli/makeCode', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorerCHYMZJ', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'product', + 'in' => 'formData', + 'schema' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + ], + ], + [ + 'name' => 'apiVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'API的版本。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-05-26', + ], + ], + [ + 'name' => 'api', + 'in' => 'formData', + 'schema' => [ + 'description' => 'API的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'DescribeRegions', + ], + ], + [ + 'name' => 'regionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务区域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'apiParams', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => '请求参数。', + 'type' => 'object', + 'deprecated' => true, + 'required' => false, + 'additionalProperties' => [ + 'type' => 'any', + 'description' => '请求参数。', + 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}', + ], + ], + ], + [ + 'name' => 'jsonApiParams', + 'in' => 'formData', + 'schema' => [ + 'description' => 'JSON格式的API入参,优先级低于apiParams,当apiParams设置时,此参数无效。', + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "InstanceChargeType": "PostPaid",'."\n" + .' "ResourceType": "instance",'."\n" + .' "AcceptLanguage": "en-US"'."\n" + .'}', + ], + ], + [ + 'name' => 'aggregatePagination', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否使用聚合能力,若开启,CLI会自动以分页的方式读取全量数据并对结果聚合。'."\n" + ."\n" + .'<warning>只有支持分页的List类型的接口才能使用这个开关。</warning>'."\n" + ."\n" + .'- true:开启'."\n" + .'- false:关闭', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'cli' => [ + 'title' => 'command of the request', + 'description' => 'CLI指令。', + 'type' => 'string', + 'example' => 'aliyun ecs DescribeRegions --ResourceType instance', + ], + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.Product', + 'errorMessage' => 'Product name is required and cannot be null or empty.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidParam.ApiVersion', + 'errorMessage' => 'API version is required and cannot be null or empty.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidParam.ApiName', + 'errorMessage' => 'API name is required and cannot be null or empty.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => '动态生成Aliyun CLI命令', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'openapiexplorer:GenerateCLICommand', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cli\\": \\"aliyun ecs DescribeRegions --ResourceType instance\\",\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', + ], + 'GetApiDefinition' => [ + 'path' => '/api/definition', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorerY5UU1D', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'product', + 'in' => 'query', + 'schema' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + ], + ], + [ + 'name' => 'apiVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'API的版本。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-05-26', + ], + ], + [ + 'name' => 'api', + 'in' => 'query', + 'schema' => [ + 'description' => 'API的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'DescribeRegions', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '接口的开放元数据信息。', + 'type' => 'object', + 'properties' => [], + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => '获取产品相关接口的开放元数据', + 'summary' => '获取产品相关接口的开放元数据。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'GetApiMcpServer' => [ + 'summary' => '查询API MCP服务详细信息。', + 'path' => '/apimcpserver', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'v6ZZ7ftCzEILW***', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + 'id' => [ + 'description' => 'API MCP 服务 ID。', + 'type' => 'string', + 'example' => 'v6ZZ7ftCzEILW***', + ], + 'description' => [ + 'description' => 'API MCP服务器的描述信息。', + 'type' => 'string', + 'example' => '这是一个API MCP 服务器', + ], + 'apis' => [ + 'description' => 'API信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'selectors' => [ + 'description' => 'API名称匹配规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API名称匹配规则。', + 'type' => 'string', + 'example' => '*Bucket', + ], + ], + ], + ], + ], + 'additionalApiDescriptions' => [ + 'description' => '补充的API描述信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '补充的API描述信息。', + 'type' => 'object', + 'properties' => [ + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'apiName' => [ + 'description' => 'API名称。', + 'type' => 'string', + 'example' => 'DescribeRegions', + ], + 'apiOverrideJson' => [ + 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', + 'type' => 'string', + 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', + ], + 'executeCliCommand' => [ + 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'enableOutputSchema' => [ + 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'constParameters' => [ + 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', + 'type' => 'array', + 'items' => [ + 'description' => '常量入参。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', + 'type' => 'string', + 'example' => 'InstanceId', + ], + 'value' => [ + 'description' => '参数的值。', + 'type' => 'any', + 'example' => '1234', + ], + ], + ], + ], + ], + ], + ], + 'createTime' => [ + 'description' => 'API MCP服务器的创建时间。', + 'type' => 'string', + 'example' => '2025-02-07T02:17:46Z', + ], + 'updateTime' => [ + 'description' => 'API MCP服务器的修改时间。', + 'type' => 'string', + 'example' => '2025-02-05T02:26:04Z', + ], + 'prompts' => [ + 'description' => 'prompt配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt配置', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'prompt名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'example' => 'prompt description', + ], + 'content' => [ + 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', + 'type' => 'string', + 'example' => 'prompt正文,{{name}}', + ], + 'arguments' => [ + 'description' => 'prompt支持的参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt支持的参数。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '参数名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => '参数的描述信息。', + 'type' => 'string', + 'example' => 'argument description', + ], + 'required' => [ + 'description' => '该参数是否必填。', + 'type' => 'boolean', + ], + ], + ], + ], + ], + ], + ], + 'language' => [ + 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', + 'type' => 'string', + 'enumValueTitles' => [ + 'EN_US' => 'EN_US', + 'ZH_CN' => 'ZH_CN', + ], + 'example' => 'ZH_CN', + ], + 'urls' => [ + 'description' => 'MCP SERVER 连接信息。', + 'type' => 'object', + 'properties' => [ + 'sse' => [ + 'description' => 'SSE 协议连接信息。', + 'type' => 'string', + 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'vpcSse' => [ + 'description' => 'VPC 下 SSE 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'mcp' => [ + 'description' => 'streamable HTTP 协议连接信息,推荐使用。', + 'type' => 'string', + 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + 'vpcMcp' => [ + 'description' => 'VPC 下 streamable HTTP 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + ], + ], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具名称。', + 'type' => 'string', + 'example' => 'FetchRamActionDetails', + ], + ], + 'name' => [ + 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', + 'type' => 'string', + 'example' => 'mcp-demo', + ], + 'requiredRAMPolicy' => [ + 'description' => '该 API MCP 服务需要的 RAM 权限策略。', + 'type' => 'string', + 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'apiInfos' => [ + 'description' => 'API MCP 服务的 API 信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API MCP 服务的 API 信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'apiName' => [ + 'description' => 'API名称。', + 'type' => 'string', + 'example' => 'DescribeRegions', + ], + ], + ], + ], + 'sourceType' => [ + 'description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', + 'type' => 'string', + 'example' => 'system', + ], + 'systemMcpServerInfo' => [ + 'description' => '系统 MCP 服务列表。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'name' => [ + 'description' => '系统 MCP 服务名称。', + 'type' => 'string', + 'example' => 'mcp-system', + ], + ], + ], + 'oauthClientId' => [ + 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', + 'type' => 'string', + 'example' => '403*************370', + ], + 'terraformTools' => [ + 'description' => 'Terraform Tool 列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'Terraform Tool。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', + 'type' => 'string', + 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}', + ], + 'name' => [ + 'description' => 'Terraform Tool 名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => 'Terraform Tool 描述信息。', + 'type' => 'string', + 'example' => 'Terraform Tool description', + ], + 'async' => [ + 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'destroyPolicy' => [ + 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" + ."\n" + .'- NEVER 不删除:无论任务执行成功或失败,均不删除所有创建的资源'."\n" + .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" + .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', + 'type' => 'string', + 'enumValueTitles' => [ + 'ON_FAILURE' => 'ON_FAILURE', + 'NEVER' => 'NEVER', + 'ALWAYS' => 'ALWAYS', + ], + 'example' => 'ON_FAILURE', + ], + ], + ], + ], + 'instructions' => [ + 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', + 'type' => 'string', + 'example' => 'test', + ], + 'enableAssumeRole' => [ + 'description' => '是否开启多账号访问。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'assumeRoleName' => [ + 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'assumeRoleExtraPolicy' => [ + 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', + 'type' => 'string', + 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'publicAccess' => [ + 'description' => '是否开启公网。', + 'type' => 'string', + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + 'follow', + ], + ], + 'enableCustomVpcWhitelist' => [ + 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Missing.Id', + 'errorMessage' => 'Id is mandatory for this action.', + 'description' => '缺少必填参数Id。', + ], + ], + 404 => [ + [ + 'errorCode' => 'NotFound.ApiMcpServer', + 'errorMessage' => 'Specified MCP server not found.', + 'description' => '指定id的MCP服务不存在。', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalServerError', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + 'description' => '由于服务器暂时故障,请求失败。', + ], + ], + ], + 'title' => '查询API MCP服务详细信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP 服务器\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2025-02-07T02:17:46Z\\",\\n \\"updateTime\\": \\"2025-02-05T02:26:04Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"requiredRAMPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"apiInfos\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\"\\n }\\n ],\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n}","type":"json"}]', + ], + 'GetApiMcpServerUserConfig' => [ + 'summary' => '查询用户全局API MCP Server配置,当前能力包含配置是否开启公网访问及配置在VPC下请求的来源VPC ID白名单。', + 'path' => '/userconfig/get', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', + ], + 'accountId' => [ + 'description' => '您的阿里云账号(主账号)ID。', + 'type' => 'string', + 'example' => '162302724684579*', + ], + 'enablePublicAccess' => [ + 'description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + ], + 'gmtCreate' => [ + 'description' => '创建时间', + 'type' => 'string', + 'example' => '2025-11-10T06:58:39Z', + ], + 'gmtModified' => [ + 'description' => '更新时间', + 'type' => 'string', + 'example' => '2025-11-10T06:58:39Z', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [], + 'title' => '获取API MCP Server全局配置', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServerUserConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\",\\n \\"accountId\\": \\"162302724684579*\\",\\n \\"enablePublicAccess\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ],\\n \\"gmtCreate\\": \\"2025-11-10T06:58:39Z\\",\\n \\"gmtModified\\": \\"2025-11-10T06:58:39Z\\"\\n}","type":"json"}]', + ], + 'GetErrorCodeSolutions' => [ + 'summary' => '根据提供的错误码获取对应的错误诊断解决方案', + 'description' => '该接口查询的是公开信息,不涉及账号特殊归属等信息,故不支持授权。', + 'path' => '/getErrorCodeSolutions', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorerFS9SI4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'errorCode', + 'in' => 'query', + 'schema' => [ + 'title' => '发生错误时收到的错误码Code。'."\n" + .'以如下报错信息为例,请传入NoPermission作为errorCode参数值:'."\n" + .'"Code": "NoPermission",'."\n" + .'"Message": "You are not authorized to perform this action.",'."\n" + .'"AccessDeniedDetail": {***},'."\n" + .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" + .'"RequestId": "***",'."\n" + .'"HostId": "***.aliyuncs.com"', + 'description' => '需要查询诊断方案的错误码。', + 'type' => 'string', + 'required' => true, + 'example' => 'IncorrectStatus.TransitRouter', + ], + ], + [ + 'name' => 'errorMessage', + 'in' => 'query', + 'schema' => [ + 'title' => '收到报错的错误信息Message字段。'."\n" + ."\n" + .'Code与Message为一个完整的二元组,匹配诊断方案首先以errorCode必填参数匹配,返回匹配同一Code下的所有诊断解决方案(solutions)。如传入errorMessage参数,则通过errorCode+errorMessage作为一个独立的二元组匹配对应解决方案。'."\n" + ."\n" + .'以如下错误消息为例,传入NoPermission作为errorCode参数值,传入You are not authorized to perform this action作为errorMessage参数值:'."\n" + .'"Code": "NoPermission",'."\n" + .'"Message": "You are not authorized to perform this action.",'."\n" + .'"AccessDeniedDetail": {***},'."\n" + .'"Recommend": "https://api.aliyun.com/troubleshoot?q=NoPermission&product=***&requestId=***",'."\n" + .'"RequestId": "***",'."\n" + .'"HostId": "***.aliyuncs.com"', + 'description' => '需查询诊断方案的错误消息,必须搭配错误码(errorCode)参数共同使用。', + 'type' => 'string', + 'required' => false, + 'example' => 'The resource is not in a valid state for the operation.', + ], + ], + [ + 'name' => 'product', + 'in' => 'query', + 'schema' => [ + 'title' => '筛选特定产品。'."\n" + ."\n" + .'当errorCode匹配到solutions存在于多个产品下时,通过product参数指定特定的产品solution。如指定的产品的code没有solution,则会抛出报错,详见错误码列表。', + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => false, + 'example' => 'Ecs', + ], + ], + [ + 'name' => 'acceptLanguage', + 'in' => 'query', + 'schema' => [ + 'title' => '限定solutions的语言,目前支持中文(zh-CN)与英文(en-US),并非所有solutions具备英文内容。', + 'description' => '查询对应语言的诊断方案,支持中文(zh-CN)与英文(en-US)。需要注意的是并非所有诊断方案具备英文内容,如诊断方案无英文内容,则返回为空。'."\n" + .'<props="china">zh-CN</props>'."\n" + ."\n" + .'<props="intl">en-US</props>', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'en-US' => 'en-US', + 'zh-CN' => 'zh-CN', + ], + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '查询成功', + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'solutions' => [ + 'title' => '解决方案列表,并非每个报错都具备诊断方案,如有需求可以通过提交工单或者通过API门户反馈给我们。'."\n" + .'每个元素包含以下属性:'."\n", + 'description' => '解决方案列表,并非所有报错都有对应的诊断方案,且解决方案可能因业务逻辑的调整而发生变化。如有需求,您可以通过提交工单或访问 API 门户向我们反馈。', + 'type' => 'array', + 'items' => [ + 'description' => '诊断方案列表。每个元素包含以下属性:', + 'type' => 'object', + 'properties' => [ + 'content' => [ + 'title' => '**解决方案内容**:主要内容,统一以markdown格式返回。一般可能包含“标题”、“触发条件”、“解决步骤”等段落信息。', + 'description' => '错误码诊断方案,以markdown格式返回。', + 'type' => 'string', + 'example' => 'Unsupported transit router status\\n====\\n\\nCause\\n----\\n\\nThe transit router is in an unstable state.\\n\\n* * *\\n\\nSolution\\n----\\n\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\n\\nExample\\n------\\n\\nBefore you proceed, make sure that the transit route is in a stable state.\\n\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\n\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.', + ], + 'solutionId' => [ + 'title' => '本次查询的解决方案的唯一 ID。', + 'description' => '解决方案 ID'."\n", + 'type' => 'string', + 'example' => '0017-00000502', + ], + 'product' => [ + 'title' => '本次查询的错误码所属的产品code。', + 'description' => '诊断方案所属的产品CODE。', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'productName' => [ + 'title' => '本条错误码所属的产品名称,为OpenAPI门户所显示的产品名称。', + 'description' => '诊断方案所属的产品服务名称。', + 'type' => 'string', + 'example' => 'Elastic Compute Service', + ], + 'errorCode' => [ + 'title' => '本次查询的解决方案对应的错误码。'."\n", + 'description' => '诊断方案所对应的错误码。', + 'type' => 'string', + 'example' => 'IncorrectStatus.TransitRouter', + ], + 'errorMessage' => [ + 'title' => '本次查询的解决方案对应的错误消息。', + 'description' => '诊断方案所对应的错误消息。', + 'type' => 'string', + 'example' => 'The resource is not in a valid state for the operation.', + ], + ], + ], + ], + 'requestId' => [ + 'title' => '本次请求的requestId。', + 'description' => '本次请求的Request ID。', + 'type' => 'string', + 'example' => 'A707AFA8-1A4C-5B2A-A165-8436C1EA38DB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.AcceptLanguage', + 'errorMessage' => 'Accepted language should only be zh-CN or en-US.', + 'description' => '参数无效,接受的语言只能是zh-CN或en-US。', + ], + [ + 'errorCode' => 'InvalidParam.ErrorCode', + 'errorMessage' => 'The errorCode should be a string and cannot be empty.', + 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。', + ], + [ + 'errorCode' => 'InvalidParam.ErrorMessage', + 'errorMessage' => 'The errorMessage should be a string or null.', + 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。', + ], + [ + 'errorCode' => 'InvalidParam.Product', + 'errorMessage' => 'The product should be a string or null.', + 'description' => '参数 product 无效,应该是字符串或null。', + ], + ], + 404 => [ + [ + 'errorCode' => 'NotFound.Product', + 'errorMessage' => 'The provided product does not exist.', + 'description' => '您提供的产品名称不存在。', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"solutions\\": [\\n {\\n \\"content\\": \\"Unsupported transit router status\\\\\\\\n====\\\\\\\\n\\\\\\\\nCause\\\\\\\\n----\\\\\\\\n\\\\\\\\nThe transit router is in an unstable state.\\\\\\\\n\\\\\\\\n* * *\\\\\\\\n\\\\\\\\nSolution\\\\\\\\n----\\\\\\\\n\\\\\\\\nTry again after the transit router enters a stable state. You can check whether the transit router is in a stable state based on the following information.\\\\\\\\n\\\\\\\\nExample\\\\\\\\n------\\\\\\\\n\\\\\\\\nBefore you proceed, make sure that the transit route is in a stable state.\\\\\\\\n\\\\\\\\n1. Go to the console. If the status of the transit router in the Transit Router list is Available, the transit router is in a stable state.\\\\\\\\n\\\\\\\\n2. Call the ListTransitRouters operation. If Active is returned for Status, the transit router is in a stable state.\\",\\n \\"solutionId\\": \\"0017-00000502\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": \\"Elastic Compute Service\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\"\\n }\\n ],\\n \\"requestId\\": \\"A707AFA8-1A4C-5B2A-A165-8436C1EA38DB\\"\\n}","type":"json"}]', + 'title' => '查询报错诊断方案', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + ], + 'GetOwnRequestLog' => [ + 'summary' => '通过 API 返回的Request ID 查询当前账号调用 OpenAPI 的日志详情,用于故障排查', + 'description' => '该API不支持授权。', + 'path' => '/getOwnRequestLog', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + 'application/x-www-form-urlencoded', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer64CEGV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'logRequestId', + 'in' => 'query', + 'schema' => [ + 'title' => '需要查询日志的requestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", + 'description' => '需要查询日志的RequestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。', + 'type' => 'string', + 'required' => true, + 'example' => '123E4567-E89B-12D3-A456-426614174000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '查询成功', + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'logInfo' => [ + 'title' => '包含API请求日志的详细信息。', + 'description' => '包含API请求日志的详细信息。', + 'type' => 'object', + 'properties' => [ + 'basicInfo' => [ + 'title' => '包含API请求的基本信息。', + 'description' => '包含API请求的基本信息。', + 'type' => 'object', + 'properties' => [ + 'api' => [ + 'title' => '所查日志内的API名称。', + 'description' => '所查日志内的API名称。', + 'type' => 'string', + 'example' => 'RunInstances'."\n", + ], + 'apiDoc' => [ + 'title' => 'API文档信息。', + 'description' => 'API文档信息。', + 'type' => 'object', + 'properties' => [ + 'aliyunSite' => [ + 'title' => '中国站文档链接。', + 'description' => '中国站文档链接。', + 'type' => 'string', + 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', + ], + 'alibabacloudSite' => [ + 'title' => '国际站文档链接。', + 'description' => '国际站文档链接。', + 'type' => 'string', + 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', + ], + ], + ], + 'apiVersion' => [ + 'title' => 'API版本信息。', + 'description' => 'API版本信息。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'product' => [ + 'title' => '产品名称。', + 'description' => '产品CODE。', + 'type' => 'string', + 'example' => 'Ecs'."\n", + ], + 'productName' => [ + 'title' => '产品名称信息,包含中文名和英文名。', + 'description' => '产品名称信息,包含中文名和英文名。', + 'type' => 'object', + 'properties' => [ + 'cnName' => [ + 'title' => '产品中文名。', + 'description' => '产品中文名。', + 'type' => 'string', + 'example' => '云服务器 ECS'."\n", + ], + 'enName' => [ + 'title' => '产品英文名。', + 'description' => '产品英文名。', + 'type' => 'string', + 'example' => ' '."\n" + .'Elastic Compute Service'."\n", + ], + ], + ], + 'apiStyle' => [ + 'title' => 'API风格,可能为ROA或RPC风格类型。', + 'description' => 'API风格,可能为ROA或RPC风格类型。', + 'type' => 'string', + 'example' => 'rpc', + ], + 'logRequestId' => [ + 'title' => '本次查询日志的requestId,并非本次请求的requestId。', + 'description' => '传入的RequestId。', + 'type' => 'string', + 'example' => '123E4567-E89B-12D3-A456-426614174000', + ], + 'httpStatusCode' => [ + 'title' => '所查日志内的Http状态码信息。', + 'description' => '所查日志内的HTTP状态码信息。', + 'type' => 'string', + 'example' => '400', + ], + 'errorCode' => [ + 'title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', + 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', + 'type' => 'string', + 'example' => 'IncorrectStatus.TransitRouter'."\n", + ], + 'errorMessage' => [ + 'title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', + 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', + 'type' => 'string', + 'example' => 'The resource is not in a valid state for the operation.'."\n", + ], + 'accessDeniedDetail' => [ + 'title' => '无权限报错详细信息', + 'description' => '无权限报错详细信息', + 'type' => 'object', + 'properties' => [ + 'policyType' => [ + 'title' => '无权限的策略类型', + 'description' => '无权限的策略类型', + 'type' => 'string', + 'example' => ' '."\n" + .'AccountLevelIdentityBasedPolicy'."\n", + ], + 'authPrincipalOwnerId' => [ + 'title' => '当前身份所属的阿里云账号UID信息', + 'description' => '当前身份所属的阿里云账号UID信息', + 'type' => 'string', + 'example' => '1001234561234567'."\n", + ], + 'authPrincipalType' => [ + 'title' => '操作者的身份类型', + 'description' => '操作者的身份类型', + 'type' => 'string', + 'example' => 'SubUser'."\n", + ], + 'authPrincipalDisplayName' => [ + 'title' => '身份标识', + 'description' => '身份标识', + 'type' => 'string', + 'example' => '205618123456123456'."\n", + ], + 'noPermissionType' => [ + 'title' => '无权限原因', + 'description' => '无权限原因', + 'type' => 'string', + 'example' => 'ImplicitDeny'."\n", + ], + 'authAction' => [ + 'title' => '导致无权限的具体操作', + 'description' => '导致无权限的具体操作', + 'type' => 'string', + 'example' => 'openapiexplorer:GetRequestLog'."\n", + ], + 'encodedDiagnosticMessage' => [ + 'title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', + 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', + 'type' => 'string', + 'example' => '-'."\n", + ], + ], + ], + 'httpMethod' => [ + 'title' => 'Http请求方式。', + 'description' => 'HTTP请求方式。', + 'type' => 'string', + 'example' => 'GET'."\n", + ], + 'requestDuration' => [ + 'title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', + 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', + 'type' => 'string', + 'example' => '188', + ], + 'sdkRequestTime' => [ + 'title' => 'SDK请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'description' => '发起请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'type' => 'string', + 'example' => '2025-01-21T07:43:06Z'."\n", + ], + 'gatewayProcessTime' => [ + 'title' => '网关处理时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'description' => '网关接收到请求的时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'type' => 'string', + 'example' => '2025-01-21T07:43:06Z'."\n" + ."\n", + ], + 'regionId' => [ + 'title' => '服务区域ID。', + 'description' => '服务区域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou'."\n", + ], + 'endpoint' => [ + 'title' => '服务区域对应的服务地址(Endpoint)。', + 'description' => '服务区域对应的服务地址(Endpoint)。', + 'type' => 'string', + 'example' => 'ecs.cn-hangzhou.aliyuncs.com'."\n", + ], + 'throttlingResult' => [ + 'title' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', + 'description' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', + 'type' => 'string', + 'example' => 'FC.PASS'."\n", + 'enum' => [ + 'FC.PASS', + 'FC.DENY', + ], + ], + ], + ], + 'callerInfo' => [ + 'title' => '调用者信息。', + 'description' => '调用者信息。', + 'type' => 'object', + 'properties' => [ + 'callerType' => [ + 'title' => '调用者类型。'."\n" + .'1. customer:云账号;'."\n" + .'2. sub:RAM子用户;'."\n" + .'3. AssumedRoleUser:STS Token临时身份;', + 'description' => '调用者类型。'."\n" + .'1. customer:云账号;'."\n" + .'2. sub:RAM子用户;'."\n" + .'3. AssumedRoleUser:STS Token临时身份;', + 'type' => 'string', + 'example' => 'sub'."\n", + 'enum' => [ + 'customer', + 'sub', + 'AssumedRoleUser', + ], + ], + 'callerIp' => [ + 'title' => '调用者的IP地址', + 'description' => '调用者的IP地址', + 'type' => 'string', + 'example' => '100.68.xxx.xxx'."\n", + ], + 'masterAccountId' => [ + 'title' => '主账号ID', + 'description' => '主账号ID', + 'type' => 'string', + 'example' => '1973374733454118'."\n", + ], + 'callerAccountId' => [ + 'title' => '调用者账号ID', + 'description' => '调用者账号ID', + 'type' => 'string', + 'example' => '241009849925897811'."\n", + ], + 'userAgent' => [ + 'title' => '用户代理信息', + 'description' => '用户代理信息', + 'type' => 'string', + 'example' => 'AlibabaCloud API Workbench'."\n", + ], + ], + ], + 'authenticationInfo' => [ + 'title' => '认证信息', + 'description' => '认证信息', + 'type' => 'object', + 'properties' => [ + 'signatureVersion' => [ + 'title' => '签名版本', + 'description' => '签名版本', + 'type' => 'string', + 'example' => 'unknown'."\n", + ], + 'signatureMethod' => [ + 'title' => '签名方法。'."\n" + .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" + .' * HMAC-SHA256: 使用HMAC-SHA256算法进行签名', + 'description' => '签名方法。'."\n" + .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" + .' * HMAC-SHA256: 使用HMAC-SHA256算法进行签名', + 'type' => 'string', + 'example' => 'HMAC-SHA256', + 'enum' => [], + ], + 'authenticationType' => [ + 'title' => '认证类型。'."\n" + .' * AK: 包括永久AK、临时AK、STS TOKEN等。'."\n" + .' * PRIVATEKEY:一种非对称加密类型的AK。'."\n" + .' * BEARERTOKEN:一种身份验证机制,广泛应用于 OAuth 2.0 框架和云服务中。'."\n" + .' * CUSTOM_SPI:一种高效且安全的认证方式,适用于云市场中 SaaS 类商品的交付和管理。'."\n" + .' * Anonymous:匿名访问。'."\n" + .' * DPS:类似于AK,但是签名算法不同于阿里云官方,个别产品专属。', + 'description' => '认证类型。'."\n" + .' * AK: 包括永久AK、临时AK、STS TOKEN等。'."\n" + .' * PRIVATEKEY:一种非对称加密类型的AK。'."\n" + .' * BEARERTOKEN:一种身份验证机制,广泛应用于 OAuth 2.0 框架和云服务中。'."\n" + .' * CUSTOM_SPI:一种高效且安全的认证方式,适用于云市场中 SaaS 类商品的交付和管理。'."\n" + .' * Anonymous:匿名访问。'."\n" + .' * DPS:类似于AK,但是签名算法不同于阿里云官方,个别产品专属。', + 'type' => 'string', + 'example' => 'AK', + 'enum' => [], + ], + ], + ], + 'parameters' => [ + 'title' => '请求参数信息。', + 'description' => '请求参数信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '请求参数名。', + 'description' => '请求参数名。', + 'type' => 'string', + 'example' => 'InstanceType'."\n", + ], + 'value' => [ + 'title' => '请求参数值。', + 'description' => '请求参数值。', + 'type' => 'any', + 'example' => 'ecs.g6.large'."\n", + ], + 'required' => [ + 'title' => '该请求参数是否必填。', + 'description' => '该请求参数是否必填。', + 'type' => 'boolean', + 'example' => 'false'."\n", + ], + 'type' => [ + 'title' => '该请求参数类型。', + 'description' => '该请求参数类型。', + 'type' => 'string', + 'example' => 'string'."\n", + ], + ], + 'description' => '', + ], + ], + 'responses' => [ + 'title' => '对应该请求的返回信息。', + 'description' => '对应该请求的返回信息。', + 'type' => 'object', + 'properties' => [ + 'responseBody' => [ + 'title' => '返回信息。', + 'description' => '返回信息。', + 'type' => 'string', + 'example' => '-'."\n", + ], + 'responseBodyFormat' => [ + 'title' => '响应体类型。'."\n" + .'JSON、XML、HTML。', + 'description' => '响应体类型。'."\n" + .'JSON、XML、HTML。', + 'type' => 'string', + 'example' => 'JSON'."\n", + ], + ], + ], + ], + ], + 'requestId' => [ + 'title' => '本次请求ID,与logRequestId非同一个参数。', + 'description' => '本次请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.LogRequestId', + 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', + 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', + ], + ], + 404 => [ + [ + 'errorCode' => 'NotFound.RequestLog', + 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', + 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\\\n\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\\\n\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\\\n\\",\\n \\"enName\\": \\"\\\\t\\\\nElastic Compute Service\\\\n\\"\\n },\\n \\"apiStyle\\": \\"rpc\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"400\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\\\n\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\\\n\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"\\\\t\\\\nAccountLevelIdentityBasedPolicy\\\\n\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\\\n\\",\\n \\"authPrincipalType\\": \\"SubUser\\\\n\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\\\n\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\\\n\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\\\n\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\\\n\\"\\n },\\n \\"httpMethod\\": \\"GET\\\\n\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\\\n\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\\\n\\\\n\\",\\n \\"regionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\\\n\\",\\n \\"throttlingResult\\": \\"FC.PASS\\\\n\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\\\n\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\\\n\\",\\n \\"masterAccountId\\": \\"1973374733454118\\\\n\\",\\n \\"callerAccountId\\": \\"241009849925897811\\\\n\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\\\n\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\\\n\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\\\n\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": true,\\n \\"type\\": \\"string\\\\n\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\\\n\\",\\n \\"responseBodyFormat\\": \\"JSON\\\\n\\"\\n }\\n },\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', + 'title' => '查询当前账号的API调用日志', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + ], + 'GetProductEndpoints' => [ + 'summary' => '获取产品的接入点信息。', + 'path' => '/product/endpoints', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorerY5UU1D', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'product', + 'in' => 'query', + 'schema' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '接入点信息。', + 'type' => 'object', + 'properties' => [], + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => '获取产品的接入点信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'GetRequestLog' => [ + 'summary' => '通过 API 返回的Request ID查询请求的日志详情,可用于排查故障。', + 'description' => '通过 RAM 授权或角色扮演,支持跨 RAM 用户或跨阿里云账号之间查询调用日志。详见授权方式,请参见[跨账号API错误诊断授权](~~2868101~~)。', + 'path' => '/getRequestLog', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + 'application/x-www-form-urlencoded', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer64CEGV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'logRequestId', + 'in' => 'query', + 'schema' => [ + 'title' => '需要查询日志的requestId。'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。'."\n", + 'description' => '需要查询日志的RequestId,'."\n" + .'API 请求的唯一标识符(UUID格式,且必须为大写)。', + 'type' => 'string', + 'required' => true, + 'example' => '123E4567-E89B-12D3-A456-426614174000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '查询成功', + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'logInfo' => [ + 'title' => '包含API请求日志的详细信息。', + 'description' => '包含API请求日志的详细信息。', + 'type' => 'object', + 'properties' => [ + 'basicInfo' => [ + 'title' => '包含API请求的基本信息。', + 'description' => '包含API请求的基本信息。', + 'type' => 'object', + 'properties' => [ + 'api' => [ + 'title' => '所查日志内的API名称。', + 'description' => '所查询请求的API名称。', + 'type' => 'string', + 'example' => 'RunInstances', + ], + 'apiDoc' => [ + 'title' => 'API文档信息。', + 'description' => 'API文档信息。', + 'type' => 'object', + 'properties' => [ + 'aliyunSite' => [ + 'title' => '中国站文档链接。', + 'description' => '中国站文档链接。', + 'type' => 'string', + 'example' => 'https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances', + ], + 'alibabacloudSite' => [ + 'title' => '国际站文档链接。', + 'description' => '国际站文档链接。', + 'type' => 'string', + 'example' => 'https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances', + ], + ], + ], + 'apiVersion' => [ + 'title' => 'API版本信息。', + 'description' => 'API版本信息。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'product' => [ + 'title' => '产品名称。', + 'description' => '产品CODE。', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'productName' => [ + 'title' => '产品名称信息,包含中文名和英文名。', + 'description' => '产品名称信息,包含中文名和英文名。', + 'type' => 'object', + 'properties' => [ + 'cnName' => [ + 'title' => '产品中文名。', + 'description' => '产品中文名。', + 'type' => 'string', + 'example' => '云服务器 ECS', + ], + 'enName' => [ + 'title' => '产品英文名。', + 'description' => '产品英文名。', + 'type' => 'string', + 'example' => 'Elastic Compute Service', + ], + ], + ], + 'apiStyle' => [ + 'title' => 'API风格,可能为ROA或RPC风格类型。', + 'description' => 'API风格,可能为ROA或RPC风格类型。', + 'type' => 'string', + 'example' => 'roa', + ], + 'logRequestId' => [ + 'title' => '本次查询日志的requestId,并非本次请求的requestId。', + 'description' => '传入的RequestId。', + 'type' => 'string', + 'example' => '123E4567-E89B-12D3-A456-426614174000', + ], + 'httpStatusCode' => [ + 'title' => '所查日志内的Http状态码信息。', + 'description' => '所查日志内的HTTP状态码信息。', + 'type' => 'string', + 'example' => '404', + ], + 'errorCode' => [ + 'title' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', + 'description' => '所查日志内的错误码。如查询的请求并未报错,该字段为空。', + 'type' => 'string', + 'example' => 'IncorrectStatus.TransitRouter', + ], + 'errorMessage' => [ + 'title' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', + 'description' => '所查日志内的错误消息。如查询的请求并未报错,该字段为空。', + 'type' => 'string', + 'example' => 'The resource is not in a valid state for the operation.', + ], + 'accessDeniedDetail' => [ + 'title' => '无权限报错详细信息', + 'description' => '无权限报错详细信息。如查询的RequestId存在鉴权报错,则存在该字段,否则不存在该字段。', + 'type' => 'object', + 'properties' => [ + 'policyType' => [ + 'title' => '无权限的策略类型', + 'description' => '无权限的策略类型', + 'type' => 'string', + 'example' => 'AccountLevelIdentityBasedPolicy', + ], + 'authPrincipalOwnerId' => [ + 'title' => '当前身份所属的阿里云账号UID信息', + 'description' => '当前身份所属的阿里云账号UID信息', + 'type' => 'string', + 'example' => '1001234561234567', + ], + 'authPrincipalType' => [ + 'title' => '操作者的身份类型', + 'description' => '操作者的身份类型', + 'type' => 'string', + 'example' => 'SubUser', + ], + 'authPrincipalDisplayName' => [ + 'title' => '身份标识', + 'description' => '身份标识', + 'type' => 'string', + 'example' => '205618123456123456', + ], + 'noPermissionType' => [ + 'title' => '无权限原因', + 'description' => '无权限原因', + 'type' => 'string', + 'example' => 'ImplicitDeny', + ], + 'authAction' => [ + 'title' => '导致无权限的具体操作', + 'description' => '导致无权限的具体操作', + 'type' => 'string', + 'example' => 'openapiexplorer:GetRequestLog', + ], + 'encodedDiagnosticMessage' => [ + 'title' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', + 'description' => '用于诊断的编码后信息。可调用 Ram 产品的 DecodeDiagnosticMessage OpenAPI 进一步诊断获得更多诊断信息。', + 'type' => 'string', + 'example' => '-', + ], + ], + ], + 'httpMethod' => [ + 'title' => 'Http请求方式。', + 'description' => 'HTTP请求方式。'."\n" + .'例如 GET PUT POST 等', + 'type' => 'string', + 'example' => 'GET', + ], + 'requestDuration' => [ + 'title' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', + 'description' => '网关从收到请求到返回响应的时间。单位毫秒(ms)。', + 'type' => 'string', + 'example' => '188', + ], + 'sdkRequestTime' => [ + 'title' => 'SDK请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'description' => '发起请求时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'type' => 'string', + 'example' => '2025-01-21T07:43:06Z', + ], + 'gatewayProcessTime' => [ + 'title' => '网关处理时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'description' => '网关接收到请求的时间。'."\n" + .'日期格式按照 ISO8601 表示法,并使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ', + 'type' => 'string', + 'example' => '2025-01-21T07:43:06Z', + ], + 'regionId' => [ + 'title' => '服务区域ID。', + 'description' => '服务区域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'endpoint' => [ + 'title' => '服务区域对应的服务地址(Endpoint)。', + 'description' => '服务区域对应的服务地址(Endpoint)。', + 'type' => 'string', + 'example' => 'ecs.cn-hangzhou.aliyuncs.com', + ], + 'throttlingResult' => [ + 'title' => '流控校验结果。FC.PASS:未被流控检查拦截;FC.DENY:被流控检查拦截。', + 'description' => '流控校验结果。FC.PASS:未被流控检查拦截(未产生速率流控);FC.DENY:被流控检查拦截(发生速率流控)。', + 'type' => 'string', + 'example' => 'FC.PASS', + 'enum' => [ + 'FC.PASS', + 'FC.DENY', + ], + ], + ], + ], + 'callerInfo' => [ + 'title' => '调用者信息。', + 'description' => '调用者信息。', + 'type' => 'object', + 'properties' => [ + 'callerType' => [ + 'title' => '调用者类型。'."\n" + .'1. customer:云账号;'."\n" + .'2. sub:RAM子用户;'."\n" + .'3. AssumedRoleUser:STS Token临时身份;', + 'description' => '调用者类型。'."\n" + .'1. customer:云账号;'."\n" + .'2. sub:RAM子用户;'."\n" + .'3. AssumedRoleUser:STS Token临时身份;', + 'type' => 'string', + 'example' => 'sub', + 'enum' => [ + 'customer', + 'sub', + 'AssumedRoleUser', + ], + ], + 'callerIp' => [ + 'title' => '调用者的IP地址', + 'description' => '调用者的IP地址', + 'type' => 'string', + 'example' => '100.68.xxx.xxx', + ], + 'masterAccountId' => [ + 'title' => '主账号ID', + 'description' => '主账号ID', + 'type' => 'string', + 'example' => '1973374733454118', + ], + 'callerAccountId' => [ + 'title' => '调用者账号ID', + 'description' => '调用者账号ID', + 'type' => 'string', + 'example' => '241009849925897811', + ], + 'userAgent' => [ + 'title' => '用户代理信息', + 'description' => '用户代理信息', + 'type' => 'string', + 'example' => 'AlibabaCloud API Workbench', + ], + ], + ], + 'authenticationInfo' => [ + 'title' => '认证信息', + 'description' => '认证信息', + 'type' => 'object', + 'properties' => [ + 'signatureVersion' => [ + 'title' => '签名版本', + 'description' => '签名版本', + 'type' => 'string', + 'example' => 'unknown', + ], + 'signatureMethod' => [ + 'title' => '签名方法。'."\n" + .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" + .' * HMAC-SHA256: 使用HMAC-SHA256算法进行签名', + 'description' => '签名方法。'."\n" + .' * HMAC-SHA1: 使用HMAC-SHA1算法进行签名'."\n" + .' * HMAC-SHA256: 使用HMAC-SHA256算法进行签名', + 'type' => 'string', + 'example' => 'HMAC-SHA256', + 'enum' => [], + ], + 'authenticationType' => [ + 'title' => '认证类型。'."\n" + .' * AK: 包括永久AK、临时AK、STS TOKEN等。'."\n" + .' * PRIVATEKEY:一种非对称加密类型的AK。'."\n" + .' * BEARERTOKEN:一种身份验证机制,广泛应用于 OAuth 2.0 框架和云服务中。'."\n" + .' * CUSTOM_SPI:一种高效且安全的认证方式,适用于云市场中 SaaS 类商品的交付和管理。'."\n" + .' * Anonymous:匿名访问。'."\n" + .' * DPS:类似于AK,但是签名算法不同于阿里云官方,个别产品专属。', + 'description' => '认证类型。'."\n" + .' * AK: 包括永久AK、临时AK、STS TOKEN等。'."\n" + .' * PRIVATEKEY:一种非对称加密类型的AK。'."\n" + .' * BEARERTOKEN:一种身份验证机制,广泛应用于 OAuth 2.0 框架和云服务中。'."\n" + .' * CUSTOM_SPI:一种高效且安全的认证方式,适用于云市场中 SaaS 类商品的交付和管理。'."\n" + .' * Anonymous:匿名访问。'."\n" + .' * DPS:类似于AK,但是签名算法不同于阿里云官方,个别产品专属。', + 'type' => 'string', + 'example' => 'AK', + 'enum' => [], + ], + ], + ], + 'parameters' => [ + 'title' => '请求参数信息。', + 'description' => '请求参数信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'title' => '请求参数名。', + 'description' => '请求参数名。', + 'type' => 'string', + 'example' => 'InstanceType', + ], + 'value' => [ + 'title' => '请求参数值。', + 'description' => '请求参数值。', + 'type' => 'any', + 'example' => 'ecs.g6.large'."\n", + ], + 'required' => [ + 'title' => '该请求参数是否必填。', + 'description' => '该请求参数是否必填。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'type' => [ + 'title' => '该请求参数类型。', + 'description' => '该请求参数类型。', + 'type' => 'string', + 'example' => 'string', + ], + ], + 'description' => '', + ], + ], + 'responses' => [ + 'title' => '对应该请求的返回信息。', + 'description' => '对应该请求的返回信息。', + 'type' => 'object', + 'properties' => [ + 'responseBody' => [ + 'title' => '返回信息。', + 'description' => '返回信息。', + 'type' => 'string', + 'example' => '-', + ], + 'responseBodyFormat' => [ + 'title' => '响应体类型。'."\n" + .'JSON、XML、HTML。', + 'description' => '响应体类型。'."\n" + .'JSON、XML、HTML。', + 'type' => 'string', + 'example' => 'JSON', + ], + ], + ], + ], + ], + 'requestId' => [ + 'title' => '本次请求ID,与logRequestId非同一个参数。', + 'description' => '本次请求ID。', + 'type' => 'string', + 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.LogRequestId', + 'errorMessage' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', + 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', + ], + ], + 404 => [ + [ + 'errorCode' => 'NotFound.RequestLog', + 'errorMessage' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', + 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"logInfo\\": {\\n \\"basicInfo\\": {\\n \\"api\\": \\"RunInstances\\",\\n \\"apiDoc\\": {\\n \\"aliyunSite\\": \\"https://api.aliyun.com/document/Ecs/2014-05-26/RunInstances\\",\\n \\"alibabacloudSite\\": \\"https://api.alibabacloud.com/document/Ecs/2014-05-26/RunInstances\\"\\n },\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"product\\": \\"Ecs\\",\\n \\"productName\\": {\\n \\"cnName\\": \\"云服务器 ECS\\",\\n \\"enName\\": \\"Elastic Compute Service\\"\\n },\\n \\"apiStyle\\": \\"roa\\",\\n \\"logRequestId\\": \\"123E4567-E89B-12D3-A456-426614174000\\",\\n \\"httpStatusCode\\": \\"404\\",\\n \\"errorCode\\": \\"IncorrectStatus.TransitRouter\\",\\n \\"errorMessage\\": \\"The resource is not in a valid state for the operation.\\",\\n \\"accessDeniedDetail\\": {\\n \\"policyType\\": \\"AccountLevelIdentityBasedPolicy\\",\\n \\"authPrincipalOwnerId\\": \\"1001234561234567\\",\\n \\"authPrincipalType\\": \\"SubUser\\",\\n \\"authPrincipalDisplayName\\": \\"205618123456123456\\",\\n \\"noPermissionType\\": \\"ImplicitDeny\\",\\n \\"authAction\\": \\"openapiexplorer:GetRequestLog\\",\\n \\"encodedDiagnosticMessage\\": \\"-\\"\\n },\\n \\"httpMethod\\": \\"GET\\",\\n \\"requestDuration\\": \\"188\\",\\n \\"sdkRequestTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"gatewayProcessTime\\": \\"2025-01-21T07:43:06Z\\",\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"endpoint\\": \\"ecs.cn-hangzhou.aliyuncs.com\\",\\n \\"throttlingResult\\": \\"FC.PASS\\"\\n },\\n \\"callerInfo\\": {\\n \\"callerType\\": \\"sub\\",\\n \\"callerIp\\": \\"100.68.xxx.xxx\\",\\n \\"masterAccountId\\": \\"1973374733454118\\",\\n \\"callerAccountId\\": \\"241009849925897811\\",\\n \\"userAgent\\": \\"AlibabaCloud API Workbench\\"\\n },\\n \\"authenticationInfo\\": {\\n \\"signatureVersion\\": \\"unknown\\",\\n \\"signatureMethod\\": \\"HMAC-SHA256\\",\\n \\"authenticationType\\": \\"AK\\"\\n },\\n \\"parameters\\": [\\n {\\n \\"name\\": \\"InstanceType\\",\\n \\"value\\": \\"ecs.g6.large\\\\n\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\"\\n }\\n ],\\n \\"responses\\": {\\n \\"responseBody\\": \\"-\\",\\n \\"responseBodyFormat\\": \\"JSON\\"\\n }\\n },\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\"\\n}","type":"json"}]', + 'title' => '查询API调用日志', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetRequestLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListApiDefinitions' => [ + 'summary' => '获取产品的开放元数据。', + 'path' => '/api/definitions', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorerY5UU1D', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'product', + 'in' => 'query', + 'schema' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + ], + ], + [ + 'name' => 'apiVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'API的版本。', + 'type' => 'string', + 'required' => true, + 'example' => '2014-05-26', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '开放元数据信息。', + 'type' => 'object', + 'properties' => [], + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => '获取产品的开放元数据', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'ListApiMcpServerSystemTools' => [ + 'summary' => '查询 MCP 服务支持的系统工具。', + 'path' => '/mcpSystemTools', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'maxResults', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'skip', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '跳过的数据数量。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '5', + 'default' => '0', + ], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" + ."\n" + .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAZjtYxxxxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '9BFC4AC1-6BE4-5405-BDEC-CA288D404812', + ], + 'nextToken' => [ + 'description' => '返回的 NextToken,用来返回更多结果。'."\n" + .'> 如果这个值没有返回,则说明没有更多结果。', + 'type' => 'string', + 'example' => 'AAAAAZjtYxxxxxxxx', + ], + 'maxResults' => [ + 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'totalCount' => [ + 'description' => '数据总记录数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '22', + ], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '系统工具名称', + 'type' => 'string', + 'example' => 'mcp-system', + ], + 'description' => [ + 'description' => '系统工具的描述信息。', + 'type' => 'string', + 'example' => 'system tool description', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + 'description' => '指定的nextToken无效。', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalServerError', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + 'description' => '由于服务器暂时故障,请求失败。', + ], + ], + ], + 'title' => '查询 MCP 服务支持的系统工具', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"maxResults\\": 20,\\n \\"totalCount\\": 22,\\n \\"systemTools\\": [\\n {\\n \\"name\\": \\"mcp-system\\",\\n \\"description\\": \\"system tool description\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListApiMcpServers' => [ + 'summary' => '查询父账号下所有API MCP服务器的列表。', + 'path' => '/apimcpservers', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务的 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'v6ZZ7ftCzEILW***', + ], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '下一个查询开始 Token,取值为上一次 API 调用返回的 NextToken 参数值。'."\n" + ."\n" + .'> 第一次查询不需要提供本参数,如果一次查询没有返回全部结果,则可在后续查询中传入前一次返回的 NextToken 值以继续查询。', + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAZjtYxxxxxxxx', + ], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '分页查询时每页的最大条目数。最大值为 100。默认值为 20。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'exclusiveMinimum' => true, + 'example' => '10', + 'default' => '20', + ], + ], + [ + 'name' => 'skip', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => '跳过的数据数量。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '5', + 'default' => '0', + ], + ], + [ + 'name' => 'description', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '这是一个API MCP服务器。', + ], + ], + [ + 'name' => 'language', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZH_CN', + 'enum' => [ + 'EN_US', + 'ZH_CN', + ], + ], + ], + [ + 'name' => 'createTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP服务器的创建时间。', + 'type' => 'string', + 'required' => false, + 'example' => '2024-10-30T02:10:13Z', + ], + ], + [ + 'name' => 'updateTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP服务器的更新时间。', + 'type' => 'string', + 'required' => false, + 'example' => '2024-06-05T02:27:39Z', + ], + ], + [ + 'name' => 'sourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'keyword', + 'in' => 'query', + 'schema' => [ + 'description' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', + 'type' => 'string', + 'required' => false, + 'example' => 'oss', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + 'nextToken' => [ + 'description' => '分页游标。'."\n" + .'> 不为空表示有更多数据。', + 'type' => 'string', + 'example' => 'AAAAAZjtYxxxxxxxx', + ], + 'totalCount' => [ + 'description' => '总数据条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'maxResults' => [ + 'description' => '每页最大条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'apiMcpServers' => [ + 'description' => '查询的API MCP服务器结果列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API MCP服务信息。', + 'type' => 'object', + 'properties' => [ + 'id' => [ + 'description' => 'API MCP 服务 ID。', + 'type' => 'string', + 'example' => 'v6ZZ7ftCzEILW***', + ], + 'description' => [ + 'description' => 'API MCP服务器的描述。', + 'type' => 'string', + 'example' => '这是一个API MCP服务器。', + ], + 'apis' => [ + 'description' => 'API信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'selectors' => [ + 'description' => 'API名称匹配规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API名称匹配规则。', + 'type' => 'string', + 'example' => '*Bucket', + ], + ], + ], + ], + ], + 'additionalApiDescriptions' => [ + 'description' => '补充的API描述信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '补充的API描述信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'example' => '2014-05-26', + ], + 'apiName' => [ + 'description' => 'API名称。', + 'type' => 'string', + 'example' => 'DescribeRegions', + ], + 'apiOverrideJson' => [ + 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', + 'type' => 'string', + 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}', + ], + 'executeCliCommand' => [ + 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'enableOutputSchema' => [ + 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'constParameters' => [ + 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', + 'type' => 'array', + 'items' => [ + 'description' => '常量入参。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', + 'type' => 'string', + 'example' => 'InstanceId', + ], + 'value' => [ + 'description' => '参数的值。', + 'type' => 'any', + 'example' => '1234', + ], + ], + ], + ], + ], + ], + ], + 'createTime' => [ + 'description' => 'API MCP服务器的创建时间。', + 'type' => 'string', + 'example' => '2024-12-10T03:20:21Z', + ], + 'updateTime' => [ + 'description' => 'API MCP服务器的更新时间。', + 'type' => 'string', + 'example' => '2025-01-10T02:11:43Z', + ], + 'prompts' => [ + 'description' => 'prompt配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt配置', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'prompt名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => 'prompt描述信息。', + 'type' => 'string', + 'example' => 'prompt description', + ], + 'content' => [ + 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', + 'type' => 'string', + 'example' => 'prompt正文,{{name}}', + ], + 'arguments' => [ + 'description' => 'prompt支持的参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt支持的参数。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '参数名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => '参数的描述信息。', + 'type' => 'string', + 'example' => 'argument description', + ], + 'required' => [ + 'description' => '该参数是否必填。', + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + 'language' => [ + 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', + 'type' => 'string', + 'enumValueTitles' => [ + 'EN_US' => 'EN_US', + 'ZH_CN' => 'ZH_CN', + ], + 'example' => 'ZH_CN', + ], + 'urls' => [ + 'description' => 'API MCP 服务连接信息。', + 'type' => 'object', + 'properties' => [ + 'sse' => [ + 'description' => 'SSE 协议连接信息。', + 'type' => 'string', + 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'mcp' => [ + 'description' => 'streamable HTTP 协议连接信息,推荐使用。', + 'type' => 'string', + 'example' => 'https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + 'vpcSse' => [ + 'description' => 'VPC 下 SSE 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse', + ], + 'vpcMcp' => [ + 'description' => 'VPC 下 streamable HTTP 协议连接地址。', + 'type' => 'string', + 'example' => 'https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp', + ], + ], + ], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具名称。', + 'type' => 'string', + 'example' => 'FetchRamActionDetails', + ], + ], + 'name' => [ + 'description' => 'MCP SERVER 名称信息,由 a-z0-9 组成,3-64 位,不以数字开头,同主账号下必须唯一。', + 'type' => 'string', + 'example' => 'mcp-demo', + ], + 'sourceType' => [ + 'description' => 'API MCP 服务类型。'."\n" + ."\n" + .'- custom 自定义服务'."\n" + ."\n" + .'- system 系统服务', + 'type' => 'string', + 'example' => 'system', + ], + 'systemMcpServerInfo' => [ + 'description' => '系统 MCP 服务列表。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'name' => [ + 'description' => '系统 MCP 服务名称。', + 'type' => 'string', + 'example' => 'mcp-system', + ], + ], + ], + 'oauthClientId' => [ + 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', + 'type' => 'string', + 'example' => '403*************370', + ], + 'instructions' => [ + 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', + 'type' => 'string', + 'example' => 'test', + ], + 'enableAssumeRole' => [ + 'description' => '是否开启多账号访问。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'assumeRoleName' => [ + 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'assumeRoleExtraPolicy' => [ + 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', + 'type' => 'string', + 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'terraformTools' => [ + 'description' => 'Terraform Tool 列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'Terraform Tool 。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', + 'type' => 'string', + 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}', + ], + 'name' => [ + 'description' => 'Terraform Tool 名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'description' => [ + 'description' => 'Terraform Tool 描述信息。', + 'type' => 'string', + 'example' => 'Terraform Tool description', + ], + 'async' => [ + 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'destroyPolicy' => [ + 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" + ."\n" + .'- NEVER 不删除:无论任务执行成功或失败,均不删除所有创建的资源'."\n" + .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" + .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', + 'type' => 'string', + 'enumValueTitles' => [ + 'ON_FAILURE' => 'ON_FAILURE', + 'NEVER' => 'NEVER', + 'ALWAYS' => 'ALWAYS', + ], + 'example' => 'ON_FAILURE', + ], + ], + ], + ], + 'publicAccess' => [ + 'description' => '是否开启公网。', + 'type' => 'string', + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + 'follow', + ], + ], + 'enableCustomVpcWhitelist' => [ + 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParam.NextToken', + 'errorMessage' => 'The specified NextToken is not valid.', + 'description' => '指定的nextToken无效。', + ], + [ + 'errorCode' => 'NextTokenParameterMismatch', + 'errorMessage' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', + 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 ', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalServerError', + 'errorMessage' => 'The request has failed due to a temporary failure of the server.', + 'description' => '由于服务器暂时故障,请求失败。', + ], + ], + ], + 'title' => '查询API MCP 服务列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\",\\n \\"nextToken\\": \\"AAAAAZjtYxxxxxxxx\\",\\n \\"totalCount\\": 5,\\n \\"maxResults\\": 30,\\n \\"apiMcpServers\\": [\\n {\\n \\"id\\": \\"v6ZZ7ftCzEILW***\\",\\n \\"description\\": \\"这是一个API MCP服务器。\\",\\n \\"apis\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"selectors\\": [\\n \\"*Bucket\\"\\n ]\\n }\\n ],\\n \\"additionalApiDescriptions\\": [\\n {\\n \\"product\\": \\"Ecs\\",\\n \\"apiVersion\\": \\"2014-05-26\\",\\n \\"apiName\\": \\"DescribeRegions\\",\\n \\"apiOverrideJson\\": \\"{\\\\n \\\\\\"summary\\\\\\": \\\\\\"本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。\\\\\\"\\\\n}\\",\\n \\"executeCliCommand\\": true,\\n \\"enableOutputSchema\\": true,\\n \\"constParameters\\": [\\n {\\n \\"key\\": \\"InstanceId\\",\\n \\"value\\": \\"1234\\"\\n }\\n ]\\n }\\n ],\\n \\"createTime\\": \\"2024-12-10T03:20:21Z\\",\\n \\"updateTime\\": \\"2025-01-10T02:11:43Z\\",\\n \\"prompts\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"prompt description\\",\\n \\"content\\": \\"prompt正文,{{name}}\\",\\n \\"arguments\\": [\\n {\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"argument description\\",\\n \\"required\\": true\\n }\\n ]\\n }\\n ],\\n \\"language\\": \\"ZH_CN\\",\\n \\"urls\\": {\\n \\"sse\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"mcp\\": \\"https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\",\\n \\"vpcSse\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/sse\\",\\n \\"vpcMcp\\": \\"https://openapi-mcp-cn.vpc-proxy.aliyuncs.com/accounts/xxxx/custom/xxx/id/xxxx/mcp\\"\\n },\\n \\"systemTools\\": [\\n \\"FetchRamActionDetails\\"\\n ],\\n \\"name\\": \\"mcp-demo\\",\\n \\"sourceType\\": \\"system\\",\\n \\"systemMcpServerInfo\\": {\\n \\"product\\": \\"Ecs\\",\\n \\"name\\": \\"mcp-system\\"\\n },\\n \\"oauthClientId\\": \\"403*************370\\",\\n \\"instructions\\": \\"test\\",\\n \\"enableAssumeRole\\": true,\\n \\"assumeRoleName\\": \\"test\\",\\n \\"assumeRoleExtraPolicy\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"ecs:Describe*\\\\\\",\\\\n \\\\\\"vpc:Describe*\\\\\\",\\\\n \\\\\\"vpc:List*\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": \\\\\\"*\\\\\\"\\\\n }\\\\n ]\\\\n}\\",\\n \\"terraformTools\\": [\\n {\\n \\"code\\": \\"variable \\\\\\"name\\\\\\" {\\\\n default = \\\\\\"terraform-example\\\\\\"\\\\n}\\\\n\\\\nprovider \\\\\\"alicloud\\\\\\" {\\\\n region = \\\\\\"cn-beijing\\\\\\"\\\\n}\\\\n\\\\nresource \\\\\\"alicloud_vpc\\\\\\" \\\\\\"default\\\\\\" {\\\\n ipv6_isp = \\\\\\"BGP\\\\\\"\\\\n description = \\\\\\"test\\\\\\"\\\\n cidr_block = \\\\\\"10.0.0.0/8\\\\\\"\\\\n vpc_name = var.name\\\\n enable_ipv6 = true\\\\n}\\",\\n \\"name\\": \\"test\\",\\n \\"description\\": \\"Terraform Tool description\\",\\n \\"async\\": true,\\n \\"destroyPolicy\\": \\"ON_FAILURE\\"\\n }\\n ],\\n \\"publicAccess\\": \\"on\\",\\n \\"enableCustomVpcWhitelist\\": true,\\n \\"vpcWhitelists\\": [\\n \\"vpc-j6cgd2if5lg**0xs6m5se\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'UpdateApiMcpServer' => [ + 'summary' => '修改API MCP服务。', + 'path' => '/apimcpserver', + 'methods' => [ + 'patch', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + ], + 'parameters' => [ + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符,建议使用UUID。过期时间为3天。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'id', + 'in' => 'query', + 'schema' => [ + 'description' => 'API MCP 服务的 ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'v6ZZ7ftCzEILW***', + ], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'description' => [ + 'description' => 'API MCP服务器描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => '这是一个API MCP服务器。', + ], + 'apis' => [ + 'description' => '修改的API列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => false, + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'required' => false, + 'example' => '2014-05-26', + ], + 'selectors' => [ + 'description' => 'API名称匹配规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'API名称匹配规则。', + 'type' => 'string', + 'required' => false, + 'example' => '*Bucket', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'additionalApiDescriptions' => [ + 'description' => '补充的API描述信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '补充API的描述信息。', + 'type' => 'object', + 'properties' => [ + 'product' => [ + 'description' => '产品CODE。'."\n" + ."\n" + .'- 调用GetRequestLog接口,从返回结果中获取产品CODE。'."\n" + ."\n" + .'- 通过OpenAPI门户的URL,找到对应的产品CODE。例如,<props="china">短信服务的OpenAPI门户URL为https://api.aliyun.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>'."\n" + .'<props="intl">短信服务的OpenAPI门户URL为https://api.alibabacloud.com/product/Dysmsapi,根据该URL获取短信服务的产品CODE为Dysmsapi。</props>', + 'type' => 'string', + 'required' => false, + 'example' => 'Ecs', + ], + 'apiVersion' => [ + 'description' => '透出到 MCP SERVER 的 API 所属的 POP version。', + 'type' => 'string', + 'required' => false, + 'example' => '2014-05-26', + ], + 'apiName' => [ + 'description' => 'API名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'DescribeRegions', + ], + 'apiOverrideJson' => [ + 'description' => 'API元数据JSON 格式,参考格式 https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json,支持覆盖其中的summary、parameters。', + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "summary": "本接口支持根据不同请求条件查询实例列表,并关联查询实例的详细信息。"'."\n" + .'}'."\n", + ], + 'executeCliCommand' => [ + 'description' => '是否返回CLI的执行命令,这个模式下,不真实执行API调用,返回对应的CLI命令,适用于长耗时的任务,需要搭配使用阿里云CLI执行。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'enableOutputSchema' => [ + 'description' => '是否返回出参的schema,返回出参schema时会增加整个API MCP SERVER的体积。默认值为 null,表示不返回出参的schema。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'constParameters' => [ + 'description' => '常量入参列表,在API参数解析时,不再输出这部分参数。', + 'type' => 'array', + 'items' => [ + 'description' => '常量入参。', + 'type' => 'object', + 'properties' => [ + 'key' => [ + 'description' => '参数名称。仅支持一级参数名称,对于ROA风格的API,支持设置到body.xx,不允许设置超出顶级参数的值。', + 'type' => 'string', + 'required' => false, + 'example' => 'InstanceId', + ], + 'value' => [ + 'description' => '参数的值。', + 'type' => 'any', + 'required' => false, + 'example' => '1234', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'prompts' => [ + 'description' => 'prompt配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt配置。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'prompt名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => '描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'prompt description', + ], + 'content' => [ + 'description' => 'prompt 的内容信息,其变量通过 {{xxx}} 格式指定。xxx为变量,需要从 arguments 参数中定义。', + 'type' => 'string', + 'required' => false, + 'example' => 'prompt正文,{{name}}', + ], + 'arguments' => [ + 'description' => 'prompt支持的参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'prompt支持的参数。', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => '参数名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => '参数的描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'argument description', + ], + 'required' => [ + 'description' => '该参数是否必填。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'language' => [ + 'description' => 'API MCP服务的文档语言。支持选择中文或英文API文档,不同的语言提示词对AI的回复效果可能产生差异。', + 'type' => 'string', + 'required' => false, + 'example' => 'ZH_CN', + 'enum' => [ + 'EN_US', + 'ZH_CN', + ], + ], + 'systemTools' => [ + 'description' => '系统工具列表。', + 'type' => 'array', + 'items' => [ + 'description' => '系统工具名称', + 'type' => 'string', + 'required' => false, + 'example' => 'FetchRamActionDetails', + ], + 'required' => false, + ], + 'oauthClientId' => [ + 'description' => '选择自定义OAuth配置时的自定义OAuth Client ID。'."\n" + ."\n" + .'`仅支持 Web/Native 应用,且 OAuth 范围必须包含 /acs/mcp-server`', + 'type' => 'string', + 'required' => false, + 'example' => '403*************370', + ], + 'instructions' => [ + 'description' => 'MCP 指令,用于提示大模型如何使用该 MCP,需要客户端支持 MCP 标准协议的 Instructions 字段。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'enableAssumeRole' => [ + 'description' => '是否开启多账号访问。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'assumeRoleName' => [ + 'description' => '开启多账号访问进行跨账号操作时,扮演的目标账号 RAM角色名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'assumeRoleExtraPolicy' => [ + 'description' => '开启多账号访问时,角色扮演额外的策略,该策略存在时,角色扮演的权限以当前值为准,覆盖角色本身的权限定义。', + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "Version": "1",'."\n" + .' "Statement": ['."\n" + .' {'."\n" + .' "Effect": "Allow",'."\n" + .' "Action": ['."\n" + .' "ecs:Describe*",'."\n" + .' "vpc:Describe*",'."\n" + .' "vpc:List*"'."\n" + .' ],'."\n" + .' "Resource": "*"'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + ], + 'publicAccess' => [ + 'description' => '是否开启公网。', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + 'follow', + ], + ], + 'enableCustomVpcWhitelist' => [ + 'description' => '是否开启自定义VPC白名单,不开启则跟随账户级别的配置。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'terraformTools' => [ + 'description' => 'Terraform Tool 列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'Terraform Tool。', + 'type' => 'object', + 'properties' => [ + 'code' => [ + 'description' => 'Terraform Tool 代码。[HCL 语言概述](https://help.aliyun.com/zh/terraform/terraform-configuration-and-hcl-language-overview)', + 'type' => 'string', + 'required' => false, + 'example' => 'variable "name" {'."\n" + .' default = "terraform-example"'."\n" + .'}'."\n" + ."\n" + .'provider "alicloud" {'."\n" + .' region = "cn-beijing"'."\n" + .'}'."\n" + ."\n" + .'resource "alicloud_vpc" "default" {'."\n" + .' ipv6_isp = "BGP"'."\n" + .' description = "test"'."\n" + .' cidr_block = "10.0.0.0/8"'."\n" + .' vpc_name = var.name'."\n" + .' enable_ipv6 = true'."\n" + .'}', + ], + 'name' => [ + 'description' => 'Terraform Tool 名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'description' => [ + 'description' => 'Terraform Tool 描述信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'Terraform Tool description', + ], + 'async' => [ + 'description' => '是否为异步执行,即发起一个任务执行之后会立即处理下一个任务,而不等待每个资源操作完成。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'destroyPolicy' => [ + 'description' => '删除策略,任务执行完成后,系统根据任务执行状态对临时资源采取以下清理策略。'."\n" + ."\n" + .'- NEVER 不删除:无论任务执行成功或失败,均不删除所有创建的资源'."\n" + .'- ALWAYS 总是删除:无论任务执行成功或失败,执行完成立即销毁所有相关资源'."\n" + .'- ON_FAILURE 失败时删除:仅当任务执行失败时,删除相关资源;当任务执行成功时,则保留这些资源', + 'type' => 'string', + 'required' => false, + 'example' => 'ON_FAILURE', + 'enum' => [ + 'NEVER', + 'ALWAYS', + 'ON_FAILURE', + ], + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Missing.Id', + 'errorMessage' => 'Id is mandatory for this action.', + 'description' => '缺少必填参数Id。', + ], + [ + 'errorCode' => 'Missing.Apis.PopCode', + 'errorMessage' => 'Apis.PopCode is mandatory for this action.', + 'description' => 'Apis参数中缺少必填参数popCode。', + ], + [ + 'errorCode' => 'Missing.Apis.PopVersion', + 'errorMessage' => 'Apis.PopVersion is mandatory for this action.', + 'description' => '缺少必填参数Apis.PopVersion。', + ], + [ + 'errorCode' => 'InvalidParam.Apis.PopVersion', + 'errorMessage' => 'Unsupported product version: %s of product code: %s.', + 'description' => '产品%s不支持%s版本。', + ], + [ + 'errorCode' => 'InvalidParam.Apis.PopCode', + 'errorMessage' => 'Unsupported product code: %s.', + 'description' => '指定的产品名称不存在。', + ], + [ + 'errorCode' => 'Missing.Apis.Selectors', + 'errorMessage' => 'Apis.Selectors is mandatory for this action.', + 'description' => 'Apis.Selectors是必填参数', + ], + [ + 'errorCode' => 'InvalidParam.Language', + 'errorMessage' => 'Unsupported language: %s.', + 'description' => '指定多语言无效。', + ], + [ + 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopVersion', + 'errorMessage' => 'Unsupported product version: %s of product code: %s.', + 'description' => '产品%s不支持%s版本。 ', + ], + [ + 'errorCode' => 'InvalidParam.AdditionalApiDescription.PopCode', + 'errorMessage' => 'Unsupported product code: %s.', + 'description' => '指定的产品名称不存在', + ], + [ + 'errorCode' => 'InvalidParam.SystemTools', + 'errorMessage' => 'System tool %s is not supported.', + 'description' => '指定的系统工具无效。', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Description', + 'errorMessage' => 'TerraformTools.Description is mandatory for this action.', + 'description' => '缺少必填参数TerraformTools.Description', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Code', + 'errorMessage' => 'TerraformTools.Code is mandatory for this action.', + 'description' => '缺少必填参数TerraformTools.Code。', + ], + [ + 'errorCode' => 'IdempotentParameterMismatch', + 'errorMessage' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', + 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', + ], + [ + 'errorCode' => 'InvalidParam.TerraformTools.Name', + 'errorMessage' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'errorCode' => 'Missing.TerraformTools.Name', + 'errorMessage' => 'TerraformTools.Name is mandatory for this action.', + 'description' => 'Terraform工具名称是必填参数。', + ], + [ + 'errorCode' => 'InvalidParam.TerraformTools.Code', + 'errorMessage' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', + 'description' => '指定的TerraformTools.Code参数无效。', + ], + [ + 'errorCode' => 'InvalidParam.ClientToken', + 'errorMessage' => 'The specified client token is not valid.', + 'description' => '该幂等参数有误,请检查。', + ], + ], + 403 => [ + [ + 'errorCode' => 'OperationNotAllowed.SystemServer', + 'errorMessage' => 'System type servers are not allowed to be updated or deleted.', + 'description' => '系统级别的服务不允许更新或删除操作。', + ], + ], + [ + [ + 'errorCode' => 'NotFound.ApiMcpServer', + 'errorMessage' => 'Specified MCP server not found.', + 'description' => '指定id的MCP服务不存在。', + ], + ], + 409 => [ + [ + 'errorCode' => 'Exists.TerraformTools.Name', + 'errorMessage' => 'The Terraform tool name already exists.', + 'description' => '指定的Terraform 工具名称已经存在。', + ], + ], + ], + 'title' => '修改API MCP服务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', + ], + 'UpdateApiMcpServerUserConfig' => [ + 'path' => '/userconfig/update', + 'methods' => [ + 'patch', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => [ + 'application/json', + ], + 'produces' => [ + 'application/json', + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREopenapiexplorer7MPML0', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'enablePublicAccess' => [ + 'description' => '是否开启账户下所有API MCP Server(包含系统MCP Server)的公网访问能力,默认为开启,关闭后只能通过VPC域名访问。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'vpcWhitelists' => [ + 'description' => '关闭公网访问后,限定来源的VPC白名单,不设置或为空表示不限制来源。', + 'type' => 'array', + 'items' => [ + 'description' => '每一个限定的VPC白名单,值为来源VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-j6cgd2if5lg**0xs6m5se', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '请求结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => ' '."\n" + .'9BFC4AC1-6BE4-5405-BDEC-CA288D404812'."\n", + ], + ], + ], + ], + ], + 'errorCodes' => [], + 'title' => '修改API MCP Server全局配置', + 'summary' => '修改用户全局API MCP Server配置。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'patch', + 'ramAction' => [ + 'action' => 'openapiexplorer:UpdateApiMcpServerUserConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"\\\\t\\\\n9BFC4AC1-6BE4-5405-BDEC-CA288D404812\\\\n\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-hangzhou', + 'regionName' => '华东1(杭州)', + 'areaId' => 'asiaPacific', + 'areaName' => '亚太', + 'public' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', + 'endpoint' => 'openapi-mcp.cn-hangzhou.aliyuncs.com', + 'vpc' => '', + ], + [ + 'regionId' => 'ap-southeast-1', + 'regionName' => '新加坡', + 'areaId' => 'asiaPacific', + 'areaName' => '亚太', + 'public' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', + 'endpoint' => 'openapi-mcp.ap-southeast-1.aliyuncs.com', + 'vpc' => '', + ], + [ + 'regionId' => 'public', + 'regionName' => '公网', + 'areaId' => 'other', + 'areaName' => '其它', + 'public' => 'openapiexplorer.aliyuncs.com', + 'endpoint' => 'openapiexplorer.aliyuncs.com', + 'vpc' => '', + ], + ], + 'errorCodes' => [ + [ + 'code' => 'InvalidApiMcpServer.NotFound', + 'message' => 'The specified ApiMcpServer does not exist.', + 'http_code' => 404, + 'description' => '指定的 ApiMcpServer 不存在。', + ], + [ + 'code' => 'InvalidParam.AcceptLanguage', + 'message' => 'Accepted language should only be zh-CN or en-US.', + 'http_code' => 400, + 'description' => '参数无效,接受的语言只能是zh-CN或en-US。', + ], + [ + 'code' => 'InvalidParam.Apis', + 'message' => 'Apis is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Apis是必填参数。', + ], + [ + 'code' => 'InvalidParam.ErrorCode', + 'message' => 'The errorCode should be a string and cannot be empty.', + 'http_code' => 400, + 'description' => 'ErrorCode参数无效,应该是字符串,不能为空。', + ], + [ + 'code' => 'InvalidParam.ErrorMessage', + 'message' => 'The errorMessage should be a string or null.', + 'http_code' => 400, + 'description' => '参数 errorMessage 无效。ErrorMessage应该是字符串或null。', + ], + [ + 'code' => 'InvalidParam.LogRequestId', + 'message' => 'Please ensure that the request ID you provided originates from a request you made to a certain OpenAPI.', + 'http_code' => 400, + 'description' => '参数logRequestId无效。你请确保您提供的请求ID源自您向某个OpenAPI发出的请求。', + ], + [ + 'code' => 'InvalidParam.ParentId', + 'message' => 'ParentId is mandatory for this action.', + 'http_code' => 400, + 'description' => 'ParentId是必填参数。', + ], + [ + 'code' => 'InvalidParam.Path', + 'message' => 'Path is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Path参数必填。', + ], + [ + 'code' => 'InvalidParam.PopCode', + 'message' => 'PopCode is mandatory for this action.', + 'http_code' => 400, + 'description' => 'PopCode是必填参数。', + ], + [ + 'code' => 'InvalidParam.PopVersion', + 'message' => 'PopVersion is mandatory for this action.', + 'http_code' => 400, + 'description' => 'PopVersion是必填参数。', + ], + [ + 'code' => 'InvalidParam.Product', + 'message' => 'The product should be a string or null.', + 'http_code' => 400, + 'description' => '参数 product 无效,应该是字符串或null。', + ], + [ + 'code' => 'InvalidParam.Selectors', + 'message' => 'Selectors is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Selectors是必填参数。', + ], + [ + 'code' => 'NotFound.Product', + 'message' => 'The provided product does not exist.', + 'http_code' => 404, + 'description' => '您提供的产品名称不存在。', + ], + [ + 'code' => 'NotFound.RequestLog', + 'message' => 'The log related to this logRequestId does not exist, has expired, or you do not have permission to view it.', + 'http_code' => 404, + 'description' => '与此logRequestId相关的日志不存在、已过期或您没有查看它的权限。', + ], + [ + 'code' => 'InvalidParam.TerraformTool.Code', + 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', + 'http_code' => 400, + 'description' => '指定的TerraformTool.Code参数无效。', + ], + [ + 'code' => 'TerraformToolName.exists', + 'message' => 'The specified Terraform tool name already exists.', + 'http_code' => 409, + 'description' => '指定的Terraform 工具名称已经存在。', + ], + [ + 'code' => 'OperationNotAllowed.SystemServer', + 'message' => 'System type servers are not allowed to be updated or deleted.', + 'http_code' => 403, + 'description' => '系统级别的服务不允许更新或删除操作。', + ], + [ + 'code' => 'AccountMismatch', + 'message' => 'The specified client token dose not belong to your account.', + 'http_code' => 400, + 'description' => '幂等参数对应的parentId不一致。', + ], + [ + 'code' => 'Missing.Name', + 'message' => 'Name is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Name是必填参数', + ], + [ + 'code' => 'InvalidParam.SystemTools', + 'message' => 'System tool %s is not supported.', + 'http_code' => 400, + 'description' => '指定的系统工具无效。', + ], + [ + 'code' => 'MissingParam.ParentId', + 'message' => 'ParentId is mandatory for this action.', + 'http_code' => 400, + 'description' => 'ParentId 是必填参数,该参数为请求头中的x-acs-account-id参数', + ], + [ + 'code' => 'Exists.Name', + 'message' => 'The MCP server name already exists.', + 'http_code' => 409, + 'description' => '同一个主账号ID下已存在该名称。', + ], + [ + 'code' => 'QuotaExceeded', + 'message' => 'The number of MCP server created by the user has reached the upper limit.', + 'http_code' => 429, + 'description' => '用户创建的MCP服务器数量已达到上限。', + ], + [ + 'code' => 'MissingParam.CreateUid', + 'message' => 'CreateUid is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少调用者UID,该参数为请求头中的x-acs-caller-uid参数。', + ], + [ + 'code' => 'Missing.TerraformTools.Code', + 'message' => 'TerraformTools.Code is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数TerraformTools.Code。', + ], + [ + 'code' => 'NextTokenParameterMismatch', + 'message' => 'The request uses the same nextToken as the previous request, but with different parameters. NextTokens should not be reused across non-identical requests. Each unique request must have a distinct nextToken.', + 'http_code' => 400, + 'description' => '请求使用了与之前请求相同的nextToken,但参数不同。请勿在参数不同的请求中重复使用同一nextToken,每个独立请求必须使用唯一的nextToken。 ', + ], + [ + 'code' => 'Missing.Id', + 'message' => 'Id is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数Id。', + ], + [ + 'code' => 'Missing.Apis', + 'message' => 'Apis is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数Apis', + ], + [ + 'code' => 'InvalidParam.Apis.PopVersion', + 'message' => 'Unsupported product version: %s of product code: %s.', + 'http_code' => 400, + 'description' => '产品%s不支持%s版本。', + ], + [ + 'code' => 'Missing.Apis.PopVersion', + 'message' => 'Apis.PopVersion is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数Apis.PopVersion。', + ], + [ + 'code' => 'IdempotentParameterMismatch', + 'message' => 'The request uses the same client token as a previous request but with different parameters. Client tokens should not be reused across non-identical requests. Each unique request must have a distinct client token.', + 'http_code' => 400, + 'description' => '请求使用了与之前请求相同的客户端令牌,但参数不同。请勿在参数不同的请求中重复使用同一令牌,每个独立请求必须使用唯一的令牌。 ', + ], + [ + 'code' => 'Missing.Apis.Selectors', + 'message' => 'Apis.Selectors is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Apis.Selectors是必填参数', + ], + [ + 'code' => 'InvalidParam.Language', + 'message' => 'Unsupported language: %s.', + 'http_code' => 400, + 'description' => '指定多语言无效。', + ], + [ + 'code' => 'InvalidParam.Name', + 'message' => 'Name must be 3 to 16 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'http_code' => 400, + 'description' => '参数name不符合长度3-16,只包含小写字母、数字、下划线和连字符的规范。', + ], + [ + 'code' => 'MissingParam.PrincipalId', + 'message' => 'PrincipalId is mandatory for this action.', + 'http_code' => 400, + 'description' => 'STS角色扮演场景下,缺少PrincipalId参数,该参数为请求头中的x-acs-sts-token-principal-id参数。', + ], + [ + 'code' => 'InvalidParam.Apis.PopCode', + 'message' => 'Unsupported product code: %s.', + 'http_code' => 400, + 'description' => '指定的产品名称不存在。', + ], + [ + 'code' => 'Missing.Apis.PopCode', + 'message' => 'Apis.PopCode is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Apis参数中缺少必填参数popCode。', + ], + [ + 'code' => 'InvalidParam.TerraformName', + 'message' => 'TerraformName must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'http_code' => 400, + 'description' => '参数TerraformName不符合长度3-63,只包含小写字母、数字、下划线和连字符的规范。', + ], + [ + 'code' => 'InternalServerError', + 'message' => 'The request has failed due to a temporary failure of the server.', + 'http_code' => 500, + 'description' => '由于服务器暂时故障,请求失败。', + ], + [ + 'code' => 'InvalidParam.AdditionalApiDescription.PopVersion', + 'message' => 'Unsupported product version: %s of product code: %s.', + 'http_code' => 400, + 'description' => '产品%s不支持%s版本。 ', + ], + [ + 'code' => 'Missing.TerraformTools.Description', + 'message' => 'TerraformTools.Description is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数TerraformTools.Description', + ], + [ + 'code' => 'InvalidParam.NextToken', + 'message' => 'The specified NextToken is not valid.', + 'http_code' => 400, + 'description' => '指定的nextToken无效。', + ], + [ + 'code' => 'NotFound.ApiMcpServer', + 'message' => 'Specified MCP server not found.', + 'http_code' => 404, + 'description' => '指定id的MCP服务不存在。', + ], + [ + 'code' => 'InvalidParam.AdditionalApiDescription.PopCode', + 'message' => 'Unsupported product code: %s.', + 'http_code' => 400, + 'description' => '指定的产品名称不存在', + ], + [ + 'code' => 'Missing.TerraformName', + 'message' => 'TerraformName is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数TerraformName。', + ], + [ + 'code' => 'InvalidParam.Name', + 'message' => 'Name must be 3 to 63 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'http_code' => 400, + 'description' => '名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'code' => 'InvalidParam.TerraformTools.Code', + 'message' => 'The Terraform tool code is not valid. Please check the syntax and try again.', + 'http_code' => 400, + 'description' => '指定的TerraformTools.Code参数无效。', + ], + [ + 'code' => 'InvalidParam.TerraformName', + 'message' => 'TerraformName must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'http_code' => 400, + 'description' => 'Terraform工具名称的长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'code' => 'InvalidParam.Name', + 'message' => 'Name must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscore, and hyphens.', + 'http_code' => 400, + 'description' => '名称长度必须为 3 到 64 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'code' => 'Exists.TerraformTools.Name', + 'message' => 'The Terraform tool name already exists.', + 'http_code' => 409, + 'description' => '指定的Terraform 工具名称已经存在。', + ], + [ + 'code' => 'Missing.TerraformTools.Name', + 'message' => 'TerraformTools.Name is mandatory for this action.', + 'http_code' => 400, + 'description' => 'Terraform工具名称是必填参数。', + ], + [ + 'code' => 'InvalidParam.TerraformTools.Name', + 'message' => 'TerraformTools.Name: %s must be 3 to 64 characters long and can only contain lowercase letters, numbers, underscores, and hyphens.', + 'http_code' => 400, + 'description' => 'Terraform工具名称长度必须为 3 到 63 个字符,并且只能包含小写字母、数字、下划线和连字符。', + ], + [ + 'code' => 'Missing.AccountId', + 'message' => 'x-acs-account-id is mandatory in request header for this action.', + 'http_code' => 400, + 'description' => '请求头中缺少必填参数x-acs-account-id。', + ], + [ + 'code' => 'MissingParam.PrincipalId', + 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', + 'http_code' => 400, + 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', + ], + [ + 'code' => 'MissingParam.Calleruid', + 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', + 'http_code' => 400, + 'description' => '请求头中缺少必填参数x-acs-caller-uid。', + ], + [ + 'code' => 'Missing.PrincipalId', + 'message' => 'x-acs-sts-token-principal-id is mandatory in request header in STS assumeRole scenario for this action.', + 'http_code' => 400, + 'description' => 'STS角色扮演场景下,请求头中缺少必填参数x-acs-sts-token-principal-id。', + ], + [ + 'code' => 'Missing.CallerUid', + 'message' => 'x-acs-caller-uid is mandatory in request header for this action.', + 'http_code' => 400, + 'description' => '请求头中缺少必填参数x-acs-caller-uid。', + ], + [ + 'code' => 'Missing.Code', + 'message' => 'Code is mandatory for this action.', + 'http_code' => 400, + 'description' => '缺少必填参数Code。', + ], + [ + 'code' => 'InvalidParam.Code', + 'message' => 'Empty code is not valid.', + 'http_code' => 400, + 'description' => 'Code参数为无效的空字符串。', + ], + [ + 'code' => 'InvalidParam.TerraformTools.Code', + 'message' => 'The Terraform tool code is not valid: %s. Please check the syntax and try again.', + 'http_code' => 400, + 'description' => '指定的TerraformTools.Code参数无效。', + ], + [ + 'code' => 'InvalidParam.ClientToken', + 'message' => 'The specified client token is not valid.', + 'http_code' => 400, + 'description' => '该幂等参数有误,请检查。', + ], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ram' => [ + 'productCode' => 'OpenAPIExplorer', + 'productName' => 'OpenAPI Explorer', + 'ramCodes' => [ + 'openapiexplorer', + ], + 'ramLevel' => '资源级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'UpdateApiMcpServer', + 'description' => '修改API MCP服务', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'openapiexplorer:UpdateApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + [ + 'apiName' => 'GetApiMcpServer', + 'description' => '查询API MCP服务详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + [ + 'apiName' => 'ListApiMcpServerSystemTools', + 'description' => '查询 MCP 服务支持的系统工具', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServerSystemTools', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRequestLog', + 'description' => '查询API调用日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetRequestLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GenerateCLICommand', + 'description' => '动态生成Aliyun CLI命令', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'openapiexplorer:GenerateCLICommand', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteApiMcpServer', + 'description' => '删除API MCP服务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'openapiexplorer:DeleteApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + ], + ], + ], + [ + 'apiName' => 'GetApiMcpServerUserConfig', + 'description' => '获取API MCP Server全局配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'openapiexplorer:GetApiMcpServerUserConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateApiMcpServer', + 'description' => '创建 API MCP 服务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'openapiexplorer:CreateApiMcpServer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ], + ], + ], + ], + [ + 'apiName' => 'ApiMcpServerValidateHcl', + 'description' => '验证 Terraform 的 HCL 语法', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'openapiexplorer:ApiMcpServerValidateHcl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateApiMcpServerUserConfig', + 'description' => '修改API MCP Server全局配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'openapiexplorer:UpdateApiMcpServerUserConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => '全部资源', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListApiMcpServers', + 'description' => '查询API MCP 服务列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'openapiexplorer:ListApiMcpServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'OpenAPIExplorer', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ], + ], + ], + ], + ], + 'resourceTypes' => [ + [ + 'validationType' => 'always', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/{#id}', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'ApiMcpServerUserConfig', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserveruserconfig', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'ApiMcpServer', + 'arn' => 'acs:openapiexplorer::{#accountId}:apimcpserver/*', + ], + ], + ], +]; |
