diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/ecd/2021-06-02 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/ecd/2021-06-02')
| -rw-r--r-- | data/en_us/ecd/2021-06-02/api-docs.php | 1316 |
1 files changed, 1316 insertions, 0 deletions
diff --git a/data/en_us/ecd/2021-06-02/api-docs.php b/data/en_us/ecd/2021-06-02/api-docs.php new file mode 100644 index 0000000..c36d089 --- /dev/null +++ b/data/en_us/ecd/2021-06-02/api-docs.php @@ -0,0 +1,1316 @@ +<?php return [ + 'version' => '1.0', + 'info' => ['style' => 'RPC', 'product' => 'ecd', 'version' => '2021-06-02'], + 'directories' => [ + [ + 'children' => ['GetOssStsToken', 'ParseSkillPackage', 'GetParseProgress', 'CreateTenantSkill', 'SetTenantSkillEnabled', 'DeleteTenantSkills'], + 'type' => 'directory', + 'title' => 'Skill management', + ], + [ + 'children' => ['SetIdentitySkillAuth', 'ListSkillAuthedIdentities'], + 'type' => 'directory', + 'title' => 'Skill authorization management', + ], + [ + 'children' => ['SetIdentitySkillSecurity', 'ListSecureSkillIdentities'], + 'type' => 'directory', + 'title' => 'Skill security management', + ], + [ + 'children' => ['ListSkills'], + 'title' => 'Others', + 'type' => 'directory', + ], + ], + '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' => 'The slug identifier of the skill. This parameter is user-defined and must be unique within the tenant.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'find-skills****'."\n", 'title' => ''], + ], + [ + 'name' => 'DisplayName', + 'in' => 'query', + 'schema' => ['description' => 'The display name.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'name****'."\n", 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the skill. Maximum length: 500 characters.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'This skill is used for****'."\n", 'title' => ''], + ], + [ + 'name' => 'SkillIcon', + 'in' => 'query', + 'schema' => ['description' => 'The skill icon.', 'type' => 'string', 'required' => false, 'example' => 'icon/****/****/****.png'."\n", 'title' => ''], + ], + [ + 'name' => 'IconETag', + 'in' => 'query', + 'schema' => ['description' => 'The icon parsing tag. This parameter is required when SkillIcon is specified.', 'type' => 'string', 'required' => false, 'example' => '21E9A5B273CB8EC0675*********', 'title' => ''], + ], + [ + 'name' => 'SkillVersion', + 'in' => 'query', + 'schema' => ['description' => 'The skill version.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => '0.0.1', 'title' => ''], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + .'- ENTERPRISE: Enterprise Edition.'."\n" + .'- BUSINESS: Business Edition.', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise Edition.', 'BUSINESS' => 'Business Edition.'], + 'type' => 'string', + 'docRequired' => true, + 'required' => true, + 'example' => 'BUSINESS', + 'title' => '', + ], + ], + [ + 'name' => 'TaskKey', + 'in' => 'query', + 'schema' => ['description' => 'The file parsing task key.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'E1CF3D69-529D-****', 'title' => ''], + ], + [ + 'name' => 'ApiKey', + 'in' => 'query', + 'schema' => ['description' => 'The API key of the skill.', 'type' => 'string', 'required' => false, 'example' => 'akm-98f66829***'."\n", 'title' => ''], + ], + [ + 'name' => 'EnvVars', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The environment variables.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['description' => 'The environment variables.', 'type' => 'string', 'example' => '{\\"key\\":\\"value\\",\\"key\\":\\"value\\"}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + 'SkillId' => ['description' => 'The unique ID of the skill.', 'type' => 'string', 'example' => 's-04rj8mzqj1fu****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Create tenant skill', + 'summary' => 'Creates a tenant skill.', + 'requestParamsDescription' => 'TaskKey parameter: Call the ParseSkillPackage operation to obtain the response, and then extract the value of TaskKey from the data field of the response object.'."\n" + ."\n" + .'Slug parameter: Call the GetParseProgress operation to obtain the response, and then extract the value of Slug from the Data object within the data field of the response object.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ecd:CreateTenantSkill', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\",\\n \\"SkillId\\": \\"s-04rj8mzqj1fu****\\"\\n}","type":"json"}]', + ], + 'DeleteTenantSkills' => [ + 'summary' => 'Deletes skills in batches.', + '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' => 'The list of skill IDs.', + 'type' => 'array', + 'items' => ['description' => 'The skill ID.', 'type' => 'string', 'required' => false, 'example' => 's-04rj8mzqj1fu****', 'title' => ''], + 'required' => true, + 'docRequired' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + .'- ENTERPRISE: Enterprise edition.'."\n" + .'- BUSINESS: Business edition.', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise edition.', 'BUSINESS' => 'Business edition.'], + 'type' => 'string', + 'docRequired' => true, + 'required' => true, + 'example' => 'ENTERPRISE', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Delete skills in batches', + 'requestParamsDescription' => 'SkillIds parameter: Call the ListSkills operation to obtain the response, and then extract the SkillId values from the Skills list in the data field of the response object.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ecd:DeleteTenantSkills', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => [ + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'description' => '', + 'enumValueTitles' => ['SKILL' => '技能包', 'ICON' => '图标'], + 'example' => 'SKILL', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'description' => '', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + 'AccessKeyId' => ['type' => 'string', 'description' => '', 'example' => 'STS.NZeNA1kdCm4QPuAJ9kN******', 'title' => ''], + 'AccessKeySecret' => ['type' => 'string', 'description' => '', 'example' => '9EStV7fgkSQsPuBi576EmNQXLxJGddL2EGyX********', 'title' => ''], + 'SecurityToken' => ['type' => 'string', 'description' => '', 'example' => 'CAISvAN1q6Ft5B2yfSjIr5n2Bez81ZRTgqOGZn6FkHBnXf9qgI6apjz2IH*******', 'title' => ''], + 'Bucket' => ['type' => 'string', 'description' => '', 'example' => 'prod-wy-*****', 'title' => ''], + 'OssRegion' => ['type' => 'string', 'description' => '', 'example' => 'oss-cn-hangzhou', 'title' => ''], + 'ObjectKeyPrefix' => ['type' => 'string', 'description' => '', 'example' => 'tmp/skill/tenant/1483****/', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => '', + 'summary' => '', + 'description' => '获取到的SecurityToken有效期为15分钟。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ecd:GetOssStsToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => 'Retrieves the parsed content of a skill package.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'TaskKey', + 'in' => 'query', + 'schema' => ['description' => 'The task key for parsing the skill package.', 'type' => 'string', 'required' => true, 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9C5******', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + 'Data' => [ + 'description' => 'The response data object for parsing the skill package.', + 'type' => 'object', + 'properties' => [ + 'TaskKey' => ['description' => 'The task key for parsing the skill package.', 'type' => 'string', 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9C5******', 'title' => ''], + 'Status' => [ + 'description' => 'The task status. Valid values:'."\n" + .'- PARSING_METADATA: parsing in progress.'."\n" + .'- COMPLETED: completed.'."\n" + .'- FAILED: failed.', + 'enumValueTitles' => ['PARSING_METADATA' => 'Parsing in progress.', 'COMPLETED' => 'Completed.', 'FAILED' => 'Failed.'], + 'type' => 'string', + 'example' => 'COMPLETED', + 'title' => '', + ], + 'SkillName' => ['description' => 'The name in the SKILL.md file.', 'type' => 'string', 'example' => 'name****', 'title' => ''], + 'Slug' => ['description' => 'The skill slug identifier. This is user-defined and unique within the tenant dimension.', 'type' => 'string', 'example' => 'admapix******', 'title' => ''], + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'RequiredEnvVars' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RequiresApiKey' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'Description' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorCode' => ['description' => 'The error code returned when an execution exception occurs.', 'type' => 'string', 'example' => 'Package.ReadFailed', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned when an execution exception occurs.', 'type' => 'string', 'example' => 'Failed to read skill package', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query parsing progress', + 'description' => 'Call the ParseSkillPackage operation first. Poll this operation every 3 seconds.', + 'requestParamsDescription' => 'TaskKey parameter: After calling the ParseSkillPackage operation and obtaining the response, extract the value of the TaskKey field from the data object in the response.', + 'responseParamsDescription' => 'Slug parameter: After calling the GetParseProgress operation and obtaining the response, extract the value of the Slug field from the Data object within the data field of the response.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:GetParseProgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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\\": false,\\n \\"Description\\": \\"\\",\\n \\"ErrorCode\\": \\"Package.ReadFailed\\",\\n \\"ErrorMessage\\": \\"Failed to read skill package\\"\\n }\\n}","type":"json"}]', + ], + 'ListSecureSkillIdentities' => [ + 'summary' => 'Queries the list of identities for which security policies are enabled.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + ."\n" + .'- ENTERPRISE: Enterprise edition.'."\n" + .'- BUSINESS: Business edition.', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise edition.', 'BUSINESS' => 'Business edition.'], + 'type' => 'string', + 'required' => true, + 'example' => 'ENTERPRISE', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '51592A88-0F2C-55E6-AD2C-2AD9C10D****', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Identities' => [ + 'description' => 'The list of resource information.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'ecd-6af3rdkv9ttqqb***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query resources with custom installation skill permissions', + 'description' => 'The resource type supports only cloud computers.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSecureSkillIdentities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => 'Queries the list of identities authorized for a skill.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'SkillId', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the skill.', 'type' => 'string', 'required' => true, 'example' => 's-04rj8mzqj1fu****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + ."\n" + .'- ENTERPRISE: enterprise edition'."\n" + .'- BUSINESS: business edition', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise edition.', 'BUSINESS' => 'Business edition.'], + 'type' => 'string', + 'required' => true, + 'example' => 'ENTERPRISE', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5CC5E450-FC43-4F5B-B540-9964BD*****', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Identities' => [ + 'description' => 'The list of authorized objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'The authorized object.', + 'type' => 'object', + 'properties' => [ + 'IdentityId' => ['description' => 'The ID of the authorized object.', 'type' => 'string', 'example' => 'ecd-b9ej3xiok4tjbgf9x****', 'title' => ''], + 'AutoInstall' => [ + 'description' => 'Indicates whether automatic installation is enabled. Valid values:'."\n" + ."\n" + .'- true: Automatic installation is enabled.'."\n" + .'- false: Automatic installation is disabled.', + 'enumValueTitles' => ['true' => 'Yes.', 'false' => 'No.'], + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query authorized objects by skill', + 'description' => 'Authorized objects support only cloud computers.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSkillAuthedIdentities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => 'Queries the list of skills.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'SupplierType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The supply type.', + 'enumValueTitles' => ['WUYING' => 'Wuying upload.', 'TENANT' => 'tenant upload.'], + 'type' => 'string', + 'docRequired' => true, + 'required' => true, + 'example' => 'WUYING', + 'title' => '', + ], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel.', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise Edition.', 'BUSINESS' => 'Business Edition.'], + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'BUSINESS', + 'title' => '', + ], + ], + [ + 'name' => 'SkillIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The list of skill IDs.', + 'type' => 'array', + 'items' => ['description' => 'The skill ID.', 'type' => 'string', 'required' => false, 'example' => 's-04rj8mzqj1fu****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of rows per page in a paged query. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the current page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of query results.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''], + 'Skills' => [ + 'description' => 'The list of skill details.', + 'type' => 'array', + 'items' => [ + 'description' => 'The skill details object.', + 'type' => 'object', + 'properties' => [ + 'SkillId' => ['description' => 'The unique identifier of the skill.', 'type' => 'string', 'example' => 's-04rj8mzqj1fu****'."\n", 'title' => ''], + 'SkillName' => ['description' => 'The name in the SKILL.md file.', 'type' => 'string', 'example' => 'name****', 'title' => ''], + 'SkillIconUrl' => ['description' => 'The URL of the skill icon.', 'type' => 'string', 'example' => 'https://***-***-****', 'title' => ''], + 'DisplayName' => ['description' => 'The display name.', 'type' => 'string', 'example' => 'name****', 'title' => ''], + 'SupplierType' => [ + 'description' => 'The supply type.', + 'enumValueTitles' => ['WUYING' => 'Wuying upload.', 'TENANT' => 'tenant upload.'], + 'type' => 'string', + 'example' => 'TENANT', + 'title' => '', + ], + 'Author' => ['description' => 'The author.', 'type' => 'string', 'example' => 'Li***', 'title' => ''], + 'SourceMarket' => [ + 'description' => 'The source marketplace code.', + 'enumValueTitles' => ['CLAWHUB' => 'ClawHub', 'ALIYUN' => 'Alibaba Cloud.', 'DINGTALK_AI' => 'DingTalk AI Capability Center.', 'MODELSCOPE' => 'ModelScope'], + 'type' => 'string', + 'example' => 'CLAWHUB', + 'title' => '', + ], + 'SourceMarketName' => ['description' => 'The source marketplace name.', 'type' => 'string', 'example' => 'ClawHub', 'title' => ''], + 'Description' => ['description' => 'The description of the skill.', 'type' => 'string', 'example' => 'This skill is used for****', 'title' => ''], + 'GmtCreated' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2026-04-28T10:32:53Z', 'title' => ''], + 'Slug' => ['description' => 'The slug identifier of the skill. This value is user-defined and unique within the tenant.', 'type' => 'string', 'example' => 'find-skills****', 'title' => ''], + 'DefaultVersion' => ['description' => 'The currently effective version number. If no version is effective, an empty value is returned.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'Enable' => [ + 'description' => 'Indicates whether the skill is enabled.', + 'enumValueTitles' => ['true' => 'Enabled.', 'false' => 'Not enabled.'], + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'ApiKey' => ['description' => 'The API key of the skill.', 'type' => 'string', 'example' => 'akm-98f66829***', 'title' => ''], + 'EnvVars' => [ + 'description' => 'The environment variables.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The environment variables.', 'type' => 'string', 'example' => '{\\"key\\":\\"value\\",\\"key\\":\\"value\\"}'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SkillVersions' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PublishStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'SecurityScanStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'SecurityScanFailReason' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'SecurityScanScore' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'ChangeLog' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'CreatedAt' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'List skills', + 'responseParamsDescription' => 'Slug parameter: Call the GetParseProgress operation to obtain the response. Then, extract the value of Slug from the Data object in the data field of the response.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSkills', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => 'Parses a skill package.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'OssObjectKey', + 'in' => 'query', + 'schema' => ['description' => 'The OSS path of the skill package.', 'type' => 'string', 'required' => true, 'example' => 'tmp/skill/wu***/17***.zip', 'title' => ''], + ], + [ + 'name' => 'OssObjectETag', + 'in' => 'query', + 'schema' => ['description' => 'The OSS ETag returned after the file is uploaded to OSS.', 'type' => 'string', 'required' => true, 'example' => '1D9920C4858A60B70705A8765A******', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '05C2791F-41A7-5E7C-B5E4-1401FD0E****', 'title' => ''], + 'TaskKey' => ['description' => 'The key of the skill package parsing task.', 'type' => 'string', 'example' => '2E7D8B71-2677-1B4C-9E25-A88B9******', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Parse a skill package', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ecd:ParseSkillPackage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => 'The list of authorized objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'The authorized object information.', + 'type' => 'object', + 'properties' => [ + 'IdentityId' => ['description' => 'The ID of the authorized object.', 'type' => 'string', 'required' => true, 'example' => 'ecd-av4u9m5ghko26****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'OperationType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operation type.', + 'enumValueTitles' => ['SET_AUTH' => 'SET_AUTH', 'CANCEL_AUTH' => 'CANCEL_AUTH'], + 'type' => 'string', + 'required' => true, + 'example' => 'SET_AUTH', + 'title' => '', + ], + ], + [ + 'name' => 'SkillIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The list of skill IDs.', + 'type' => 'array', + 'items' => ['description' => 'The skill ID.', 'type' => 'string', 'required' => true, 'example' => 's-04zzrfqdku5jb****', 'title' => ''], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + ."\n" + .'- ENTERPRISE: enterprise edition'."\n" + .'- BUSINESS: business edition', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise edition.', 'BUSINESS' => 'Business edition.'], + 'type' => 'string', + 'required' => true, + 'example' => 'ENTERPRISE', + 'title' => '', + ], + ], + [ + 'name' => 'AutoInstall', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically install. Valid values:'."\n" + ."\n" + .'- true: yes'."\n" + .'- false: no', + 'enumValueTitles' => ['true' => 'Yes.', 'false' => 'No.'], + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A87DBB05-653A-5E4B-B72B-5F4A1E07****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Set skill permissions for an authorized object', + 'description' => 'The authorized object supports only cloud computers.', + 'summary' => 'Sets skill permissions for an identity.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ecd:SetIdentitySkillAuth', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A87DBB05-653A-5E4B-B72B-5F4A1E07****\\"\\n}","type":"json"}]', + ], + 'SetIdentitySkillSecurity' => [ + 'summary' => 'Sets the security policy for identity skills.', + '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' => 'The list of resource information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource information object.', + 'type' => 'object', + 'properties' => [ + 'IdentityId' => ['description' => 'The resource information ID.', 'type' => 'string', 'required' => true, 'example' => 'ecd-b9ej3xiok4tjbgf9x', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the skill installation permission. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', + 'enumValueTitles' => ['true' => 'Enabled.', 'false' => 'Disabled.'], + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The skill channel. Valid values:'."\n" + ."\n" + .'- ENTERPRISE: enterprise edition.'."\n" + .'- BUSINESS: business edition.', + 'enumValueTitles' => ['ENTERPRISE' => 'Enterprise edition.', 'BUSINESS' => 'Business edition.'], + 'type' => 'string', + 'required' => true, + 'example' => 'ENTERPRISE', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Set the security policy for resources', + 'description' => 'The resource type supports only cloud computers.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ecd:SetIdentitySkillSecurity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', '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' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 's-051j4osziq4c*****', 'title' => ''], + 'docRequired' => true, + 'description' => '', + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + 'docRequired' => true, + 'description' => '', + 'required' => true, + 'enumValueTitles' => ['true' => '启用', 'false' => '禁用'], + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'SkillChannel', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'docRequired' => true, + 'description' => '', + 'required' => true, + 'enumValueTitles' => ['ENTERPRISE' => '商业版', 'BUSINESS' => '企业版'], + 'example' => 'BUSINESS', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'description' => '', 'example' => '1CBAFFAB-B697-4049-A9B1-67E1FC5F****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CBAFFAB-B697-4049-A9B1-67E1FC5F****\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-beijing.aliyuncs.com', 'endpoint' => 'ecd.cn-beijing.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ecd.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-qingdao.aliyuncs.com', 'endpoint' => 'ecd.cn-qingdao.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-shanghai.aliyuncs.com', 'endpoint' => 'ecd.cn-shanghai.aliyuncs.com', 'vpc' => 'ecd-shenzhen-center.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-hongkong.aliyuncs.com', 'endpoint' => 'ecd.cn-hongkong.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ecd.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-shenzhen.aliyuncs.com', 'endpoint' => 'ecd.cn-shenzhen.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-nanjing.aliyuncs.com', 'endpoint' => 'ecd.cn-nanjing.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ecd.ap-northeast-1.aliyuncs.com', 'vpc' => 'ecd.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-chengdu.aliyuncs.com', 'endpoint' => 'ecd.cn-chengdu.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ecd.cn-guangzhou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ecd.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ecd.cn-hangzhou.aliyuncs.com', 'vpc' => 'ecd-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'The app is being set to be visible, please try again later.'], + ['code' => 'AuthorizeFailed', 'message' => 'Authorize failed, please check your EndUserId and Password.', 'http_code' => 400, 'description' => 'Invalid username or password.'], + ['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' => 'The property of the resource zone does not match. Check whether the target office network supports the zone to which the resource belongs.'], + ['code' => 'DeletedBundleStatus', 'message' => 'The specified bundle status is deleted.', 'http_code' => 400, 'description' => 'The specified template has been deleted'], + ['code' => 'DesktopCpuHighLoad%s', 'message' => 'The specified desktop cpu high load.', 'http_code' => 400, 'description' => 'The CPU usage of this cloud computer is too high, causing the connection to time out. The application with the highest CPU usage is% s. Please reconnect or restart the cloud computer. If the connection failure still occurs, contact your IT administrator.'], + ['code' => 'DesktopMemoryHighLoad%s', 'message' => 'The specified desktop memory high load.', 'http_code' => 400, 'description' => 'A time out error occurred when connecting to this cloud computer because the memory usage of it is too high. The app consuming the most memory is %s. Please reconnect or restart the cloud computer. If the issue persists, please contact your IT administrator.'], + ['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' => 'The specified hostname already exists in the current workspace'], + ['code' => 'ExportDesktop.UnknowError', 'message' => 'Failed to export desktop list. Please try again. If the problem still exists, submit a ticket.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'FengyuTestCode1.%s', 'message' => 'FengyuTestMsg1.%s.', 'http_code' => 400, 'description' => 'Feng Yu Test Dynamic Error Description 1, Dynamic Error Message (%s)'], + ['code' => 'FengyuTestCode2', 'message' => 'FengyuTestMsg2.', 'http_code' => 400, 'description' => 'Feng Yu tests Chinese'], + ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'User does not have permission to operate on the specified resource'], + ['code' => 'FOTAVersion.NotSupported', 'message' => 'Desktop version does not support this function, please upgrade.', 'http_code' => 400, 'description' => 'The current desktop version does not support this feature. Update the version.'], + ['code' => 'HostnameCannotCustomizeForLinux', 'message' => 'Customizing hostname is not supported for Linux desktop.', 'http_code' => 400, 'description' => 'The custom hostname feature does not support Linux desktops'], + ['code' => 'IncorrectDirectoryStatus', 'message' => 'Only registered directory can create desktop.', 'http_code' => 400, 'description' => 'Workspace status error, only desktop creation with registered workspace is supported'], + ['code' => 'IncorrectDirectoryType', 'message' => 'The protocol type of directory and desktop do not match.', 'http_code' => 400, 'description' => 'The protocol types of the specified workspace and the target desktop do not match, please check'], + ['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' => 'The specified quantity is illegal'], + ['code' => 'InvalidAmount.NotTimesOfUsers', 'message' => 'The specified Amount is notmatch EndUserId size.', 'http_code' => 400, 'description' => 'The number of desktops specified is not equal to the number of users to be assigned, please re-specify'], + ['code' => 'InvalidClientIp.Policy', 'message' => 'Client ip %s is not in white list.', 'http_code' => 400, 'description' => 'The IT administrator has set an IP whitelist policy that prevents you from connecting to this cloud computer under your current IP environment (%s). Please contact the IT administrator.'], + ['code' => 'InvalidDesktopBundle.NotFound', 'message' => 'The specified param BundleId is not found.', 'http_code' => 400, 'description' => 'Specified BundleId not found'], + ['code' => 'InvalidDirectoryId.NotFound', 'message' => 'The specified param DirectoryId is not found.', 'http_code' => 400, 'description' => 'Unable to find workspace ID, please check workspace'], + ['code' => 'InvalidDirectoryType.NotSupported', 'message' => 'The specified DirectoryType is not supported.', 'http_code' => 400, 'description' => 'Specified'], + ['code' => 'InvalidEncryptionEnabled.Invalid', 'message' => 'The parameter VolumeEncryptionEnabled is invalid.', 'http_code' => 400, 'description' => 'When specifying the encryption key, you need to turn on the disk encryption function.'], + ['code' => 'InvalidEncryptionKey.Missing', 'message' => 'Parameter VolumeEncryptionKey is missing.', 'http_code' => 400, 'description' => 'When the disk encryption function is enabled, the encryption key cannot be empty.'], + ['code' => 'InvalidEncryptionKey.NotAuthorized', 'message' => 'Eds service cannot access the given VolumeEncryptionKey.', 'http_code' => 400, 'description' => 'Unable to access unauthorized encryption keys'], + ['code' => 'InvalidEncryptionKey.NotFound', 'message' => 'The specified VolumeEncryptionKey is not found.', 'http_code' => 400, 'description' => 'The specified encryption key could not be found'], + ['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' => 'The status of the specified image is unavailable and cannot be created.'], + ['code' => 'InvalidImageVersion.NotSupported', 'message' => 'The specified image version is no longer supported.', 'http_code' => 400, 'description' => 'The specified image version is no longer supported. Please select another image.'], + ['code' => 'InvalidMemberIp.DesktopAmount', 'message' => 'The desktop amount need to be 1.', 'http_code' => 400, 'description' => 'When you specify an IP to create a desktop, the number of desktops can only be 1'], + ['code' => 'InvalidOssObjectPath.NotFound', 'message' => 'Cannot parse input oss object path. eg: http://bucket/object.vhd.', 'http_code' => 400, 'description' => 'It is detected that the uploaded image file is not available, please ensure that the correct custom image is uploaded to the specified OSS bucket address.'], + ['code' => 'InvalidParameter.ResourceId', 'message' => 'The specified parameter ResourceId is invalid.', 'http_code' => 400, 'description' => 'The specified parameter ResourceId is invalid.'], + ['code' => 'InvalidParameterError', 'message' => 'Cannot query with end user id and include assigned user.', 'http_code' => 400, 'description' => 'Querying unassigned user and end user ID at the same time is not supported.'], + ['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' => 'Resources exist in the current office network and cannot be deleted directly.'], + ['code' => 'NetworkSpace.VpcInfoExist', 'message' => 'vpc info already exist.', 'http_code' => 400, 'description' => 'Office network already exists for the corresponding VPC'], + ['code' => 'NoStock.ZoneInvalid', 'message' => 'The requested resource is sold out in the specified zone.', 'http_code' => 400, 'description' => 'The specified resource is out of stock in the selected Availability Zone.'], + ['code' => 'OperationTooFrequent', 'message' => 'The operation is too frequent, please try again later.', 'http_code' => 400, 'description' => 'Operation is too frequent, please try again later'], + ['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' => ''], + ['code' => 'Protocol.NotAllowed', 'message' => 'Procotol of the image is not allowed.', 'http_code' => 400, 'description' => 'The protocol type of the image is not supported. Check the image 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' => 'The resource group to which the cloud computer belongs is binding/unbinding application control rules.'], + ['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' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.'], + ['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' => 'Failed to start, please go to the "start" menu of win system to open shadowless housekeeper'], + ['code' => 'StartApplicationGuestNoApp', 'message' => 'The application no start app.', 'http_code' => 400, 'description' => 'Please go to shadowless application center to download shadowless butler'], + ['code' => 'StartApplicationGuestOffline', 'message' => 'The application guest offline.', 'http_code' => 400, 'description' => 'Desktop exception, please go to the "start" menu of win system to open shadowless housekeeper'], + ['code' => 'StartApplicationGuestTimeout', 'message' => 'The application guest timeout.', 'http_code' => 400, 'description' => 'The call timed out, please go to the "start" menu of win system to open shadowless housekeeper.'], + ['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' => ''], + ['code' => 'TransitRouterService.TrNotExistInRegion', 'message' => 'The transit router need create in current region.', 'http_code' => 400, 'description' => 'There is no transit router in the current region in the cloud enterprise network, please go to the cloud enterprise network console to create a new router.'], + ['code' => 'UnavailableDesktop', 'message' => 'Authentication failure.', 'http_code' => 400, 'description' => 'Authentication failed, unable to connect.'], + ['code' => 'DesktopCanOnlyAssignedToOneUser', 'message' => 'The desktop can only assigned to one user.', 'http_code' => 400, 'description' => 'Forced connection is not allowed when multiple users are assigned to the cloud computer'], + ['code' => 'GET_APP_RULE_LOCK_FAILED', 'message' => 'Get app rule lock failed.', 'http_code' => 400, 'description' => 'The operation is too frequent, please try again later.'], + ['code' => 'INSUFFICIENT_QUOTA', 'message' => 'Insufficient quota.', 'http_code' => 400, 'description' => 'Insufficient user quota'], + ], + 'changeSet' => [], + 'ram' => [ + 'productCode' => 'ECD', + 'productName' => 'Elastic Desktop Service', + 'ramCodes' => ['ecd', 'eds-user', 'gws', 'wss'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'ParseSkillPackage', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ecd:ParseSkillPackage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSkills', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSkills', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSecureSkillIdentities', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSecureSkillIdentities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetParseProgress', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:GetParseProgress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetTenantSkillEnabled', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ecd:SetTenantSkillEnabled', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSkillAuthedIdentities', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ecd:ListSkillAuthedIdentities', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetIdentitySkillAuth', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ecd:SetIdentitySkillAuth', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetIdentitySkillSecurity', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ecd:SetIdentitySkillSecurity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateTenantSkill', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ecd:CreateTenantSkill', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetOssStsToken', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ecd:GetOssStsToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteTenantSkills', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ecd:DeleteTenantSkills', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECD', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [], + ], +]; |
