summaryrefslogtreecommitdiff
path: root/data/zh_cn/ecd/2021-06-02/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/ecd/2021-06-02/api-docs.php
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/zh_cn/ecd/2021-06-02/api-docs.php')
-rw-r--r--data/zh_cn/ecd/2021-06-02/api-docs.php1205
1 files changed, 1205 insertions, 0 deletions
diff --git a/data/zh_cn/ecd/2021-06-02/api-docs.php b/data/zh_cn/ecd/2021-06-02/api-docs.php
new file mode 100644
index 0000000..109872d
--- /dev/null
+++ b/data/zh_cn/ecd/2021-06-02/api-docs.php
@@ -0,0 +1,1205 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => ['style' => 'RPC', 'product' => 'ecd', 'version' => '2021-06-02'],
+ 'directories' => [
+ [
+ 'children' => ['GetOssStsToken', 'ParseSkillPackage', 'GetParseProgress', 'CreateTenantSkill', 'ListSkills', 'SetTenantSkillEnabled', 'DeleteTenantSkills'],
+ 'type' => 'directory',
+ 'title' => '技能管理',
+ 'id' => 448250,
+ ],
+ [
+ 'children' => ['SetIdentitySkillAuth', 'ListSkillAuthedIdentities'],
+ 'type' => 'directory',
+ 'title' => '技能授权管理',
+ 'id' => 448251,
+ ],
+ [
+ 'children' => ['SetIdentitySkillSecurity', 'ListSecureSkillIdentities'],
+ 'type' => 'directory',
+ 'title' => '技能安全管理',
+ 'id' => 448252,
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'CreateTenantSkill' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'Slug',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能 Slug 标识符,用户自定义,租户维度唯一。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'find-skills****'."\n"],
+ ],
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'query',
+ 'schema' => ['description' => '显示名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'name****'."\n"],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能详情描述。(最大支持500字)', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'This skill is used for****'."\n"],
+ ],
+ [
+ 'name' => 'SkillIcon',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能图标。', 'type' => 'string', 'required' => false, 'example' => 'icon/****/****/****.png'."\n"],
+ ],
+ [
+ 'name' => 'IconETag',
+ 'in' => 'query',
+ 'schema' => ['description' => '图标解析标签。(当SkillIcon有值时必填)', 'type' => 'string', 'required' => false, 'example' => '21E9A5B273CB8EC0675*********'],
+ ],
+ [
+ 'name' => 'SkillVersion',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能版本。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0.0.1'],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'BUSINESS',
+ ],
+ ],
+ [
+ 'name' => 'TaskKey',
+ 'in' => 'query',
+ 'schema' => ['description' => '文件解析任务key。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'E1CF3D69-529D-****'],
+ ],
+ [
+ 'name' => 'ApiKey',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能 API Key。', 'type' => 'string', 'required' => false, 'example' => 'akm-98f66829***'."\n"],
+ ],
+ [
+ 'name' => 'EnvVars',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '环境变量。',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => ['type' => 'string', 'description' => '环境变量。', 'example' => '{\\"key\\":\\"value\\",\\"key\\":\\"value\\"}'],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ 'SkillId' => ['description' => '技能唯一标识符ID。', 'type' => 'string', 'example' => 's-04rj8mzqj1fu****'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '创建租户技能',
+ 'summary' => '创建租户技能',
+ 'requestParamsDescription' => 'TaskKey 参数:通过调用 ParseSkillPackage 接口获取返回结果后,从响应对象的 data 字段层级中提取出的键 TaskKey 的值。'."\n"
+ ."\n"
+ .'Slug参数:通过调用 GetParseProgress接口获取返回结果后,从响应对象的 data 字段层级中提取出 Data对象里的 Slug的值',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ecd:CreateTenantSkill',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\",\\n \\"SkillId\\": \\"s-04rj8mzqj1fu****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteTenantSkills' => [
+ 'summary' => '批量删除技能',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'SkillIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '技能ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '技能ID。', 'type' => 'string', 'required' => false, 'example' => 's-04rj8mzqj1fu****'],
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'ENTERPRISE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '批量删除技能',
+ 'requestParamsDescription' => 'SkillIds 参数:通过调用 ListSkills接口获取返回结果后,从响应对象的 data 字段层级中提取出 Skills列表里的 SkillId的值',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ecd:DeleteTenantSkills',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\"\\n}","type":"json"}]',
+ ],
+ 'GetOssStsToken' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'FileType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '文件类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['SKILL' => '技能包', 'ICON' => '图标'],
+ 'example' => 'SKILL',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ 'AccessKeyId' => ['description' => '用户的AccessKey ID。', 'type' => 'string', 'example' => 'STS.NZeNA1kdCm4QPuAJ9kN******'],
+ 'AccessKeySecret' => ['description' => 'STS临时AccessKey Secret。', 'type' => 'string', 'example' => '9EStV7fgkSQsPuBi576EmNQXLxJGddL2EGyX********'],
+ 'SecurityToken' => ['description' => 'STS安全令牌。', 'type' => 'string', 'example' => 'CAISvAN1q6Ft5B2yfSjIr5n2Bez81ZRTgqOGZn6FkHBnXf9qgI6apjz2IH*******'],
+ 'Bucket' => ['description' => 'OSS逻辑bucket名称。', 'type' => 'string', 'example' => 'prod-wy-*****'],
+ 'OssRegion' => ['description' => '当前OSS Bucket 所属地域。', 'type' => 'string', 'example' => 'oss-cn-hangzhou'],
+ 'ObjectKeyPrefix' => ['description' => '项目存储路径。', 'type' => 'string', 'example' => 'tmp/skill/tenant/1483****/'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '上传 OSS 临时凭证',
+ 'summary' => '获取临时OSS toekn认证',
+ 'description' => '获取到的SecurityToken有效期为15分钟。',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ecd:GetOssStsToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\",\\n \\"AccessKeyId\\": \\"STS.NZeNA1kdCm4QPuAJ9kN******\\",\\n \\"AccessKeySecret\\": \\"9EStV7fgkSQsPuBi576EmNQXLxJGddL2EGyX********\\",\\n \\"SecurityToken\\": \\"CAISvAN1q6Ft5B2yfSjIr5n2Bez81ZRTgqOGZn6FkHBnXf9qgI6apjz2IH*******\\",\\n \\"Bucket\\": \\"prod-wy-*****\\",\\n \\"OssRegion\\": \\"oss-cn-hangzhou\\",\\n \\"ObjectKeyPrefix\\": \\"tmp/skill/tenant/1483****/\\"\\n}","type":"json"}]',
+ ],
+ 'GetParseProgress' => [
+ 'summary' => '获取技能包解析内容',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'TaskKey',
+ 'in' => 'query',
+ 'schema' => ['description' => '解析技能包任务key。', 'type' => 'string', 'required' => true, 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9C5******'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ 'Data' => [
+ 'description' => '解析技能包响应数据对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'TaskKey' => ['description' => '解析技能包任务key。', 'type' => 'string', 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9C5******'],
+ 'Status' => [
+ 'description' => '任务状态。',
+ 'type' => 'string',
+ 'enumValueTitles' => ['PARSING_METADATA' => '正在解析', 'COMPLETED' => '完成', 'FAILED' => '失败'],
+ 'example' => 'COMPLETED',
+ ],
+ 'SkillName' => ['description' => 'SKILL.md 文件内名称。', 'type' => 'string', 'example' => 'name****'],
+ 'Slug' => ['description' => '技能 Slug 标识符,用户自定义,租户维度唯一。', 'type' => 'string', 'example' => 'admapix******'],
+ 'Version' => ['description' => '版本号。', 'type' => 'string', 'example' => '1.0.0'],
+ 'RequiredEnvVars' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string'],
+ ],
+ 'RequiresApiKey' => ['type' => 'boolean'],
+ 'Description' => ['type' => 'string'],
+ 'ErrorCode' => ['description' => '执行异常时异常信息码。', 'type' => 'string', 'example' => 'Package.ReadFailed'],
+ 'ErrorMessage' => ['description' => '执行异常时异常信息。', 'type' => 'string', 'example' => 'Failed to read skill package'],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '查询解析进度',
+ 'description' => '前置接口调用ParseSkillPackage,此接口每3秒轮询调用。',
+ 'requestParamsDescription' => 'TaskKey参数:通过调用ParseSkillPackage接口获取返回结果后,从响应对象的data字段层级中提取出的键TaskKey的值。',
+ 'responseParamsDescription' => 'Slug参数:通过调用 GetParseProgress接口获取返回结果后,从响应对象的 data 字段层级中提取出 Data对象里的 Slug的值',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:GetParseProgress',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\",\\n \\"Data\\": {\\n \\"TaskKey\\": \\"2E7D8B71-2677-1B4C-9E25-A88B9C5******\\",\\n \\"Status\\": \\"COMPLETED\\",\\n \\"SkillName\\": \\"name****\\",\\n \\"Slug\\": \\"admapix******\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"RequiredEnvVars\\": [\\n \\"\\"\\n ],\\n \\"RequiresApiKey\\": true,\\n \\"Description\\": \\"\\",\\n \\"ErrorCode\\": \\"Package.ReadFailed\\",\\n \\"ErrorMessage\\": \\"Failed to read skill package\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'ListSecureSkillIdentities' => [
+ 'summary' => '查询已启用安全策略的身份列表',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '每页行数。(默认20行)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => '当前页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'ENTERPRISE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '51592A88-0F2C-55E6-AD2C-2AD9C10D****'],
+ 'TotalCount' => ['description' => '总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'Identities' => [
+ 'description' => '资源信息列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '资源ID。', 'type' => 'string', 'example' => 'ecd-6af3rdkv9ttqqb***'],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '查询具有自定义安装技能权限的资源',
+ 'description' => '资源类型仅支持云电脑。',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSecureSkillIdentities',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"51592A88-0F2C-55E6-AD2C-2AD9C10D****\\",\\n \\"TotalCount\\": 20,\\n \\"Identities\\": [\\n \\"ecd-6af3rdkv9ttqqb***\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListSkillAuthedIdentities' => [
+ 'summary' => '查询技能已授权的身份列表',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'SkillId',
+ 'in' => 'query',
+ 'schema' => ['description' => '技能唯一标识符ID。', 'type' => 'string', 'required' => true, 'example' => 's-04rj8mzqj1fu****'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '每页行数。(默认20行)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => '当前页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'ENTERPRISE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5CC5E450-FC43-4F5B-B540-9964BD*****'],
+ 'TotalCount' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
+ 'Identities' => [
+ 'description' => '授权对象列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '授权对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'IdentityId' => ['description' => '授权对象ID。', 'type' => 'string', 'example' => 'ecd-b9ej3xiok4tjbgf9x****'],
+ 'AutoInstall' => [
+ 'description' => '是否自动安装。',
+ 'type' => 'boolean',
+ 'enumValueTitles' => ['true' => '是', 'false' => '否'],
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '按技能查询已授权对象',
+ 'description' => '授权对象仅支持云电脑。',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSkillAuthedIdentities',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5CC5E450-FC43-4F5B-B540-9964BD*****\\",\\n \\"TotalCount\\": 20,\\n \\"Identities\\": [\\n {\\n \\"IdentityId\\": \\"ecd-b9ej3xiok4tjbgf9x****\\",\\n \\"AutoInstall\\": true\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListSkills' => [
+ 'summary' => '查询技能列表',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'SupplierType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '供应类型。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['WUYING' => '无影上传', 'TENANT' => '租户上传'],
+ 'example' => 'WUYING',
+ ],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'BUSINESS',
+ ],
+ ],
+ [
+ 'name' => 'SkillIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '技能ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '技能ID。', 'type' => 'string', 'required' => false, 'example' => 's-04rj8mzqj1fu****'],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,每页最大行数。(默认20行)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,当前页的页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ 'TotalCount' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '15'],
+ 'Skills' => [
+ 'description' => '技能详情列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '技能详情对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'SkillId' => ['description' => '技能唯一标识符ID。', 'type' => 'string', 'example' => 's-04rj8mzqj1fu****'."\n"],
+ 'SkillName' => ['description' => 'SKILL.md文件内名称。', 'type' => 'string', 'example' => 'name****'],
+ 'SkillIconUrl' => ['description' => '技能图标Url。', 'type' => 'string', 'example' => 'https://***-***-****'],
+ 'DisplayName' => ['description' => '显示名称。', 'type' => 'string', 'example' => 'name****'],
+ 'SupplierType' => [
+ 'description' => '供应类型。',
+ 'type' => 'string',
+ 'enumValueTitles' => ['WUYING' => '无影上传', 'TENANT' => '租户上传'],
+ 'example' => 'TENANT',
+ ],
+ 'Author' => ['description' => '作者。', 'type' => 'string', 'example' => 'Li***'],
+ 'SourceMarket' => [
+ 'description' => '来源市场Code。',
+ 'type' => 'string',
+ 'enumValueTitles' => ['CLAWHUB' => 'ClawHub', 'ALIYUN' => '阿里云', 'DINGTALK_AI' => '钉钉AI能力中心', 'MODELSCOPE' => 'ModelScope'],
+ 'example' => 'CLAWHUB',
+ ],
+ 'SourceMarketName' => ['description' => '来源市场名称。', 'type' => 'string', 'example' => 'ClawHub'],
+ 'Description' => ['description' => '技能详情描述。', 'type' => 'string', 'example' => 'This skill is used for****'],
+ 'GmtCreated' => ['description' => '创建时间。', 'type' => 'string', 'example' => '2026-04-28T10:32:53Z'],
+ 'Slug' => ['description' => '技能 Slug 标识符,用户自定义,租户维度唯一。', 'type' => 'string', 'example' => 'find-skills****'],
+ 'DefaultVersion' => ['description' => '当前生效版本号,如果没有生效版本,则返回空。', 'type' => 'string', 'example' => '1.0.0'],
+ 'Enable' => [
+ 'description' => '技能是否启用。',
+ 'type' => 'boolean',
+ 'enumValueTitles' => ['true' => '是', 'false' => '否'],
+ 'example' => 'true',
+ ],
+ 'ApiKey' => ['description' => '技能API Key。', 'type' => 'string', 'example' => 'akm-98f66829***'],
+ 'EnvVars' => [
+ 'description' => '环境变量。',
+ 'type' => 'object',
+ 'additionalProperties' => ['type' => 'string', 'description' => '环境变量。', 'example' => '{\\"key\\":\\"value\\",\\"key\\":\\"value\\"}'."\n"],
+ ],
+ 'SkillVersions' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Version' => ['type' => 'string'],
+ 'PublishStatus' => ['type' => 'string'],
+ 'SecurityScanStatus' => ['type' => 'string'],
+ 'SecurityScanFailReason' => ['type' => 'string'],
+ 'SecurityScanScore' => ['type' => 'integer', 'format' => 'int32'],
+ 'ChangeLog' => ['type' => 'string'],
+ 'CreatedAt' => ['type' => 'integer', 'format' => 'int64'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '技能列表',
+ 'responseParamsDescription' => 'Slug参数:通过调用 GetParseProgress接口获取返回结果后,从响应对象的 data 字段层级中提取出 Data对象里的 Slug的值',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSkills',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\",\\n \\"TotalCount\\": 15,\\n \\"Skills\\": [\\n {\\n \\"SkillId\\": \\"s-04rj8mzqj1fu****\\\\n\\",\\n \\"SkillName\\": \\"name****\\",\\n \\"SkillIconUrl\\": \\"https://***-***-****\\",\\n \\"DisplayName\\": \\"name****\\",\\n \\"SupplierType\\": \\"TENANT\\",\\n \\"Author\\": \\"Li***\\",\\n \\"SourceMarket\\": \\"CLAWHUB\\",\\n \\"SourceMarketName\\": \\"ClawHub\\",\\n \\"Description\\": \\"This skill is used for****\\",\\n \\"GmtCreated\\": \\"2026-04-28T10:32:53Z\\",\\n \\"Slug\\": \\"find-skills****\\",\\n \\"DefaultVersion\\": \\"1.0.0\\",\\n \\"Enable\\": true,\\n \\"ApiKey\\": \\"akm-98f66829***\\",\\n \\"EnvVars\\": {\\n \\"key\\": \\"{\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\"}\\\\n\\"\\n },\\n \\"SkillVersions\\": [\\n {\\n \\"Version\\": \\"\\",\\n \\"PublishStatus\\": \\"\\",\\n \\"SecurityScanStatus\\": \\"\\",\\n \\"SecurityScanFailReason\\": \\"\\",\\n \\"SecurityScanScore\\": 0,\\n \\"ChangeLog\\": \\"\\",\\n \\"CreatedAt\\": 0\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ParseSkillPackage' => [
+ 'summary' => '解析技能包',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'OssObjectKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'OSS技能包路径。', 'type' => 'string', 'required' => true, 'example' => 'tmp/skill/wu***/17***.zip'],
+ ],
+ [
+ 'name' => 'OssObjectETag',
+ 'in' => 'query',
+ 'schema' => ['description' => 'OssETag(文件上传到OSS后返回)。', 'type' => 'string', 'required' => true, 'example' => '1D9920C4858A60B70705A8765A******'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05C2791F-41A7-5E7C-B5E4-1401FD0E****'],
+ 'TaskKey' => ['description' => '解析技能包任务key。', 'type' => 'string', 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9******'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '解析技能包',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ecd:ParseSkillPackage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05C2791F-41A7-5E7C-B5E4-1401FD0E****\\",\\n \\"TaskKey\\": \\"2E7D8B71-2677-1B4C-9E25-A88B9******\\"\\n}","type":"json"}]',
+ ],
+ 'SetIdentitySkillAuth' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'Identities',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '授权对象列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '授权对象信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'IdentityId' => ['description' => '授权对象ID。', 'type' => 'string', 'required' => true, 'example' => 'ecd-av4u9m5ghko26****'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ 'required' => true,
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'OperationType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '操作类型',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => ['SET_AUTH' => 'SET_AUTH', 'CANCEL_AUTH' => 'CANCEL_AUTH'],
+ 'example' => 'SET_AUTH',
+ ],
+ ],
+ [
+ 'name' => 'SkillIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '技能ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '技能ID。', 'type' => 'string', 'required' => true, 'example' => 's-04zzrfqdku5jb****'],
+ 'required' => true,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'ENTERPRISE',
+ ],
+ ],
+ [
+ 'name' => 'AutoInstall',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '是否自动安装。',
+ 'type' => 'boolean',
+ 'required' => true,
+ 'enumValueTitles' => ['true' => '是', 'false' => '否'],
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A87DBB05-653A-5E4B-B72B-5F4A1E07****'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '设置授权对象的技能权限',
+ 'description' => '授权对象仅支持云电脑。',
+ 'summary' => '设置身份技能授权',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetIdentitySkillAuth',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A87DBB05-653A-5E4B-B72B-5F4A1E07****\\"\\n}","type":"json"}]',
+ ],
+ 'SetIdentitySkillSecurity' => [
+ 'summary' => '设置身份技能安全策略',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'IdentityIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '资源信息列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源信息对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'IdentityId' => ['description' => '资源信息ID。', 'type' => 'string', 'required' => true, 'example' => 'ecd-b9ej3xiok4tjbgf9x'],
+ 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'],
+ ],
+ 'required' => true,
+ ],
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'Enabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '是否开启skill安装权限。',
+ 'type' => 'boolean',
+ 'required' => true,
+ 'enumValueTitles' => ['true' => '是', 'false' => '否'],
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '企业版', 'BUSINESS' => '商业版'],
+ 'example' => 'ENTERPRISE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '设置资源的安全策略',
+ 'description' => '资源类型仅支持云电脑。',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetIdentitySkillSecurity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\"\\n}","type":"json"}]',
+ ],
+ 'SetTenantSkillEnabled' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'SkillIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '技能ID列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '技能ID。', 'type' => 'string', 'required' => false, 'example' => 's-051j4osziq4c*****'],
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ [
+ 'name' => 'Enabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '是否启用。',
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['true' => '启用', 'false' => '禁用'],
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SkillChannel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '技能渠道。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'enumValueTitles' => ['ENTERPRISE' => '商业版', 'BUSINESS' => '企业版'],
+ 'example' => 'BUSINESS',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****'],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => '租户维度启用/禁用技能',
+ 'requestParamsDescription' => 'SkillIds 参数:通过调用 ListSkills 接口获取返回结果后,从响应对象的 data 字段层级中提取出 Skills 列表里的 SkillId 的值。',
+ 'summary' => '设置租户技能启用状态',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetTenantSkillEnabled',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-beijing.aliyuncs.com', 'endpoint' => 'ecd.cn-beijing.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ecd.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-qingdao.aliyuncs.com', 'endpoint' => 'ecd.cn-qingdao.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-shanghai.aliyuncs.com', 'endpoint' => 'ecd.cn-shanghai.aliyuncs.com', 'vpc' => 'ecd-shenzhen-center.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-hongkong.aliyuncs.com', 'endpoint' => 'ecd.cn-hongkong.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ecd.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-shenzhen.aliyuncs.com', 'endpoint' => 'ecd.cn-shenzhen.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-nanjing', 'regionName' => '华东5(南京-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-nanjing.aliyuncs.com', 'endpoint' => 'ecd.cn-nanjing.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ecd.ap-northeast-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-chengdu.aliyuncs.com', 'endpoint' => 'ecd.cn-chengdu.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ecd.cn-guangzhou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ecd.ap-southeast-1.aliyuncs.com', 'vpc' => 'ecd-shenzhen-center.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ecd.ap-southeast-5.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.ap-southeast-6.aliyuncs.com', 'endpoint' => 'ecd.ap-southeast-6.aliyuncs.com', 'vpc' => 'ecd-shenzhen-center.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.ap-southeast-7.aliyuncs.com', 'endpoint' => 'ecd.ap-southeast-7.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'ecd.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ecd.cn-hangzhou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'ecd.eu-west-1.aliyuncs.com', 'endpoint' => 'ecd.eu-west-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'ecd.us-west-1.aliyuncs.com', 'endpoint' => 'ecd.us-west-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'ecd.eu-central-1.aliyuncs.com', 'endpoint' => 'ecd.eu-central-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'ecd.me-east-1.aliyuncs.com', 'endpoint' => 'ecd.me-east-1.aliyuncs.com', 'vpc' => 'ecd-vpc.me-east-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'ecd.me-central-1.aliyuncs.com', 'endpoint' => 'ecd.me-central-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'ecd.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'ecd.cn-hangzhou-finance.aliyuncs.com', 'vpc' => 'ecd-vpc.cn-hangzhou-finance.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'ecd.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'ecd.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'App.Authing', 'message' => 'App is authing.', 'http_code' => 400, 'description' => '应用正在设置可见,请稍后再试。'],
+ ['code' => 'AuthorizeFailed', 'message' => 'Authorize failed, please check your EndUserId and Password.', 'http_code' => 400, 'description' => '您的用户名或密码不正确。'],
+ ['code' => 'Benefit.NotExist', 'message' => 'The specified benefit is not found.', 'http_code' => 400, 'description' => '指定的权益不存在。'],
+ ['code' => 'Benefit.StockInsufficient', 'message' => 'The specified benefit is out of stock.', 'http_code' => 400, 'description' => '目标权益库存不足。'],
+ ['code' => 'Channel.NotExist', 'message' => 'The specified channel is not found.', 'http_code' => 400, 'description' => '指定的渠道不存在。'],
+ ['code' => 'Channel.TokenInvalid', 'message' => 'The channel service request token is invalid.', 'http_code' => 400, 'description' => '请求渠道服务的凭证无效。'],
+ ['code' => 'ChooseClusterError.ZoneId', 'message' => 'Cannot choose zone, please try other zone.', 'http_code' => 400, 'description' => '资源可用区属性不匹配,请确认目标办公网络是否支持资源所属可用区'],
+ ['code' => 'DeletedBundleStatus', 'message' => 'The specified bundle status is deleted.', 'http_code' => 400, 'description' => '指定的模板已经被删除'],
+ ['code' => 'DesktopCpuHighLoad%s', 'message' => 'The specified desktop cpu high load.', 'http_code' => 400, 'description' => '此台云电脑的CPU使用率过高导致连接超时,占用CPU最高的应用为%s。请重新连接或重启云电脑。如仍旧出现连接失败,请联系IT管理员。'],
+ ['code' => 'DesktopMemoryHighLoad%s', 'message' => 'The specified desktop memory high load.', 'http_code' => 400, 'description' => '此台云电脑的内存使用率过高导致连接超时,占用内存最高的应用为%s。请重新连接或重启云电脑。如仍旧出现连接失败,请联系IT管理员.'],
+ ['code' => 'ExistedFingerPrintTemplate', 'message' => 'The fingerprint is already registered as %s.', 'http_code' => 400, 'description' => '当前手指的指纹已经在当前环境中录入过'],
+ ['code' => 'ExistedHostname', 'message' => 'The specified hostname is existed on the domain.', 'http_code' => 400, 'description' => '指定的主机名在当前工作区已存在'],
+ ['code' => 'ExportDesktop.UnknowError', 'message' => 'Failed to export desktop list. Please try again. If the problem still exists, submit a ticket.', 'http_code' => 400, 'description' => '导出桌面列表失败,请重试,如果依然失败请提交工单反馈;'."\n"
+ .'可能原因:依赖的OSS服务权限被意外关停等'],
+ ['code' => 'ExportDesktopGroup.UnknowError', 'message' => 'Failed to export desktop group list. Please try again. If the problem still exists, submit a ticket.', 'http_code' => 400, 'description' => '导出桌面组列表失败,请重试,如果依然失败请提交工单反馈; 可能原因:依赖的OSS服务权限被意外关停等'],
+ ['code' => 'FengyuTestCode1.%s', 'message' => 'FengyuTestMsg1.%s.', 'http_code' => 400, 'description' => '丰禹测试动态错误描述1,动态错误信息(%s)'],
+ ['code' => 'FengyuTestCode2', 'message' => 'FengyuTestMsg2.', 'http_code' => 400, 'description' => '丰禹测试中文'],
+ ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => '用户无权对指定资源进行操作'],
+ ['code' => 'FOTAVersion.NotSupported', 'message' => 'Desktop version does not support this function, please upgrade.', 'http_code' => 400, 'description' => '桌面版本不支持该功能,请升级。'],
+ ['code' => 'HostnameCannotCustomizeForLinux', 'message' => 'Customizing hostname is not supported for Linux desktop.', 'http_code' => 400, 'description' => '自定义主机名功能不支持Linux桌面'],
+ ['code' => 'IncorrectDirectoryStatus', 'message' => 'Only registered directory can create desktop.', 'http_code' => 400, 'description' => '工作区状态错误,仅支持使用已注册的工作区创建桌面'],
+ ['code' => 'IncorrectDirectoryType', 'message' => 'The protocol type of directory and desktop do not match.', 'http_code' => 400, 'description' => '指定工作区和目标桌面的协议类型不匹配,请检查'],
+ ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error, exception or failure.', 'http_code' => 500, 'description' => '服务内部异常,请稍候重试。'],
+ ['code' => 'InvalidAmount', 'message' => 'The specified Amount is not a valid value.', 'http_code' => 400, 'description' => '指定的数量不合法'],
+ ['code' => 'InvalidAmount.NotTimesOfUsers', 'message' => 'The specified Amount is notmatch EndUserId size.', 'http_code' => 400, 'description' => '指定的桌面数量不等于待分配用户的数量,请重新指定'],
+ ['code' => 'InvalidClientIp.Policy', 'message' => 'Client ip %s is not in white list.', 'http_code' => 400, 'description' => 'IT管理员设置了IP白名单策略导致无法在您目前的IP环境(%s)下连接此台云电脑,请联系IT管理员。'],
+ ['code' => 'InvalidDesktopBundle.NotFound', 'message' => 'The specified param BundleId is not found.', 'http_code' => 400, 'description' => '指定的BundleId找不到'],
+ ['code' => 'InvalidDirectoryId.NotFound', 'message' => 'The specified param DirectoryId is not found.', 'http_code' => 400, 'description' => '无法找到工作区ID,请检查工作区ID是否正确'],
+ ['code' => 'InvalidDirectoryType.NotSupported', 'message' => 'The specified DirectoryType is not supported.', 'http_code' => 400, 'description' => '指定的工作区类型不支持创建该桌面'],
+ ['code' => 'InvalidEncryptionEnabled.Invalid', 'message' => 'The parameter VolumeEncryptionEnabled is invalid.', 'http_code' => 400, 'description' => '指定加密密钥时,需开启磁盘加密功能'],
+ ['code' => 'InvalidEncryptionKey.Missing', 'message' => 'Parameter VolumeEncryptionKey is missing.', 'http_code' => 400, 'description' => '开启磁盘加密功能时,加密密钥不可为空'],
+ ['code' => 'InvalidEncryptionKey.NotAuthorized', 'message' => 'Eds service cannot access the given VolumeEncryptionKey.', 'http_code' => 400, 'description' => '无法访问未经授权的加密密钥'],
+ ['code' => 'InvalidEncryptionKey.NotFound', 'message' => 'The specified VolumeEncryptionKey is not found.', 'http_code' => 400, 'description' => '找不到指定的磁盘加密密钥'],
+ ['code' => 'InvalidFingerPrintTemplate', 'message' => 'The fingerprint template is invalid.', 'http_code' => 400, 'description' => '非法指纹模板数据'],
+ ['code' => 'InvalidFingerPrintTemplateIndex', 'message' => 'The index of the fingerprint template is invalid.', 'http_code' => 400, 'description' => '非法指纹模板索引'],
+ ['code' => 'InvalidImageStatus.NotValid', 'message' => 'The specified image status is not valid.', 'http_code' => 400, 'description' => '指定镜像的状态不可用,不支持创建桌面'],
+ ['code' => 'InvalidImageVersion.NotSupported', 'message' => 'The specified image version is no longer supported.', 'http_code' => 400, 'description' => '指定的镜像版本已不再支持,请选择其他镜像'],
+ ['code' => 'InvalidMemberIp.DesktopAmount', 'message' => 'The desktop amount need to be 1.', 'http_code' => 400, 'description' => '指定IP创建桌面时,桌面数量仅可为1'],
+ ['code' => 'InvalidOssObjectPath.NotFound', 'message' => 'Cannot parse input oss object path. eg: http://bucket/object.vhd.', 'http_code' => 400, 'description' => '检测到上传镜像文件不可用,请您确保将正确的自定义镜像上传至指定的OSS Bucket地址下'],
+ ['code' => 'InvalidParameter.ResourceId', 'message' => 'The specified parameter ResourceId is invalid.', 'http_code' => 400, 'description' => '您指定的实例资源ID无效'],
+ ['code' => 'InvalidParameterError', 'message' => 'Cannot query with end user id and include assigned user.', 'http_code' => 400, 'description' => '不支持同时查询未分配的用户和终端用户ID'],
+ ['code' => 'InvalidPolicyGroup.Status', 'message' => 'The target policy group is being created. Please try again later.', 'http_code' => 400, 'description' => '目标策略组正在创建中,请稍后再试。'],
+ ['code' => 'LockedUser', 'message' => 'User is locked.', 'http_code' => 400, 'description' => '用户已经被锁定。'],
+ ['code' => 'NetworkSpace.DependencyViolation', 'message' => 'networkSpace dependency violation.', 'http_code' => 400, 'description' => '当前办公网络下存在资源,无法直接删除'],
+ ['code' => 'NetworkSpace.VpcInfoExist', 'message' => 'vpc info already exist.', 'http_code' => 400, 'description' => '对应VPC已存在办公网络'],
+ ['code' => 'NoStock.ZoneInvalid', 'message' => 'The requested resource is sold out in the specified zone.', 'http_code' => 400, 'description' => '指定资源在所选可用区库存不足。'],
+ ['code' => 'OperationTooFrequent', 'message' => 'The operation is too frequent, please try again later.', 'http_code' => 400, 'description' => '操作过于频繁,请稍后再试'],
+ ['code' => 'Order.Unpaid', 'message' => 'You have unpaid orders, please pay such orders before placing a new order.', 'http_code' => 403, 'description' => '您选择的资源存在未支付订单,请支付或作废后再下单!'],
+ ['code' => 'ParamError.NoDesktopGroupId', 'message' => 'You must specify desktopGroupId.', 'http_code' => 400, 'description' => '缺少桌面组 ID'],
+ ['code' => 'Protocol.NotAllowed', 'message' => 'Procotol of the image is not allowed.', 'http_code' => 400, 'description' => '不支持该镜像的协议类型,请检查镜像ID'],
+ ['code' => 'RedeemCode.QuantityExceeded', 'message' => 'The number of redeem codes obtained at a time is out of the valid range.', 'http_code' => 400, 'description' => '单次获取的兑换码数量超过阈值。'],
+ ['code' => 'RESOURCE_GROUP_ALREADY_BOUND_APP_RULE', 'message' => 'Resource group already bound app rule.', 'http_code' => 400, 'description' => '云电脑所属资源组正在绑定/解绑应用管控规则'],
+ ['code' => 'RISK.RISK_CONTROL_REJECTION', 'message' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.', 'http_code' => 400, 'description' => '为保护您的账户安全,下单被中止,详情请联系客服。'],
+ ['code' => 'SALES_SERVICE_ERROR_INFORMATION', 'message' => 'Your information is incomplete. Complete your information before the operation.', 'http_code' => 400, 'description' => 'Your information is incomplete. Please complete all required fields here(超链接:https://myaccount.alibabacloud.com/user_info.htm?callback=#/userinfo ) before proceeding.'],
+ ['code' => 'StartApplicationFail', 'message' => 'The application start fail.', 'http_code' => 400, 'description' => '启动失败,请前往win系统的“开始”菜单中打开无影管家'],
+ ['code' => 'StartApplicationGuestNoApp', 'message' => 'The application no start app.', 'http_code' => 400, 'description' => '请到无影应用中心下载无影管家'],
+ ['code' => 'StartApplicationGuestOffline', 'message' => 'The application guest offline.', 'http_code' => 400, 'description' => '桌面异常,请前往win系统的“开始”菜单中打开无影管家'],
+ ['code' => 'StartApplicationGuestTimeout', 'message' => 'The application guest timeout.', 'http_code' => 400, 'description' => '调用超时,请前往win系统的“开始”菜单中打开无影管家'],
+ ['code' => 'Throttling.FingerPrintTemplateSet', 'message' => 'The previous fingerprint template setting is not completed yet.', 'http_code' => 400, 'description' => '先前的指纹模板设定调用还未完成。'],
+ ['code' => 'TooManyFingerPrintTemplateForDevice', 'message' => 'The maximum number of fingerprint templates that any user can save on the current device is exceeded.', 'http_code' => 400, 'description' => '该设备上已经录入了太多指纹模板,无法继续录入'],
+ ['code' => 'TooManyFingerPrintTemplateForUser', 'message' => 'The maximum number of fingerprint templates that you can save in the current environment is exceeded.', 'http_code' => 400, 'description' => '当前用户在当前环境下已经存至少4个指纹模板,无法录入新的模板。'],
+ ['code' => 'TransitRouterService.TrNotExistInRegion', 'message' => 'The transit router need create in current region.', 'http_code' => 400, 'description' => '云企业网中不存在当前地域的转发路由器,请去云企业网控制台新建。'],
+ ['code' => 'UnavailableDesktop', 'message' => 'Authentication failure.', 'http_code' => 400, 'description' => '认证失败,导致无法连接。'],
+ ['code' => 'DesktopCanOnlyAssignedToOneUser', 'message' => 'The desktop can only assigned to one user.', 'http_code' => 400, 'description' => '云电脑被分配了多名用户时禁止强制连接'],
+ ['code' => 'GET_APP_RULE_LOCK_FAILED', 'message' => 'Get app rule lock failed.', 'http_code' => 400, 'description' => '操作过于频繁,请稍候再试。'],
+ ['code' => 'INSUFFICIENT_QUOTA', 'message' => 'Insufficient quota.', 'http_code' => 400, 'description' => '用户配额不足'],
+ ],
+ 'changeSet' => [],
+ 'ram' => [
+ 'productCode' => 'ECD',
+ 'productName' => '无影云电脑',
+ 'ramCodes' => ['ecd', 'eds-user', 'gws', 'wss'],
+ 'ramLevel' => '操作级',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'ParseSkillPackage',
+ 'description' => '解析技能包',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ecd:ParseSkillPackage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSkills',
+ 'description' => '技能列表',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSkills',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSecureSkillIdentities',
+ 'description' => '查询具有自定义安装技能权限的资源',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSecureSkillIdentities',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetParseProgress',
+ 'description' => '查询解析进度',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:GetParseProgress',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetTenantSkillEnabled',
+ 'description' => '租户维度启用/禁用技能',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetTenantSkillEnabled',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSkillAuthedIdentities',
+ 'description' => '按技能查询已授权对象',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ecd:ListSkillAuthedIdentities',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetIdentitySkillAuth',
+ 'description' => '设置授权对象的技能权限',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetIdentitySkillAuth',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetIdentitySkillSecurity',
+ 'description' => '设置资源的安全策略',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ecd:SetIdentitySkillSecurity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTenantSkill',
+ 'description' => '创建租户技能',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ecd:CreateTenantSkill',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetOssStsToken',
+ 'description' => '上传 OSS 临时凭证',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ecd:GetOssStsToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteTenantSkills',
+ 'description' => '批量删除技能',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ecd:DeleteTenantSkills',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'resourceTypes' => [],
+ ],
+];