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/eci/2018-08-08/api-docs.php | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/eci/2018-08-08/api-docs.php')
| -rw-r--r-- | data/en_us/eci/2018-08-08/api-docs.php | 20493 |
1 files changed, 8246 insertions, 12247 deletions
diff --git a/data/en_us/eci/2018-08-08/api-docs.php b/data/en_us/eci/2018-08-08/api-docs.php index 0abb429..b21d7cb 100644 --- a/data/en_us/eci/2018-08-08/api-docs.php +++ b/data/en_us/eci/2018-08-08/api-docs.php @@ -1,254 +1,388 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Eci', - 'version' => '2018-08-08', - ], + 'info' => ['style' => 'RPC', 'product' => 'Eci', 'version' => '2018-08-08'], 'directories' => [ [ - 'id' => 99743, - 'title' => 'Regions', + 'children' => ['CreateContainerGroup', 'UpdateContainerGroup', 'DescribeContainerGroups', 'DescribeContainerGroupStatus', 'DescribeContainerGroupEvents', 'ResizeContainerGroupVolume', 'RestartContainerGroup', 'DeleteContainerGroup'], 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], + 'title' => 'Container group', ], [ - 'id' => 99745, - 'title' => 'Container groups', + 'children' => ['ExecContainerCommand', 'DescribeContainerLog', 'CommitContainer', 'DescribeCommitContainerTask'], 'type' => 'directory', - 'children' => [ - 'CreateContainerGroup', - 'UpdateContainerGroup', - 'DescribeContainerGroups', - 'DescribeContainerGroupStatus', - 'DescribeContainerGroupEvents', - 'ResizeContainerGroupVolume', - 'RestartContainerGroup', - 'DeleteContainerGroup', - ], - ], - [ - 'id' => 178925, 'title' => 'Container', - 'type' => 'directory', - 'children' => [ - 'ExecContainerCommand', - 'DescribeContainerLog', - 'CommitContainer', - 'DescribeCommitContainerTask', - ], ], [ - 'id' => 99760, - 'title' => 'Image caches', + 'children' => ['CreateImageCache', 'DeleteImageCache', 'UpdateImageCache', 'DescribeImageCaches'], 'type' => 'directory', - 'children' => [ - 'CreateImageCache', - 'DeleteImageCache', - 'UpdateImageCache', - 'DescribeImageCaches', - ], + 'title' => 'Image cache', ], [ - 'id' => 183905, - 'title' => 'Data cache', + 'children' => ['CreateDataCache', 'DescribeDataCaches', 'UpdateDataCache', 'CopyDataCache', 'DeleteDataCache'], 'type' => 'directory', - 'children' => [ - 'CreateDataCache', - 'DescribeDataCaches', - 'UpdateDataCache', - 'CopyDataCache', - 'DeleteDataCache', - ], + 'title' => 'Data cache', ], [ - 'id' => 99755, - 'title' => 'Virtual nodes', + 'children' => ['CreateVirtualNode', 'DeleteVirtualNode', 'UpdateVirtualNode', 'DescribeVirtualNodes'], 'type' => 'directory', - 'children' => [ - 'CreateVirtualNode', - 'DeleteVirtualNode', - 'UpdateVirtualNode', - 'DescribeVirtualNodes', - ], + 'title' => 'Virtual node', ], [ - 'id' => 99765, - 'title' => 'Monitoring', + 'children' => ['DescribeContainerGroupMetric', 'DescribeMultiContainerGroupMetric'], 'type' => 'directory', - 'children' => [ - 'DescribeContainerGroupMetric', - 'DescribeMultiContainerGroupMetric', - ], + 'title' => 'Monitoring', ], [ - 'id' => 99772, - 'title' => 'Operations and maintenance', + 'children' => ['CreateInstanceOpsTask', 'DescribeInstanceOpsRecords'], 'type' => 'directory', - 'children' => [ - 'CreateInstanceOpsTask', - 'DescribeInstanceOpsRecords', - ], + 'title' => 'O&M operations', ], [ - 'id' => 193218, - 'title' => 'Tags', + 'children' => ['ListUsage', 'DescribeContainerGroupPrice'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'UntagResources', - ], + 'title' => 'Other operations', ], [ - 'id' => 99769, - 'title' => 'Other operations', + 'children' => ['DescribeAvailableResource', 'DescribeRegions', 'ListTagResources', 'TagResources', 'UntagResources'], + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'ListUsage', - 'DescribeContainerGroupPrice', - 'DescribeAvailableResource', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeRegions' => [ - 'summary' => 'Queries the regions and zones in which Elastic Container Instance is available.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CommitContainer' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '17738', - 'abilityTreeNodes' => [ - 'FEATUREeciWX1P2C', - 'FEATUREeciO4MP7I', - 'FEATUREeciL85GGA', - 'FEATUREeciTLPZOI', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'create', + 'abilityTreeCode' => '151229', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ContainerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ECI instance for which you want to create a CommitContainer task.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eci-bp1do4xz75fa5sd****'], + ], + [ + 'name' => 'ContainerName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the container that you want to use to create the image.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'container-1'], + ], + [ + 'name' => 'Image', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', + 'description' => 'The information about the container image.', + 'type' => 'object', + 'properties' => [ + 'Repository' => ['description' => 'The address of the ACR image repository.<br>'."\n" + .'For security reasons, you can push images only to ACR.<br>', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/test/test-****'], + 'Tag' => ['description' => 'The tag of the image. If you leave this parameter empty, the tag is not modified.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '0.0.6'], + 'Message' => ['description' => 'The description of the image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test commit'], + 'Author' => ['description' => 'Specifies the author of the image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'alice'], + ], 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'AcrRegistryInfo', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', + 'description' => 'The access credential configurations for the ACR Enterprise Edition instance.'."\n" + ."\n" + .'> You do not need to configure this parameter if you use an ACR Personal Edition instance. You must configure this parameter if you use an ACR Enterprise Edition instance.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cri-nwj395hgf6f3****'], + 'RegionId' => ['description' => 'The region where the ACR Enterprise Edition instance is located.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], + 'ArnService' => ['description' => 'In a cross-account authorization scenario, this is the Alibaba Cloud Resource Name (ARN) of the RAM role of the user who is granted permissions.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs:ram::1609982529******:role/role-test'], + 'ArnUser' => ['description' => 'In a cross-account authorization scenario, this is the ARN of the RAM role of the user who grants the permissions.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs:ram::1298452580******:role/role-test'], + ], 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The ARN information required for authorization.', + 'type' => 'object', + 'properties' => [ + 'RoleArn' => ['description' => 'The ARN of the authorization role.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs:ram:xxx'], + 'RoleType' => [ + 'description' => 'The authorization type. Set the value to service to use a RAM role for authorization.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'title' => '', + 'example' => 'service', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', - ], - 'Regions' => [ - 'description' => 'The list of regions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the region.'."\n", - 'type' => 'object', - 'properties' => [ - 'Zones' => [ - 'description' => 'The queried zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - ], - 'RecommendZones' => [ - 'description' => 'The list of recommended zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the recommended zone. Recommended zones are zones that have relatively sufficient resources in the current region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-j', - ], - ], - 'RegionEndpoint' => [ - 'description' => 'The endpoint for the region.'."\n", - 'type' => 'string', - 'example' => 'eci.aliyuncs.com', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'UnavailableZones' => [ - 'description' => 'The list of unavailable zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the unavailable zone. This zone may be faulty. We recommend that you use a different zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-e', - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request. This ID is unique.', 'type' => 'string', 'title' => '', 'example' => 'CB8D2B22-D636-4182-****-1FC9DBDAD66F'], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'title' => '', 'example' => 't-bp18cwvrb3v9tjk0tekz'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"Regions\\": [\\n {\\n \\"Zones\\": [\\n \\"cn-hangzhou-g\\"\\n ],\\n \\"RecommendZones\\": [\\n \\"cn-hangzhou-j\\"\\n ],\\n \\"RegionEndpoint\\": \\"eci.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"UnavailableZones\\": [\\n \\"cn-hangzhou-e\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>BF910418-FF74-4C99-B2D5-B77C88E49A44</RequestId>\\n <Regions>\\n <RecommendZones>cn-hangzhou-h</RecommendZones>\\n <RecommendZones>cn-hangzhou-i</RecommendZones>\\n <RecommendZones>cn-hangzhou-j</RecommendZones>\\n <RegionId>cn-hangzhou</RegionId>\\n <RegionEndpoint>eci.aliyuncs.com</RegionEndpoint>\\n <Zones>cn-hangzhou-g</Zones>\\n <Zones>cn-hangzhou-e</Zones>\\n <Zones>cn-hangzhou-f</Zones>\\n <Zones>cn-hangzhou-h</Zones>\\n <Zones>cn-hangzhou-i</Zones>\\n <Zones>cn-hangzhou-j</Zones>\\n <Zones>cn-hangzhou-k</Zones>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', - 'title' => 'DescribeRegions', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'InvalidVolumeType', 'errorMessage' => 'The specified volumeName is invalid, only volume of cloud disk support capacity resize', 'description' => ''], + ['errorCode' => 'IncorrectStatusDetail', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidAction', 'errorMessage' => 'The specified action is invalid ', 'description' => ''], + ], + ], + 'title' => 'CommitContainer', + 'summary' => 'Call the CommitContainer operation to create an asynchronous task that saves a specified container in an Elastic Container Instance (ECI) instance as an image and pushes the image to an image repository in Alibaba Cloud Container Registry (ACR).', + 'description' => 'Before you call the CommitContainer operation, prepare an ACR image repository. Then, create a Resource Access Management (RAM) role and grant the required permissions. For more information, see [Create an image from a container and push it to an ACR repository](~~473046~~).', + 'changeSet' => [ + ['createdAt' => '2023-08-01T02:29:38.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-27T03:46:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-30T06:19:23.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-08T01:20:14.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CommitContainer'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CommitContainer', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'CommitContainerTask', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB8D2B22-D636-4182-****-1FC9DBDAD66F\\",\\n \\"TaskId\\": \\"t-bp18cwvrb3v9tjk0tekz\\"\\n}","type":"json"}]', ], - 'CreateContainerGroup' => [ - 'summary' => 'Creates an elastic container instance.', - 'methods' => [ - 'post', - 'get', + 'CopyDataCache' => [ + 'summary' => 'Copies a data cache from one region to another.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '186053', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region where the existing data cache is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-beijing'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region where the existing data cache is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-beijing'], + ], + [ + 'name' => 'Bucket', + 'in' => 'query', + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => ['description' => 'The path of the data cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/bucket-test'], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the data cache.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => ['description' => 'The number of days to retain the data cache.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the data cache.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the data cache.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group to which the data cache belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-2df3isufhi38****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a value from your client and make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000 '], + ], + [ + 'name' => 'DataCacheId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the data cache.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'edc-bp15l4vvys94oo******'."\n"], + ], + [ + 'name' => 'DestinationRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The destination region to which you want to copy the data cache.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '58EE0CB3-C864-5395-A4F7-24F425074839'], + 'DataCacheId' => ['description' => 'The ID of the data cache that is generated in the destination region.', 'type' => 'string', 'title' => '', 'example' => 'edc-bp1423y6d7v7l6ua****'], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'ImageCache.IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ImageCacheNotSupport', 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['errorCode' => 'EipAddressPoolIpNotEnough', 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CopyDataCache', + 'description' => 'Data caches are region-specific. You can use this operation to copy a data cache to another region. This operation is useful in the following scenarios:'."\n" + ."\n" + .'- If you want to use a data cache in multiple regions, you can create it in one region and then use this operation to quickly copy it to other regions.'."\n" + ."\n" + .'- Pulling data from a source outside the Chinese mainland to create a data cache can be slow for users in the Chinese mainland due to network limitations. To work around this, you can first create the data cache in a region outside the Chinese mainland, such as China (Hong Kong), and then use this operation to copy it to a region in the Chinese mainland.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'Copying a data cache is similar to copying a snapshot. The associated fees include traffic costs for the copy process and storage costs for the new data cache.'."\n" + ."\n" + .'></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CopyDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"58EE0CB3-C864-5395-A4F7-24F425074839\\",\\n \\"DataCacheId\\": \\"edc-bp1423y6d7v7l6ua****\\"\\n}","type":"json"}]', + ], + 'CreateContainerGroup' => [ + 'summary' => 'Calls CreateContainerGroup to create an ECI instance (container group).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -262,520 +396,254 @@ 'chargeType' => 'paid', 'abilityTreeCode' => '17723', 'abilityTreeNodes' => [ - 'FEATUREeciMQBGSL', - 'FEATUREeciVUTLVI', - 'FEATUREeciV3EHPN', - 'FEATUREeciAKHEC6', - 'FEATUREeci3RK7J6', - 'FEATUREeciCB9RZH', - 'FEATUREeciIGQQJ4', - 'FEATUREeciO8VNZM', - 'FEATUREeciL4OXNU', - 'FEATUREeciTSN7MB', - 'FEATUREeciXIMF39', - 'FEATUREeciY9GS39', - 'FEATUREeci5NN3BU', - 'FEATUREeciIT94P2', - 'FEATUREeciCZBDK8', - 'FEATUREeci5C81JE', - 'FEATUREeciUA7Z4X', - 'FEATUREeciTNOJE5', - 'FEATUREeciT4H7SE', - 'FEATUREeciIKTG4T', - 'FEATUREeci2ZQZXG', - 'FEATUREeci0ITHIE', - 'FEATUREeci6EO4L5', - 'FEATUREeciE8K96A', - 'FEATUREeci0764O2', - 'FEATUREeciJCC6LW', - 'FEATUREeciE6R8DD', - 'FEATUREeci285KA3', - 'FEATUREeciURG2P2', - 'FEATUREeciHV8ZT3', - 'FEATUREeciG6ANZT', - 'FEATUREeci8EZOP4', - 'FEATUREeciWJI928', - 'FEATUREeciSWZRZY', - 'FEATUREeciFNO51E', - 'FEATUREeciWX1P2C', - 'FEATUREeciO4MP7I', - 'FEATUREeciL85GGA', - 'FEATUREeciW85X4O', - 'FEATUREeci62HD6F', - 'FEATUREeciIY8PHC', - 'FEATUREeciSBWW1M', - 'FEATUREeciXZCGBO', - 'FEATUREeciWNN4ZA', - 'FEATUREeci6OZGI2', - 'FEATUREeciTLPZOI', - 'FEATUREeciD229V6', - 'FEATUREeciI5SLQA', - 'FEATUREeciOZ73BH', - 'FEATUREeciESSPHI', - 'FEATUREeciOFIQXM', - 'FEATUREeciPOV784', + 'FEATUREeciMQBGSL', 'FEATUREeciVUTLVI', 'FEATUREeciV3EHPN', 'FEATUREeciAKHEC6', 'FEATUREeci3RK7J6', 'FEATUREeciCB9RZH', 'FEATUREeciIGQQJ4', 'FEATUREeciO8VNZM', 'FEATUREeciL4OXNU', 'FEATUREeciTSN7MB', 'FEATUREeciXIMF39', 'FEATUREeciY9GS39', 'FEATUREeci5NN3BU', 'FEATUREeciIT94P2', 'FEATUREeciCZBDK8', 'FEATUREeci5C81JE', 'FEATUREeciUA7Z4X', 'FEATUREeciTNOJE5', 'FEATUREeciT4H7SE', 'FEATUREeciIKTG4T', + 'FEATUREeci2ZQZXG', 'FEATUREeci0ITHIE', 'FEATUREeci6EO4L5', 'FEATUREeciE8K96A', 'FEATUREeci0764O2', 'FEATUREeciJCC6LW', 'FEATUREeciE6R8DD', 'FEATUREeci285KA3', 'FEATUREeciURG2P2', 'FEATUREeciHV8ZT3', 'FEATUREeciG6ANZT', 'FEATUREeci8EZOP4', 'FEATUREeciWJI928', 'FEATUREeciSWZRZY', 'FEATUREeciFNO51E', 'FEATUREeciWX1P2C', 'FEATUREeciO4MP7I', 'FEATUREeciL85GGA', 'FEATUREeciW85X4O', 'FEATUREeci62HD6F', + 'FEATUREeciIY8PHC', 'FEATUREeciSBWW1M', 'FEATUREeciXZCGBO', 'FEATUREeciWNN4ZA', 'FEATUREeci6OZGI2', 'FEATUREeciTLPZOI', 'FEATUREeciD229V6', 'FEATUREeciI5SLQA', 'FEATUREeciOZ73BH', 'FEATUREeciESSPHI', 'FEATUREeciOFIQXM', 'FEATUREeciPOV784', ], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the instance. If you do not specify this parameter, the system selects a zone.'."\n" - ."\n" - .'This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The zone of the instance. If the value is empty, the system automatically selects a zone.'."\n" + ."\n" + .'Default value: empty.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the instance belongs. Instances in the same security group can access each other.'."\n" - ."\n" - .'If you do not specify a security group, the system automatically uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the container protocols and port numbers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The ID of the security group to which the instance belongs. Instances in the same security group can access each other.'."\n" + ."\n" + .'If no security group is specified, the system automatically uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and adds the declared container protocols and port numbers to the inbound rules of the security group.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the vSwitches that connect to the instance. You can specify up to 10 vSwitch IDs at a time. Separate multiple vSwitch IDs with commas (,). Example: `vsw-***,vsw-***`.'."\n" - ."\n" - .'If you do not specify a vSwitch, the system automatically uses the default vSwitch in the default VPC in the region that you selected. If you do not have a default VPC or a default vSwitch in the region, the system automatically creates a default VPC and a default vSwitch.'."\n" - ."\n" - .'> The number of IP addresses in the vSwitch CIDR block determines the maximum number of elastic container instances that you can create for the vSwitch. Before you create elastic container instances, you must plan the CIDR block of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'vsw-bp1xpiowfm5vo8o3c****,vsw-bp1rkyjgr1xwoho6k****', - ], + 'schema' => ['description' => 'The ID of the vSwitch to which the instance is connected. You can specify up to 10 vSwitch IDs at a time, separated by commas (,), for example, `vsw-***,vsw-***`.'."\n" + ."\n" + .'If no vSwitch is specified, the system automatically uses the default vSwitch in the default VPC of the region that you selected. If you do not have a default VPC and a default vSwitch in the region, the system creates a default VPC and a default vSwitch.'."\n" + ."\n" + .'> The number of IP addresses in the vSwitch CIDR block determines the maximum number of ECI instances that can be created in the vSwitch. Plan the CIDR block in advance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vsw-bp1xpiowfm5vo8o3c****,vsw-bp1rkyjgr1xwoho6k****', 'title' => ''], ], [ 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance (container group). The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name can contain lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'nginx-test', - ], + 'schema' => ['description' => 'The name of the ECI instance (container group). Format requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + .'- The name can contain lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nginx-test', 'title' => ''], ], [ 'name' => 'RestartPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of the instance. Valid values:'."\n" - ."\n" - .'* Always: Always restarts the instance if a container in the instance exits upon termination.'."\n" - .'* Never: Never restarts the instance if a container in the instance exits upon termination.'."\n" - .'* OnFailure: Restarts the instance only if a container in the instance exists upon failure with a status code of non-zero.'."\n" - ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'schema' => ['description' => 'The restart policy of the instance. Valid values:'."\n" + ."\n" + .'- Always: always restart.'."\n" + .'- Never: never restart.'."\n" + .'- OnFailure: restart upon failure.'."\n" + ."\n" + .'Default value: Always.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], [ 'name' => 'EipInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic IP address (EIP).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The ID of the elastic IP address (EIP).', 'type' => 'string', 'required' => false, 'example' => 'eip-uf66jeqopgqa9hdn****', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs that you want to allocate to the instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The instance-level vCPU size. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that you want to allocate to the instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The instance-level memory size. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ 'name' => 'DnsPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: uses the DNS that is specified by DnsConfig.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: uses the DNS configured by the DnsConfig field.'."\n" + .'- Default: inherits the DNS settings of the runtime environment.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-xxxx-12d3-xxxx-426655440000', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-xxxx-12d3-xxxx-426655440000', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ECS instance types that you specify to create the elastic container instance. Multiple instance types are supported. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], + 'schema' => ['description' => 'The specified ECS instance type. Multiple instance types are supported. For more information, see [Create an instance by specifying an ECS instance type](~~114664~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], ], [ 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache. For more information, see [Use image caches to accelerate the creation of instances](~~141281~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The image cache ID. For more information, see [Use image caches to accelerate instance creation](~~141281~~).', 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and ECS instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamTestRole', - ], + 'schema' => ['description' => 'The name of the instance RAM role. ECI and ECS share instance RAM roles. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).', 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The buffer period of time during which the program handles operations before the program is stopped. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The buffer period for the program to handle operations before shutdown. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], [ 'name' => 'AutoMatchImageCache', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically match image caches. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to automatically match image caches. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses that are assigned to the instance. Set the value to 1. You can assign only one IPv6 address to an elastic container instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of IPv6 addresses. The value is fixed at 1, meaning an ECI instance supports binding one IPv6 address.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ActiveDeadlineSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The active period of the elastic container instance. After this period expires, the instance is forced to exit. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The validity period of the ECI instance. The instance is forcibly terminated after this period expires. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The bid policy for the instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance for which you specify the maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotWithPriceLimit', - ], + 'schema' => ['description' => 'The bidding strategy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a preemptible instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a preemptible instance that is billed based on the actual market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], ], [ 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set SpotStrategy to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'schema' => ['description' => 'The maximum hourly price of the preemptible instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ 'name' => 'ScheduleStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource scheduling policy when you specify multiple zones to create an elastic container instance. To specify multiple zones, you can use the VSwitchId to specify multiple vSwitches. Valid values:'."\n" - ."\n" - .'* VSwitchOrdered: The system schedules resources in the sequence of the vSwitches.'."\n" - .'* VSwitchRandom: The system schedules resources at random.'."\n" - ."\n" - .'For more information, see [Specify multiple zones to create an elastic container instance](~~157290~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'VSwitchOrdered', - ], + 'schema' => ['description' => 'The scheduling strategy for the ECI instance when multiple zones are configured (by specifying multiple vSwitches via the VSwitchId parameter). Valid values:'."\n" + ."\n" + .'- VSwitchOrdered: scheduled in order.'."\n" + .'- VSwitchRandom: optimally scheduled by Alibaba Cloud.'."\n" + ."\n" + .'For more information, see [Create instances across multiple zones](~~157290~~).', 'type' => 'string', 'required' => false, 'example' => 'VSwitchOrdered', 'title' => ''], ], [ 'name' => 'CorePattern', 'in' => 'query', - 'schema' => [ - 'description' => 'The path to core dump files. For more information, see [Save core files to volumes](~~167801~~).'."\n" - ."\n" - .'> The path cannot start with |. You cannot use core dump files to configure executable programs.``'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/core', - ], + 'schema' => ['description' => 'Custom directory for saving core dump files generated by coredump. For more information, see [Save core files to a data volume](~~167801~~).'."\n" + ."\n" + .'> The configured path cannot start with `|`, which means you cannot configure executable programs through core dump.', 'type' => 'string', 'required' => false, 'example' => '/xx/xx/core', 'title' => ''], ], [ 'name' => 'ShareProcessNamespace', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a shared namespace. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to use a shared namespace. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create an EIP and associate it with the elastic container instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to automatically create an EIP and bind it to the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EipBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth value for the EIP. Unit: Mbit/s. Default value: 5.\\'."\n" - .'This parameter is valid only when AutoCreateEip is set to true.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', - ], + 'schema' => ['description' => 'The bandwidth of the EIP. Default value: 5 Mbps.'."\n" + .'This parameter can be set when AutoCreateEip is set to true.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], ], [ 'name' => 'EipISP', 'in' => 'query', - 'schema' => [ - 'description' => 'The line type of the EIP. Default value: BGP. Valid values:'."\n" - ."\n" - .'* BGP: BGP (Multi-ISP) line'."\n" - .'* BGP_PRO: BGP (Multi-ISP) Pro line'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BPG', - ], + 'schema' => ['description' => 'The line type of the EIP. Valid values:'."\n" + ."\n" + .'- BGP (default): BGP (multi-ISP) line.'."\n" + .'- BGP_PRO: BGP (multi-ISP) premium line.', 'type' => 'string', 'required' => false, 'example' => 'BGP', 'title' => ''], ], [ 'name' => 'EipCommonBandwidthPackage', 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP bandwidth plan that you want to associate with the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cbwp-2zeukbj916scmj51m****', - ], + 'schema' => ['description' => 'The ID of an existing shared bandwidth package to associate.', 'type' => 'string', 'required' => false, 'example' => 'cbwp-2zeukbj916scmj51m****', 'title' => ''], ], [ 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The host name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'IngressBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'The inbound bandwidth limit. Unit: Bps.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ 'name' => 'EgressBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'The outbound bandwidth limit. Unit: Bps.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ 'name' => 'CpuOptionsCore', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The number of physical CPU cores. Only some instance types support custom settings.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], ], [ 'name' => 'CpuOptionsThreadsPerCore', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter for only specific ECS instance types. A value of 1 specifies that Hyper-Threading is disabled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The number of threads per core. Only some instance types support custom settings. Setting this to 1 disables hyper-threading.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], ], [ 'name' => 'CpuOptionsNuma', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter is not available.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'This parameter is not supported.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'EphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The increased capacity of the temporary storage space. Unit: GiB.\\'."\n" - .'For more information, see [Increase the size of the temporary storage space](~~204066~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'The size of the additional temporary storage space. Unit: GiB.'."\n" + .'For more information, see [Customize the size of temporary storage](~~204066~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that you want to add to the instance. You can bind a maximum of 20 tags. For more information, see [Use tags to manage elastic container instances](~~146608~~).'."\n", + 'description' => 'The list of tags. A maximum of 20 tags can be bound. For more information, see [Use tags to manage instances](~~146608~~).', 'type' => 'array', 'items' => [ - 'description' => 'The tags that you want to bind with the instance. You can bind a maximum of 20 tags. For more information, see [Use tags to manage elastic container instances](~~146608~~).'."\n", + 'description' => 'The list of tags. A maximum of 20 tags can be bound. For more information, see [Use tags to manage instances](~~146608~~).', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key. The tag key cannot be an empty string and must be unique. The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], + 'Key' => ['description' => 'The tag key. This value cannot be an empty string and cannot be duplicate. The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value. This value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -783,35 +651,24 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the logon credentials.'."\n", + 'description' => 'The image repository credentials.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the image repository.'."\n", + 'description' => 'The image repository credentials.', 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password that you use to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpassword', - ], - 'Server' => [ - 'description' => 'The address of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that you use to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourpassword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository registry.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ @@ -819,624 +676,295 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the container.'."\n", + 'description' => 'The container information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about containers.'."\n", + 'description' => 'The container information.', 'type' => 'object', 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout period for the check. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to consider the check successful after a failure. Default value: 1. Must be 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + 'description' => 'The permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", + .'> NET_RAW is not supported by default and requires a ticket submission.', 'type' => 'array', - 'items' => [ - 'description' => 'The permission that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform health checks.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n" + 'items' => ['description' => 'The permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" ."\n" - .'> When you configure ReadinessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> NET_RAW is not supported by default and requires a ticket submission.', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], 'required' => false, - 'example' => '5', - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether the root file system on which the container runs is read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port for TCP Socket health checks.'."\n" + ."\n" + .'> When setting ReadinessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type for HTTP request health checks. Valid values:'."\n" + .'- HTTP'."\n" + .'- HTTPS'."\n" + ."\n" + .'> When setting ReadinessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval at which the check is performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system of the container is read-only. Currently, only true is supported.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnvironmentVar' => [ - 'description' => 'The environment variables of the container.'."\n", + 'description' => 'The environment variables of the container.', 'type' => 'array', 'items' => [ - 'description' => 'The value of the environment variable for the container.'."\n", + 'description' => 'The environment variables of the container.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (\\_). It cannot start with a digit.``'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - 'FieldRef.FieldPath' => [ - 'description' => 'The reference of the environment variable. Set the value to status.podIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'status.podIP', - ], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. Format: `[0-9a-zA-Z]` and underscores. It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], + 'FieldRef.FieldPath' => ['description' => 'The reference for the environment variable value. Currently, only status.podIP is supported.', 'type' => 'string', 'required' => false, 'example' => 'status.podIP', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 241, + 'title' => '', + 'example' => '', ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform health checks.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false.'."\n" - ."\n" - .'If the command is a /bin/bash command, set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/', - ], + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port for TCP Socket health checks.'."\n" + ."\n" + .'> When setting LivenessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Default value: false.'."\n" + ."\n" + .'When Command is /bin/bash, this must be set to true.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/', 'title' => ''], 'Arg' => [ - 'description' => 'The arguments that are passed to the startup command of the container. You can specify up to 10 arguments.'."\n", + 'description' => 'The arguments for the container startup command. Maximum: 10.', 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the startup command of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], + 'items' => ['description' => 'The arguments for the container startup command. Maximum: 10.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], 'required' => false, 'maximum' => '65535', 'example' => '100', 'maxItems' => 101, + 'title' => '', ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the check starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'Stdin' => ['description' => 'Specifies whether this container should allocate a buffer for standard input in the container runtime. If not set, reads from standard input in the container will result in EOF. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The time to start the check, calculated from when the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], 'VolumeMount' => [ - 'description' => 'The information about the volume that you want to mount on the container.'."\n", + 'description' => 'The volume mount information.', 'type' => 'array', 'items' => [ - 'description' => 'Details about the volumes.'."\n", + 'description' => 'The volume mount information.', 'type' => 'object', 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are performed on this volume or subdirectories of this volume.'."\n" - .'* HostToCotainer: The volume mount receives subsequent mounts that are performed on this volume or the subdirectories of this volume.'."\n" - .'* Bidirectional: This value is similar to HostToContainer. The volume mount receives subsequent mounts that are performed on this volume or the subdirectories of this volume. In addition, all volume mounts that are mounted on the container are propagated back to the host and all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted.'."\n" - ."\n" - .'> The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], + 'MountPropagation' => ['description' => 'The mount propagation setting for the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not sense any subsequent mount operations on this volume or its subdirectories.'."\n" + ."\n" + .'- HostToContainer: the volume senses subsequent mount operations on this volume or its subdirectories.'."\n" + ."\n" + .'- Bidirectional: similar to HostToContainer, senses mount operations. Additionally, the volume is propagated back to the host and all containers in all pods that use the same volume.'."\n" + ."\n" + .'Default value: None', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory where the container mounts the volume.'."\n" + ."\n" + .'> The contents under the container mount directory will be directly overwritten by the volume contents. Use with caution.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The sub-path of the volume.', 'type' => 'string', 'required' => false, 'example' => 'data2/', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. Same as the Name in Volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull images. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams are disconnected from multiple sessions after a client is disconnected.\\'."\n" - .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, standard input streams are also disconnected, and remain disconnected until the container restarts.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check when you use TCP sockets to specify a preStop hook.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '90', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to specify a postStart hook. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: always pull. Pulls the image every time.'."\n" + .'- IfNotPresent: pull on demand. Uses the local image first. Pulls the image if no local image is available.'."\n" + .'- Never: never pull. Uses the local image only.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether the standard input stream remains open across multiple attach sessions when standard input is set to true.'."\n" + .'If StdinOnce is set to true, standard input is opened when the container starts, remains empty until the first client attaches to standard input, then stays open and accepts data until the client disconnects. Standard input is then closed and remains closed until the container restarts.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The TCP Socket port for the preStop callback function when using the TCPSocket method.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP Get request when using the HTTP request method to set the postStart callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval at which the check is performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to consider the check successful after a failure. Default value: 1. Must be 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'Command' => [ - 'description' => 'The commands to be executed in the container when you use a CLI to perform health checks.'."\n" - ."\n" - .'> When you configure ReadinessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", + 'description' => 'The container startup commands. Maximum: 20. Each command can contain up to 256 characters.', 'type' => 'array', - 'items' => [ - 'description' => 'The command to be executed in the container when you use a CLI to perform health checks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], + 'items' => ['description' => 'The container startup commands. Maximum: 20. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], 'required' => false, 'example' => 'sleep', 'maxItems' => 101, + 'title' => '', ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host that receives the HTTP GET request when you use an HTTP request to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'TerminationMessagePolicy' => [ - 'description' => 'The message notification policy. This parameter is empty by default. Only Message Service (MNS) queue message notifications can be sent.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FallbackToLogsOnError', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request when you use HTTP requests to perform health checks.'."\n" - ."\n" - .'> When you configure ReadinessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when using the HTTP request method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'TerminationMessagePolicy' => ['description' => 'The message notification policy. Default value: empty. Currently, only lightweight message queue notification is supported.', 'type' => 'string', 'required' => false, 'example' => 'FallbackToLogsOnError', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path for HTTP Get request health checks.'."\n" + ."\n" + .'> When setting ReadinessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], 'LivenessProbe.Exec.Command' => [ - 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', + 'description' => 'The commands executed in the container for command-based health checks.'."\n" + ."\n" + .'> When setting LivenessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'array', - 'items' => [ - 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], + 'items' => ['description' => 'The commands executed in the container for command-based health checks.', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check when you use TCP sockets to specify a postStart hook.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check when you use an HTTP request to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The TCP Socket port for the postStart callback function when using the TCPSocket method.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The HTTP Get request path when using the HTTP request method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], 'LifecyclePostStartHandlerExec' => [ - 'description' => 'The commands to be executed in containers when you use a CLI to specify a postStart hook.'."\n", + 'description' => 'The commands executed in the container when using the command method to set the postStart callback function.', 'type' => 'array', - 'items' => [ - 'description' => 'The command to be executed in the container when you use a CLI to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', - ], + 'items' => ['description' => 'The commands executed in the container when using the command method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''], 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'maxItems' => 101, + 'title' => '', ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check when you use an HTTP request to specify a preSop hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The HTTP Get request path when using the HTTP request method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], 'Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check when you use HTTP requests to perform health checks.'."\n" - ."\n" - .'> When you configure LivenessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", + 'description' => 'The port numbers.', 'type' => 'array', 'items' => [ - 'description' => 'The port number.'."\n", + 'description' => 'The port numbers.', 'type' => 'object', 'properties' => [ - 'Protocol' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + .'- UDP', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'TerminationMessagePath' => [ - 'description' => 'The path of the file from which the system retrieves termination messages of the container when the container exits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/tmp/termination-log', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET request when you use an HTTP request to specify a preStop hook. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n" - ."\n" - .'> When you configure LivenessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform health checks.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host that receives the TCP socket request when you use a TCP socket request to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the check starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'TerminationMessagePath' => ['description' => 'The path for the container error message.', 'type' => 'string', 'required' => false, 'example' => '/tmp/termination-log', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP Get request when using the HTTP request method to set the preStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type for HTTP request health checks. Valid values:'."\n" + .'- HTTP'."\n" + .'- HTTPS'."\n" + ."\n" + .'> When setting LivenessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port number for HTTP Get request health checks.'."\n" + ."\n" + .'> When setting ReadinessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when using the TCP Socket method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs assigned to the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The time to start the check, calculated from when the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], 'LifecyclePreStopHandlerExec' => [ - 'description' => 'The commands to be executed in containers when you use a CLI to specify a preStop hook.'."\n", + 'description' => 'The commands executed in the container when using the command method to set the preStop callback function.', 'type' => 'array', - 'items' => [ - 'description' => 'The command to be executed in the container when you use a CLI to specify a preStop hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], + 'items' => ['description' => 'The commands executed in the container when using the command method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''], 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'maxItems' => 101, - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nginx', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host that receives the HTTP GET request when you use an HTTP request to specify a preStop hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host that receives the TCP socket request when you use a TCP socket request to specify a preStop hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'required' => true, - 'maximum' => '255', - 'minimum' => '1', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check when you use HTTP requests to specify a preStop hook.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '88', - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'title' => '', + ], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => true, 'example' => 'nginx', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when using the HTTP request method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when using the TCP Socket method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => true, 'maximum' => '255', 'minimum' => '1', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The HTTP Get request port number when using the HTTP request method to set the preStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''], + 'LivenessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures required to consider the check failed after a success. Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], 'ReadinessProbe.Exec.Command' => [ - 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', + 'description' => 'The commands executed in the container for command-based health checks.'."\n" + ."\n" + .'> When setting ReadinessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'array', - 'items' => [ - 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], + 'items' => ['description' => 'The commands executed in the container for command-based health checks.', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], 'LifecyclePreStopHandlerHttpGetHttpHeader' => [ - 'description' => 'The HTTP GET request header.'."\n", + 'description' => 'The HTTP request header parameters.', 'type' => 'array', 'items' => [ - 'description' => 'The HTTP GET request header.'."\n", + 'description' => 'The HTTP request header parameters.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The value of the custom field in the HTTP GET request header when you use HTTP requests to specify a preStop hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-preStop', - ], - 'Name' => [ - 'description' => 'The name of the custom field in the HTTP GET request header when you use HTTP requests to specify a presto hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Xiao-Custom-Header', - ], + 'Value' => ['description' => 'The custom field value in the HTTP Get request header when using the HTTP request method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => 'test-preStop', 'title' => ''], + 'Name' => ['description' => 'The custom field name in the HTTP Get request header when using the HTTP request method to set the preStop callback function.', 'type' => 'string', 'required' => false, 'example' => 'Xiao-Custom-Header', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform health checks.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request when you use HTTP requests to perform health checks.'."\n" - ."\n" - .'> When you configure LivenessProbe-related parameters, you can select only one of the HttpGet, Exec, and TcpSocket check methods.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user who runs the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port to which the system sends an HTTP GET request when you use an HTTP request to specify a postStart hook.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5050', - ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures required to consider the check failed after a success. Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Cpu' => ['description' => 'The vCPU size of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port number for HTTP Get request health checks.'."\n" + ."\n" + .'> When setting LivenessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path for HTTP Get request health checks.'."\n" + ."\n" + .'> When setting LivenessProbe parameters, only one of the three check methods (HttpGet, Exec, and TcpSocket) can be selected.', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout period for the check. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.RunAsUser' => ['description' => 'The user ID used to run the container.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The HTTP Get request port number when using the HTTP request method to set the postStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], 'LifecyclePostStartHandlerHttpGetHttpHeader' => [ - 'description' => 'The HTTP GET request header.'."\n", + 'description' => 'The HTTP request header parameters.', 'type' => 'array', 'items' => [ - 'description' => 'The HTTP GET request header.'."\n", + 'description' => 'The HTTP request header parameters.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The value of the custom field in the HTTP GET request header when you use HTTP requests to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-postStart', - ], - 'Name' => [ - 'description' => 'The name of the custom field in the HTTP GET request header when you use HTTP requests to specify a postStart hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Xiao-Custom-Header', - ], + 'Value' => ['description' => 'The custom field value in the HTTP Get request header when using the HTTP request method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => 'test-postStart', 'title' => ''], + 'Name' => ['description' => 'The custom field name in the HTTP Get request header when using the HTTP request method to set the postStart callback function.', 'type' => 'string', 'required' => false, 'example' => 'Xiao-Custom-Header', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'EnvironmentVarHide' => [ - 'description' => 'Specifies whether to hide the information about environment variables when you query the details of an elastic container instance. Default value: false. Valid values:'."\n" - ."\n" - .'* false'."\n" - .'* true If environment variables contain sensitive information, you can set this parameter to true to improve security of the information.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SecurityContextRunAsGroup' => [ - 'description' => 'The user group that runs the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3000', - ], - 'SecurityContextRunAsNonRoot' => [ - 'description' => 'Specifies whether to run the container as a non-root user. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'SecurityContextPrivileged' => [ - 'description' => 'Specifies whether to enable privileged mode for the container. That is, whether to run the container in privileged mode. Default value: false. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'EnvironmentVarHide' => ['description' => 'Specifies whether to hide environment variable information when querying ECI instance details. Valid values:'."\n" + ."\n" + .'- false (default): environment variable information is returned when querying ECI instance details.'."\n" + .'- true: environment variable information is not returned when querying ECI instance details. Setting this to true improves security when environment variables contain sensitive information.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'SecurityContextRunAsGroup' => ['description' => 'The user group ID used to run the container.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3000', 'title' => ''], + 'SecurityContextRunAsNonRoot' => ['description' => 'Specifies whether to run the container in non-root mode. Valid values:'."\n" + .'- true: non-root mode.'."\n" + .'- false (default): root mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SecurityContextPrivileged' => ['description' => 'Specifies whether to enable privilege mode for the container. Valid values:'."\n" + .'- true: enable privilege mode.'."\n" + .'- false (default): disable privilege mode.'."\n" + ."\n" + .'> The privileged container feature is in beta. To use it, submit a ticket.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => true, 'maxItems' => 41, + 'title' => '', + 'example' => '', ], ], [ @@ -1444,182 +972,96 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the volume that you want to mount to the container.'."\n", + 'description' => 'The volume information.', 'type' => 'array', 'items' => [ - 'description' => 'Details about the volumes.'."\n", + 'description' => 'The volume information.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the HostPath volume. Valid values:'."\n" - ."\n" - .'* Directory'."\n" - .'* File'."\n" - ."\n" - .'> Only users in the whitelist can mount HostPath volumes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ConfigFileVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The size of the volume when you set Type to DiskVolume. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path of the NFS volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the file system when you set Type to DiskVolume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The file system type when you set Type to FlexVolume. The default value varies based on the script of the FlexVolume plug-in.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of the HostPath volume. Valid values:'."\n" - ."\n" - .'- Directory'."\n" - .'- File'."\n" - ."\n" - .'> This parameter is not publicly available.', - 'type' => 'string', - 'required' => false, - 'example' => 'Socket', - ], - 'ConfigFileVolume.DefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specify whether the permissions on the NFS volume are read-only. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume: an EmptyDir volume, which represents an empty directory.'."\n" + .'- NFSVolume: an NFS volume, which represents a Network File System.'."\n" + .'- ConfigFileVolume: a ConfigFile volume, which represents a configuration file.'."\n" + .'- FlexVolume: uses the FlexVolume plugin to extend storage types. Supports mounting cloud disks.'."\n" + .'- HostPathVolume: a HostPath volume, which represents a file or directory on the host node. This type is available only to allowlisted users.'."\n" + .'- DiskVolume (not recommended): a cloud disk volume. We recommend that you use FlexVolume to mount cloud disks.', 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'The size of the DiskVolume. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'The NFS volume path.', 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'DiskVolume.FsType' => ['description' => 'The file system type of the DiskVolume.', 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'FlexVolume.FsType' => ['description' => 'The file system type to mount. Default value depends on the FlexVolume script.', 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'The type of the HostPath volume. Valid values:'."\n" + ."\n" + .'- Directory: a directory.'."\n" + .'- File: a file.'."\n" + ."\n" + .'> HostPath volumes are available only to allowlisted users.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'ConfigFileVolume.DefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the NFS volume is read-only. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], 'ConfigFileVolume.ConfigFileToPath' => [ - 'description' => 'The information about ConfigFile volumes.'."\n", + 'description' => 'The ConfigFile volume information.'."\n" + ."\n" + .'If multiple ConfigFileToPath entries are configured, the total length of all corresponding Content values cannot exceed 60 KB.', 'type' => 'array', 'items' => [ - 'description' => 'Details about ConfigFile volumes.'."\n", + 'description' => 'The ConfigFile volume information.', 'type' => 'object', 'properties' => [ - 'Path' => [ - 'description' => 'The path of the ConfigFile volume relative to the mount directory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'liu/name', - ], - 'Mode' => [ - 'description' => 'The permissions on the ConfigFile volume. If you do not specify this parameter, the value of ConfigFileVolume.DefaultMode is used. The permissions are expressed by using four-digit octal numbers. For example, 0644 represents the permissions rw-r–r--, which indicates that the owner of the file has read and write permissions on the file and other users in the same user group as the file owner and public users have read permissions on the file.'."\n" - ."\n" - .'Permission description:'."\n" - ."\n" - .'* `---`: no permissions. The octal value is 0.'."\n" - .'* `--x`: only the execute permission. The octal value is 1.'."\n" - .'* `-w-`: only the write permission. The octal value is 2.'."\n" - .'* `-wx`: the write and execute permissions. The octal value is 3.'."\n" - .'* `r--`: only the read permission. The octal value is 4.'."\n" - .'* `r-x`: the read and execute permissions. The octal value is 5.'."\n" - .'* `rw-`: the read and write permissions. The octal value is 6.'."\n" - .'* `rwx`: the read, write, and execute permissions. The octal value is 7.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The Base64-encoded content of the ConfigFile volume.\\'."\n" - .'Maximum size: 32 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], + 'Path' => ['description' => 'The relative file path of the configuration file relative to the mount directory.', 'type' => 'string', 'required' => false, 'example' => 'test/config-test.cnf', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the configuration file. If not set, the value of ConfigFileVolume.DefaultMode is used. Represented as a four-digit octal number. For example, 0644 means the permissions are rw-r--r--, where the user permission is rw-, the group permission is r--, and the other permission is r--.'."\n" + ."\n" + .'Permission descriptions:'."\n" + ."\n" + .'- `---`: no permissions, octal value 0.'."\n" + .'- `--x`: execute only, octal value 1.'."\n" + .'- `-w-`: write only, octal value 2.'."\n" + .'- `-wx`: write and execute, octal value 3.'."\n" + .'- `r--`: read only, octal value 4.'."\n" + .'- `r-x`: read and execute, octal value 5.'."\n" + .'- `rw-`: read and write, octal value 6.'."\n" + .'- `rwx`: read, write, and execute, octal value 7.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file, which must be Base64-encoded.'."\n" + .'A single configuration file cannot exceed 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk=', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 90, + 'title' => '', + 'example' => '', ], - 'HostPathVolume.Path' => [ - 'description' => 'The path to the HostPath volume on the host.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'FlexVolume.Options' => [ - 'description' => 'The options when you set the Type parameter to FlexVolume. Each option is a key-value pair in a JSON string.'."\n" - ."\n" - .'For example, if you mount a disk by setting Type to FlexVolume, Options indicates the parameters of the disk. In this case, the options include:'."\n" - ."\n" - .'* volumeId: the ID of the existing disk.'."\n" - .'* volumeSize: the size of the disk. Unit: GiB. Valid values: 20 to 32768.'."\n" - .'* performanceLevel: the performance level of the disk. For more information, see [Performance levels of disks](~~25382~~).'."\n" - .'* deleteWithInstance: specifies whether to release the disk along with the instance. Default value: false.'."\n" - .'* encrypted: specifies whether to encrypt the disk. Default value: false. For more information, see [Encryption overview](~~59643~~).'."\n" - .'* kmsKeyId: the ID of the Key Management Service (KMS) key that you want to use to encrypt the disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The driver type when you use the FlexVolume plug-in to mount a volume. Valid values:'."\n" - ."\n" - .'* alicloud/disk: a disk driver.'."\n" - .'* alicloud/nas: a NAS driver.'."\n" - .'* alicloud/oss: an OSS driver.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'alicloud/disk', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the server when you set Type to NFSVolume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The ID of the disk when you set Type to DiskVolume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium of the emptyDir volume. This parameter is left empty by default. In this case, the emptyDir volume uses the file system of the node as the storage medium. A value of memory indicates that the emptyDir volume uses the memory as the storage medium.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], - 'EmptyDirVolume.SizeLimit' => [ - 'description' => 'The size of the volume when you set Type to EmptyDirVolume. Unit: GiB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'HostPathVolume.Path' => ['description' => 'The directory path of the HostPath volume on the host.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'FlexVolume.Options' => ['description' => 'The FlexVolume option list. This is in key-value format and passed as JSON.'."\n" + ."\n" + .'For example, when mounting a cloud disk via FlexVolume, Options represents the cloud disk configuration parameters. The configurable parameters are as follows:'."\n" + ."\n" + .'- volumeId: the ID of an existing cloud disk.'."\n" + .'- volumeSize: the size of the cloud disk. Unit: GiB. Valid values: 20 to 32768.'."\n" + .'- performanceLevel: the performance level of the cloud disk. For more information, see [Cloud disk performance levels](~~25382~~).'."\n" + .'- deleteWithInstance: specifies whether to release the disk with the instance. Default value: false.'."\n" + .'- encrypted: specifies whether to encrypt the cloud disk. Default value: false. For more information, see [Encryption overview](~~59643~~).'."\n" + .'- kmsKeyId: the KMS key ID used for cloud disk encryption.', 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => 'The driver type when using the FlexVolume plugin to mount volumes. Valid values:'."\n" + ."\n" + .'- alicloud/disk: mount a cloud disk.'."\n" + .'- alicloud/nas: mount NAS.'."\n" + .'- alicloud/oss: mount OSS.', 'type' => 'string', 'required' => false, 'example' => 'alicloud/disk', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'The NFS server address.', 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'The ID of the DiskVolume.', 'type' => 'string', 'required' => false, 'example' => 'd-xx', 'title' => ''], + 'Name' => ['description' => 'The volume name.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium for the EmptyDirVolume. Default value: empty, which uses the node file system. The value memory is supported, indicating the use of memory.', 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the EmptyDirVolume. Unit: GiB.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -1627,243 +1069,139 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the init containers.'."\n", + 'description' => 'The list of init containers.', 'type' => 'array', 'items' => [ - 'description' => 'The init containers.'."\n", + 'description' => 'The list of init containers.', 'type' => 'object', 'properties' => [ 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in the init containers. Valid values: NET_ADMIN and NET_RAW.'."\n" + 'description' => 'The permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", + .'> NET_RAW is not supported by default and requires a ticket submission.', 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], + 'items' => ['description' => 'The permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" + ."\n" + .'> NET_RAW is not supported by default and requires a ticket submission.', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], 'VolumeMount' => [ - 'description' => 'The information about the volumes that you want to mount to the init containers.'."\n", + 'description' => 'The list of volume mount information.', 'type' => 'array', 'items' => [ - 'description' => 'The details about the volume mount.'."\n", + 'description' => 'The list of volume mount information.', 'type' => 'object', 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows volumes that are mounted on one init container to be shared with other init containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are performed on this volume or subdirectories of this volume.'."\n" - .'* HostToCotainer: The volume mount receives subsequent mounts that are performed on this volume or the subdirectories of this volume.'."\n" - .'* Bidirectional: This value is similar to HostToContainer. The volume mount receives subsequent mounts that are performed on this volume or the subdirectories of this volume. In addition, all volume mounts that are mounted on the init container are propagated back to the host and all init containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], + 'MountPropagation' => ['description' => 'The mount propagation setting for the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not sense any subsequent mount operations on this volume or its subdirectories.'."\n" + ."\n" + .'- HostToContainer: the volume senses subsequent mount operations on this volume or its subdirectories.'."\n" + ."\n" + .'- Bidirectional: similar to HostToContainer, senses mount operations. Additionally, the volume is propagated back to the host and all containers in all pods that use the same volume.'."\n" + ."\n" + .'Default value: None', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory. The contents under the container mount directory will be directly overwritten by the volume contents. Use with caution.', 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only. Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The sub-directory of the volume, allowing the pod to mount different directories from the same volume to different container directories.', 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], + 'Name' => ['description' => 'The name of the volume to mount.', 'type' => 'string', 'required' => false, 'example' => 'test-empty', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], 'Port' => [ - 'description' => 'The information about the port.'."\n", + 'description' => 'The init container port numbers.', 'type' => 'array', 'items' => [ - 'description' => 'The port number of the init container.'."\n", + 'description' => 'The init container port numbers.', 'type' => 'object', 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + .'- UDP', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether the root file system on which the init container runs is read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'TerminationMessagePath' => [ - 'description' => 'The path of the file from which the system retrieves termination messages of the init container when the init container exits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/tmp/termination-log', - ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system of the container is read-only. Currently, only true is supported.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'TerminationMessagePath' => ['description' => 'The source of the container exit message. When the container exits, the termination message is retrieved from the specified termination message file.', 'type' => 'string', 'required' => false, 'example' => '/tmp/termination-log', 'title' => ''], 'EnvironmentVar' => [ - 'description' => 'The environment variable of the init container.'."\n", + 'description' => 'The list of container environment variables.', 'type' => 'array', 'items' => [ - 'description' => 'The environment variables for the container.'."\n", + 'description' => 'The list of container environment variables.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 bits in length and can contain letters, digits, and underscores (\\_). It cannot start with a digit.``'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 bits in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - 'FieldRef.FieldPath' => [ - 'description' => 'The reference of the environment variable value. Set the value to status.podIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'status.podIP', - ], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. Format: `[0-9a-zA-Z]` and underscores. It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], + 'FieldRef.FieldPath' => ['description' => 'The reference for the environment variable value. Currently, only status.podIP is supported.', 'type' => 'string', 'required' => false, 'example' => 'status.podIP', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 241, - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull images. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + .'- Always: always pull. Pulls the image every time.'."\n" + .'- IfNotPresent: pull on demand. Uses the local image first. Pulls the image if no local image is available.'."\n" + .'- Never: never pull. Uses the local image only.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'required' => false, 'example' => '/usr/local', 'title' => ''], + 'Cpu' => ['description' => 'The vCPU size of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], 'Arg' => [ - 'description' => 'The arguments that are passed to the startup command of the init container.'."\n", + 'description' => 'The container startup arguments.', 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the startup command of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], 'required' => false, 'maximum' => '65535', 'example' => '10', 'maxItems' => 101, + 'title' => '', ], 'Command' => [ - 'description' => 'The startup commands of the init container.'."\n", + 'description' => 'The container startup commands.', 'type' => 'array', - 'items' => [ - 'description' => 'The startup command of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], + 'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], 'required' => false, 'example' => 'sleep', 'maxItems' => 101, + 'title' => '', ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user who runs the init container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Memory' => [ - 'description' => 'The memory size that you want to allocate to the init container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'TerminationMessagePolicy' => [ - 'description' => 'The message notification policy. This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '*****', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-init', - ], + 'Gpu' => ['description' => 'The number of GPUs assigned to the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.RunAsUser' => ['description' => 'The user ID used to run the container.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'TerminationMessagePolicy' => ['description' => 'The mount information. Default value: empty.', 'type' => 'string', 'required' => false, 'example' => '*****', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 41, + 'title' => '', + 'example' => '', ], ], [ @@ -1871,17 +1209,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IP addresses of DNS servers.'."\n", + 'description' => 'The list of IP addresses of DNS servers.', 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.**', - ], + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'example' => '172.10.*.**', 'title' => ''], 'required' => false, 'example' => '172.10.*.**', 'maxItems' => 20, + 'title' => '', ], ], [ @@ -1889,17 +1223,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The search domains of DNS servers.'."\n", + 'description' => 'The list of DNS search domains.', 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubernetes', - ], + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubernetes', 'title' => ''], 'required' => false, 'example' => 'svc.local.kubenetes', 'maxItems' => 20, + 'title' => '', ], ], [ @@ -1907,29 +1237,23 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Configuration options of the DNS server.'."\n", + 'description' => 'The list of options.', 'type' => 'array', 'items' => [ - 'description' => 'Configuration options of the DNS server.'."\n", + 'description' => 'The list of options.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The value of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The name of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], + 'Value' => ['description' => 'The value of the option.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The name of the option.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -1937,36 +1261,31 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The alias of the elastic container instance.'."\n", + 'description' => 'The host aliases for the ECI instance.', 'type' => 'array', 'items' => [ - 'description' => 'The alias of the elastic container instance.'."\n", + 'description' => 'The host aliases for the ECI instance.', 'type' => 'object', 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], + 'Ip' => ['description' => 'The IP address to add.', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1', 'title' => ''], 'Hostname' => [ - 'description' => 'The hostnames of the elastic container instance.'."\n", + 'description' => 'The host names to add.', 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hehe.com', - ], + 'items' => ['description' => 'The host names to add.', 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''], 'required' => false, 'example' => 'hehe.com', 'maxItems' => 51, + 'title' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -1974,32 +1293,26 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Configure a security context to modify safe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + 'description' => 'Modifies safe sysctl parameters through the security context. For more information, see [Configure Security Context](~~462313~~).', 'type' => 'array', 'items' => [ - 'description' => 'Configure a security context to modify sysctls. For more information, see [Configure a security context](~~462313~~)'."\n", + 'description' => 'Modifies safe sysctl parameters through the security context. For more information, see [Configure Security Context](~~462313~~).', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The value of the safe sysctl when you modify sysctls by configuring a security context.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The name of the safe sysctl when you modify sysctls by configuring a security context. Valid values:'."\n" - ."\n" - .'* net.ipv4.ping_group_range'."\n" - .'* net.ipv4.ip_unprivileged_port_start'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', - ], + 'Value' => ['description' => 'The value of the safe sysctl parameter when modifying sysctl parameters through the security context.', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The name of the safe sysctl parameter when modifying sysctl parameters through the security context. Valid values:'."\n" + ."\n" + .'- net.ipv4.ping_group_range'."\n" + .'- net.ipv4.ip_unprivileged_port_start', 'type' => 'string', 'required' => false, 'example' => 'net.ipv4.ping_group_range', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -2007,35 +1320,29 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Configure a security context to modify unsafe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + 'description' => 'Modifies unsafe sysctl parameters through the security context. For more information, see [Configure Security Context](~~462313~~).', 'type' => 'array', 'items' => [ - 'description' => 'Configure a security context to modify unsafe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + 'description' => 'Modifies unsafe sysctl parameters through the security context. For more information, see [Configure Security Context](~~462313~~).', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The value of the unsafe sysctl when you modify sysctls by configuring a security context.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The name of the unsafe sysctl when you modify sysctls by configuring a security context. Valid values:'."\n" - ."\n" - .'* kernel.shm \\* (except kernel.shm_rmid_forced)'."\n" - .'* kernel.msg\\*'."\n" - .'* kernel.sem'."\n" - .'* fs.mqueue.\\*'."\n" - .'* net.\\*(except net.ipv4.tcp_syncookies, net.ipv4.ping_group_range, and net.ipv4.ip_unprivileged_port_start)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', - ], + 'Value' => ['description' => 'The value of the unsafe sysctl parameter when modifying sysctl parameters through the security context.', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The name of the unsafe sysctl parameter when modifying sysctl parameters through the security context. Valid values:'."\n" + ."\n" + .'- kernel.shm* (except kernel.shm_rmid_forced)'."\n" + .'- kernel.msg*'."\n" + .'- kernel.sem'."\n" + .'- fs.mqueue.*'."\n" + .'- net.* (except net.ipv4.tcp_syncookies, net.ipv4.ping_group_range, and net.ipv4.ip_unprivileged_port_start)', 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -2043,17 +1350,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'description' => 'The NTP servers.', 'type' => 'array', - 'items' => [ - 'description' => 'The endpoint of the NTP server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', - ], + 'items' => ['description' => 'The NTP servers.', 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'maxItems' => 21, + 'title' => '', ], ], [ @@ -2061,322 +1364,188 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the Container Registry Enterprise Edition instance that provides the image for the creation of the elastic container instance. For more information, see [Pull images from a Container Registry Enterprise Edition instance without using a secret](~~194250~~).'."\n", + 'description' => 'The list of ACR Enterprise Edition instance information. For more information, see [Pull images from ACR without a password](~~194250~~).', 'type' => 'array', 'items' => [ - 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", + 'description' => 'The list of ACR Enterprise Edition instance information.', 'type' => 'object', 'properties' => [ 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify multiple domain names. Separate multiple domain names with commas (,).'."\n", + 'description' => 'The domains of the ACR Enterprise Edition instance. By default, all domains of the instance are used. You can specify individual domains, separated by commas.', 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify multiple domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], + 'items' => ['description' => 'The domains of the ACR Enterprise Edition instance. By default, all domains of the instance are used. You can specify individual domains, separated by commas.', 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'maxItems' => 100, + 'title' => '', ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'ArnService' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role in the Alibaba Cloud account to which the elastic container instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1609982529******:role/role-assume', - ], - 'ArnUser' => [ - 'description' => 'The ARN of the RAM role in the Alibaba Cloud account to which the Container Registry Enterprise Edition instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1298452580******:role/role-acr', - ], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'example' => 'acr-test', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'RegionId' => ['description' => 'The region of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + 'ArnService' => ['description' => 'The ARN of the RAM role under the account that owns the ECI instance and other resources.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::1609982529******:role/role-assume', 'title' => ''], + 'ArnUser' => ['description' => 'The ARN of the RAM role under the account that owns the ACR instance.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::1298452580******:role/role-acr', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'SpotDuration', 'in' => 'query', - 'schema' => [ - 'description' => 'The protection period of the preemptible elastic container instance. Unit: hours. Default value: 1. A value of 0 indicates no protection period.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The protection period of the preemptible instance. Unit: hours. Default value: 1. Set this to 0 for no protection period.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'StrictSpot', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable periodical execution.'."\n" - ."\n" - .'* true: enables periodical execution.'."\n" - .'* false: disables periodical execution.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to execute periodically:'."\n" + ."\n" + .'- true: execute periodically.'."\n" + .'- false: do not execute periodically.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'PlainHttpRegistry', 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the self-managed image repository. When you create an elastic container instance by using an image in a self-managed image repository that uses the HTTP protocol, you must specify this parameter. This way, Elastic Container Instance pulls the image over the HTTP protocol instead of the default HTTPS protocol. This prevents image pull failures caused by different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', - ], + 'schema' => ['description' => 'The address of a self-managed image repository. When creating ECI instances using images from a self-managed image repository that uses the HTTP protocol, configure this parameter so that ECI uses the HTTP protocol to pull images, avoiding image pull failures caused by protocol mismatch.', 'type' => 'string', 'required' => false, 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', 'title' => ''], ], [ 'name' => 'InsecureRegistry', 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the self-managed image repository. When you create an elastic container instance by using an image in a self-managed image repository that uses a self-signed certificate, you must specify this parameter to skip the certificate authentication. This prevents image pull failures caused by certificate authentication failures.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', - ], + 'schema' => ['description' => 'The address of a self-managed image repository. When creating ECI instances using images from a self-managed image repository that uses self-signed certificates, configure this parameter to skip certificate verification, avoiding image pull failures caused by certificate verification failure.', 'type' => 'string', 'required' => false, 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', 'title' => ''], ], [ 'name' => 'ImageAccelerateMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The image acceleration mode. Valid values:'."\n" - ."\n" - .'* nydus: uses Nydus to accelerate image pulling. The images must support Nydus.'."\n" - .'* dadi: uses DADI to accelerate image pulling. The images must support DADI.'."\n" - .'* p2p: uses P2P to accelerate image pulling. The images must support p2p.'."\n" - .'* imc: uses image caches to accelerate image pulling.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc', - ], + 'schema' => ['description' => 'The image acceleration mode. Valid values:'."\n" + ."\n" + .'- nydus: uses Nydus acceleration. The image must support it.'."\n" + .'- dadi: uses DADI acceleration. The image must support it.'."\n" + .'- p2p: uses P2P acceleration. The image must support it.'."\n" + .'- imc: uses image cache acceleration.', 'type' => 'string', 'required' => false, 'example' => 'imc', 'title' => ''], ], [ 'name' => 'Ipv6GatewayBandwidthEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable Internet access to the elastic container instance over IPv6 addresses.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable IPv6 public network communication for the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'Ipv6GatewayBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum IPv6 Internet bandwidth when you set Ipv6GatewayBandwidthEnable to true. Valid values:'."\n" - ."\n" - .'* If the billing method for IPv6 network usage is pay-by-bandwidth, the maximum IPv6 Internet bandwidth ranges from 1 to 2,000 Mbit/s.'."\n" - ."\n" - .'* If the billing method for IPv6 network usage is pay-by-traffic, the maximum IPv6 Internet bandwidth varies based on the edition of the IPv6 gateway.'."\n" - ."\n" - .' * If the IPv6 gateway is of Free Edition, the maximum IPv6 Internet bandwidth ranges from 1 to 200 Mbit/s.'."\n" - .' * If the IPv6 gateway is of Enterprise Edition, the maximum IPv6 Internet bandwidth ranges from 1 to 500 Mbit/s.'."\n" - .' * If the IPv6 gateway is of Enhanced Enterprise Edition, the maximum IPv6 Internet bandwidth ranges from 1 to 1000 Mbit/s.'."\n" - ."\n" - .'The default value is the maximum value in the Internet bandwidth range of the IPv6 gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'When Ipv6GatewayBandwidthEnable is set to true, specifies the peak public bandwidth for the IPv6 address. Valid values:'."\n" + ."\n" + .'- When the IPv6 gateway uses pay-by-fixed-bandwidth billing, the IPv6 public bandwidth range is 1 to 2000 Mbps.'."\n" + .'- When the IPv6 gateway uses pay-by-traffic billing, the IPv6 public bandwidth range depends on the gateway specification:'."\n" + .' - Free edition: 1 to 200 Mbps.'."\n" + .' - Enterprise edition: 1 to 500 Mbps.'."\n" + .' - Enhanced enterprise edition: 1 to 1000 Mbps.'."\n" + ."\n" + .'Default value: the maximum value within the corresponding bandwidth range of the gateway.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'ContainerResourceView', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable container resource view. Container resource view displays the actual container resource data instead of data of the host. If the specifications of the generated elastic container instance are larger than the specifications that you request for when you create the instance, you can enable the ContainerResourceView feature to ensure that the resources that you view in the container are the same as the resources that you request for.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'When the ECI specification is larger than the requested specification, you can enable this setting to ensure that the resources visible inside the container are consistent with the requested resources.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'FixedIp', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to configure the instance to use a fixed IP address. For more information, see [Configure an elastic container instance to use a fixed IP address](~~2381086~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Set to true to enable fixed IP addresses for the instance. For details, see [Configure ECI instances to use fixed IP addresses](~~2381086~~).', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'FixedIpRetainHour', 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period of the fixed IP address after the original instance is released and the fixed IP address becomes idle. Unit: hours. Default value: 48.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '24', - ], + 'schema' => ['description' => 'The retention period of the fixed IP address after it becomes idle, i.e., the retention period after the instance with the fixed IP address is released. Unit: hours. Default value: 48.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '24', 'title' => ''], ], [ 'name' => 'DataCacheBucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket that stores the data cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ 'name' => 'DataCachePL', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level (PL) of the disk that you want to use to store data caches.\\'."\n" - .'Enhanced SSDs (ESSDs) are preferentially used to store data caches. The default performance level is PL1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], + 'schema' => ['description' => 'The performance level of the cloud disk used by the data cache.'."\n" + .'ESSDs are used preferentially, and the default performance level is PL1.', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The input/output operations per second (IOPS) provisioned for ESSDs AutoPL when ESSDs AutoPL are used to store data caches.\\'."\n" - .'Valid values: 0 to min{50000, 1000 × Storage capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Storage capacity, 50,000}.\\'."\n" - .'For more information, see [ESSDs AutoPL](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '40000', - ], + 'schema' => ['description' => 'The provisioned read/write IOPS when the data cache uses ESSD AutoPL cloud disks.'."\n" + .'Valid values: 0 to min{50000, 1000 * capacity - baseline performance}. Baseline performance = min{1800 + 50 * capacity, 50000}.'."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '40000', 'title' => ''], ], [ 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the performance burst feature when ESSDs AutoPL are used to store data caches. For more information, see [ESSDs AutoPL](~~368372~~).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable burst performance when the data cache uses ESSD AutoPL cloud disks. For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" - ."\n" - .'* true: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and available resources. If the request passes the dry run, the DryRunOperation error code is returned. Otherwise, an error message is returned.'."\n" - .'* false (default): performs a dry run and performs the actual request. If the request passes the dry run, the elastic container instance is created.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'- true: performs a dry run without creating an ECI instance. The system checks required parameters, request format, service limits, and inventory. If the check fails, the corresponding error is returned. If the check passes, the error code DryRun.Success is returned.'."\n" + .'- false (default): sends a normal request. After the check passes, the ECI instance is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PrivateIpAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the elastic container instance. Only IPv4 addresses are supported. Make sure that the IP address is idle.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.16.0.1', - ], + 'schema' => ['description' => 'The private IP address of the ECI instance. Currently, only IPv4 addresses are supported. Make sure that the IP address is not already in use.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.1', 'title' => ''], ], [ 'name' => 'OsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The operating system of the elastic container instance. Default value: Linux. Valid values:'."\n" - ."\n" - .'* Linux'."\n" - .'* Windows'."\n" - ."\n" - .'> Windows instances are in invitational preview. To use the operating system, submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Windows', - ], + 'schema' => ['description' => 'The operating system of the ECI instance. Valid values:'."\n" + ."\n" + .'- Linux (default)'."\n" + .'- Windows'."\n" + ."\n" + .'> Windows instances are in beta. To use them, submit a ticket.', 'type' => 'string', 'required' => false, 'example' => 'Windows', 'title' => ''], ], [ 'name' => 'CpuArchitecture', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU architecture of the instance. Default value: AMD64. Valid values:'."\n" - ."\n" - .'* AMD64'."\n" - .'* ARM64'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ARM64', - ], + 'schema' => ['description' => 'The CPU architecture of the ECI instance. Valid values:'."\n" + ."\n" + .'- AMD64 (default)'."\n" + .'- ARM64', 'type' => 'string', 'required' => false, 'example' => 'ARM64', 'title' => ''], ], [ 'name' => 'ComputeCategory', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The compute category of the instance. For more information, see [Specify a compute category to create an elastic container instance](~~2638061~~).'."\n", + 'description' => 'The compute categories. For more information, see [Create instances by specifying compute categories](~~2638061~~).', 'type' => 'array', - 'items' => [ - 'description' => 'The compute category of the instance. Valid values:'."\n" - ."\n" - .'* economy: economy compute category'."\n" - .'* general: general compute category'."\n" - ."\n" - .'You can specify multiple compute categories. The system selects the type for the elastic container instance based on the specified order of the compute categories.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'economy', - ], + 'items' => ['description' => 'The compute categories. Valid values:'."\n" + ."\n" + .'- economy: economy type.'."\n" + .'- general: general-purpose type.'."\n" + ."\n" + .'Multiple compute categories are supported. The system creates instances in the specified order.', 'type' => 'string', 'required' => false, 'example' => 'economy', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'GpuDriverVersion', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The version of the GPU driver. Default value: tesla=470.82.01. Valid values:'."\n" - ."\n" - .'* tesla=470.82.01'."\n" - .'* tesla=525.85.12'."\n" - ."\n" - .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tesla=525.85.12'."\n", - ], + 'schema' => ['description' => 'The GPU driver version.'."\n" + ."\n" + .'> Only some instance types support switching GPU driver versions. For more information, see [Create instances by specifying GPU specifications](~~2579486~~).', 'type' => 'string', 'required' => false, 'example' => 'tesla=535'."\n", 'title' => ''], ], [ 'name' => 'MaxPendingMinute', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -2384,1627 +1553,378 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3 ', - ], - 'ContainerGroupId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'eci-uf6fonnghi50u374****', - ], + 'RequestId' => ['description' => 'The request ID, which is a unique identifier.', 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', 'title' => ''], + 'ContainerGroupId' => ['description' => 'The instance ID, which is also the container group ID.', 'type' => 'string', 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.NotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'DiskNumber.LimitExceed', - 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', - ], - [ - 'errorCode' => 'InvalidPaymentMethod.InsufficientBalance', - 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', - ], - [ - 'errorCode' => 'DiskVolume.NotInSameZone', - 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', - ], - [ - 'errorCode' => 'HighCpuMemConfigRequired', - 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', - 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', - ], - [ - 'errorCode' => 'LocalDiskAmountNotMatch', - 'errorMessage' => 'The number of local volumes does not match the instance type.', - ], - [ - 'errorCode' => 'Payfor.CreditPayInsufficientBalance', - 'errorMessage' => 'Your payment credit line is insufficient.', - ], - [ - 'errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', - 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', - ], - [ - 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', - 'errorMessage' => 'KMS must be enabled for encrypted disks.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', - 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', - ], - [ - 'errorCode' => 'InvalidSpotCpuMemorySpec', - 'errorMessage' => 'The specified CPU and memory are not allowed. You must create spot ECI using standard ECS specifications for CPU and memory.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportVsw', - 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupport', - 'errorMessage' => 'Ipv6 is not supported in specified region.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportInstanceType', - 'errorMessage' => 'IPv6 is not supported for the specified instance type.', - ], - [ - 'errorCode' => 'EipPayInsufficientBalance', - 'errorMessage' => 'Your account does not have enough balance to purchase eip.', - ], - [ - 'errorCode' => 'EipPurchaseFlowControl', - 'errorMessage' => 'Request was denied due to eip frequent purchase.', - ], - [ - 'errorCode' => 'Throttling', - 'errorMessage' => 'You have made too many requests within a short time; your request is denied due to request throttling', - ], - [ - 'errorCode' => 'JobInstanceBatchCreateNotSupport', - 'errorMessage' => 'ECI job instance not support batch create', - ], - [ - 'errorCode' => 'JobInstanceDiskNotSupport', - 'errorMessage' => 'ECI job instance not support disk volume', - ], - [ - 'errorCode' => 'JobInstanceEipNotSupport', - 'errorMessage' => 'ECI job instance not support eip', - ], - [ - 'errorCode' => 'JobInstanceFeatureNotMatch', - 'errorMessage' => 'ECI job instance feature not match', - ], - [ - 'errorCode' => 'JobInstanceImageCacheNotSupport', - 'errorMessage' => 'ECI job instance not support image cache', - ], - [ - 'errorCode' => 'JobInstanceIPv6NotSupport', - 'errorMessage' => 'ECI job instance not support IPv6', - ], - [ - 'errorCode' => 'JobInstanceRamRoleNotSupport', - 'errorMessage' => 'ECI job instance not support ram role', - ], - [ - 'errorCode' => 'JobInstanceRegionNotSupport', - 'errorMessage' => 'ECI job instance not support in this region', - ], - [ - 'errorCode' => 'JobInstanceSpotNotSupport', - 'errorMessage' => 'ECI job instance not support spot', - ], - [ - 'errorCode' => 'InvalidInstanceTypeForEciSpotDurationBuy', - 'errorMessage' => 'Current instance type does not support spot duration instance.', - ], - [ - 'errorCode' => 'InvalidInstanceTypeForEciBuy', - 'errorMessage' => 'Sales of this current instance type is not supported in eci.', - ], - [ - 'errorCode' => 'InstanceTypeNotMatchCpuArch', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'JobInstanceEcsInstanceTypeNotSupport', - 'errorMessage' => 'Job-optimized elastic container instances cannot be created by specifying ECS instance types.', - ], - [ - 'errorCode' => 'PrivatePoolInstanceSpotNotSupport', - 'errorMessage' => 'Spot is not supported for PrivatePool.', - ], - [ - 'errorCode' => 'DryRun.Success', - 'errorMessage' => 'This request is a dryrun request with successful result.', - ], - [ - 'errorCode' => 'PrivateIpAddress.Already.InUse', - 'errorMessage' => 'The specific PrivateIpAddress already in use.', - ], - [ - 'errorCode' => 'IncorrectOperation', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'FeatureBasedConstraintConflict', - 'errorMessage' => 'A conflict occurs in specified feature constraints: [%s].', - ], - [ - 'errorCode' => 'OperationFailed.RiskControl', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'RISK.RISK_CONTROL_REJECTION', - 'errorMessage' => 'To protect the security of your account, your request has been denied by the risk control system. Please contact Alibaba Cloud Customer Service for details.', - ], - [ - 'errorCode' => 'InvalidInstanceTypeForRaid', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'RegionDissolved', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MultiAttachedCloudDiskNotSupport', - 'errorMessage' => '%s.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'ImageSnapshot.IncorrectStatus', 'errorMessage' => '%s', 'description' => 'The status of the specified snapshot is invalid.'], + ['errorCode' => 'ImageSnapshot.NotSupport', 'errorMessage' => '%s', 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'DiskNumber.LimitExceed', 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['errorCode' => 'InvalidPaymentMethod.InsufficientBalance', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['errorCode' => 'DiskVolume.NotInSameZone', 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', 'description' => ''], + ['errorCode' => 'HighCpuMemConfigRequired', 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'description' => ''], + ['errorCode' => 'LocalDiskAmountNotMatch', 'errorMessage' => 'The number of local volumes does not match the instance type.', 'description' => ''], + ['errorCode' => 'Payfor.CreditPayInsufficientBalance', 'errorMessage' => 'Your payment credit line is insufficient.', 'description' => 'Your payment credit line is insufficient.'], + ['errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'errorMessage' => 'KMS must be enabled for encrypted disks.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['errorCode' => 'InvalidSpotCpuMemorySpec', 'errorMessage' => 'The specified CPU and memory are not allowed. You must create spot ECI using standard ECS specifications for CPU and memory.', 'description' => ''], + ['errorCode' => 'Ipv6AddressNotSupportVsw', 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', 'description' => ''], + ['errorCode' => 'Ipv6AddressNotSupport', 'errorMessage' => 'Ipv6 is not supported in specified region.', 'description' => ''], + ['errorCode' => 'Ipv6AddressNotSupportInstanceType', 'errorMessage' => 'IPv6 is not supported for the specified instance type.', 'description' => ''], + ['errorCode' => 'EipPayInsufficientBalance', 'errorMessage' => 'Your account does not have enough balance to purchase eip.', 'description' => ''], + ['errorCode' => 'EipPurchaseFlowControl', 'errorMessage' => 'Request was denied due to eip frequent purchase.', 'description' => ''], + ['errorCode' => 'Throttling', 'errorMessage' => 'You have made too many requests within a short time; your request is denied due to request throttling', 'description' => ''], + ['errorCode' => 'JobInstanceBatchCreateNotSupport', 'errorMessage' => 'ECI job instance not support batch create', 'description' => ''], + ['errorCode' => 'JobInstanceDiskNotSupport', 'errorMessage' => 'ECI job instance not support disk volume', 'description' => ''], + ['errorCode' => 'JobInstanceEipNotSupport', 'errorMessage' => 'ECI job instance not support eip', 'description' => ''], + ['errorCode' => 'JobInstanceFeatureNotMatch', 'errorMessage' => 'ECI job instance feature not match', 'description' => ''], + ['errorCode' => 'JobInstanceImageCacheNotSupport', 'errorMessage' => 'ECI job instance not support image cache', 'description' => ''], + ['errorCode' => 'JobInstanceIPv6NotSupport', 'errorMessage' => 'ECI job instance not support IPv6', 'description' => ''], + ['errorCode' => 'JobInstanceRamRoleNotSupport', 'errorMessage' => 'ECI job instance not support ram role', 'description' => ''], + ['errorCode' => 'JobInstanceRegionNotSupport', 'errorMessage' => 'ECI job instance not support in this region', 'description' => ''], + ['errorCode' => 'JobInstanceSpotNotSupport', 'errorMessage' => 'ECI job instance not support spot', 'description' => ''], + ['errorCode' => 'InvalidInstanceTypeForEciSpotDurationBuy', 'errorMessage' => 'Current instance type does not support spot duration instance.', 'description' => ''], + ['errorCode' => 'InvalidInstanceTypeForEciBuy', 'errorMessage' => 'Sales of this current instance type is not supported in eci.', 'description' => ''], + ['errorCode' => 'InstanceTypeNotMatchCpuArch', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'JobInstanceEcsInstanceTypeNotSupport', 'errorMessage' => 'Job-optimized elastic container instances cannot be created by specifying ECS instance types.', 'description' => ''], + ['errorCode' => 'PrivatePoolInstanceSpotNotSupport', 'errorMessage' => 'Spot is not supported for PrivatePool.', 'description' => ''], + ['errorCode' => 'DryRun.Success', 'errorMessage' => 'This request is a dryrun request with successful result.', 'description' => ''], + ['errorCode' => 'PrivateIpAddress.Already.InUse', 'errorMessage' => 'The specific PrivateIpAddress already in use.', 'description' => ''], + ['errorCode' => 'IncorrectOperation', 'errorMessage' => '%s', 'description' => 'You cannot perform this operation on the specified resource.'], + ['errorCode' => 'FeatureBasedConstraintConflict', 'errorMessage' => 'A conflict occurs in specified feature constraints: [%s].', 'description' => 'A conflict occurs in specified feature constraints'], + ['errorCode' => 'OperationFailed.RiskControl', 'errorMessage' => '%s.', 'description' => 'We have detected that your account has security risks. Please contact customer service personnel for details.'], + ['errorCode' => 'RISK.RISK_CONTROL_REJECTION', 'errorMessage' => 'To protect the security of your account, your request has been denied by the risk control system. Please contact Alibaba Cloud Customer Service for details.', 'description' => 'In order to protect the security of your account, your request was rejected by the wind control system. Please contact customer service for details.'], + ['errorCode' => 'InvalidInstanceTypeForRaid', 'errorMessage' => '%s.', 'description' => 'The current specification does not support Raid.'], + ['errorCode' => 'RegionDissolved', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MultiAttachedCloudDiskNotSupport', 'errorMessage' => '%s.', 'description' => 'You cannot mount a cloud disk with the multi-mount function enabled (that is, an NVMe shared disk).'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', - 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', - ], - [ - 'errorCode' => 'Forbidden.AccountClosed', - 'errorMessage' => 'The operation is forbidden. Your account has been closed.', - ], - [ - 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', - 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', - ], - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], - [ - 'errorCode' => 'Throttling.Vcpu.PerDay', - 'errorMessage' => 'The maximum number of request for the day has been exceeded.', - ], - [ - 'errorCode' => 'FeatureAccessRestricted', - 'errorMessage' => 'Access to this feature:[%s] is restricted. Please contact Alibaba Cloud ECI support to request access.', - ], - ], - [ - [ - 'errorCode' => 'ImageSnapshot.NotFound', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'InvalidDiskId.NotFound', - 'errorMessage' => 'The specified disk does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', - 'errorMessage' => 'The specified KMSKeyId does not exist.', - ], + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['errorCode' => 'Forbidden.AccountClosed', 'errorMessage' => 'The operation is forbidden. Your account has been closed.', 'description' => ''], + ['errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'description' => ''], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ['errorCode' => 'Throttling.Vcpu.PerDay', 'errorMessage' => 'The maximum number of request for the day has been exceeded.', 'description' => 'The maximum number of request for the day has been exceeded.'], + ['errorCode' => 'FeatureAccessRestricted', 'errorMessage' => 'Access to this feature:[%s] is restricted. Please contact Alibaba Cloud ECI support to request access.', 'description' => 'Access to this feature is restricted. Please contact Alibaba Cloud ECI support to request access.'], + ], + [ + ['errorCode' => 'ImageSnapshot.NotFound', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => ''], + ['errorCode' => 'InvalidDiskId.NotFound', 'errorMessage' => 'The specified disk does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', 'errorMessage' => 'The specified KMSKeyId does not exist.', 'description' => 'The specified KMSKeyId does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"ContainerGroupId\\": \\"eci-uf6fonnghi50u374****\\"\\n}","type":"json"}]', - 'title' => 'CreateContainerGroup', - 'description' => 'When you call the CreateContainerGroup operation to create an elastic container instance, the system automatically creates a service-linked role named AliyunServiceRoleForECI. You can assume the service-linked role to access relevant cloud services such as Elastic Compute Service (ECS) and Virtual Private Cloud (VPC). For more information, see [Elastic Container Instance service-linked role](~~212914~~).'."\n" - ."\n" - .'When you create an elastic container instance, you can configure features that are related to instances, images, and storage based on your business requirements. For information about parameters configured for the features and the description of the parameters, see the following documents:'."\n" - ."\n" - .'**Instances**'."\n" - ."\n" - .'You can use one of the following methods to create an elastic container instance:'."\n" + 'title' => 'Create a container group', + 'description' => 'When you call CreateContainerGroup to create an ECI instance, the system automatically creates a service-linked role AliyunServiceRoleForECI for you to access related cloud services such as ECS and VPC. For more information, see [ECI service-linked role](~~212914~~).'."\n" ."\n" - .'* [Specify the number of vCPUs and memory size to create an elastic container instance](~~114662~~)'."\n" - .'* [Specify ECS instance types to create an elastic container instance](~~114664~~)'."\n" + .'When creating an ECI instance, you can configure instance, image, storage, and other related features as needed. For the parameters and descriptions of each feature, see the following documentation:'."\n" ."\n" - .'Both the preceding creation methods support the following features:'."\n" + .'**Instance**'."\n" ."\n" - .'* [Create a preemptible elastic container instance](~~157759~~)'."\n" - .'* [Configure multiple zones](~~157290~~)'."\n" - .'* [Configure multiple specifications](~~146468~~)'."\n" - .'* [Use tags to manage elastic container instances](~~146608~~)'."\n" + .'ECI supports the following two methods to create instances:'."\n" + .'- [Create an instance by specifying vCPU and memory](~~114662~~)'."\n" + .'- [Create an instance by specifying an ECS instance type](~~114664~~)'."\n" ."\n" - .'**Images**'."\n" + .'The following features are supported by both creation methods:'."\n" + .'- [Create preemptible instances](~~157759~~)'."\n" + .'- [Configure multiple zones](~~157290~~)'."\n" + .'- [Configure multiple instance types](~~146468~~)'."\n" + .'- [Use tags to manage instances](~~146608~~)'."\n" ."\n" - .'* [Configure a container image](~~461311~~)'."\n" - .'* [Use the image cache feature to accelerate the creation of an elastic container instance](~~141281~~)'."\n" - .'* [Specify a Container Registry Enterprise Edition instance](~~194250~~)'."\n" - .'* [Use self-managed image repositories](~~378059~~)'."\n" + .'**Image**'."\n" + .'- [Configure container images](~~461311~~)'."\n" + .'- [Use image caches to accelerate instance creation](~~141281~~)'."\n" + .'- [Specify ACR Enterprise Edition instances](~~194250~~)'."\n" + .'- [Use self-managed image repositories](~~378059~~)'."\n" ."\n" - .'**Networking**'."\n" - ."\n" - .'* [Create and Associate an EIP](~~99146~~)'."\n" - .'* [Assign a security group](~~176237~~)'."\n" - .'* [Assign an IPv6 address to an elastic container instance](~~451282~~)'."\n" - .'* [Configure maximum bandwidth](~~190635~~)'."\n" + .'**Network**'."\n" + .'- [Bindl EIPs](~~99146~~)'."\n" + .'- [Specify security groups](~~176237~~)'."\n" + .'- [Configure IPv6 addresses](~~451282~~)'."\n" + .'- [Configure bandwidth throttling](~~190635~~)'."\n" ."\n" .'**Storage**'."\n" - ."\n" - .'* [Mount a disk volume](~~144571~~)'."\n" - .'* [Mount a NAS volume](~~464075~~)'."\n" - .'* [Mount an OSS bucket to an elastic container instance as a volume](~~464076~~)'."\n" - .'* [Mount an emptyDir volume](~~464078~~)'."\n" - .'* [Mount a ConfigFile volume](~~464080~~)'."\n" - .'* [Increase the size of the temporary storage space](~~204066~~)'."\n" + .'- [Mount cloud disk volumes](~~144571~~)'."\n" + .'- [Mount NAS volumes](~~464075~~)'."\n" + .'- [Mount OSS volumes](~~464076~~)'."\n" + .'- [Mount EmptyDir volumes](~~464078~~)'."\n" + .'- [Mount ConfigFile volumes](~~464080~~)'."\n" + .'- [Customize the size of temporary storage](~~204066~~)'."\n" ."\n" .'**Container configuration**'."\n" - ."\n" - .'* [Configure startup commands and arguments for a container](~~94593~~)'."\n" - .'* [Use probes to perform health checks on a container](~~99053~~)'."\n" - .'* [Obtain metadata by using environment variables](~~141788~~)'."\n" - .'* [Configure a security context for an elastic container instance or a container](~~462313~~)'."\n" - .'* [Configure the NTP service](~~462768~~)'."\n" - ."\n" - .'**Logging and O\\&M**'."\n" - ."\n" - .'* [Use environment variables to configure log collection](~~121973~~)'."\n" - .'* [Save core files to volumes](~~167801~~)'."\n", + .'- [Set container startup commands and arguments](~~94593~~)'."\n" + .'- [Use probes for container health checks](~~99053~~)'."\n" + .'- [Obtain metadata through environment variables](~~141788~~)'."\n" + .'- [Configure Security Context](~~462313~~)'."\n" + .'- [Configure NTP service](~~462768~~)'."\n" + ."\n\n" + .'**Logging and O&M**'."\n" + .'- [Configure log collection through environment variables](~~121973~~)'."\n" + .'- [Save core files to a data volume](~~167801~~)', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateContainerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-01-06T06:30:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-24T11:42:55.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-16T03:48:06.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-06-19T09:27:21.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-04-12T08:37:29.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-04-12T08:25:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-27T06:42:57.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-25T08:49:46.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-25T06:03:05.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-12-13T06:45:19.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-06T02:21:18.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-09-19T02:40:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-09-12T08:24:47.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-08-07T08:02:36.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-08-04T08:47:59.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-07-21T07:49:26.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2023-06-27T03:46:11.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-12T06:44:41.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-08T02:56:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-07T12:51:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-04-03T02:40:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-30T07:49:40.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-03-24T02:22:38.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-10-24T07:21:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-10-14T09:12:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-27T08:14:49.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-13T09:12:54.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-07T07:11:15.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-04-27T03:03:09.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateContainerGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], ], + ], + 'CreateDataCache' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '178965', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance that you want to update.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', - ], + 'schema' => ['description' => 'The ID of the security group for the ECI instance that is generated during the data cache creation process.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'sg-2ze81zoc3yl7a3we****'], ], [ - 'name' => 'RestartPolicy', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Always: Always restarts the instance if a container in the instance exits upon termination.'."\n" - .'* Never: Never restarts the instance if a container in the instance exits upon termination.'."\n" - .'* OnFailure: Restarts the instance only if a container in the instance exists upon failure with a status code of non-zero.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'schema' => ['description' => 'The ID of the vSwitch for the ECI instance that is generated during the data cache creation process.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'vsw-bp1jrgfqqy54kg5hc****'], ], [ - 'name' => 'ClientToken', + 'name' => 'Bucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000 ', - ], + 'schema' => ['description' => 'The data storage bucket. The default value is default. You can specify a custom bucket to group services and prevent path conflicts.'."\n" + ."\n" + .'> eci-system is a reserved bucket for ECI and cannot be used.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], ], [ - 'name' => 'Cpu', + 'name' => 'Path', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The path where the data is stored.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '/model/test'], ], [ - 'name' => 'Memory', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the memory that is allocated to the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4.0', - ], + 'schema' => ['description' => 'The name of the data cache.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'test'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-2df3isufhi38**** ', - ], + 'schema' => ['description' => 'The size of the data cache. Unit: GiB. The default value is 20 GiB. Evaluate the required size based on the actual amount of data.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '30'], ], [ - 'name' => 'Tag', + 'name' => 'DataSource', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', 'schema' => [ - 'description' => 'The tags that are bound to the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags that are bound to the instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hxh', - ], + 'description' => 'The data source.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the data source. Valid values:'."\n" + ."\n" + .'- URL'."\n" + ."\n" + .'- NAS'."\n" + ."\n" + .'- OSS'."\n" + ."\n" + .'- SNAPSHOT', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['NAS' => 'NAS', 'SNAPSHOT' => 'SNAPSHOT', 'URL' => 'URL', 'OSS' => 'OSS'], + 'title' => '', + 'example' => 'URL', ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'Volume', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The volumes that are mounted to the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volumes that are mounted to the instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - 'Type' => [ - 'description' => 'The type of the HostPath volume. Valid values:'."\n" - ."\n" - .'* Directory'."\n" - .'* File'."\n" - ."\n" - .'> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EmptyDirVolume', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path for mounting the NFS volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the mount target of the NFS volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '071e349b04-bsd39.cn-hangzhou.nas.aliyuncs.com', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specifies whether the permissions on the NFS volume are read-only. Valid values:'."\n" - ."\n" - .'* true: The permissions on the NFS volume are read-only.'."\n" - .'* true: The permissions on the NFS volume are read and write.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'ConfigFileVolume.ConfigFileToPath' => [ - 'description' => 'The information about the configuration file of the ConfigFile volume.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the configuration file of the ConfigFile volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path of the configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'jin/test', - ], - 'Content' => [ - 'description' => 'The content of the configuration file. The value is Base64-encoded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 16, - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage media of the emptyDir volume. This parameter is empty by default. In this case, the file system of the node is used as the storage media. You can also set this parameter to memory to use memory as the storage media.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Memory', - ], - 'EmptyDirVolume.SizeLimit' => [ - 'description' => 'The storage size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '256Mi', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The file system type of the disk when you use the FlexVolume plug-in to mount the disk. Valid values: ext4, ext3, xfs, and vfat. Default value: ext4.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The driver type when you use the FlexVolume plug-in to mount a volume. Valid values:'."\n" - ."\n" - .'* alicloud/disk: a disk driver.'."\n" - .'* alicloud/nas: a NAS driver.'."\n" - .'* alicloud/oss: an OSS driver.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'alicloud/disk', - ], - 'FlexVolume.Options' => [ - 'description' => 'The options when you set the Type parameter to FlexVolume. Each option is a key-value pair in a JSON string. For example, if you use FlexVolume to mount a disk, this parameter indicates the configuration parameters of the disk. For more information, see [Overview of volumes](~~90672~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The path of the HostPath volume on the host.'."\n" - ."\n" - .'> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/tmp', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of the HostPath volume. Valid values:'."\n" - ."\n" - .'- Directory'."\n" - .'- File'."\n" - ."\n" - .'> This parameter is not publicly available.', - 'type' => 'string', - 'required' => false, - 'example' => 'Directory', - ], + 'Options' => [ + 'description' => 'The parameters of the data source.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['type' => 'string', 'description' => 'The parameters of the data source. The parameters vary based on the data source type. For more information about data source types and their parameters, see [Create a data cache](~~2391456~~).', 'title' => '', 'example' => '{'."\n" + .' "#10#repoSource": "HuggingFace/Model",'."\n" + .' "#6#repoId": "stabilityai/stable-diffusion-2-1"'."\n" + .'}'], + 'title' => '', + 'example' => '', ], - 'required' => false, ], 'required' => false, - 'maxItems' => 61, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DnsConfig.Search', + 'name' => 'RetentionDays', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The search domains of the Domain Name System (DNS) server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my.dns.search.suffix', - ], - 'required' => false, - 'example' => 'my.dns.search.suffix', - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The number of days to retain the data cache. The data cache is cleared after it expires. By default, the data cache never expires.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], ], [ - 'name' => 'DnsConfig.NameServer', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IP addresses of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.2.3.4', - ], - 'required' => false, - 'example' => '1.2.3.4', - 'maxItems' => 21, - ], - ], - [ - 'name' => 'DnsConfig.Option', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The configurations of DNS.'."\n", + 'description' => 'The list of tags to attach to the data cache.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of DNS.'."\n", + 'description' => 'The list of tags to attach to the data cache.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The option value of DNS configurations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], - 'Name' => [ - 'description' => 'The option name of DNS configurations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ndots', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Container', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The new configurations of the container group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The new configurations of the container group.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The period of time after which the probe times out. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether permissions on the root file system are read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVar' => [ - 'description' => 'The environment variables for the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables for the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable for the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable for the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/local/', - ], - 'FieldRef.FieldPath' => [ - 'description' => 'The pod field that is used as the environment variable for the container. Set the value to status.podIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'status.podIP', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false. If the command is a /bin/bash command, set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'Arg' => [ - 'description' => 'The arguments that you want to pass to the startup command of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'An argument that you want to pass to the startup command of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - ], - 'required' => false, - 'example' => 'hello', - 'maxItems' => 101, - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'VolumeMount' => [ - 'description' => 'Pod volumes that you want to mount into the filesystem of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Pod volumes to mount into the filesystem of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: This volume mount does not receive subsequent mounts that are performed on this volume or subdirectories of this volume.'."\n" - .'* HostToCotainer: The volume mount receives subsequent mounts that are performed on this volume or the subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToContainer mount. The volume mount receives subsequent mounts that are performed on the volume or the subdirectories of the volume. In addition, all volume mounts that are mounted on the container are propagated back to the host and all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory of the volume that is mounted to the container. The data in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume that is mounted to the container. You can use this parameter to mount the same volume to different subdirectories of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/sub/', - ], - 'Name' => [ - 'description' => 'The name of the volume that is mounted to the container. Valid values: the values of Volume.N.Name, which are the names of volumes that are mounted to the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time the instance is updated, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are used first. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Never', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions. If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check when you use TCP sockets to specify the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Command' => [ - 'description' => 'The commands that you want to run to perform the health check.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A command that you want to run to perform the health check.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], - 'required' => false, - 'example' => 'echo', - 'maxItems' => 101, - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host that receives the HTTP GET request when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hide', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/', - ], - 'LivenessProbe.Exec.Command' => [ - 'description' => 'The commands that are used to perform health checks on the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'A command that is used to perform a heath check on the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port to which the system sends a TCP socket request for a health check when you use TCP sockets to specify the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LifecyclePostStartHandlerExec' => [ - 'description' => 'The commands to be executed in the container when you use the CLI to specify the postStart callback function.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command to be executed in the container when you use the CLI to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', - ], - 'required' => false, - 'example' => 'hide', - 'maxItems' => 101, - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check when you use an HTTP request to specify the preSop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port number of the container. Valid values: 1 to 65535.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol of the container. Valid values: TCP and UDP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET request when you use an HTTP request to specify the preStop callback function. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LifecyclePostStartHandlerHttpGetHttpHeaders' => [ - 'description' => 'The information about the valid HTTP request headers among the generated HTTP request headers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the valid HTTP request headers among the generated HTTP request headers.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The request parameter value of the HTTP GET request when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Name' => [ - 'description' => 'The request parameter of the HTTP GET request when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host that receives the TCP socket request when you use a TCP socket request to specify the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'LifecyclePreStopHandlerExec' => [ - 'description' => 'The commands to be executed in the container when you use the CLI to specify the preStop callback function.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command to be executed in the container when you use the CLI to specify the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - 'required' => false, - 'example' => 'hide', - 'maxItems' => 101, - ], - 'Memory' => [ - 'description' => 'The memory size of the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'jenkins', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host that receives the HTTP GET request when you use an HTTP request to specify the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host that receives the TCP socket request when you use a TCP socket request to specify the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'jenkins', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port to which the system sends the HTTP GET request for a health check when you use an HTTP request to specify the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Command' => [ - 'description' => 'The commands that you want to run to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'A command that you want to run to perform the health check.', - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LifecyclePreStopHandlerHttpGetHttpHeader' => [ - 'description' => 'The information about the generated HTTP request header.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the generated HTTP request headers.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The request parameter value of the HTTP GET request when you use an HTTP request to specify the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], - 'Name' => [ - 'description' => 'The request parameter of the HTTP GET request when you use an HTTP request to specify the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The period of time after which the probe times out. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The user ID (UID) that is used to run the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1377', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port to which the system sends the HTTP GET request when you use an HTTP request to specify the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-2df3isufhi38****'], ], [ - 'name' => 'InitContainer', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the new init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the new init containers.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use the NET_RAW value, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'VolumeMount' => [ - 'description' => 'The information about the volume that you want to mount on the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Pod volumes to mount into the filesystem of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are performed on this volume or subdirectories of this volume.'."\n" - .'* HostToContainer: The volume mount receives all subsequent mounts that are performed on this volume or subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToContainer mount. The volume mount receives subsequent mounts that are performed on the volume or the subdirectories of the volume. In addition, all volume mounts that are mounted on the container are propagated back to the host and all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The mount directory of the init container. The data in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume that is mounted to the init container. You can use this parameter to mount the same volume to different subdirectories of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], - 'Name' => [ - 'description' => 'The name of the volume that is mounted to the init container. Valid values: the values of Volume.N.Name, which are the names of volumes that are mounted to the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol of the init container. Valid values: TCP and UDP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number of the init container. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '9000', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether the root file system on which the init container runs is read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVar' => [ - 'description' => 'The environment variable of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables for the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable for the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable for the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - 'FieldRef.FieldPath' => [ - 'description' => 'The reference of the environment variable value. Set the value to status.podIP.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'status.podIP', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time the instance is updated, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are used first. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Onfailure', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions. If StdinOnce is set to true, standard input streams are connected after the init container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the init container restarts.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false. If the command is a /bin/bash command, set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/bin/local/', - ], - 'Command' => [ - 'description' => 'The commands that are used to start the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A command that is used to start the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/bin/sh sleep', - ], - 'required' => false, - 'example' => '/bin/sh sleep', - 'maxItems' => 101, - ], - 'Arg' => [ - 'description' => 'The arguments that you want to pass to the startup command of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'An argument that you want to pass to the startup command of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - 'required' => false, - 'example' => '10', - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The UID that is used to run the init container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs you want to allocate to the init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory size of the init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4.0', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the init container allocates buffer resources to standard input streams when the init container is running. If you do not specify this parameter, an EOF error may occur when standard input streams in the init container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'init-nginx', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'A client token. It is used to ensure the idempotence of the request. You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-****-12d3-****-426655440000'], ], [ - 'name' => 'ImageRegistryCredential', + 'name' => 'EipInstanceId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the credentials of the image repository.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the credentials of the image repository.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password that you use to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpassword', - ], - 'Server' => [ - 'description' => 'The address of the image repository. This address does not contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-shanghai.aliyuncs.com/ecitest/nginx:alpine', - ], - 'UserName' => [ - 'description' => 'The username that you use to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourname', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The ID of an existing elastic IP address (EIP) to be attached.'."\n" + .'If no NAT gateway is configured for the VPC, you can attach an EIP to pull data from the Internet.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eip-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'AcrRegistryInfo', + 'name' => 'EipCreateParam', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', 'schema' => [ - 'description' => 'Details of the Container Registry Enterprise Edition instance that hosts the image of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the Container Registry Enterprise Edition instance resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify specific domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'A domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify specific domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - 'required' => false, + 'description' => 'The parameters for creating and attaching an EIP.'."\n" + .'If no NAT gateway is configured for the VPC, you can attach an EIP to pull data from the Internet.', + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => ['description' => 'The bandwidth of the EIP. Unit: Mbps. Default value: 5 Mbps.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + 'CommonBandwidthPackage' => ['description' => 'The ID of an existing Internet Shared Bandwidth instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cbwp-2zeukbj916scmj51m****'], + 'InternetChargeType' => ['description' => 'The billing method of the EIP. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth'."\n" + ."\n" + .'- PayByTraffic: pay-by-data-transfer', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PayByTraffic'], + 'PublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool.'."\n" + .'The EIP is allocated from the IP address pool.'."\n" + .'By default, the IP address pool feature is unavailable. To use this feature, apply for the privilege in Quota Center.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'pippool-2vc4xdtjhwl4t0go5****'], + 'ISP' => ['description' => 'The line type of the EIP. Valid values:'."\n" + ."\n" + .'- BGP (default): BGP (Multi-ISP)'."\n" + ."\n" + .'- BGP\\_PRO: BGP (Multi-ISP) Pro', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'BGP'], ], 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'UpdateType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The update type. Valid values:'."\n" - ."\n" - .'* RenewUpdate: full updates. You must specify all relevant parameters to update the elastic container instance. For a parameter of the list type, you must specify all the items contained in the parameter even if you want to update only some of the items. For a parameter of the struct type, you must specify all the members even if you want to update only some of the members.'."\n" - .'* IncrementalUpdate: incremental updates. You may specify only the parameter that you want to update. Other related parameters remain unchanged.'."\n" - ."\n" - .'Default value: RenewUpdate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RenewUpdate', + 'title' => '', + 'example' => '', ], ], ], @@ -4013,306 +1933,323 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CB8D2B22-D636-4182-****-1FC9DBDAD66F', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC'], + 'DataCacheId' => ['description' => 'The data cache ID.', 'type' => 'string', 'title' => '', 'example' => 'edc-bp15l4vvys94oo******'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.LengthExceeded', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidParameter.ValueExceeded', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidParam.CpuOrMemorySpec', - 'errorMessage' => 'The specified specification is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'NoNeedUpdate', - 'errorMessage' => 'There are no changes to be updated for current resource.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'ImageCache.IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ImageCacheNotSupport', 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['errorCode' => 'EipAddressPoolIpNotEnough', 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', 'description' => ''], + ['errorCode' => 'DryRun.Success', 'errorMessage' => 'This request is a dryrun request with successful result.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidAction', - 'errorMessage' => 'The specified action is invalid', - ], - ], - [ - [ - 'errorCode' => 'InvalidParameter.NotFound', - 'errorMessage' => '%s', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CB8D2B22-D636-4182-****-1FC9DBDAD66F\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateContainerGroup>\\r\\n <RequestId>CB8D2B22-D636-4182-****-1FC9DBDAD66F</RequestId>\\r\\n</UpdateContainerGroup>","errorExample":""}]', - 'title' => 'UpdateContainerGroup', - 'summary' => 'Updates an elastic container instance.', - 'description' => '* Only elastic container instances that are in the Pending or Running state can be updated. After you call this operation to update an elastic container instance, the instance enters the Updating state.'."\n" - .'* If the RestartPolicy parameter is set to Never for the elastic container instance that you are updating, the containers of the instance may fail. Exercise caution if you want to update the kind of instances.'."\n", - 'requestParamsDescription' => '### [](#)Parameter description'."\n" - ."\n" - .'**Container and InitContainer parameters** The Container and InitContainer parameters support only full updates. After you update the InitContainer parameters, you must restart the elastic container instance. You can update the containers of an elastic container instance in one of the following ways:'."\n" - ."\n" - .'* The elastic container instance contains both init and non-init containers, and you update only the init containers.'."\n" - .'* The elastic container instance contains both init and non-init containers, and you update only the non-init containers.'."\n" - .'* The elastic container instance contains init and non-init containers, and you update the init and non-init containers.'."\n" - .'* The elastic container instance contains only non-init containers, and you update these non-init containers.'."\n" - .'* The elastic container instance contains only non-init containers, and you add init containers.'."\n" - .'* The elastic container instance contains only non-init containers, and you add init containers and update the non-init containers.'."\n" + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateDataCache', + 'summary' => 'Creates a data cache.', + 'description' => '- Creating a data cache is a billable operation. Review the billing information before you proceed. For more information, see [Data cache billing](~~2503093~~).'."\n" ."\n" - .'**ImageRegistryCredentials**'."\n" + .'- Before you create a data cache, evaluate the size of the data to be cached. If the data size exceeds the specified cache size, the creation will fail.'."\n" ."\n" - .'* ImageRegistryCredential parameters support only the RenewUpdate update type.'."\n" - .'* If you only update ImageRegistryCredential parameters, and the new quantity for the ImageRegistryCredential parameters after the update is not greater than the original quantity, you do not need to restart the elastic container instance. Otherwise, you must restart the elastic container instance.'."\n" + .'- When you create a data cache, the system automatically creates an ECI instance and an ESSD disk. Do not delete the ECI instance or the disk during this process. Otherwise, the data cache creation will fail.'."\n" ."\n" - .'> RenewUpdate: For a parameter of the list type, you must specify all the items contained in the parameter even if you want to update only some of the items. For a parameter of the struct type, you must specify all the members even if you want to update only some of the members.'."\n", - 'responseParamsDescription' => "\n" - ."\n\n" - ."\n\n" - ."\n", - 'extraInfo' => ' ', - ], - 'DescribeContainerGroups' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Creating a data cache generates a corresponding snapshot. Do not delete the snapshot. Otherwise, the data cache will become invalid.', + 'changeSet' => [ + ['createdAt' => '2023-09-01T08:45:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-24T09:23:07.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC\\",\\n \\"DataCacheId\\": \\"edc-bp15l4vvys94oo******\\"\\n}","type":"json"}]', + ], + 'CreateImageCache' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '17732', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '17725', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone in which the elastic container instances are deployed. If you do not specify this parameter, the system selects a zone.'."\n" - ."\n" - .'This parameter is empty by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-h', - ], + 'schema' => ['description' => 'The zone.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-g'], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'sg-uf66jeqopgqa9hdn****'], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the elastic container instances are connected.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1jrgfqqy54kg5hc****', - ], + 'schema' => ['description' => 'The ID of the vSwitch. You can specify up to 10 vSwitch IDs, separated by commas (,). For example, `vsw-***,vsw-***`.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'vsw-uf6h3rbwbm90urjwa****'], ], [ - 'name' => 'NextToken', + 'name' => 'ImageCacheName', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the query. If this parameter is left empty, all results have been returned.'."\n" - ."\n" - .'> You do not need to specify this parameter in the first request. Starting from the second request, you can obtain the token from the result returned by the previous request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], + 'schema' => ['description' => 'The name of the image cache.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'testcache'], ], [ - 'name' => 'Limit', + 'name' => 'EipInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of resources to return. Default value: 20. Maximum value: 20.'."\n" - ."\n" - .'> The number of returned resources is less than or equal to the specified number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The EIP. To pull images from the Internet, make sure that the ECI instance can access the Internet. To enable Internet access, configure an EIP or a NAT Gateway.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eip-2zedsm5mfl3uhdj2d****'], ], [ - 'name' => 'ContainerGroupIds', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the elastic container instances in JSON format. You can specify up to 20 IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aekzh43v*****'], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a value from your client to make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx'], ], [ - 'name' => 'Status', + 'name' => 'ImageCacheSize', + 'in' => 'query', + 'schema' => ['description' => 'The size of the image cache. The default value is 20 GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => ['description' => 'The retention period of the image cache. The image cache is cleared after the retention period expires. By default, the image cache never expires.'."\n" + ."\n" + .'> An image cache that fails to be created is retained for only one day.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable image cache reuse. If you enable this feature, new image caches can reuse the image layers of existing image caches. This speeds up the creation of image caches. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'ImageRegistryCredential', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The status of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Pending: The instance is being started.'."\n" - .'* Running: The instance is running.'."\n" - .'* Succeeded: The instance runs successfully.'."\n" - .'* Failed: The instance fails to run.'."\n" - .'* Scheduling: The instance is being created.'."\n" - .'* ScheduleFailed: The instance fails to be created.'."\n" - .'* Restarting: The instance is being restarted.'."\n" - .'* Updating: The instance is being updated.'."\n" - .'* Terminating: The instance is being terminated.'."\n" - .'* Expired: The instance expires.'."\n", - 'type' => 'string', + 'description' => 'The credentials of the image repository.', + 'type' => 'array', + 'items' => [ + 'description' => 'The credentials of the image repository.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'password'], + 'Server' => ['description' => 'The address of the image repository. Do not include the `http://` or `https://` prefix.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com'], + 'UserName' => ['description' => 'The username for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'username'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'Running', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Image', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group to which the instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzh43v***** ', + 'description' => 'The container images used to create the image cache.', + 'type' => 'array', + 'items' => ['description' => 'The container images used to create the image cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl'], + 'required' => true, + 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', + 'maxItems' => 101, + 'title' => '', ], ], [ - 'name' => 'WithEvent', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specify whether to return event information.'."\n", - 'type' => 'boolean', + 'description' => 'The tags of the image cache. You can specify up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the image cache. You can specify up to 20 tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the image cache tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'imc'], + 'Value' => ['description' => 'The value of the image cache tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'true', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'Flash', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the instant image cache feature. If you enable this feature, the creation of the image cache is accelerated. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'AcrRegistryInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tag of the instances.'."\n", + 'description' => 'The information about the ACR instance. For more information, see [Use a password-free method to pull images from an ACR repository](~~194250~~).', 'type' => 'array', 'items' => [ - 'description' => 'The tag of the instances.'."\n", + 'description' => 'The information about the ACR instance.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The tag value of the instances.'."\n", - 'type' => 'string', + 'Domain' => [ + 'description' => 'The domain names of the ACR Enterprise instance. By default, all domain names of the instance are specified. You can specify one or more domain names. Separate multiple domain names with commas (,).', + 'type' => 'array', + 'items' => ['description' => 'The domain names of the ACR Enterprise instance. By default, all domain names of the instance are specified. You can specify one or more domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test****-registry.cn-beijing.cr.aliyuncs.com'], 'required' => false, - 'example' => 'test', + 'example' => 'test****-registry.cn-beijing.cr.aliyuncs.com', + 'maxItems' => 100, + 'title' => '', ], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test****'], + 'InstanceId' => ['description' => 'The ID of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cri-nwj395hgf6f3****'], + 'RegionId' => ['description' => 'The region where the ACR Enterprise instance resides.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-beijing'], + 'ArnService' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that belongs to the account of the resource, such as an ECI instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs:ram::1609982529******:role/role-assume'], + 'ArnUser' => ['description' => 'The ARN of the RAM role that belongs to the account of the ACR instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acs:ram::1298452580******:role/role-acr'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ComputeCategory', + 'name' => 'Annotations', 'in' => 'query', - 'schema' => [ - 'description' => 'The compute category of the instance. Valid values:'."\n" - ."\n" - .'* economy'."\n" - .'* general'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'economy', - ], + 'schema' => ['description' => 'The annotations. This parameter is not for external use.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'hide'], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'PlainHttpRegistry', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-uf66jeqopgqa9hdn****'."\n", - ], + 'schema' => ['description' => 'The address of a self-managed image repository. When you create an image cache using an image from a self-managed image repository that uses the HTTP protocol, set this parameter to allow ECI to pull the image over HTTP. This prevents image pull failures caused by protocol mismatch.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"'], + ], + [ + 'name' => 'InsecureRegistry', + 'in' => 'query', + 'schema' => ['description' => 'The address of a self-managed image repository.'."\n" + ."\n" + .'When you create an image cache using an image from a self-managed image repository that uses a self-signed certificate, set this parameter to skip certificate verification. This prevents image pull failures caused by certificate verification failures.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"'], + ], + [ + 'name' => 'StandardCopyCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of standard snapshot replicas. By default, one image cache corresponds to one snapshot. If the image cache is used to create multiple ECI instances in a batch, create multiple snapshot replicas. Add one snapshot replica for every 1,000 ECI instances.'."\n" + ."\n" + .'> If the instant image cache feature is disabled (Flash is set to false), only standard snapshots are created during the image cache creation process.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'FlashCopyCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of local snapshot replicas. By default, one image cache corresponds to one snapshot. If the image cache is used to create multiple ECI instances in a batch, create multiple snapshot replicas. Add one snapshot replica for every 1,000 ECI instances.'."\n" + ."\n" + .'> If the instant image cache feature is enabled (Flash is set to true), local snapshots are first created during the image cache creation process. After the local snapshots are created, standard snapshots are created. After the standard snapshots are created, the local snapshots are automatically deleted.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'EliminationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The eviction policy of the image cache. The default value is empty, which indicates that the image cache is always retained.'."\n" + ."\n" + .'You can set this parameter to LRU, which indicates that the image cache can be automatically deleted. When the number of image caches reaches the quota limit, the system automatically deletes the image caches that are least recently used and have EliminationStrategy set to LRU.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'LRU'], + ], + [ + 'name' => 'OsType', + 'in' => 'query', + 'schema' => ['description' => 'The operating system of the container image. Valid values:'."\n" + ."\n" + .'- Linux (default)'."\n" + ."\n" + .'- Windows'."\n" + ."\n" + .'> Windows is in invitational preview. To use this feature, submit a ticket.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Linux'], ], ], 'responses' => [ @@ -4320,2331 +2257,515 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The number of queried instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => 'The token that determines the start point of the query.'."\n", - 'type' => 'string', - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], - 'RequestId' => [ - 'description' => 'The ID of the request. The value is unique.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', - ], - 'ContainerGroups' => [ - 'description' => 'Details about the queried elastic container instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the queried elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the instance. Valid values:'."\n" - ."\n" - .'* Pending: The instance is being started.'."\n" - .'* Running: The instance is running.'."\n" - .'* Succeeded: The instance successfully runs.'."\n" - .'* Failed: The instance fails to run.'."\n" - .'* Scheduling: The instance is being created.'."\n" - .'* ScheduleFailed: The instance fails to be created.'."\n" - .'* Restarting: The instance is being restarted.'."\n" - .'* Updating: The instance is being updated.'."\n" - .'* Terminating: The instance is being terminated.'."\n" - .'* Expired: The instance is expired.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'CreationTime' => [ - 'description' => 'The time when the instance was created. The time follows the RFC 3339 standard. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC to which the instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-1vzjjflab6wvjox****', - ], - 'InternetIp' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'TenantSecurityGroupId' => [ - 'description' => 'This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'sg-xxx', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group to which the instances belong.'."\n", - 'type' => 'string', - 'example' => 'sg-bp12ujq5zpxuyjfo3o8r', - ], - 'HostAliases' => [ - 'description' => 'The hostnames and IP addresses for a container that are added to the hosts file of the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostnames and IP addresses of a container that are added to the hosts file of the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Hostnames' => [ - 'description' => 'The information about the hosts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - ], - 'Ip' => [ - 'description' => 'The IP address of the instance.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - ], - ], - ], - 'Tags' => [ - 'description' => 'The tags that are added to the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags of the instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'test-xh', - ], - ], - ], - ], - 'Events' => [ - 'description' => 'The events of the elastic container instance. A maximum of 50 events can be returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The events about the elastic container instances. A maximum of 50 events can be returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the event. Valid values:'."\n" - ."\n" - .'* Normal'."\n" - .'* Warning'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'LastTimestamp' => [ - 'description' => 'The end time of the event.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'Message' => [ - 'description' => 'The event message.'."\n", - 'type' => 'string', - 'example' => 'Started container', - ], - 'Name' => [ - 'description' => 'The category to which the event belongs.'."\n", - 'type' => 'string', - 'example' => 'test-xxx', - ], - 'Reason' => [ - 'description' => 'The event name.'."\n", - 'type' => 'string', - 'example' => 'Created', - ], - 'Count' => [ - 'description' => 'The number of the events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'FirstTimestamp' => [ - 'description' => 'The start time of the event.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - ], - ], - ], - 'SucceededTime' => [ - 'description' => 'The time when all containers exited on success. The time follows the RFC 3339 standard. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-12-11T04:33:42Z', - ], - 'SpotStrategy' => [ - 'description' => 'The bid policy for the instance. Default value: NoSpot. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the preemptible elastic container instance.'."\n" - ."\n" - .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.025', - ], - 'EphemeralStorage' => [ - 'description' => 'The size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TenantEniInstanceId' => [ - 'description' => 'This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'i-xxx', - ], - 'Discount' => [ - 'description' => 'The discount.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9', - ], - 'RestartPolicy' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Never: Never restarts the instance if a container in the instance exits upon termination.'."\n" - .'* Always: Always restarts the instance if a container in the instance exits upon termination.'."\n" - .'* OnFailure: Restarts the instance only if a container in the instance exists upon failure with a status code of non-zero.'."\n", - 'type' => 'string', - 'example' => 'Never', - ], - 'Memory' => [ - 'description' => 'The memory size of the instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4.0', - ], - 'TenantVSwitchId' => [ - 'description' => 'This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxx', - ], - 'Containers' => [ - 'description' => 'The information about containers in the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The containers in the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'LivenessProbe' => [ - 'description' => 'The liveness probe of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. The value must be 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TcpSocket' => [ - 'description' => 'The TCP socket method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Host' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'example' => '1.2.3.4', - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - 'Execs' => [ - 'description' => 'The commands that are used to check the containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that is used to check the container.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]', - ], - ], - 'HttpGet' => [ - 'description' => 'The HTTP GET method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Scheme' => [ - 'description' => 'The protocol type supported by the method. Valid values: HTTP and HTTPS.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/', - ], - 'Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - 'PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - ], - ], - 'Commands' => [ - 'description' => 'The startup commands of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup command of the container.'."\n", - 'type' => 'string', - 'example' => '[/bin/sh echo]', - ], - ], - 'VolumeMounts' => [ - 'description' => 'Information about the mounted volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the mounted volumes.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are performed on this volume or on the subdirectories of this volume.'."\n" - .'* HostToCotainer: The volume mount receives subsequent mounts that are performed on this volume or on the subdirectories of this volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives subsequent mounts that are performed on this volume or on the subdirectories of this volume. In addition, all volume mounts that are performed on the container are propagated back to the host and all containers of all pods that use the same volume.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory of the volume that is mounted to the container. The data in this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Indicates whether the volume is read-only.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. You can use this parameter to mount the same volume to different subdirectories of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/sub', - ], - ], - ], - ], - 'Args' => [ - 'description' => 'The arguments that are passed to the startup commands of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the startup command of the container.'."\n", - 'type' => 'string', - 'example' => '["hello"]', - ], - ], - 'Image' => [ - 'description' => 'The image in the container.'."\n", - 'type' => 'string', - 'example' => 'mysql', - ], - 'Ports' => [ - 'description' => 'The exposed port and protocol of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The exposed port and protocol of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - ], - ], - ], - 'RestartCount' => [ - 'description' => 'The number of times that the container restarted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time the instance is updated, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions. If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'PreviousState' => [ - 'description' => 'The previous state of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z ', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z ', - ], - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'State' => [ - 'description' => 'The container status. Valid values:'."\n" - ."\n" - .'* Waiting: The container is being started.'."\n" - .'* Running: The container is running.'."\n" - .'* Terminated: The container stops running.'."\n", - 'type' => 'string', - 'example' => 'Terminated', - ], - 'Message' => [ - 'description' => 'The message about the container status.'."\n", - 'type' => 'string', - 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this status.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - ], - ], - 'Tty' => [ - 'description' => 'Indicates whether interaction is enabled. Default value: false. If the value of the Command parameter is `/bin/bash`, the value of this parameter is true.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'CurrentState' => [ - 'description' => 'The current container status.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2019-12-19T12:05:02Z', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z ', - ], - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'State' => [ - 'description' => 'The container status. Valid values:'."\n" - ."\n" - .'* Waiting'."\n" - .'* Running'."\n" - .'* Terminated'."\n", - 'type' => 'string', - 'example' => 'Terminated', - ], - 'Message' => [ - 'description' => 'The message about the container status.'."\n", - 'type' => 'string', - 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this status.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - ], - ], - 'Ready' => [ - 'description' => 'Indicates whether the container passed the readiness probe.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContext' => [ - 'description' => 'The security context of the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether permissions on the root file system are read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RunAsUser' => [ - 'description' => 'The user ID (UID) that is used to run the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'Capability' => [ - 'description' => 'The permissions specific to the processes in the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Adds' => [ - 'description' => 'The permissions specific to the process in the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permission specific to the process in the container.'."\n", - 'type' => 'string', - 'example' => '[NET_ADMIN]', - ], - ], - ], - ], - ], - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'ValueFrom' => [ - 'description' => 'The source of the environment variable value. This parameter has a value only when the Value parameter is left empty.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldRef' => [ - 'description' => 'The specified field.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldPath' => [ - 'description' => 'The path of the field.'."\n", - 'type' => 'string', - 'example' => 'status.podIP', - ], - ], - ], - ], - ], - ], - ], - ], - 'ReadinessProbe' => [ - 'description' => 'The readiness probe that is used to check whether the container is ready to serve a request.'."\n", - 'type' => 'object', - 'properties' => [ - 'SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. The value must be 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TcpSocket' => [ - 'description' => 'The TCP socket method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Host' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'example' => '1.2.3.4', - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - ], - ], - 'Execs' => [ - 'description' => 'The commands that are run in the container when you use a CLI to perform health checks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run in the container when you use a CLI to perform health checks.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]', - ], - ], - 'HttpGet' => [ - 'description' => 'The HTTP GET method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Scheme' => [ - 'description' => 'The protocol type supported by the method. Valid values: HTTP and HTTPS.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'Path' => [ - 'description' => 'The path to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'Port' => [ - 'description' => 'The port to which the system sends an HTTP GET request for a health check.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - ], - ], - 'PeriodSeconds' => [ - 'description' => 'The interval at which the health check is performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - ], - ], - 'EniInstanceId' => [ - 'description' => 'The ID of the elastic network interface (ENI).'."\n", - 'type' => 'string', - 'example' => 'eni-bp14rzqi6fd8satm****', - ], - 'InitContainers' => [ - 'description' => 'The information about the init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'object', - 'properties' => [ - 'VolumeMounts' => [ - 'description' => 'The information about the volumes that are mounted to the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the volumes that are mounted to the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are performed on this volume or on the subdirectories of this volume.'."\n" - .'* HostToCotainer: The volume mount receives subsequent mounts that are performed on this volume or on the subdirectories of this volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives subsequent mounts that are performed on this volume or on the subdirectories of this volume. In addition, all volume mounts that are performed on the container are propagated back to the host and all containers of all pods that use the same volume.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory of the volume that is mounted to the container. The data in this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Indicates whether the volume is read-only.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the name of the volume that you selected when you purchased the container.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - ], - ], - ], - 'Args' => [ - 'description' => 'The arguments that are passed to the startup commands of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the startup command of the container.'."\n", - 'type' => 'string', - 'example' => '[\'hello world\']', - ], - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Ports' => [ - 'description' => 'The exposed port and protocol of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The exposed ports and protocols of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - ], - ], - ], - 'RestartCount' => [ - 'description' => 'The number of times that the container restarted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time the instance is updated, image pulling is performed.'."\n" - .'* IfNotPresent: On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'PreviousState' => [ - 'description' => 'The previous state of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2019-12-24T05:35:44Z', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2019-12-24T05:35:44Z', - ], - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'State' => [ - 'description' => 'The container status. Valid values: Waiting, Running, and Terminated.'."\n", - 'type' => 'string', - 'example' => 'Terminated', - ], - 'Message' => [ - 'description' => 'The message about the container status.'."\n", - 'type' => 'string', - 'example' => 'Started container', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this status.'."\n", - 'type' => 'string', - 'example' => 'completed', - ], - ], - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/test', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'CurrentState' => [ - 'description' => 'The current container status.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z ', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z ', - ], - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'State' => [ - 'description' => 'The container status. Valid values:'."\n" - ."\n" - .'* Waiting'."\n" - .'* Running'."\n" - .'* Terminated'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Message' => [ - 'description' => 'The event message.'."\n", - 'type' => 'string', - 'example' => 'Created container', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this status.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - ], - ], - 'Command' => [ - 'description' => 'The startup commands of the containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup command of the container.'."\n", - 'type' => 'string', - 'example' => '[/bin/sh echo]', - ], - ], - 'Ready' => [ - 'description' => 'Indicates whether the container passed the readiness probe.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContext' => [ - 'description' => 'The security context of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether permissions on the root file system are read-only.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RunAsUser' => [ - 'description' => 'The UID that is used to run the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1557', - ], - 'Capability' => [ - 'description' => 'The permissions specific to the processes in the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Adds' => [ - 'description' => 'The permissions specific to the processes in the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permission specific to the process in the container.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - ], - ], - ], - ], - 'Memory' => [ - 'description' => 'The memory size of the init container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'example' => 'Init-xxx', - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/local/bin', - ], - 'ValueFrom' => [ - 'description' => 'The source of the environment variable value. This parameter has a value only when the Value parameter is left empty.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldRef' => [ - 'description' => 'The specified fields.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldPath' => [ - 'description' => 'The path of the field. Only `status.podIP` is supported.'."\n", - 'type' => 'string', - 'example' => 'status.podIP', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'ContainerGroupId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'eci-bp1jrgfqqy54kg5hc****', - ], - 'TenantEniIp' => [ - 'description' => 'This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => '10.10.XX.XX', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the specified Elastic Compute Service (ECS) instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.g5.large', - ], - 'IntranetIp' => [ - 'description' => 'The private IP address.'."\n", - 'type' => 'string', - 'example' => '172.16.XX.XX', - ], - 'Ipv6Address' => [ - 'description' => 'The IPv6 address of the instance.'."\n", - 'type' => 'string', - 'example' => '2001:XXXX:4:4:4:4:4:4', - ], - 'RegionId' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DnsConfig' => [ - 'description' => 'The Domain Name System (DNS) settings.'."\n", - 'type' => 'object', - 'properties' => [ - 'Searches' => [ - 'description' => 'The search domains of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'example' => 'svc.local.kubenetes', - ], - ], - 'Options' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - ], - ], - ], - 'NameServers' => [ - 'description' => 'The IP addresses of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'example' => '[10.2.*.*]', - ], - ], - ], - ], - 'Volumes' => [ - 'description' => 'The information about the volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the volume. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The ID of the disk when you set Type to DiskVolume.'."\n", - 'type' => 'string', - 'example' => 'd-xxxx', - ], - 'NFSVolumeReadOnly' => [ - 'description' => 'Indicates whether the NFS volume is read-only.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The path of the ConfigFile volume.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The path of the ConfigFile volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path of the ConfigFile volume.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'Content' => [ - 'description' => 'The content of the ConfigFile volume. Maximum size: 32 KB.'."\n", - 'type' => 'string', - 'example' => 'hello world', - ], - ], - ], - ], - 'FlexVolumeFsType' => [ - 'description' => 'The file system type when you set the Type parameter to FlexVolume. The default value varies based on the script of the FlexVolume plug-in.'."\n", - 'type' => 'string', - 'example' => 'ntfs', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the driver when you set the Type parameter to FlexVolume.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The file system type of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The options when you set the Type parameter to FlexVolume.'."\n", - 'type' => 'string', - 'example' => '[nolock,tcp,noresvport]', - ], - 'NFSVolumeServer' => [ - 'description' => 'The address of the NFS server.'."\n", - 'type' => 'string', - 'example' => '0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com', - ], - 'NFSVolumePath' => [ - 'description' => 'The path of the NFS volume.'."\n", - 'type' => 'string', - 'example' => '/eci', - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage media for the emptyDir volume. This parameter is empty by default, indicating that the node file system is used as the storage media. Valid values:'."\n" - ."\n" - .'* Memory: Memory is used as the storage media.'."\n" - .'* LocalRaid0: Local disks are formed into RAID 0. This value is valid only if an elastic container instance that has local disks mounted is created. For more information, see [Create an elastic container instance that has local disks mounted](~~114664~~).'."\n", - 'type' => 'string', - 'example' => 'Memory', - ], - 'EmptyDirVolumeSizeLimit' => [ - 'description' => 'The storage size of the emptyDir volume.'."\n", - 'type' => 'string', - 'example' => '256Mi', - ], - ], - ], - ], - 'RamRoleName' => [ - 'description' => 'The name of the instance RAM role. The elastic container instance and the ECS instance share a RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch to which the instance is connected.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1vzjjflab6wvjox****', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the elastic container instance failed to run due to overdue payments. The time follows the RFC 3339 standard. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-8db03793gfrz****', - ], - 'ZoneId' => [ - 'description' => 'The zone to which the instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-h', - ], - 'ContainerGroupName' => [ - 'description' => 'The instance name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EciSecurityContext' => [ - 'description' => 'The security context of the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Sysctls' => [ - 'description' => 'sysctl parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The value of the Sysctl parameter.'."\n", - 'type' => 'string', - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The name of the Sysctl parameter.'."\n", - 'type' => 'string', - 'example' => 'kernel.msgmax', - ], - ], - ], - ], - ], - ], - 'FailedTime' => [ - 'description' => 'The time when the instance failed to run. The time follows the RFC 3339 standard. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'ComputeCategory' => [ - 'description' => 'The computing power type of the elastic container instance. Valid values:'."\n" - ."\n" - .'* economy: economic computing power.'."\n" - .'* general: general-purpose computing power.'."\n", - 'type' => 'string', - 'example' => 'economy', - ], - 'DnsPolicy' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'- None: uses the DNS that is specified by DnsConfig.'."\n" - .'- Default: uses the DNS that is specified for the runtime environment.', - 'type' => 'string', - 'example' => 'None', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD'], + 'ImageCacheId' => ['description' => 'The ID of the image cache.', 'type' => 'string', 'title' => '', 'example' => 'imc-2zebxkiifuyzzlhl****'], + 'ContainerGroupId' => ['description' => 'The ID of the ECI instance that is used to create the image cache.', 'type' => 'string', 'title' => '', 'example' => 'eci-2zebxkiifuyzzlhl****'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.MismatchInstanceType', - 'errorMessage' => 'The instanceId mismatch instance type.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'ImageCache.IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ImageCacheNotSupport', 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['errorCode' => 'EipAddressPoolIpNotEnough', 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', 'description' => ''], + ['errorCode' => 'OperationConflict', 'errorMessage' => 'The request was denied. It conflicts with a previous request.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"ContainerGroups\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"CreationTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"TenantSecurityGroupId\\": \\"sg-xxx\\",\\n \\"SecurityGroupId\\": \\"sg-bp12ujq5zpxuyjfo3o8r\\",\\n \\"HostAliases\\": [\\n {\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ],\\n \\"Ip\\": \\"192.0.XX.XX\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test-xh\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Name\\": \\"test-xxx\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Count\\": 20,\\n \\"FirstTimestamp\\": \\"2018-08-02T15:00:00Z\\"\\n }\\n ],\\n \\"SucceededTime\\": \\"2019-12-11T04:33:42Z\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"EphemeralStorage\\": 20,\\n \\"TenantEniInstanceId\\": \\"i-xxx\\",\\n \\"Discount\\": 9,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"Memory\\": 4,\\n \\"TenantVSwitchId\\": \\"vsw-xxx\\",\\n \\"Containers\\": [\\n {\\n \\"LivenessProbe\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"InitialDelaySeconds\\": 10,\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 10,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 80\\n },\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"HttpGet\\": {\\n \\"Scheme\\": \\"HTTP\\",\\n \\"Path\\": \\"/usr/nginx/\\",\\n \\"Port\\": 80\\n },\\n \\"PeriodSeconds\\": 5\\n },\\n \\"Commands\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"ReadOnly\\": false,\\n \\"Name\\": \\"test-empty\\",\\n \\"SubPath\\": \\"/usr/sub\\"\\n }\\n ],\\n \\"Args\\": [\\n \\"[\\\\\\"hello\\\\\\"]\\"\\n ],\\n \\"Image\\": \\"mysql\\",\\n \\"Ports\\": [\\n {\\n \\"Protocol\\": \\"TCP\\",\\n \\"Port\\": 8080\\n }\\n ],\\n \\"RestartCount\\": 0,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"PreviousState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Completed\\"\\n },\\n \\"Tty\\": false,\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"CurrentState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Started\\"\\n },\\n \\"Ready\\": true,\\n \\"Gpu\\": 1,\\n \\"SecurityContext\\": {\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1000,\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"[NET_ADMIN]\\"\\n ]\\n }\\n },\\n \\"Memory\\": 2,\\n \\"Stdin\\": true,\\n \\"Name\\": \\"nginx\\",\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"ReadinessProbe\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"InitialDelaySeconds\\": 5,\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 8888\\n },\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"HttpGet\\": {\\n \\"Scheme\\": \\"HTTP\\",\\n \\"Path\\": \\"/usr/local\\",\\n \\"Port\\": 8080\\n },\\n \\"PeriodSeconds\\": 1\\n }\\n }\\n ],\\n \\"EniInstanceId\\": \\"eni-bp14rzqi6fd8satm****\\",\\n \\"InitContainers\\": [\\n {\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"ReadOnly\\": false,\\n \\"Name\\": \\"test-empty\\"\\n }\\n ],\\n \\"Args\\": [\\n \\"[\'hello world\']\\"\\n ],\\n \\"Image\\": \\"nginx\\",\\n \\"Ports\\": [\\n {\\n \\"Protocol\\": \\"TCP\\",\\n \\"Port\\": 8888\\n }\\n ],\\n \\"RestartCount\\": 5,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"PreviousState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"completed\\"\\n },\\n \\"WorkingDir\\": \\"/usr/test\\",\\n \\"Cpu\\": 1,\\n \\"CurrentState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Running\\",\\n \\"Message\\": \\"Created container\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Started\\"\\n },\\n \\"Command\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"Ready\\": true,\\n \\"Gpu\\": 1,\\n \\"SecurityContext\\": {\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1557,\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n }\\n },\\n \\"Memory\\": 2,\\n \\"Name\\": \\"Init-xxx\\",\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ]\\n }\\n ],\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"TenantEniIp\\": \\"10.10.XX.XX\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"IntranetIp\\": \\"172.16.XX.XX\\",\\n \\"Ipv6Address\\": \\"2001:XXXX:4:4:4:4:4:4\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DnsConfig\\": {\\n \\"Searches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"Options\\": [\\n {\\n \\"Value\\": \\"value\\",\\n \\"Name\\": \\"name\\"\\n }\\n ],\\n \\"NameServers\\": [\\n \\"[10.2.*.*]\\"\\n ]\\n },\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"d-xxxx\\",\\n \\"NFSVolumeReadOnly\\": false,\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Content\\": \\"hello world\\"\\n }\\n ],\\n \\"FlexVolumeFsType\\": \\"ntfs\\",\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"FlexVolumeOptions\\": \\"[nolock,tcp,noresvport]\\",\\n \\"NFSVolumeServer\\": \\"0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"NFSVolumePath\\": \\"/eci\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"EmptyDirVolumeMedium\\": \\"Memory\\",\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\"\\n }\\n ],\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"VSwitchId\\": \\"vsw-bp1vzjjflab6wvjox****\\",\\n \\"Cpu\\": 2,\\n \\"ExpiredTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"EciSecurityContext\\": {\\n \\"Sysctls\\": [\\n {\\n \\"Value\\": \\"65536\\",\\n \\"Name\\": \\"kernel.msgmax\\"\\n }\\n ]\\n },\\n \\"FailedTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"ComputeCategory\\": \\"economy\\",\\n \\"DnsPolicy\\": \\"None\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerGroupsResponse>\\n <TotalCount>1</TotalCount>\\n <NextToken/>\\n <RequestId>CAABE95E-ED57-56CC-B361-48566745A3CC</RequestId>\\n <ContainerGroups>\\n <Discount>10</Discount>\\n <Memory>4</Memory>\\n <Containers>\\n <EnvironmentVars>\\n <ValueFrom>\\n <FieldRef/>\\n </ValueFrom>\\n <Value>/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</Value>\\n <Key>PATH</Key>\\n </EnvironmentVars>\\n <EnvironmentVars>\\n <ValueFrom>\\n <FieldRef/>\\n </ValueFrom>\\n <Value>1.15.10-1~stretch</Value>\\n <Key>NGINX_VERSION</Key>\\n </EnvironmentVars>\\n <EnvironmentVars>\\n <ValueFrom>\\n <FieldRef/>\\n </ValueFrom>\\n <Value>1.15.10.0.3.0-1~stretch</Value>\\n <Key>NJS_VERSION</Key>\\n </EnvironmentVars>\\n <ReadinessProbe>\\n <HttpGet/>\\n <TcpSocket/>\\n </ReadinessProbe>\\n <Memory>0</Memory>\\n <LivenessProbe>\\n <HttpGet/>\\n <TcpSocket/>\\n </LivenessProbe>\\n <Cpu>0</Cpu>\\n <Image>registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:latest</Image>\\n <Gpu>0</Gpu>\\n <PreviousState>\\n <FinishTime/>\\n <State/>\\n <StartTime/>\\n </PreviousState>\\n <Name>container-1</Name>\\n <RestartCount>0</RestartCount>\\n <Ready>true</Ready>\\n <WorkingDir/>\\n <ImagePullPolicy>IfNotPresent</ImagePullPolicy>\\n <CurrentState>\\n <FinishTime/>\\n <State>Running</State>\\n <StartTime>2021-09-08T02:49:52Z</StartTime>\\n </CurrentState>\\n <SecurityContext>\\n <Capability/>\\n </SecurityContext>\\n </Containers>\\n <Cpu>2</Cpu>\\n <EciSecurityContext/>\\n <FailedTime/>\\n <IntranetIp>172.16.XX.XX</IntranetIp>\\n <ContainerGroupName>container-group-1631069337474</ContainerGroupName>\\n <DnsConfig/>\\n <InternetIp/>\\n <ExpiredTime/>\\n <InstanceType>ecs.c5.large</InstanceType>\\n <SpotStrategy>SpotAsPriceGo</SpotStrategy>\\n <Status>Running</Status>\\n <ZoneId>cn-beijing-g</ZoneId>\\n <SucceededTime/>\\n <SecurityGroupId>sg-2ze81zoc3yl7a3we****</SecurityGroupId>\\n <VSwitchId>vsw-2ze23nqzig8inprou****</VSwitchId>\\n <RestartPolicy>Always</RestartPolicy>\\n <VpcId>vpc-2zeghwzptn5zii0w7****</VpcId>\\n <CreationTime>2021-09-08T02:49:40Z</CreationTime>\\n <EniInstanceId>eni-2ze80ferll5c3wjk****</EniInstanceId>\\n <ContainerGroupId>eci-2zeg7owsmm74shw8****</ContainerGroupId>\\n <RegionId>cn-beijing</RegionId>\\n </ContainerGroups>\\n</DescribeContainerGroupsResponse>","errorExample":""}]', - 'title' => 'DescribeContainerGroups', - 'summary' => 'Queries information about multiple elastic container instances at a time.', - 'description' => '* After an elastic container instance is terminated, its underlying computing resources are recycled. By default, other resources, such as elastic IP addresses (EIPs), that are created together with the instance are released together with the instance.'."\n" + 'title' => 'CreateImageCache', + 'summary' => 'You can call the CreateImageCache operation to create an image cache. This accelerates image pulling and reduces the startup time for Elastic Container Instance (ECI) instances.', + 'description' => '### Precautions'."\n" + ."\n" + .'- Creating an image cache incurs fees. Review the billing information before you proceed. For more information, see [Image cache billing](~~447682~~).'."\n" + ."\n" + .'- Before you create an image cache, evaluate the total size of the images to be cached. If the total image size exceeds the cache size, the creation fails.'."\n" ."\n" - .'* The metadata of an instance in the final status (Failed, Succeeded, or Expired) is retained based on the following rules:'."\n" + .'- When you create an image cache, the system automatically creates an ECI instance and an Enhanced SSD (ESSD) PL1 disk. Do not delete the ECI instance or the disk during the creation process. Otherwise, the image cache cannot be created.'."\n" ."\n" - .' * All metadata information is retained within 1 hour since the instance enters the final status.'."\n" - .' * One hour after the instance enters the final status, only the latest 100 entries of metadata information in each region are retained.'."\n", + .'- When you create an image cache, a corresponding snapshot is generated. Do not delete the snapshot. Otherwise, the image cache becomes invalid.'."\n" + ."\n" + .'- If you use a software development kit (SDK), make sure that you use one of the following versions or a later version: Java 1.0.10 or Python 1.0.7.'."\n" + ."\n" + .'### Usage suggestions'."\n" + ."\n" + .'- To enable password-free access for images from an ACR Enterprise instance that uses a custom domain name, set the AcrRegistryInfo parameters. When you set the AcrRegistryInfo parameters, you must also set the AcrRegistryInfo.N.InstanceId parameter.'."\n" + ."\n" + .'- If the image cache is used to create more than 1,000 ECI instances in a batch, set the StandardCopyCount and FlashCopyCount parameters to create multiple snapshot replicas. Multiple snapshot replicas are billed based on the incremental data size. Because the data in the snapshot replicas is the same, no additional fees are incurred.'."\n" + ."\n" + .'> When you call the CreateImageCache operation, the system automatically creates the service-linked role AliyunServiceRoleForECI. This role is used to access other Alibaba Cloud services such as ECS and VPC. For more information, see [Service-linked role for Elastic Container Instance](~~212914~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeContainerGroupStatus' => [ - 'summary' => 'Queries the statuses of multiple container groups at a time.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-09-26T09:30:38.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-08-02T06:28:43.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-27T03:46:10.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-06-24T08:52:00.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-28T16:20:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-28T16:20:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-10T07:37:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-08-12T06:21:27.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-06-10T01:40:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-06-10T01:40:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-04-27T03:03:09.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateImageCache'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\",\\n \\"ImageCacheId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"ContainerGroupId\\": \\"eci-2zebxkiifuyzzlhl****\\"\\n}","type":"json"}]', + ], + 'CreateInstanceOpsTask' => [ + 'summary' => 'Call CreateInstanceOpsTask to create an Operations and Maintenance (O&M) task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '45919', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92950', + 'abilityTreeNodes' => ['FEATUREeciXQE3ZY', 'FEATUREeciO9KN4L'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instances.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-k', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-uf6h3rbwbm90urjwa****', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the instances belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the instances. You can specify up to 20 IDs. Each ID must be a string in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]', - ], - ], - [ - 'name' => 'SinceSecond', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'A relative time in seconds before the current time from which to show elastic container instances whose status changes. This parameter is used to poll status of elastic container instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '60', - 'example' => '60', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Tag', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag that is bound to the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testKey', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The ID of the ECI instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eci-bp1dvysdafbh00t7****'], ], [ - 'name' => 'NextToken', + 'name' => 'OpsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.\\'."\n" - .'You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc', - ], + 'schema' => ['description' => 'The type of the O\\&M task. Valid values:'."\n" + ."\n" + .'- coredump'."\n" + ."\n" + .'- tcpdump', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'coredump'], ], [ - 'name' => 'Limit', + 'name' => 'OpsValue', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the maximum number of elastic container instances to be returned for this request. Default value: 200.'."\n" - ."\n" - .'> The number of returned resources can be less than or equal to the value of this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '200', - 'default' => '50', - ], + 'schema' => ['description' => 'The parameters for the O\\&M task. The parameters that you can set vary based on the value of OpsType.'."\n" + ."\n" + .'- If you set OpsType to coredump, valid values for OpsValue are:'."\n" + ."\n" + .' - enable: Enables coredump.'."\n" + ."\n" + .' - disable: Disables coredump.'."\n" + ."\n" + .'- If you set OpsType to tcpdump, set OpsValue to a JSON string of parameters. For example, `{"Enable":true, "IfDeviceName":"eth0"}`. The following parameters are available:'."\n" + ."\n" + .' - Enable: Specifies whether to enable tcpdump. This parameter is required. Set the value to true to enable tcpdump or false to disable it.'."\n" + ."\n" + .' - Protocol: The network protocol. Valid values: tcp, udp, and icmpv4.'."\n" + ."\n" + .' - SourceIp: The source IP address.'."\n" + ."\n" + .' - SourceCidr: The source CIDR block. The value must be in CIDR format. If you specify both an IP address and a CIDR block, the CIDR block takes precedence.'."\n" + ."\n" + .' - SourcePort: The source port. The value must be in the range of 1 to 65535.'."\n" + ."\n" + .' - DestIp: The destination IP address.'."\n" + ."\n" + .' - DestCidr: The destination CIDR block. The value must be in CIDR format. If you specify both an IP address and a CIDR block, the CIDR block takes precedence.'."\n" + ."\n" + .' - DestPort: The destination port. The value must be in the range of 1 to 65535.'."\n" + ."\n" + .' - IfDeviceName: The destination network interface card (NIC). The default value is eth0.'."\n" + ."\n" + .' - Snaplen: The length of the captured packet. The default value is 65535 bytes.'."\n" + ."\n" + .' - Duration: The capture duration. Unit: seconds.'."\n" + ."\n" + .' - PacketNum: The number of packets to capture.'."\n" + ."\n" + .' - FileSize: The size of the object file for the captured packets. Unit: bytes. The maximum value is 1073741824 bytes (1 GB).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'enable'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088', - ], - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Data' => [ - 'description' => 'The collection of the statuses of the container groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ContainerGroupId' => [ - 'description' => 'The ID of the container group.'."\n", - 'type' => 'string', - 'example' => 'eci-bp1jrgfqqy54kg5hc****', - ], - 'Name' => [ - 'description' => 'The name of the container group.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Namespace' => [ - 'description' => 'The namespace in which the container group resides.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Status' => [ - 'description' => 'The status of the container group.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'uuid' => [ - 'description' => 'The universally unique identifier (UUID) of the container group, which is similar to the unique identifier (UID) of the Kubernetes pod in terms of the concept and usage.'."\n", - 'type' => 'string', - 'example' => '78ee0657-987g-b8b2-1f507dic4****', - ], - 'Annotations' => [ - 'description' => 'Annotations that are added to the container groups.'."\n", - 'type' => 'string', - 'example' => '"{\\"tenancy.x-k8s.io/namespace\\":\\"redis\\"}"', - ], - 'PodStatus' => [ - 'description' => 'The status of the container group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Conditions' => [ - 'description' => 'The conditions of the container group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => 'The type of the condition. Valid values:'."\n" - ."\n" - .'* PodReadyToStartContainers'."\n" - .'* Initialized'."\n" - .'* Ready'."\n" - .'* ContainersReady'."\n" - .'* PodScheduled'."\n" - .'* ContainerHasSufficientDisk'."\n" - .'* ContainerInstanceCreated'."\n" - .'* Unschedulable'."\n", - 'type' => 'string', - 'example' => 'Ready', - ], - 'status' => [ - 'description' => 'The status of the condition.'."\n", - 'type' => 'string', - 'example' => 'True', - ], - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - 'lastTransitionTime' => [ - 'description' => 'The time when the status last changed.'."\n", - 'type' => 'string', - 'example' => '2021-05-12T07:02:47Z', - ], - ], - ], - ], - 'ContainerStatuses' => [ - 'description' => 'The statuses about the containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu:18.04', - ], - 'ImageID' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu@sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'ubuntu', - ], - 'Ready' => [ - 'description' => 'Indicates whether the container is ready.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RestartCount' => [ - 'description' => 'The number of times that the container restarted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Started' => [ - 'description' => 'Indicates whether the container is started.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'State' => [ - 'description' => 'The status of the container. Valid values:'."\n" - ."\n" - .'* Waiting'."\n" - .'* Running'."\n" - .'* Terminated'."\n", - 'type' => 'object', - 'properties' => [ - 'Waiting' => [ - 'description' => 'The container is waiting for being created.'."\n", - 'type' => 'object', - 'properties' => [ - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Back-off', - ], - ], - ], - 'Running' => [ - 'description' => 'The container is created and running.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartedAtstartedAt' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2021-05-23T20:49:31Z', - ], - ], - ], - 'Terminated' => [ - 'description' => 'The container is terminated and exits after a successful or failed running.'."\n", - 'type' => 'object', - 'properties' => [ - 'ContainerID' => [ - 'description' => 'The container ID.'."\n", - 'type' => 'string', - 'example' => 'containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******', - ], - 'ExitCode' => [ - 'description' => 'The exit code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'FinishedAt' => [ - 'description' => 'The time when the container ends running.'."\n", - 'type' => 'string', - 'example' => '2021-05-23T20:55:31Z', - ], - 'StartedAt' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2021-05-23T20:49:31Z', - ], - 'Signal' => [ - 'description' => 'The signal code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - ], - ], - ], - ], - 'LastState' => [ - 'description' => 'The last status of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Waiting' => [ - 'description' => 'The container is waiting for being created.'."\n", - 'type' => 'object', - 'properties' => [ - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Back-off', - ], - ], - ], - 'Running' => [ - 'description' => 'The container is created and running.'."\n", - 'type' => 'object', - 'properties' => [ - 'StartedAtstartedAt' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2021-05-23T20:49:31Z', - ], - ], - ], - 'Terminated' => [ - 'description' => 'The container is terminated and exits after a successful or failed running.'."\n", - 'type' => 'object', - 'properties' => [ - 'ContainerID' => [ - 'description' => 'The container ID.'."\n", - 'type' => 'string', - 'example' => 'containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******', - ], - 'ExitCode' => [ - 'description' => 'The exit code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'FinishedAt' => [ - 'description' => 'The time when the container ends running.'."\n", - 'type' => 'string', - 'example' => '2021-05-23T20:49:31Z', - ], - 'StartedAt' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2021-05-12T07:02:52Z', - ], - 'Signal' => [ - 'description' => 'The signal code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - ], - ], - ], - ], - ], - ], - ], - 'HostIp' => [ - 'description' => 'The IP address of the host.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'Phase' => [ - 'description' => 'The lifecycle phase of the container group.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'PodIp' => [ - 'description' => 'The IP address of the container group.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'PodIps' => [ - 'description' => 'The IP addresses of the container groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address of the container group.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - ], - ], - ], - 'QosClass' => [ - 'description' => 'The quality of service (QoS) of the container group.'."\n", - 'type' => 'string', - 'example' => 'Guaranteed', - ], - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2021-05-12T07:02:47Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B'], + 'Result' => ['description' => 'The result of the O\\&M task execution.', 'type' => 'string', 'title' => '', 'example' => 'Enable Success'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.MismatchInstanceType', - 'errorMessage' => 'The instanceId mismatch instance type.', + ['errorCode' => 'Coredump.RefrshIntervalTooShort', 'errorMessage' => 'The time interval since last setting too short, please try again later.', 'description' => ''], + ['errorCode' => 'Ops.TypeNotSupport', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'Coredump.RegionNotSupport', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'CorePattern.UpdateFail', 'errorMessage' => 'Update coredump settings fail, please try again later', 'description' => ''], + ['errorCode' => 'Coredump.InvalidCorePatternType', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidCorePatternValue', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidInstanceId.NotFound', 'errorMessage' => 'The specified instanceId does not exist', 'description' => ''], + ['errorCode' => 'Ops.InstanceNotSupport', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'Ops.IntervalTooShort', 'errorMessage' => 'The time interval since last setting too short, please try again later.', 'description' => ''], + ['errorCode' => 'Ops.RegionNotSupport', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'Ops.OpsValueInvalid', 'errorMessage' => 'Ops value check failed, please confirm by ops type and try again later.', 'description' => ''], + ['errorCode' => 'Ops.ExecuteTaskFail', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'Tcpdump.InvalidValue', 'errorMessage' => '%s', 'description' => ''], + ], + ], + 'title' => 'CreateInstanceOpsTask', + 'description' => '## API description'."\n" + ."\n" + .'O\\&M tasks support the following two types:'."\n" + ."\n" + .'- coredump: After you enable coredump, the system generates a core file when a container ends abnormally. This file helps you analyze the issue and determine its cause. For more information, see [Enable coredump](~~167801~~).'."\n" + ."\n" + .'- tcpdump: After you enable tcpdump, the system captures network packets. This helps you analyze messages and locate network issues. For more information, see [Enable tcpdump](~~429749~~).', + 'changeSet' => [ + ['createdAt' => '2022-06-20T09:27:52.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-12-17T02:12:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-12-17T02:12:03.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateInstanceOpsTask', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"TotalCount\\": 1,\\n \\"Data\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"Name\\": \\"nginx\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Status\\": \\"Running\\",\\n \\"uuid\\": \\"78ee0657-987g-b8b2-1f507dic4****\\",\\n \\"Annotations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"tenancy.x-k8s.io/namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"redis\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"PodStatus\\": {\\n \\"Conditions\\": [\\n {\\n \\"type\\": \\"Ready\\",\\n \\"status\\": \\"True\\",\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\",\\n \\"lastTransitionTime\\": \\"2021-05-12T07:02:47Z\\"\\n }\\n ],\\n \\"ContainerStatuses\\": [\\n {\\n \\"Image\\": \\"registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu:18.04\\",\\n \\"ImageID\\": \\"registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu@sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d\\",\\n \\"Name\\": \\"ubuntu\\",\\n \\"Ready\\": true,\\n \\"RestartCount\\": 1,\\n \\"Started\\": true,\\n \\"State\\": {\\n \\"Waiting\\": {\\n \\"Reason\\": \\"Started\\",\\n \\"Message\\": \\"Back-off\\"\\n },\\n \\"Running\\": {\\n \\"StartedAtstartedAt\\": \\"2021-05-23T20:49:31Z\\"\\n },\\n \\"Terminated\\": {\\n \\"ContainerID\\": \\"containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******\\",\\n \\"ExitCode\\": 0,\\n \\"FinishedAt\\": \\"2021-05-23T20:55:31Z\\",\\n \\"StartedAt\\": \\"2021-05-23T20:49:31Z\\",\\n \\"Signal\\": 1,\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\"\\n }\\n },\\n \\"LastState\\": {\\n \\"Waiting\\": {\\n \\"Reason\\": \\"Started\\",\\n \\"Message\\": \\"Back-off\\"\\n },\\n \\"Running\\": {\\n \\"StartedAtstartedAt\\": \\"2021-05-23T20:49:31Z\\"\\n },\\n \\"Terminated\\": {\\n \\"ContainerID\\": \\"containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******\\",\\n \\"ExitCode\\": 0,\\n \\"FinishedAt\\": \\"2021-05-23T20:49:31Z\\",\\n \\"StartedAt\\": \\"2021-05-12T07:02:52Z\\",\\n \\"Signal\\": 1,\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\"\\n }\\n }\\n }\\n ],\\n \\"HostIp\\": \\"192.168.XX.XX\\",\\n \\"Phase\\": \\"Running\\",\\n \\"PodIp\\": \\"192.168.XX.XX\\",\\n \\"PodIps\\": [\\n {\\n \\"Ip\\": \\"192.168.XX.XX\\"\\n }\\n ],\\n \\"QosClass\\": \\"Guaranteed\\",\\n \\"StartTime\\": \\"2021-05-12T07:02:47Z\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerGroupStatusResponse>\\n <RequestId>1340C38D-6189-54D1-86F6-7D5ECF3E0088</RequestId>\\n <NextToken>d78f2dd8-5979-42fe-****-b16db43be5bc</NextToken>\\n <TotalCount>1</TotalCount>\\n <Data>\\n <ContainerGroupId>eci-bp1jrgfqqy54kg5hc****</ContainerGroupId>\\n <Name>nginx</Name>\\n <Namespace>default</Namespace>\\n <Status>Running</Status>\\n <uuid>78ee0657-987g-b8b2-1f507dic4****</uuid>\\n <PodStatus>\\n <Conditions>\\n <type>Ready</type>\\n <status>True</status>\\n <Reason>Completed</Reason>\\n <Message>Completed</Message>\\n <lastTransitionTime>2021-05-12T07:02:47Z</lastTransitionTime>\\n </Conditions>\\n <ContainerStatuses>\\n <Image>registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu:18.04</Image>\\n <ImageID>registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu@sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d</ImageID>\\n <Name>ubuntu</Name>\\n <Ready>true</Ready>\\n <RestartCount>1</RestartCount>\\n <Started>true</Started>\\n <State>\\n <Waiting>\\n <Reason>Started</Reason>\\n <Message>Back-off</Message>\\n </Waiting>\\n <Running>\\n <StartedAtstartedAt>2021-05-23T20:49:31Z</StartedAtstartedAt>\\n </Running>\\n <Terminated>\\n <ContainerID>containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******</ContainerID>\\n <ExitCode>0</ExitCode>\\n <FinishedAt>2021-05-23T20:55:31Z</FinishedAt>\\n <StartedAt>2021-05-23T20:49:31Z</StartedAt>\\n <Signal>1</Signal>\\n <Reason>Completed</Reason>\\n <Message>Completed</Message>\\n </Terminated>\\n </State>\\n <LastState>\\n <Waiting>\\n <Reason>Started</Reason>\\n <Message>Back-off</Message>\\n </Waiting>\\n <Running>\\n <StartedAtstartedAt>2021-05-23T20:49:31Z</StartedAtstartedAt>\\n </Running>\\n <Terminated>\\n <ContainerID>containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******</ContainerID>\\n <ExitCode>0</ExitCode>\\n <FinishedAt>2021-05-23T20:49:31Z</FinishedAt>\\n <StartedAt>021-05-12T07:02:52Z</StartedAt>\\n <Signal>1</Signal>\\n <Reason>Completed</Reason>\\n <Message>Completed</Message>\\n </Terminated>\\n </LastState>\\n </ContainerStatuses>\\n <HostIp>192.168.XX.XX</HostIp>\\n <Phase>Running</Phase>\\n <PodIp>192.168.XX.XX</PodIp>\\n <PodIps>\\n <Ip>192.168.XX.XX</Ip>\\n </PodIps>\\n <QosClass>Guaranteed</QosClass>\\n <StartTime>2021-05-12T07:02:47Z</StartTime>\\n </PodStatus>\\n </Data>\\n</DescribeContainerGroupStatusResponse>","errorExample":""}]', - 'title' => 'DescribeContainerGroupStatus', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B\\",\\n \\"Result\\": \\"Enable Success\\"\\n}","type":"json"}]', ], - 'DescribeContainerGroupEvents' => [ - 'summary' => 'Queries event information about multiple container groups at a time.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateVirtualNode' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '48556', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREeciOZ73BH', 'FEATUREeciESSPHI'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-k', - ], + 'schema' => ['description' => 'The ID of the security group. The virtual node and the ECI instances in the virtual node are added to this security group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-b'], ], [ - 'name' => 'VSwitchId', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-uf6h3rbwbm90urjwa****', - ], + 'schema' => ['description' => 'The ID of the vSwitch used by the virtual node and the ECI instances on the virtual node.<br>'."\n" + .'You can specify 1 to 10 vSwitches that belong to the same VPC.<br>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'sg-2ze81zoc3yl7a3we****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The name of the virtual node. The name must be 2 to 128 characters long and can contain lowercase letters, digits, periods (.), and hyphens (-).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vsw-2ze23nqzig8inprou****'], ], [ - 'name' => 'ContainerGroupIds', + 'name' => 'VirtualNodeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the elastic container instances. You can specify up to 20 IDs. Each ID must be a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'testNode'], ], [ - 'name' => 'Tag', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag that is added to the elastic container instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'Ensures the idempotence of the request. The client generates a value for this parameter. You must make sure that the value is unique for each request. The value can contain only ASCII characters and must be no more than 64 characters long. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'NextToken', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n" - ."\n" - .'You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc', - ], + 'schema' => ['description' => 'Specifies whether to enable internet access. The default is false.<br>'."\n" + .'If set to true, the virtual node is assigned a public IP address.<br>', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'EventSource', + 'name' => 'EnablePublicNetwork', 'in' => 'query', - 'schema' => [ - 'description' => 'The event source. Valid values:'."\n" - ."\n" - .'* EciService'."\n" - .'* K8sAgent'."\n" - ."\n" - .'This parameter is empty by default. This indicates that all events are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'K8sAgent', - 'enum' => [ - 'EciService', - 'K8sAgent', - ], - ], + 'schema' => ['description' => 'The ID of the Elastic IP Address.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'SinceSecond', + 'name' => 'EipInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'A relative time in seconds before the current time from which to show event information. This parameter is used to poll incremental events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '60', - 'example' => '60', - ], + 'schema' => ['description' => 'The KubeConfig of the Kubernetes cluster to which the virtual node connects. The value must be Base64-encoded.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eip-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'Limit', + 'name' => 'KubeConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of elastic container instances to be returned for this request. Default value: 200.'."\n" - ."\n" - .'> The number of elastic container instances to be returned is no greater than this parameter value.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'minimum' => '1', - 'example' => '200', - 'default' => '50', - ], + 'schema' => ['description' => 'The custom resources supported by the virtual node. If an ECI pod declares a corresponding custom resource in its request, the pod is scheduled to the virtual node.'."\n" + .'The format is `resource name=resource count`. Use a comma to separate multiple resources.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'JTVDbmFwaVZlcnNpb24lM0ElMjB2MSU1Q25jbHVzdGVycyUzQSU1Q24tJTIwY2x1c3RlciUzQSU1Q24uLi******'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries of returned events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Data' => [ - 'description' => 'Details of the events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ContainerGroupId' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'eci-uf6fonnghi50v6nq****', - ], - 'Name' => [ - 'description' => 'The name of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Namespace' => [ - 'description' => 'The namespace where the elastic container instance resides.'."\n", - 'type' => 'string', - 'example' => 'redis', - ], - 'uuid' => [ - 'description' => 'The UUID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => '3fc6b309-****-****', - ], - 'Annotations' => [ - 'description' => 'The annotations of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => '"{\\"tenancy.x-k8s.io/namespace\\":\\"redis\\"}"', - ], - 'Events' => [ - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The event type. Valid values:'."\n" - ."\n" - .'* Normal'."\n" - .'* Warning'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'Count' => [ - 'description' => 'The number of events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'FirstTimestamp' => [ - 'description' => 'The first occurrence time of the event.'."\n", - 'type' => 'string', - 'example' => '2021-10-04T09:08:04Z', - ], - 'LastTimestamp' => [ - 'description' => 'The most recent occurrence time of the event.'."\n", - 'type' => 'string', - 'example' => '2021-10-04T09:08:04Z', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Started container', - ], - 'Reason' => [ - 'description' => 'The cause of the event.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - 'ReportingComponent' => [ - 'description' => 'The component from which the event is reported.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ReportingInstance' => [ - 'description' => 'The instance from which the event is reported.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Source' => [ - 'description' => 'The source.'."\n", - 'type' => 'object', - 'properties' => [ - 'Component' => [ - 'description' => 'The component.'."\n", - 'type' => 'string', - 'example' => 'kubelet', - ], - 'Host' => [ - 'description' => 'The host.'."\n", - 'type' => 'string', - 'example' => 'eci', - ], - ], - ], - 'involvedObject' => [ - 'description' => 'The resource object that the event is about.'."\n", - 'type' => 'object', - 'properties' => [ - 'Kind' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'Pod', - ], - 'Name' => [ - 'description' => 'The resource name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Namespace' => [ - 'description' => 'The namespace where the resource resides.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Uid' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'eci-8vb5nkcq3a5cu0p3****', - ], - 'ApiVersion' => [ - 'description' => 'The version of Kubernetes.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - ], - ], - 'Metadata' => [ - 'description' => 'The metadata of the event.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The event name.'."\n", - 'type' => 'string', - 'example' => 'eci-uto-created-eci-for-ubuntu.167e3fb73cc7f9cb', - ], - 'Namespace' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.MismatchInstanceType', - 'errorMessage' => 'The instanceId mismatch instance type.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"TotalCount\\": 10,\\n \\"Data\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-uf6fonnghi50v6nq****\\",\\n \\"Name\\": \\"test\\",\\n \\"Namespace\\": \\"redis\\",\\n \\"uuid\\": \\"3fc6b309-****-****\\",\\n \\"Annotations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"tenancy.x-k8s.io/namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"redis\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"Count\\": 10,\\n \\"FirstTimestamp\\": \\"2021-10-04T09:08:04Z\\",\\n \\"LastTimestamp\\": \\"2021-10-04T09:08:04Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Reason\\": \\"Started\\",\\n \\"ReportingComponent\\": \\"test\\",\\n \\"ReportingInstance\\": \\"test\\",\\n \\"Source\\": {\\n \\"Component\\": \\"kubelet\\",\\n \\"Host\\": \\"eci\\"\\n },\\n \\"involvedObject\\": {\\n \\"Kind\\": \\"Pod\\",\\n \\"Name\\": \\"test\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Uid\\": \\"eci-8vb5nkcq3a5cu0p3****\\",\\n \\"ApiVersion\\": \\"v1\\"\\n },\\n \\"Metadata\\": {\\n \\"Name\\": \\"eci-uto-created-eci-for-ubuntu.167e3fb73cc7f9cb\\",\\n \\"Namespace\\": \\"default\\"\\n }\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerGroupEventsResponse>\\n <RequestId>1340C38D-6189-54D1-86F6-7D5ECF3E0088</RequestId>\\n <TotalCount>10</TotalCount>\\n <Data>\\n <ContainerGroupId>eci-uf6fonnghi50v6nq****</ContainerGroupId>\\n <Events>\\n <Type>Normal</Type>\\n <Count>10</Count>\\n <FirstTimestamp>2021-10-04T09:08:04Z</FirstTimestamp>\\n <LastTimestamp>2021-10-04T09:08:04Z</LastTimestamp>\\n <Message>Started container</Message>\\n <Reason>Started</Reason>\\n <ReportingComponent>test</ReportingComponent>\\n <ReportingInstance>test</ReportingInstance>\\n <Source>\\n <Component>kubelet</Component>\\n <Host>eci</Host>\\n </Source>\\n <involvedObject>\\n <Kind>Pod</Kind>\\n <Name>test</Name>\\n <Namespace>default</Namespace>\\n <Uid>eci-8vb5nkcq3a5cu0p3****</Uid>\\n <ApiVersion>v1</ApiVersion>\\n </involvedObject>\\n <Metadata>\\n <Name>eci-uto-created-eci-for-ubuntu.167e3fb73cc7f9cb</Name>\\n <Namespace>default</Namespace>\\n </Metadata>\\n </Events>\\n </Data>\\n</DescribeContainerGroupEventsResponse>","errorExample":""}]', - 'title' => 'DescribeContainerGroupEvents', - 'description' => 'You can call this operation to query the event information about multiple elastic container instances at a time. By default, the most recent 50 entries of events of each elastic container instance are returned.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ResizeContainerGroupVolume' => [ - 'summary' => 'Scales up a disk volume that is mounted to an elastic container instance.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '86142', - 'abilityTreeNodes' => [ - 'FEATUREeci0764O2', - 'FEATUREeciJCC6LW', - ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'CustomResources', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The domain name of the cluster. After configuration, Kubelet configures all containers to search this domain name in addition to the host\'s search domain.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'example1.com=100,example2.com=200'], ], [ - 'name' => 'RegionId', + 'name' => 'ClusterDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The IP addresses of the DNS servers. If `dnsPolicy=ClusterFirst` is set in an ECI pod, the pod uses these addresses for DNS.'."\n" + .'You can specify multiple IP addresses. Separate them with commas.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'example.com'], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'ClusterDNS', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', - ], + 'schema' => ['description' => 'The tags for the virtual node. You can specify a maximum of 20 tags.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '100.1.XX.XX'], ], [ - 'name' => 'ClientToken', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'title' => '幂等参数', - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', + 'description' => 'You can add up to 20 taints to the virtual node.', + 'type' => 'array', + 'items' => [ + 'description' => 'The taints to apply to the virtual node.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VolumeName', + 'name' => 'Taint', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the volume that is mounted to the elastic container instance. Only disk volumes can be scaled up.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'default-volume1', + 'description' => 'Specifies whether to enable TLS bootstrapping. If this feature is enabled, the KubeConfig certificate is used for TLS bootstrapping. Valid values:'."\n" + ."\n" + .'- true: Enabled'."\n" + ."\n" + .'- false: Disabled'."\n" + ."\n" + .'Default: false.', + 'type' => 'array', + 'items' => [ + 'description' => 'The taint of the virtual node.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the taint.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testKey'], + 'Value' => ['description' => 'The value of the taint.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testValue'], + 'Effect' => ['description' => 'The effect of the taint. Valid values:'."\n" + .'\\- NoSchedule: Pods cannot be scheduled to the tainted node.'."\n" + .'\\- NoExecute: Pods cannot be scheduled to the tainted node, and existing pods on the node are evicted.'."\n" + .'\\- PreferNoSchedule: Pods are preferentially not scheduled to the tainted node.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'NoSchedule'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NewSize', + 'name' => 'TlsBootstrapEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the volume after the volume is scaled up. Unit: GiB. Valid values:'."\n" - ."\n" - .'* Ultra disk (cloud_efficiency): 20 to 32768'."\n" - .'* Standard SSD (cloud_ssd): 20 to 32768'."\n" - .'* Enhanced SSD (cloud_essd): 20 to 32768'."\n" - .'* Basic disk (cloud): 5 to 2000'."\n" - ."\n" - .'> The capacity of the volume after the volume is scaled up must be greater than the original capacity of the volume. If the new capacity is equal to the original capacity of the volume, only the file system is scaled up.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '100', - ], + 'schema' => ['description' => 'Specifies whether to enable TLS bootstrapping. If this parameter is enabled, use the KubeConfig certificate for TLS bootstrapping. Valid values:'."\n" + .'\\- true'."\n" + .'\\- false'."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89164E78-FC82-4684-BE97-DCDD85D26546'], + 'VirtualNodeId' => ['description' => 'The virtual node ID.', 'type' => 'string', 'title' => '', 'example' => 'vnd-2ze960zkdqrldeaw****'], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '%s', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'ImageSnapshot.IncorrectStatus', 'errorMessage' => '%s', 'description' => 'The status of the specified snapshot is invalid.'], + ['errorCode' => 'ImageSnapshot.NotSupport', 'errorMessage' => '%s', 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'DiskNumber.LimitExceed', 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['errorCode' => 'InvalidPaymentMethod.InsufficientBalance', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['errorCode' => 'DiskVolume.NotInSameZone', 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', 'description' => ''], + ['errorCode' => 'HighCpuMemConfigRequired', 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'description' => ''], + ['errorCode' => 'LocalDiskAmountNotMatch', 'errorMessage' => 'The number of local volumes does not match the instance type.', 'description' => ''], + ['errorCode' => 'Payfor.CreditPayInsufficientBalance', 'errorMessage' => 'Your payment credit line is insufficient.', 'description' => 'Your payment credit line is insufficient.'], + ['errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'errorMessage' => 'KMS must be enabled for encrypted disks.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['errorCode' => 'Ipv6AddressNotSupportVsw', 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', 'description' => ''], + ['errorCode' => 'EipAddressPoolIpNotEnough', 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', 'description' => ''], + ['errorCode' => 'VnodeDedicatedHostIdAlreadyExist', 'errorMessage' => 'DedicatedHostId:%s of Vnode:%s already exists.', 'description' => ''], + ['errorCode' => 'DedicatedHostQuotaExceeded', 'errorMessage' => 'The quota of DedicatedHost is exceeded.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidVolumeType', - 'errorMessage' => 'The specified volumeName is invalid, only volume of cloud disk support capacity resize', - ], - [ - 'errorCode' => 'IncorrectStatusDetail', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidAction', - 'errorMessage' => 'The specified action is invalid ', - ], + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['errorCode' => 'Forbidden.AccountClosed', 'errorMessage' => 'The operation is forbidden. Your account has been closed.', 'description' => ''], + ['errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'description' => ''], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + [ + ['errorCode' => 'ImageSnapshot.NotFound', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => ''], + ['errorCode' => 'InvalidDiskId.NotFound', 'errorMessage' => 'The specified disk does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', 'errorMessage' => 'The specified KMSKeyId does not exist.', 'description' => 'The specified KMSKeyId does not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","errorExample":""},{"type":"xml","example":"<ResizeContainerGroupVolumeResponse>\\r\\n <RequestId>89945DD3-9072-47D0-A318-353284CFC7B3</RequestId>\\r\\n</ResizeContainerGroupVolumeResponse>","errorExample":""}]', - 'title' => 'ResizeContainerGroupVolume', - 'description' => '## [](#)Usage notes'."\n" + 'title' => 'CreateVirtualNode', + 'summary' => 'Creates a virtual node to connect a self-managed Kubernetes cluster to ECI and scale out resources.', + 'description' => '- When you call this operation to create a virtual node, the system automatically creates a service-linked role named AliyunServiceRoleForECIVnode. This role allows access to related Alibaba Cloud services, such as ECI, ECS, and VPC. For more information, see [Service-linked role for virtual nodes](~~311014~~).'."\n" ."\n" - .'* You can scale up volumes by calling this operation. You cannot scale down volumes by calling this operation.'."\n" - .'* Only volumes of the disk type can be scaled up. Volumes of other types cannot be scaled up.'."\n", + .'- Virtual nodes are billed based on their quantity. Each virtual node includes a resident node that is equivalent to an ECI instance with 2 vCPUs and 8 GiB of memory. You are charged instance fees for this ECI instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RestartContainerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-07-03T01:56:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-13T12:09:50.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2022-06-24T08:52:00.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-09-15T08:39:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-15T08:39:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-15T08:39:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-06T04:58:46.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89164E78-FC82-4684-BE97-DCDD85D26546\\",\\n \\"VirtualNodeId\\": \\"vnd-2ze960zkdqrldeaw****\\"\\n}","type":"json"}]', + ], + 'DeleteContainerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6653,51 +2774,40 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', + 'abilityTreeCode' => '17727', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', - ], + 'schema' => ['description' => 'The ID of the container group. This is also the ID of the ECI instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'A client-generated token that is used to ensure the idempotence of the request. Make sure that the token is unique for each request. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => 'Specifies whether to forcibly delete the resource. Valid values:'."\n" + ."\n" + .'- true: Forcibly deletes the resource without waiting for the graceful termination period to expire.'."\n" + ."\n" + .'- false (default): Deletes the resource after the graceful termination period expires.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], ], 'responses' => [ @@ -6705,123 +2815,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', - ], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '%s', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidAction', - 'errorMessage' => 'The specified action is invalid', - ], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'OperationConflict', 'errorMessage' => 'Request was denied due to conflict with a previous request.', 'description' => 'Request was denied due to conflict with a previous request.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","errorExample":""},{"type":"xml","example":"<RestartContainerGroupResponse>\\r\\n <RequestId>45D5B0AD-3B00-4A9B-9911-6D5303B06712</RequestId>\\r\\n<RestartContainerGroupResponse>","errorExample":""}]', - 'title' => 'RestartContainerGroup', - 'summary' => 'Restarts an elastic container instance.', - 'description' => '* Only elastic container instances that are in the Pending or Running state can be restarted. Instances that are in the Succeeded or Failed state cannot be restarted.'."\n" - .'* Elastic container instances that were created before 15:00:00 on March 7, 2019 cannot be restarted.'."\n" - .'* When an elastic container instance is being restarted, its status changes into Restarting.'."\n", + 'title' => 'DeleteContainerGroup', + 'summary' => 'You can call DeleteContainerGroup to delete an ECI instance.', + 'description' => 'You can delete ECI instances that you no longer use. Before you perform this operation, make sure that you understand the ECI instance lifecycle. For more information, see [ECI instance lifecycle](~~122385~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteContainerGroup' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2024-06-28T06:11:20.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteContainerGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","type":"json"}]', + ], + 'DeleteDataCache' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', - 'abilityTreeCode' => '17727', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '179691', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'DataCacheId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', - ], + 'schema' => ['description' => 'The data cache ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'edc-bp1a7n7uawwwol******'], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a unique value from your client. This value must be unique for different requests. The value can contain only ASCII characters and must be no more than 64 characters long. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '5e74729e-ce21-4c3e-9163-cbaf0f02768e'], ], [ - 'name' => 'Force', + 'name' => 'Bucket', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'Specifies whether to forcibly delete resources. Default value: false. Valid values:'."\n" - ."\n" - .'* true: forcibly deletes resources without waiting for the timeout period for graceful terminations.'."\n" - .'* false: waits for the timeout period for graceful terminations to delete resources.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The data cache bucket. The default value is default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => ['description' => 'The directory of the data cache in the virtual host.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/data/models/'], ], ], 'responses' => [ @@ -6829,45 +2914,41 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C0F8A012-1426-5EB2-96F5-B4416DEB5B78'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'OperationConflict', - 'errorMessage' => 'Request was denied due to conflict with a previous request.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteDataCache', + 'summary' => 'Deletes a data cache.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteContainerGroupResponse>\\r\\n <RequestId>45D5B0AD-3B00-4A9B-9911-6D5303B06712</RequestId>\\r\\n</DeleteContainerGroupResponse>","errorExample":""}]', - 'title' => 'DeleteContainerGroup', - 'summary' => 'Deletes a container group.', - 'description' => 'You can delete a container group that you no longer need. Before you delete a container group, make sure that you understand the lifecycle of container groups. For more information, see [Lifecycle of an elastic container instance](~~122385~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0F8A012-1426-5EB2-96F5-B4416DEB5B78\\"\\n}","type":"json"}]', ], - 'ExecContainerCommand' => [ - 'summary' => 'Runs commands in a container.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteImageCache' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6876,102 +2957,30 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '17739', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '17728', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ContainerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-2zebxkiifulhl****', - ], - ], - [ - 'name' => 'ContainerName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'nginx', - ], - ], - [ - 'name' => 'Command', - 'in' => 'query', - 'schema' => [ - 'description' => 'The commands to run in the container. You can specify up to 20 commands. Each command can be up to 256 characters in length.\\'."\n" - .'The strings must be in the JSON format. Example: `["/bin/sh", "-c", "ls -a"]`.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["/bin/sh", "-c", "ls -a"]', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TTY', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false.\\'."\n" - .'If the Command parameter is set to `/bin/bash`, set this parameter to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'Stdin', + 'name' => 'ImageCacheId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to read the commands from standard input (stdin). Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the image cache.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'imc-2zebxkiifuyzzlhl****'], ], [ - 'name' => 'Sync', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to immediately run the command and synchronously return the result. Default value: false.\\'."\n" - .'If this parameter is set to true, TTY must be set to false. Command cannot be set to `/bin/bash`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. The token must be unique among different requests. It can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], ], 'responses' => [ @@ -6979,185 +2988,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '28B583A8-313D-4383-7817-B5A9F7E0****', - ], - 'WebSocketUri' => [ - 'description' => 'The WebSocket URL. You can use this URL to establish a WebSocket connection with the container.'."\n", - 'type' => 'string', - 'example' => 'wss://eci-cn-shanghai.aliyun.com/exec/?s=ktHPx****', - ], - 'HttpUrl' => [ - 'description' => 'The HTTP URL. You can use this URL to enter the container within 30 seconds after this operation is called. For more information, see [Use and integrate the Elastic Container Instance terminal](~~202846~~).'."\n", - 'type' => 'string', - 'example' => 'https://eci.console.aliyun.com/terminal?param=X32a****', - ], - 'SyncResponse' => [ - 'description' => 'The output of the command. This parameter is returned only if Sync is set to true.'."\n", - 'type' => 'string', - 'example' => 'Hello', - ], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A218-354284CFC7A2'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.ValueExceeded', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"28B583A8-313D-4383-7817-B5A9F7E0****\\",\\n \\"WebSocketUri\\": \\"wss://eci-cn-shanghai.aliyun.com/exec/?s=ktHPx****\\",\\n \\"HttpUrl\\": \\"https://eci.console.aliyun.com/terminal?param=X32a****\\",\\n \\"SyncResponse\\": \\"Hello\\"\\n}","errorExample":""},{"type":"xml","example":"<ExecContainerCommandResponse>\\n <RequestId>28B583A8-313D-4383-7817-B5A9F7E0****</RequestId>\\n <WebSocketUri>wss://eci-cn-shanghai.aliyun.com/exec/?s=ktHPx****</WebSocketUri>\\n <HttpUrl>https://eci.console.aliyun.com/terminal?param=X32a****</HttpUrl>\\n</ExecContainerCommandResponse>","errorExample":""}]', - 'title' => 'ExecContainerCommand', + 'title' => 'DeleteImageCache', + 'summary' => 'You can call this operation to delete an image cache.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeContainerLog' => [ - 'summary' => 'Queries the logs of a container in a container group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A218-354284CFC7A2\\"\\n}","type":"json"}]', + ], + 'DeleteVirtualNode' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '17733', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ContainerGroupId', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-uf6fonnghi50v6nq****', - ], - ], - [ - 'name' => 'ContainerName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'nginx', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the RFC 3339 standard. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-08-02T15:00:00Z', - ], - ], - [ - 'name' => 'Tail', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the most recent log entries that you want to query. Default value: 500. Maximum value: 2000.\\'."\n" - .'A maximum of 1 MB log data can be returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LastTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the logs of the previous container if the container exits and restarts. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'SinceSeconds', - 'in' => 'query', - 'schema' => [ - 'description' => 'A relative time in seconds before the current time from which to show logs. Examples: 10, 20, and 30.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'LimitBytes', + 'name' => 'VirtualNodeId', 'in' => 'query', - 'schema' => [ - 'description' => 'The limit on the total size of logs. Unit: bytes. Valid values: 1 to 1048576(1 MB).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '123798', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a token on your client to make sure that the token is unique across different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vnd-2ze960zkdqrldeaw****'], ], [ - 'name' => 'Timestamps', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the timestamps of logs. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. The token must be unique across requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], ], 'responses' => [ @@ -7165,264 +3055,324 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CA850ADA-****-4AC8-****-5B5990EAB7D0', - ], - 'ContainerName' => [ - 'description' => 'The container name.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Content' => [ - 'description' => 'The content of the log.'."\n", - 'type' => 'string', - 'example' => '{}', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Unauthorized', - 'errorMessage' => 'You are not authorized to operate on the specified resource.', - ], + 400 => [ + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'ImageSnapshot.IncorrectStatus', 'errorMessage' => '%s', 'description' => 'The status of the specified snapshot is invalid.'], + ['errorCode' => 'ImageSnapshot.NotSupport', 'errorMessage' => '%s', 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'DiskNumber.LimitExceed', 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['errorCode' => 'InvalidPaymentMethod.InsufficientBalance', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['errorCode' => 'DiskVolume.NotInSameZone', 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', 'description' => ''], + ['errorCode' => 'HighCpuMemConfigRequired', 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'description' => ''], + ['errorCode' => 'LocalDiskAmountNotMatch', 'errorMessage' => 'The number of local volumes does not match the instance type.', 'description' => ''], + ['errorCode' => 'Payfor.CreditPayInsufficientBalance', 'errorMessage' => 'Your payment credit line is insufficient.', 'description' => 'Your payment credit line is insufficient.'], + ['errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'errorMessage' => 'KMS must be enabled for encrypted disks.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['errorCode' => 'Ipv6AddressNotSupportVsw', 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', 'description' => ''], + ['errorCode' => 'VirtualNode.DELETE.FAILED', 'errorMessage' => 'The vnode has eci on it, please delete eci first.', 'description' => ''], ], - 408 => [ - [ - 'errorCode' => 'Request Timeout', - 'errorMessage' => 'Request timed out, please try again later.', - ], + 403 => [ + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['errorCode' => 'Forbidden.AccountClosed', 'errorMessage' => 'The operation is forbidden. Your account has been closed.', 'description' => ''], + ['errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'description' => ''], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + [ + ['errorCode' => 'ImageSnapshot.NotFound', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => ''], + ['errorCode' => 'InvalidDiskId.NotFound', 'errorMessage' => 'The specified disk does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', 'errorMessage' => 'The specified KMSKeyId does not exist.', 'description' => 'The specified KMSKeyId does not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CA850ADA-****-4AC8-****-5B5990EAB7D0\\",\\n \\"ContainerName\\": \\"nginx\\",\\n \\"Content\\": \\"{}\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>CA850ADA-****-4AC8-****-5B5990EAB7D0</RequestId>\\n<ContainerName>nginx</ContainerName>\\n<Content>{}</Content>","errorExample":""}]', - 'title' => 'DescribeContainerLog', + 'title' => 'DeleteVirtualNode', + 'summary' => 'You can call the DeleteVirtualNode operation to delete a virtual node.', + 'description' => 'Before you call this operation, make sure that no Elastic Container Instance (ECI) instances exist on the node.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CommitContainer' => [ - 'summary' => 'Creates an asynchronous task to store a specified container in an elastic container instance as an image and pushes the image to an image repository of Alibaba Cloud Container Registry.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2022-09-08T09:25:20.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-06T04:58:46.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","type":"json"}]', + ], + 'DescribeAvailableResource' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '151229', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '103990', + 'abilityTreeNodes' => ['FEATUREeciY9GS39', 'FEATUREeci5NN3BU', 'FEATUREeciIT94P2', 'FEATUREeciCZBDK8'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ContainerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the container group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eci-bp1do4xz75fa5sd****', - ], + 'schema' => ['description' => 'The region ID.'."\n" + ."\n" + .'Call [DescribeRegions](~~146965~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerName', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'container-1', - ], + 'schema' => ['description' => 'The zone ID.'."\n" + ."\n" + .'If you do not specify this parameter, all zones in the specified region are queried.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cn-hangzhou-e'], ], [ - 'name' => 'Image', + 'name' => 'DestinationResource', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The image of the container.'."\n", + 'description' => 'The information about the resource to query.', 'type' => 'object', 'properties' => [ - 'Repository' => [ - 'description' => 'The image repository.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eastest/registry-test', - ], - 'Tag' => [ - 'description' => 'The tag of the image. This parameter is empty by default, which indicates that the tag is not modified.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0.0.6', - ], - 'Message' => [ - 'description' => 'The message about the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test commit', - ], - 'Author' => [ - 'description' => 'The authorization of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECI', - ], + 'Category' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- InstanceTypeFamily: Queries instance families. This value must be used with the Value parameter.'."\n" + ."\n" + .'- InstanceType: Queries instance types. This value must be used with the Value, Cores, and Memory parameters.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'InstanceTypeFamily'], + 'Value' => ['description' => 'The instance family or a specific instance type.'."\n" + ."\n" + .'- If you set Category to InstanceTypeFamily, set this parameter to an instance family, such as ecs.c5.'."\n" + ."\n" + .'- If you set Category to InstanceType, set this parameter to a specific instance type, such as ecs.c5.large.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.c6'], + 'Cores' => ['description' => 'The number of vCPUs. You can set this parameter only when Category is set to InstanceType.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '2'], + 'Memory' => ['description' => 'The memory size, in GiB. You can set this parameter only when Category is set to InstanceType.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '4'], ], - 'required' => false, + 'required' => true, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AcrRegistryInfo', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The access credential configurations of the Container Registry Enterprise Edition instance.'."\n" - ."\n" - .'> If you use a Container Registry Personal Edition instance, you do not need to configure this parameter. If you use a Container Registry Enterprise Edition instance, you must configure this parameter.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - 'ArnService' => [ - 'description' => 'The Alibaba Cloud Resource Access (ARN) of the RAM role that is assigned to the user (the authorized account) in cross-account authorization scenarios.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1609982529******:role/role-test', - ], - 'ArnUser' => [ - 'description' => 'The ARN of the RAM role that is assigned to the authorizer in cross-account authorization scenarios.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1298452580******:role/role-test', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The region ID.'."\n" + ."\n" + .'Call [DescribeRegions](~~146965~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Arn', + 'name' => 'SpotResource', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The details about the ARN that is required for authorization.'."\n", + 'description' => 'The information about the spot instance resource to query.', 'type' => 'object', 'properties' => [ - 'RoleArn' => [ - 'description' => 'The ARN of the authorized role.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram:xxx', - ], - 'RoleType' => [ - 'description' => 'The authorization type. A value of service indicates that RAM roles are used for authorization.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'user', - ], + 'SpotStrategy' => ['description' => 'The preemption policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: a spot instance for which you specify the maximum hourly price.'."\n" + ."\n" + .'- SpotAsPriceGo: a spot instance for which the system automatically bids based on the current market price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n" + ."\n" + .'> When you query information about a spot instance resource, if you set this parameter to SpotWithPriceLimit or SpotAsPriceGo, you must set Category to InstanceType. You must also specify an instance type using the Value parameter, or specify the number of vCPUs and memory size using the Cores and Memory parameters.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'SpotAsPriceGo'], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the spot instance. The value can have up to three decimal places. This parameter is required only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'double', 'required' => false, 'title' => '', 'example' => '0.2'], + 'SpotDuration' => ['description' => 'The protection period of the spot instance, in hours. The default value is 1. Set the value to 0 to specify no protection period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CB8D2B22-D636-4182-****-1FC9DBDAD66F', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 't-bp18cwvrb3v9tjk0tekz', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6829735A-FF76-58C6-AECB-27CBF135A7AA'], + 'AvailableZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableZone' => [ + 'description' => 'A collection of resource information for the zone.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-e'], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableResource' => [ + 'description' => 'A collection of information about the resources that are supported in the zone.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- InstanceTypeFamily: instance family.'."\n" + ."\n" + .'- InstanceType: instance type.', 'type' => 'string', 'title' => '', 'example' => 'InstanceTypeFamily'], + 'SupportedResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportedResource' => [ + 'description' => 'An array of resource information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The information about the supported ECS instance type.'."\n" + ."\n" + .'- If Type is InstanceTypeFamily, this parameter returns an instance family.'."\n" + ."\n" + .'- If Type is InstanceType, this parameter returns an instance type.', 'type' => 'string', 'title' => '', 'example' => 'ecs.c6'], + 'StatusCategory' => ['description' => 'The resource category based on inventory status. Valid values:'."\n" + ."\n" + .'- WithStock: The inventory is sufficient.'."\n" + ."\n" + .'- ClosedWithStock: The inventory is low. Select an instance type that is in the WithStock state.'."\n" + ."\n" + .'- WithoutStock: The inventory is sold out but will be replenished. Select an instance type that is in the WithStock state.'."\n" + ."\n" + .'- ClosedWithoutStock: The inventory is sold out and will not be replenished. Select an instance type that is in the WithStock state.', 'type' => 'string', 'title' => '', 'example' => 'WithStock'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '%s', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidVolumeType', - 'errorMessage' => 'The specified volumeName is invalid, only volume of cloud disk support capacity resize', - ], - [ - 'errorCode' => 'IncorrectStatusDetail', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidAction', - 'errorMessage' => 'The specified action is invalid ', - ], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory.', 'description' => 'We recommend that you use the create multi-zone function to avoid insufficient inventory. '], + ], + [ + ['errorCode' => 'InvalidParameter.NotFound', 'errorMessage' => '%s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CB8D2B22-D636-4182-****-1FC9DBDAD66F\\",\\n \\"TaskId\\": \\"t-bp18cwvrb3v9tjk0tekz\\"\\n}","errorExample":""},{"type":"xml","example":"<CommitContainerResponse>\\n <RequestId>CB8D2B22-D636-4182-****-1FC9DBDAD66F</RequestId>\\n <TaskId>t-bp18cwvrb3v9tjk0tekz</TaskId>\\n</CommitContainerResponse>","errorExample":""}]', - 'title' => 'CommitContainer', - 'description' => 'You must specify the Alibaba Cloud Resource Name (ARN) of the RAM role of the Container Registry Enterprise Edition instance to grant the elastic container instance to assume the RAM role to push images.'."\n", + 'title' => 'DescribeAvailableResource', + 'summary' => 'You can call the DescribeAvailableResource operation to query the ECS instance families that are available in a specified region and zone.', + 'description' => 'When you call the CreateContainerGroup operation to create an ECI instance, you can use the InstanceType parameter to specify an ECS instance type to meet specific requirements. To ensure that the ECI instance is created successfully, first call this operation to query the supported ECS instance types or instance families in a specific region and zone.', + 'changeSet' => [ + ['createdAt' => '2024-06-21T05:33:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-07-11T01:59:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-11-16T08:13:55.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-16T08:13:55.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6829735A-FF76-58C6-AECB-27CBF135A7AA\\",\\n \\"AvailableZones\\": {\\n \\"AvailableZone\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"Type\\": \\"InstanceTypeFamily\\",\\n \\"SupportedResources\\": {\\n \\"SupportedResource\\": [\\n {\\n \\"Value\\": \\"ecs.c6\\",\\n \\"StatusCategory\\": \\"WithStock\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeCommitContainerTask' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7433,66 +3383,36 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '150868', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the query. Set the value to the value of NextToken that is returned from the last request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAdDWBF2****', - ], + 'schema' => ['description' => 'The query credential. Set the value to the NextToken value returned in the last API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'AAAAAdDWBF2****'], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.\\'."\n" - .'Maximum value: 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries to return on each page.<br>'."\n" + .'Maximum value: 50.<br>'."\n" + .'Default value: 10.<br><br>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance on which the CommitContainer task is executed.\\'."\n" - .'You must enter the instance ID, the task ID, or both for the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', - ], + 'schema' => ['description' => 'The ID of the ECI instance on which the CommitContainer task is performed.<br>'."\n" + .'You must specify this parameter or TaskId.<br>', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], ], [ 'name' => 'TaskStatus', @@ -7500,16 +3420,15 @@ 'schema' => [ 'description' => 'The status of the task. Valid values:'."\n" ."\n" - .'* Running'."\n" - .'* Succeeded'."\n" - .'* Failed'."\n", + .'- Running'."\n" + ."\n" + .'- Succeeded'."\n" + ."\n" + .'- Failed', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Succeeded' => 'Succeeded', - 'Failed' => 'Failed', - 'Running' => 'Running', - ], + 'enumValueTitles' => ['Succeeded' => 'Succeeded', 'Failed' => 'Failed', 'Running' => 'Running'], + 'title' => '', 'example' => 'Running', ], ], @@ -7518,18 +3437,15 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the task.'."\n", + 'description' => 'The task ID.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the task.\\'."\n" - .'You must enter the instance ID, the task ID, or both for the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 't-2zej6nstkg744qc3****', - ], + 'items' => ['description' => 'The task ID.<br>'."\n" + .'You must specify this parameter or ContainerGroupId.<br>', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 't-2zej6nstkg744qc3****'], 'required' => false, 'maxItems' => 10, 'minItems' => 0, + 'title' => '', + 'example' => '', ], ], ], @@ -7538,744 +3454,378 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'NextToken' => [ - 'description' => 'The query token that is returned in this request.'."\n", - 'type' => 'string', - 'example' => 'AAAAAdDWBF2****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', - ], - 'MaxResults' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'string', - 'example' => '20', - ], + 'TotalCount' => ['description' => 'The total number of entries that match the query conditions.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'NextToken' => ['description' => 'The query credential returned in this call.', 'type' => 'string', 'title' => '', 'example' => 'AAAAAdDWBF2****'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'], + 'MaxResults' => ['description' => 'The number of entries displayed on each page.', 'type' => 'string', 'title' => '', 'example' => '20'], 'CommitTasks' => [ - 'description' => 'Details of the task.'."\n", + 'description' => 'The details of the tasks.', 'type' => 'array', 'items' => [ - 'description' => 'The details of the task.'."\n", + 'description' => 'The details of the task.', 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 't-2zej6nstkg744qc3****', - ], - 'TaskStatus' => [ - 'description' => 'The state of the task. Valid values:'."\n" - ."\n" - .'* Running'."\n" - .'* Succeeded'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'TaskProgress' => [ - 'description' => 'The progress of the task in percentage.'."\n", - 'type' => 'string', - 'example' => '50%', - ], - 'StatusMessage' => [ - 'description' => 'The message about the state.'."\n", - 'type' => 'string', - 'example' => 'Commit container -xxxxxx', - ], - 'ContainerName' => [ - 'description' => 'The container name.'."\n", - 'type' => 'string', - 'example' => 'worker0', - ], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'title' => '', 'example' => 't-2zej6nstkg744qc3****'], + 'TaskStatus' => ['description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Succeeded'."\n" + ."\n" + .'- Failed', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'TaskProgress' => ['description' => 'The progress of the task in percentage.', 'type' => 'string', 'title' => '', 'example' => '50%'], + 'StatusMessage' => ['description' => 'The status message.', 'type' => 'string', 'title' => '', 'example' => 'Commit container -xxxxxx'], + 'ContainerName' => ['description' => 'The container name.', 'type' => 'string', 'title' => '', 'example' => 'worker0'], 'CommitPhaseInfos' => [ - 'description' => 'The information about the phase that the task arrives.'."\n", + 'description' => 'The information about the task phases.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the phase that the task arrives.'."\n", + 'description' => 'The information about the task phase.', 'type' => 'object', 'properties' => [ - 'Phase' => [ - 'description' => 'The phase name. Valid values:'."\n" - ."\n" - .'* PullBaseImage: Pull the original container image.'."\n" - .'* CommitContainer: Commit the container to generate an image.'."\n" - .'* PushCommittedImage: Push the image to Container Registry.'."\n", - 'type' => 'string', - 'example' => 'PullBaseImage', - ], - 'Status' => [ - 'description' => 'The state of the phase.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'The message about the phase.'."\n", - 'type' => 'string', - 'example' => 'Pull base image for container container-1 successfully', - ], - 'RecordTime' => [ - 'description' => 'The record time of the phase.'."\n", - 'type' => 'string', - 'example' => '2023-01-05T14:06:40.920005316+08:00', - ], + 'Phase' => ['description' => 'The name of the phase. Valid values:'."\n" + ."\n" + .'- PullBaseImage: Pulls the original container image.'."\n" + ."\n" + .'- CommitContainer: Commits the container to generate an image.'."\n" + ."\n" + .'- PushCommittedImage: Pushes the image to ACR.', 'type' => 'string', 'title' => '', 'example' => 'PullBaseImage'], + 'Status' => ['description' => 'The status of the phase.', 'type' => 'string', 'title' => '', 'example' => 'Success'], + 'Message' => ['description' => 'The information about the phase.', 'type' => 'string', 'title' => '', 'example' => 'Pull base image for container container-1 successfully'], + 'RecordTime' => ['description' => 'The time of the phase.', 'type' => 'string', 'title' => '', 'example' => '2023-01-05T14:06:40.920005316+08:00'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'TaskCreationTime' => [ - 'description' => 'The time when the task was started.'."\n", - 'type' => 'string', - 'example' => '2023-03-06T08:22:40Z', - ], - 'TaskFinishedTime' => [ - 'description' => 'The time when the task was complete.'."\n", - 'type' => 'string', - 'example' => '2023-03-06T08:23:40Z', - ], + 'TaskCreationTime' => ['description' => 'The time when the task started.', 'type' => 'string', 'title' => '', 'example' => '2023-03-06T08:22:40Z'], + 'TaskFinishedTime' => ['description' => 'The time when the task was complete.', 'type' => 'string', 'title' => '', 'example' => '2023-03-06T08:23:40Z'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 5,\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\",\\n \\"MaxResults\\": \\"20\\",\\n \\"CommitTasks\\": [\\n {\\n \\"TaskId\\": \\"t-2zej6nstkg744qc3****\\",\\n \\"TaskStatus\\": \\"Running\\",\\n \\"TaskProgress\\": \\"50%\\",\\n \\"StatusMessage\\": \\"Commit container -xxxxxx\\",\\n \\"ContainerName\\": \\"worker0\\",\\n \\"CommitPhaseInfos\\": [\\n {\\n \\"Phase\\": \\"PullBaseImage\\",\\n \\"Status\\": \\"Success\\",\\n \\"Message\\": \\"Pull base image for container container-1 successfully\\",\\n \\"RecordTime\\": \\"2023-01-05T14:06:40.920005316+08:00\\"\\n }\\n ],\\n \\"TaskCreationTime\\": \\"2023-03-06T08:22:40Z\\",\\n \\"TaskFinishedTime\\": \\"2023-03-06T08:23:40Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCommitContainerTaskResponse>\\n <TotalCount>1</TotalCount>\\n <CommitTasks>\\n <TaskId>t-2zej6nstkg744qc3****</TaskId>\\n <ContainerName>container-1</ContainerName>\\n <CommitPhaseInfos>\\n <Status>Running</Status>\\n <RecordTime>2023-01-05T16:19:28.969043719+08:00</RecordTime>\\n <Phase>PullBaseImage</Phase>\\n <Message>Start pulling base image for container container-1</Message>\\n </CommitPhaseInfos>\\n <CommitPhaseInfos>\\n <Status>Success</Status>\\n <RecordTime>2023-01-05T16:19:30.828749277+08:00</RecordTime>\\n <Phase>PullBaseImage</Phase>\\n <Message>Pull base image for container container-1 successfully</Message>\\n </CommitPhaseInfos>\\n <CommitPhaseInfos>\\n <Status>Running</Status>\\n <RecordTime>2023-01-05T16:19:30.828751003+08:00</RecordTime>\\n <Phase>CommitContainer</Phase>\\n <Message>Start to commit container container-1 to image registry-vpc.cn-beijing.aliyuncs.com/jsy-test/jsy-registry:0.0.1</Message>\\n </CommitPhaseInfos>\\n <CommitPhaseInfos>\\n <Status>Success</Status>\\n <RecordTime>2023-01-05T16:19:31.149874126+08:00</RecordTime>\\n <Phase>CommitContainer</Phase>\\n <Message>Commit container container-1 to image registry-vpc.cn-beijing.aliyuncs.com/jsy-test/jsy-registry:0.0.1 successfully </Message>\\n </CommitPhaseInfos>\\n <CommitPhaseInfos>\\n <Status>Running</Status>\\n <RecordTime>2023-01-05T16:19:31.149874907+08:00</RecordTime>\\n <Phase>PushCommittedImage</Phase>\\n <Message>Start to push image container-1:registry-vpc.cn-beijing.aliyuncs.com/jsy-test/jsy-registry</Message>\\n </CommitPhaseInfos>\\n <CommitPhaseInfos>\\n <Status>Success</Status>\\n <RecordTime>2023-01-05T16:19:32.979481284+08:00</RecordTime>\\n <Phase>PushCommittedImage</Phase>\\n <Message>Push image registry-vpc.cn-beijing.aliyuncs.com/***-test/***-registry:1.0.1 successfully</Message>\\n </CommitPhaseInfos>\\n <CreationTime>2023-01-05T16:19:28Z</CreationTime>\\n <TaskStatus>Succeeded</TaskStatus>\\n <FinishedTime>2023-01-05T16:19:40Z</FinishedTime>\\n </CommitTasks>\\n <NextToken/>\\n <RequestId>42E65299-8224-5D4A-915E-5AEC04A523FC</RequestId>\\n</DescribeCommitContainerTaskResponse>","errorExample":""}]', 'title' => 'DescribeCommitContainerTask', - 'summary' => 'Queries the details of a CommitContainer task.', - ], - 'CreateImageCache' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'The DescribeCommitContainerTask operation queries the details of a CommitContainer task.', + 'changeSet' => [ + ['createdAt' => '2023-08-01T02:38:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-08-01T02:29:38.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeCommitContainerTask', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'CommitContainerTask', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 5,\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\",\\n \\"MaxResults\\": \\"20\\",\\n \\"CommitTasks\\": [\\n {\\n \\"TaskId\\": \\"t-2zej6nstkg744qc3****\\",\\n \\"TaskStatus\\": \\"Running\\",\\n \\"TaskProgress\\": \\"50%\\",\\n \\"StatusMessage\\": \\"Commit container -xxxxxx\\",\\n \\"ContainerName\\": \\"worker0\\",\\n \\"CommitPhaseInfos\\": [\\n {\\n \\"Phase\\": \\"PullBaseImage\\",\\n \\"Status\\": \\"Success\\",\\n \\"Message\\": \\"Pull base image for container container-1 successfully\\",\\n \\"RecordTime\\": \\"2023-01-05T14:06:40.920005316+08:00\\"\\n }\\n ],\\n \\"TaskCreationTime\\": \\"2023-03-06T08:22:40Z\\",\\n \\"TaskFinishedTime\\": \\"2023-03-06T08:23:40Z\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeContainerGroupEvents' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '17725', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '48556', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-k'], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch. You can specify up to 10 vSwitch IDs. Separate multiple vSwitch IDs with commas (,). Example: `vsw-***,vsw-***`.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'vsw-uf6h3rbwbm90urjwa****', - ], - ], - [ - 'name' => 'ImageCacheName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testcache', - ], - ], - [ - 'name' => 'EipInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic IP address (EIP). If you want to pull images over the Internet, make sure that the elastic container instance can access the Internet. You can configure an EIP or a NAT gateway for the elastic container instance to access the Internet.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-2zedsm5mfl3uhdj2d****', - ], + 'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-uf6h3rbwbm90urjwa****'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzh43v*****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx', - ], - ], - [ - 'name' => 'ImageCacheSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the image cache. Unit: GiB. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'RetentionDays', - 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period of the image cache. Unit: days. When the retention period ends, the image cache expires and is deleted. By default, image caches never expire.'."\n" - ."\n" - .'> The image caches that fail to be created are only retained for one day.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], - ], - [ - 'name' => 'AutoMatchImageCache', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable reuse of image cache layers. If you enable this feature, and the image cache that you want to create and an existing image cache contain duplicate image layers, the system reuses the duplicate image layers to create the new image cache. This accelerates the creation of the image cache. Valid values:'."\n" - ."\n" - .'* true: enables reuse of image cache layers.'."\n" - .'* false: disables reuse of image cache layers.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'ImageRegistryCredential', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The image repository.', - 'type' => 'array', - 'items' => [ - 'description' => 'The image repository.', - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to log on to image repository N.', - 'type' => 'string', - 'required' => false, - 'example' => 'password', - ], - 'Server' => [ - 'description' => 'The address of the image repository without the `http://` or `https://` prefix.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to log on to image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'username', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], - ], - [ - 'name' => 'Image', + 'name' => 'ContainerGroupIds', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Container image N that is used to create the image cache.', - 'type' => 'array', - 'items' => [ - 'description' => 'Container image N that is used to create the image cache.', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - ], - 'required' => true, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - 'maxItems' => 101, - ], + 'schema' => ['description' => 'The IDs of the ECI instances. You can specify up to 20 IDs. The value must be a JSON-formatted string.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tag of the image cache.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the image cache.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N of the image cache. Valid values of N: 1 to 20.', - 'type' => 'string', - 'required' => false, - 'example' => 'imc', - ], - 'Value' => [ - 'description' => 'The value of tag N of the image cache. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'Flash', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the instant image cache feature. The feature can accelerate the creation of image caches. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'AcrRegistryInfo', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance. For more information, see [Pull images from a Container Registry Enterprise Edition instance without using secrets](~~194250~~).', + 'description' => 'The tags that are attached to the ECI instances.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance. For more information, see [Pull images from a Container Registry Enterprise Edition instance without using secrets](~~194250~~).', + 'description' => 'The tags that are attached to the ECI instances.', 'type' => 'object', 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify multiple domain names. Separate multiple domain names with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name N of Container Registry Enterprise Edition instance N. All domain names of instance N are displayed by default. You can specify one or more domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test****-registry.cn-beijing.cr.aliyuncs.com', - ], - 'required' => false, - 'example' => 'test****-registry.cn-beijing.cr.aliyuncs.com', - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of Container Registry Enterprise Edition instance N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test****', - ], - 'InstanceId' => [ - 'description' => 'The ID of Container Registry Enterprise Edition instance N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of Container Registry Enterprise Edition instance N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'ArnService' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM roles in the Alibaba Cloud account to which the elastic container instance belongs.', - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1609982529******:role/role-assume', - ], - 'ArnUser' => [ - 'description' => 'The ARN of the RAM roles in the Alibaba Cloud account to which the Container Registry Enterprise Edition instance belongs.', - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::1298452580******:role/role-acr', - ], + 'Value' => ['description' => 'The tag value of the ECI instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Key' => ['description' => 'The tag key of the ECI instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'Annotations', - 'in' => 'query', - 'schema' => [ - 'description' => 'Comments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hide', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PlainHttpRegistry', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the self-managed image repository. When you create an image cache by using an image in a self-managed image repository that uses the HTTP protocol, you must specify this parameter. This way, Elastic Container Instance uses the HTTP protocol instead of the default HTTPS protocol to pull the image. This can prevent the image from failing to pull due to different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', - ], + 'schema' => ['description' => 'The token that is used to start the next query. If this parameter is left empty, no more data is returned.'."\n" + ."\n" + .'You do not need to set this parameter for the first query. Obtain the token for subsequent queries from the response.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc'], ], [ - 'name' => 'InsecureRegistry', + 'name' => 'EventSource', 'in' => 'query', 'schema' => [ - 'description' => 'The address of the self-managed image repository.'."\n" + 'description' => 'The event source. Valid values:'."\n" ."\n" - .'When you create an image cache by using an image in a self-managed image repository that uses a self-signed certificate, you must specify this parameter to skip the certificate authentication. This can prevent the image from failing to pull due to certificate authentication failures.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"', - ], - ], - [ - 'name' => 'StandardCopyCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of regular snapshots. By default, the system creates one snapshot for each image cache. If an image cache is used to create multiple elastic container instances at a time, we recommend that you set this parameter to create multiple snapshots for the image cache. We recommend that you create one snapshot for creation of every 1,000 elastic container instances.'."\n" + .'- EciService'."\n" ."\n" - .'> If you set the Flash parameter to false, instant image cache is disabled. In this case, only regular snapshots are generated during the creation of the image cache.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], - ], - [ - 'name' => 'FlashCopyCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of temporary local snapshots. By default, the system creates one snapshot for each image cache. If an image cache is used to create multiple elastic container instances at a time, we recommend that you set this parameter to create multiple snapshots for the image cache. We recommend that you create one snapshot for creation of every 1,000 elastic container instances.'."\n" + .'- K8sAgent'."\n" ."\n" - .'> If you set the Flash parameter to true, instant image cache is enabled. During the creation of the image cache, the system first creates a temporary local snapshot for you to instantly use the snapshot. After the temporary local snapshot is created, the system begins to create a regular snapshot. After the regular snapshot is created, the temporary local snapshot is automatically deleted.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'If you leave this parameter empty, all events are queried.', + 'type' => 'string', 'required' => false, - 'example' => '7', + 'enum' => ['EciService', 'K8sAgent'], + 'title' => '', + 'example' => 'K8sAgent', ], ], [ - 'name' => 'EliminationStrategy', + 'name' => 'SinceSecond', 'in' => 'query', - 'schema' => [ - 'description' => 'The elimination policy of the image cache. This parameter is empty by default, which indicates that the image cache is always retained.'."\n" - ."\n" - .'You can set this parameter to LRU, which indicates that the image cache can be automatically deleted. When the number of image caches reaches the quota, the system automatically deletes the image caches whose EliminationStrategy parameter is set to LRU and that are least commonly used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'LRU', - ], + 'schema' => ['description' => 'Returns only new events to enable incremental polling.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '60', 'title' => '', 'example' => '60'], ], [ - 'name' => 'OsType', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The operating system of the image. Default value: Linux. Valid values:'."\n" - ."\n" - .'- Linux'."\n" - .'- Windows'."\n" - ."\n" - .'> Windows instances are in invitational preview. To use the operating system, submit a ticket.', - 'type' => 'string', - 'required' => false, - 'example' => 'Linux', - ], + 'schema' => ['description' => 'The maximum number of ECI instances to return. Default value: 200.'."\n" + ."\n" + .'> The response may contain fewer entries than the specified value.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'minimum' => '1', 'default' => '50', 'title' => '', 'example' => '200'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD', - ], - 'ImageCacheId' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], - 'ContainerGroupId' => [ - 'description' => 'The ID of the intermediate elastic container instance that is used to create the image cache.'."\n", - 'type' => 'string', - 'example' => 'eci-2zebxkiifuyzzlhl****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088'], + 'TotalCount' => ['description' => 'The number of events returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'Data' => [ + 'description' => 'A list of event information.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of event information.', + 'type' => 'object', + 'properties' => [ + 'ContainerGroupId' => ['description' => 'The ID of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => 'eci-uf6fonnghi50v6nq****'], + 'Name' => ['description' => 'The name of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Namespace' => ['description' => 'The namespace where the ECI instance resides.', 'type' => 'string', 'title' => '', 'example' => 'redis'], + 'uuid' => ['description' => 'The UUID of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => '3fc6b309-****-****'], + 'Annotations' => ['description' => 'The annotations of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => '"{\\"tenancy.x-k8s.io/namespace\\":\\"redis\\"}"'], + 'Events' => [ + 'description' => 'A list of events.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of events.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- Normal'."\n" + ."\n" + .'- Warning', 'type' => 'string', 'title' => '', 'example' => 'Normal'], + 'Count' => ['description' => 'The number of times the event occurred.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'FirstTimestamp' => ['description' => 'The time when the event first occurred.', 'type' => 'string', 'title' => '', 'example' => '2021-10-04T09:08:04Z'], + 'LastTimestamp' => ['description' => 'The time when the event last occurred.', 'type' => 'string', 'title' => '', 'example' => '2021-10-04T09:08:04Z'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Started container'], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + 'ReportingComponent' => ['description' => 'The component that reports the event.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'ReportingInstance' => ['description' => 'The instance that reports the event.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Source' => [ + 'description' => 'The source.', + 'type' => 'object', + 'properties' => [ + 'Component' => ['description' => 'The component.', 'type' => 'string', 'title' => '', 'example' => 'kubelet'], + 'Host' => ['description' => 'The host.', 'type' => 'string', 'title' => '', 'example' => 'eci'], + ], + 'title' => '', + 'example' => '', + ], + 'involvedObject' => [ + 'description' => 'The resource object that is associated with the event.', + 'type' => 'object', + 'properties' => [ + 'Kind' => ['description' => 'The resource type.', 'type' => 'string', 'title' => '', 'example' => 'Pod'], + 'Name' => ['description' => 'The resource name.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Namespace' => ['description' => 'The namespace where the resource resides.', 'type' => 'string', 'title' => '', 'example' => 'default'], + 'Uid' => ['description' => 'The ID of the resource.', 'type' => 'string', 'title' => '', 'example' => 'eci-8vb5nkcq3a5cu0p3****'], + 'ApiVersion' => ['description' => 'The Kubernetes version.', 'type' => 'string', 'title' => '', 'example' => 'v1'], + ], + 'title' => '', + 'example' => '', + ], + 'Metadata' => [ + 'description' => 'The event metadata.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The event name.', 'type' => 'string', 'title' => '', 'example' => 'eci-uto-created-eci-for-ubuntu.167e3fb73cc7f9cb'], + 'Namespace' => ['description' => 'The namespace.', 'type' => 'string', 'title' => '', 'example' => 'default'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'ImageCache.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageCacheNotSupport', - 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', - ], - [ - 'errorCode' => 'EipAddressPoolIpNotEnough', - 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', - ], - [ - 'errorCode' => 'OperationConflict', - 'errorMessage' => 'The request was denied. It conflicts with a previous request.', - ], - ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], + ['errorCode' => 'InvalidParameter.MismatchInstanceType', 'errorMessage' => 'The instanceId mismatch instance type.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\",\\n \\"ImageCacheId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"ContainerGroupId\\": \\"eci-2zebxkiifuyzzlhl****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateImageCacheResponse>\\n <ImageCacheId>imc-2zebxkiifuyzzlhl****</ImageCacheId>\\n <RequestId>0E234675-3465-4CC3-9D0F-9A864BC391DD</RequestId>\\n <ContainerGroupId>eci-2zebxkiifuyzzlhl****</ContainerGroupId>\\n</CreateImageCacheResponse>","errorExample":""}]', - 'title' => 'CreateImageCache', - 'summary' => 'Creates an image cache. The image cache can accelerate image pulling and reduce the instance startup time when you create an elastic container instance later.', - 'description' => '* **Precautions**'."\n" - ."\n" - .' * You are charged for creation of image caches. We recommend that you learn the relevant billing information in advance. For more information about billing of image caches, see [Image caches](~~447682~~).'."\n" - .' * Before you create an image cache, you must estimate the total size of the images that you want to cache. If the total size of the images exceeds the specified cache size, the image cache cannot be created.'."\n" - .' * When an image cache is being created, the system creates an intermediate elastic container instance and an intermediate enhanced SSD (ESSD) at performance level 1 (PL1). Do not delete the intermediate instance and the ESSD while the image cache is being created. If you delete the intermediate instance or the ESSD, the image cache cannot be created.'."\n" - .' * A temporary local snapshot and a specific number of regular snapshots are generated during the creation of the image cache. Do not delete these snapshots. If you delete these snapshots, the image cache becomes invalid.'."\n" - .' * If you use SDKs, SDK for Java 1.0.10 or later and SDK for Python 1.0.7 or later are supported.'."\n" - ."\n" - .'* **Usage notes**'."\n" - ."\n" - .' * For images that are created based on Container Registry Enterprise Edition instances and use custom domain names, if you want to configure password-free access to the image caches, you must use AcrRegistryInfo-related parameters to specify Container Registry instances. When you configure AcrRegistryInfo-related parameters, you must set the AcrRegistryInfo.N.InstanceId parameter.'."\n" - .' * If the image cache that you created will be used to create more than 1,000 elastic container instances at a time, we recommend that you use the StandardCopyCount and FlashCopyCount parameters to create multiple temporary local snapshots and regular snapshots of the image. The multiple snapshots are billed based on incremental data. If no incremental data exists on the multiple snapshots, you are not charged for the multiple snapshots.'."\n" - ."\n" - .'> When you call the CreateImageCache operation to create an image cache, the system automatically creates a service-linked role named AliyunServiceRoleForECI. The role is used to access other Alibaba Cloud services such as Elastic Compute Service (ECS) and Virtual Private Cloud (VPC). For more information, see [Elastic Container Instance service-linked role](~~212914~~).', + 'title' => 'DescribeContainerGroupEvents', + 'summary' => 'Queries events for multiple Elastic Container Instance (ECI) instances in a batch.', + 'description' => 'You can call this operation to query events for multiple ECI instances. By default, the 50 latest event records for each ECI instance are returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteImageCache' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-03-28T05:43:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-28T03:48:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-04T07:12:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-02T08:20:25.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-06T07:27:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-19T02:35:33.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-13T09:53:16.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-09-27T11:35:59.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupEvents'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupEvents', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"TotalCount\\": 10,\\n \\"Data\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-uf6fonnghi50v6nq****\\",\\n \\"Name\\": \\"test\\",\\n \\"Namespace\\": \\"redis\\",\\n \\"uuid\\": \\"3fc6b309-****-****\\",\\n \\"Annotations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"tenancy.x-k8s.io/namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"redis\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"Count\\": 10,\\n \\"FirstTimestamp\\": \\"2021-10-04T09:08:04Z\\",\\n \\"LastTimestamp\\": \\"2021-10-04T09:08:04Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Reason\\": \\"Started\\",\\n \\"ReportingComponent\\": \\"test\\",\\n \\"ReportingInstance\\": \\"test\\",\\n \\"Source\\": {\\n \\"Component\\": \\"kubelet\\",\\n \\"Host\\": \\"eci\\"\\n },\\n \\"involvedObject\\": {\\n \\"Kind\\": \\"Pod\\",\\n \\"Name\\": \\"test\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Uid\\": \\"eci-8vb5nkcq3a5cu0p3****\\",\\n \\"ApiVersion\\": \\"v1\\"\\n },\\n \\"Metadata\\": {\\n \\"Name\\": \\"eci-uto-created-eci-for-ubuntu.167e3fb73cc7f9cb\\",\\n \\"Namespace\\": \\"default\\"\\n }\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeContainerGroupMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '17728', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '17730', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the ECI instance. This is the container group ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-bp17da5olmkuagfr****'], ], [ - 'name' => 'ImageCacheId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The start of the time range to query. The value must be within the last 30 days. The default value is 5 minutes before the value of EndTime.'."\n" + ."\n" + .'The time is in the RFC3339 format. For example, 09:00:00 on March 12, 2019 (UTC+8) can be represented as 2019-03-12T09:00:00.000+08:00 or 2019-03-12T01:00:00.000Z.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-03-12T01:00:00.000Z'], ], [ - 'name' => 'ClientToken', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotency of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'The end of the time range to query. The default value is the current time.'."\n" + ."\n" + .'The time is in the RFC3339 format.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2019-09-12T01:05:00.000Z '], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The aggregation period. Unit: seconds. Valid values: 15, 30, 60, and 600. Default value: 60.'."\n" + ."\n" + .'> If you do not set StartTime and EndTime, the monitoring data of the last 5 minutes is queried. The default aggregation period is 15s, and the Period parameter is ignored.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '15'], ], ], 'responses' => [ @@ -8283,686 +3833,946 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A218-354284CFC7A2', + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC'], + 'ContainerGroupId' => ['description' => 'The ID of the ECI instance. This is the container group ID.', 'type' => 'string', 'title' => '', 'example' => 'eci-bp1dqpye03ke5s6p****'], + 'Records' => [ + 'description' => 'The monitoring data of the ECI instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'description' => 'The network data.', + 'type' => 'object', + 'properties' => [ + 'Interfaces' => [ + 'description' => 'The data of the network interface card (NIC).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RxErrors' => ['description' => 'The total number of received error packets.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'TxDrops' => ['description' => 'The total number of dropped packets that were sent.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'TxBytes' => ['description' => 'The total number of bytes sent.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1381805699'], + 'RxPackets' => ['description' => 'The total number of received packets.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4800583'], + 'TxPackets' => ['description' => 'The total number of sent packets.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '5158427'], + 'Name' => ['description' => 'The name of the NIC.', 'type' => 'string', 'title' => '', 'example' => 'eth0'], + 'TxErrors' => ['description' => 'The total number of sent error packets.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'RxBytes' => ['description' => 'The total number of bytes received.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '505001954'], + 'RxDrops' => ['description' => 'The total number of dropped packets that were received.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'CPU' => [ + 'description' => 'The CPU data.', + 'type' => 'object', + 'properties' => [ + 'UsageNanoCores' => ['description' => 'The CPU usage in the sampling window, in nanocores.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'Limit' => ['description' => 'The CPU limit. This is calculated as the number of vCPUs × 1,000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '2000'], + 'UsageCoreNanoSeconds' => ['description' => 'The cumulative CPU usage, in core-nanoseconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '70769883'], + 'Load' => ['description' => 'The average load over the last 10 seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + ], + 'title' => '', + 'example' => '', + ], + 'Disk' => [ + 'description' => 'The disk data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'WriteBytes' => ['description' => 'The amount of data written to the disk, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1375109120'], + 'WriteIO' => ['description' => 'This parameter is not available.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123'], + 'Device' => ['description' => 'The name of the disk.', 'type' => 'string', 'title' => '', 'example' => '/dev/vda'], + 'ReadIO' => ['description' => 'This parameter is not available.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123'], + 'ReadBytes' => ['description' => 'The amount of data read from the disk, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '210714112'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Timestamp' => ['description' => 'The time when the monitoring data was collected. The time is in the RFC3339 format.', 'type' => 'string', 'title' => '', 'example' => '2021-08-25T16:22:00.000+08:00'], + 'Memory' => [ + 'description' => 'The memory data.', + 'type' => 'object', + 'properties' => [ + 'Rss' => ['description' => 'The resident set size (RSS). This is the amount of physical memory in use.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'UsageBytes' => ['description' => 'The memory usage, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'WorkingSet' => ['description' => 'The working set size, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'AvailableBytes' => ['description' => 'The available memory, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4285091840'], + 'Cache' => ['description' => 'The cache usage, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + ], + 'title' => '', + 'example' => '', + ], + 'Filesystem' => [ + 'description' => 'The data of the file system partitions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'The total storage capacity.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '41610981376'], + 'Available' => ['description' => 'The available storage space.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '35319836672'], + 'FsName' => ['description' => 'The name of the partition.', 'type' => 'string', 'title' => '', 'example' => '/dev/root'], + 'Usage' => ['description' => 'The used storage space.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4368744448'], + 'Category' => ['description' => 'The type of the partition. Valid values:'."\n" + ."\n" + .'- System'."\n" + ."\n" + .'- Volume'."\n" + ."\n" + .'- Other', 'type' => 'string', 'title' => '', 'example' => 'System'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'description' => 'The monitoring data of the container.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CPU' => [ + 'description' => 'The CPU data of the container.', + 'type' => 'object', + 'properties' => [ + 'UsageNanoCores' => ['description' => 'The CPU usage in the sampling window, in nanocores.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'Limit' => ['description' => 'The CPU limit. This is calculated as the number of vCPUs × 1,000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1024'], + 'UsageCoreNanoSeconds' => ['description' => 'The cumulative CPU usage, in core-nanoseconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '40876694'], + 'Load' => ['description' => 'The average load over the last 10 seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + ], + 'title' => '', + 'example' => '', + ], + 'Memory' => [ + 'description' => 'The memory data of the container.', + 'type' => 'object', + 'properties' => [ + 'Rss' => ['description' => 'The resident set size (RSS). This is the amount of physical memory in use.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'UsageBytes' => ['description' => 'The memory usage, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'WorkingSet' => ['description' => 'The working set size, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'AvailableBytes' => ['description' => 'The available memory, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4285091840'], + 'Cache' => ['description' => 'The cache usage, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + ], + 'title' => '', + 'example' => '', + ], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'title' => '', 'example' => 'u1'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A218-354284CFC7A2\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteImageCacheResponse>\\r\\n <RequestId>89945DD3-9072-47D0-A218-354284CFC7A2</RequestId>\\r\\n</DeleteImageCacheResponse>","errorExample":""}]', - 'title' => 'DeleteImageCache', - 'summary' => 'Deletes an image cache.', + 'title' => 'DescribeContainerGroupMetric', + 'summary' => 'Queries the monitoring data of an Elastic Container Instance (ECI).', + 'description' => '- This operation can return a maximum of 50 monitoring data records. An error is returned if the number of records exceeds 50.'."\n" + ."\n" + .'- You can query real-time data from the last 5 minutes or historical data from more than 5 minutes ago. If the specified time range extends beyond the current time, the operation queries only historical data by default.'."\n" + ."\n" + .'- Monitoring data is available only for ECI instances created after 15:00 on April 3, 2019 (UTC+8).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateImageCache' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2025-03-28T05:43:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-28T03:48:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-05-24T03:55:50.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupMetric'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupMetric', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC\\",\\n \\"ContainerGroupId\\": \\"eci-bp1dqpye03ke5s6p****\\",\\n \\"Records\\": [\\n {\\n \\"Network\\": {\\n \\"Interfaces\\": [\\n {\\n \\"RxErrors\\": 0,\\n \\"TxDrops\\": 0,\\n \\"TxBytes\\": 1381805699,\\n \\"RxPackets\\": 4800583,\\n \\"TxPackets\\": 5158427,\\n \\"Name\\": \\"eth0\\",\\n \\"TxErrors\\": 0,\\n \\"RxBytes\\": 505001954,\\n \\"RxDrops\\": 0\\n }\\n ]\\n },\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 2000,\\n \\"UsageCoreNanoSeconds\\": 70769883,\\n \\"Load\\": 0\\n },\\n \\"Disk\\": [\\n {\\n \\"WriteBytes\\": 1375109120,\\n \\"WriteIO\\": 123,\\n \\"Device\\": \\"/dev/vda\\",\\n \\"ReadIO\\": 123,\\n \\"ReadBytes\\": 210714112\\n }\\n ],\\n \\"Timestamp\\": \\"2021-08-25T16:22:00.000+08:00\\",\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Filesystem\\": [\\n {\\n \\"Capacity\\": 41610981376,\\n \\"Available\\": 35319836672,\\n \\"FsName\\": \\"/dev/root\\",\\n \\"Usage\\": 4368744448,\\n \\"Category\\": \\"System\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 1024,\\n \\"UsageCoreNanoSeconds\\": 40876694,\\n \\"Load\\": 0\\n },\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Name\\": \\"u1\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeContainerGroupPrice' => [ + 'summary' => 'Queries the price of an Elastic Container Instance (ECI) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17731', + 'abilityTreeNodes' => ['FEATUREeciY9GS39', 'FEATUREeci5NN3BU', 'FEATUREeciIT94P2', 'FEATUREeciCZBDK8'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou ', - ], + 'schema' => ['description' => 'The region ID. You can call [DescribeRegions](~~146965~~) to query the latest information about regions and zones.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou ', - ], + 'schema' => ['description' => 'The region ID. You can call [DescribeRegions](~~146965~~) to query the latest information about regions and zones.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ImageCacheId', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'imc-bp195erqe9o2pb09**** ', - ], + 'schema' => ['description' => 'The number of vCPUs. For more information about the vCPU and memory specifications that are supported by ECI, see [vCPU and memory specifications](~~114662~~).', 'type' => 'number', 'format' => 'float', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '2.0'], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the image cache belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-uf66jeqopgqa9hdn**** ', - ], + 'schema' => ['description' => 'The memory size. Unit: GiB. For more information about the vCPU and memory specifications that are supported by ECI, see [vCPU and memory specifications](~~114662~~).', 'type' => 'number', 'format' => 'float', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => '4.0'], ], [ - 'name' => 'VSwitchId', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the image cache is connected.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'vsw-uf6h3rbwbm90urjwa**** ', - ], + 'schema' => ['description' => 'The ECS instance type. For more information about the ECS instance types that are supported by ECI, see [ECS instance types supported by ECI](~~114664~~).'."\n" + ."\n" + .'> If you set this parameter, the specified values for the Cpu and Memory parameters are ignored. The price of only the ECS instance type is returned.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecs.c5.large'], ], [ - 'name' => 'ImageCacheName', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'testcache', - ], + 'schema' => ['description' => 'The preemption policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: a spot instance for which you specify the maximum hourly price.'."\n" + ."\n" + .'- SpotAsPriceGo: a spot instance for which the system automatically bids based on the current market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'SpotWithPriceLimit'], ], [ - 'name' => 'EipInstanceId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic IP address (EIP). If you want to pull public images, you must make sure that the elastic container instance can access the Internet. To enable Internet access, you can configure an EIP or a NAT gateway for the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-2zedsm5mfl3uhdj2d****', - ], + 'schema' => ['description' => 'The zone ID. You can call [DescribeRegions](~~146965~~) to query the latest information about regions and zones.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-g'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the image cache belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzh43v***** ', - ], + 'schema' => ['description' => 'The maximum hourly price of the spot instance. The value can be accurate to three decimal places. This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '0.2'], ], [ - 'name' => 'ClientToken', + 'name' => 'EphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx', - ], + 'schema' => ['description' => 'The size of the temporary storage space. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ - 'name' => 'ImageCacheSize', + 'name' => 'SpotDuration', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the image cache. Unit: GiB. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hour. Default value: 1. A value of 0 indicates that no protection period is specified.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], ], [ - 'name' => 'RetentionDays', + 'name' => 'ComputeCategory', 'in' => 'query', + 'schema' => ['description' => 'The category of computing power. Set the value to \\`economy\\` to query the price of an economy instance type.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'economy'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The retention period of the image cache. Unit: days. When the retention period elapses, the image cache expires and is deleted. By default, image caches never expire.'."\n" - ."\n" - .'> The image caches that fail to be created are retained for only 1 day.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '7A872585-33C7-4D69-AB8E-412E81EBA387'], + 'PriceInfo' => [ + 'description' => 'The price information, which includes the price and promotion rules.', + 'type' => 'object', + 'properties' => [ + 'SpotPrices' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SpotPrice' => [ + 'description' => 'The price information of the spot instance.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-i'], + 'SpotPrice' => ['description' => 'The price of the spot instance.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.056'], + 'InstanceType' => ['description' => 'The instance type.', 'type' => 'string', 'title' => '', 'example' => 'ecs.c5.large'], + 'OriginPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.622'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Price' => [ + 'description' => 'The price.', + 'type' => 'object', + 'properties' => [ + 'DiscountPrice' => ['description' => 'The discounted price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0'], + 'TradePrice' => ['description' => 'The final price, which is the original price minus the discount.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.00012252'], + 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.00012252'], + 'DetailInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DetailInfo' => [ + 'description' => 'The details of the price.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Resource' => ['description' => 'The resource name.', 'type' => 'string', 'title' => '', 'example' => 'cpu'], + 'DiscountPrice' => ['description' => 'The discounted price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0'], + 'TradePrice' => ['description' => 'The transaction price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.000098'], + 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.000098'], + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => 'The pricing rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The description of the rule.', 'type' => 'string', 'title' => '', 'example' => '*****'], + 'RuleId' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123456'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Currency' => ['description' => 'The currency. Valid values:'."\n" + ."\n" + .'- CNY: This value is available only on the China site (aliyun.com).'."\n" + ."\n" + .'- USD: This value is available only on the international site (alibabacloud.com).', 'type' => 'string', 'title' => '', 'example' => 'CNY'], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => 'The promotion rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The description of the promotion rule.', 'type' => 'string', 'title' => '', 'example' => '*****'], + 'RuleId' => ['description' => 'The promotion ID.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123456'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.CpuOrMemorySpec', 'errorMessage' => 'The specified specification is invalid.', 'description' => 'The specified specification is invalid.'], + ['errorCode' => 'TradeBidCommodityNotMatch', 'errorMessage' => 'The trade ID and the commodity do not match.', 'description' => ''], + ['errorCode' => 'InvalidSpotCpuMemorySpec', 'errorMessage' => 'The specified CPU and memory are not allowed. You must create spot ECI using standard ECS specifications for CPU and memory.', 'description' => ''], + ['errorCode' => 'FeatureBasedConstraintConflict', 'errorMessage' => 'A conflict occurs in specified feature constraints: [%s].', 'description' => 'A conflict occurs in specified feature constraints'], + ], + 403 => [ + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'FeatureAccessRestricted', 'errorMessage' => 'Access to this feature:[%s] is restricted. Please contact Alibaba Cloud ECI support to request access.', 'description' => 'Access to this feature is restricted. Please contact Alibaba Cloud ECI support to request access.'], + ], + ], + 'title' => 'DescribeContainerGroupPrice', + 'description' => '- This operation does not support resource group-based authentication.'."\n" + ."\n" + .'- You can create an ECI instance by specifying the number of vCPUs and memory size, or by specifying an ECS instance type. When you call this operation to query prices, specify the supported specifications.'."\n" + ."\n" + .' - For more information, see [vCPU and memory specifications](~~114662~~).'."\n" + ."\n" + .' - For more information, see [ECS instance types supported by ECI](~~114664~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-27T06:42:57.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-25T06:03:04.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2021-10-25T02:27:01.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupPrice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupPrice', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7A872585-33C7-4D69-AB8E-412E81EBA387\\",\\n \\"PriceInfo\\": {\\n \\"SpotPrices\\": {\\n \\"SpotPrice\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-i\\",\\n \\"SpotPrice\\": 0.056,\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"OriginPrice\\": 0.622\\n }\\n ]\\n },\\n \\"Price\\": {\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.00012252,\\n \\"OriginalPrice\\": 0.00012252,\\n \\"DetailInfos\\": {\\n \\"DetailInfo\\": [\\n {\\n \\"Resource\\": \\"cpu\\",\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.000098,\\n \\"OriginalPrice\\": 0.000098,\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"*****\\",\\n \\"RuleId\\": 123456\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Currency\\": \\"CNY\\"\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"*****\\",\\n \\"RuleId\\": 123456\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'DescribeContainerGroupStatus' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AutoMatchImageCache', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '45919', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable reuse of image cache layers. If you enable this feature and the image cache that you want to create and an existing image cache contain duplicate image layers, the system reuses the duplicate image layers to create the new image cache. This accelerates the creation of the image cache. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ImageRegistryCredential', + 'name' => 'ZoneId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the image repository.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image repository.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'password', - ], - 'Server' => [ - 'description' => 'The image repository address without `http://` or `https://` as a prefix.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to access the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'username', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-k'], ], [ - 'name' => 'Image', + 'name' => 'VSwitchId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Container images that are used to create the image cache.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container image that is used to create the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - ], - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - 'maxItems' => 101, - ], + 'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-uf6h3rbwbm90urjwa****'], ], [ - 'name' => 'Tag', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags to add to the image cache. A maximum of 20 tags can be added to the image cache.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the tag. A maximum of 20 tags can be added to the image cache.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N to add to the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc', - ], - 'Value' => [ - 'description' => 'The value of tag N to add to the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'Flash', + 'name' => 'ContainerGroupIds', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the instant image cache feature. The feature can accelerate the creation of image caches. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The IDs of the Elastic Container Instance (ECI) instances. You can specify a maximum of 20 IDs. The value must be a JSON-formatted string.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]'], ], [ - 'name' => 'AcrRegistryInfo', + 'name' => 'SinceSecond', + 'in' => 'query', + 'schema' => ['description' => 'The time in seconds. The operation returns the status of ECI instances that were updated within this time period. This parameter is used for polling.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '60', 'title' => '', 'example' => '60'], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n", + 'description' => 'The tags attached to the ECI instance.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n", + 'description' => 'The tags attached to the ECI instance.', 'type' => 'object', 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify multiple domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. You can specify multiple domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test****-registry.cn-hangzhou.cr.aliyuncs.com', - ], - 'required' => false, - 'example' => 'test****-registry.cn-hangzhou.cr.aliyuncs.com', - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3**** ', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testValue'], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testKey'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'StandardCopyCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of duplicates of regular snapshots. By default, the system creates one snapshot for each image cache. If you use the image cache to create multiple elastic container instances at a time, we recommend that you configure this parameter to create multiple snapshot duplicates for the image cache. We recommend that you create one snapshot duplicate for creation of every 1,000 elastic container instances.'."\n" - ."\n" - .'> If you disable the instant image cache feature by setting Flash to false, only regular snapshots are generated when you create an image cache.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'FlashCopyCount', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of duplicates of temporary local snapshots. By default, the system creates one snapshot for each image cache. If you use the image cache to create multiple elastic container instances at a time, we recommend that you configure this parameter to create multiple snapshot duplicates for the image cache. We recommend that you create one snapshot duplicate for creation of every 1,000 elastic container instances.'."\n" - ."\n" - .'> If you enable the instant image cache feature by setting Flash to true, a local snapshot is first created during the creation of the image cache. After the local snapshot is created, regular snapshots start to be created. After the regular snapshots are created, the local snapshot is automatically deleted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The token to retrieve the next page of results. You do not need to set this parameter for the first request. You can get the token from the `NextToken` parameter in the response to the previous request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc'], ], [ - 'name' => 'EliminationStrategy', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The elimination policy for the image cache. This parameter is empty by default, which indicates that the image cache is always retained.'."\n" - ."\n" - .'You can set this parameter to LRU, which indicates that the image cache can be automatically deleted. When the number of image caches reaches the quota, the system automatically deletes the image caches whose EliminationStrategy parameter is set to LRU and that are least recently used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'LRU', - ], + 'schema' => ['description' => 'The maximum number of ECI instances to return. The default value is 200.'."\n" + ."\n" + .'> The number of instances returned is less than or equal to the specified value.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'minimum' => '1', 'default' => '50', 'title' => '', 'example' => '200'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088'], + 'NextToken' => ['description' => 'The token to start the next query.', 'type' => 'string', 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Data' => [ + 'description' => 'A collection of status information about the ECI instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of status information about the ECI instances.', + 'type' => 'object', + 'properties' => [ + 'ContainerGroupId' => ['description' => 'The ECI instance ID.', 'type' => 'string', 'title' => '', 'example' => 'eci-bp1jrgfqqy54kg5hc****'], + 'Name' => ['description' => 'The ECI instance name.', 'type' => 'string', 'title' => '', 'example' => 'nginx'], + 'Namespace' => ['description' => 'The namespace of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => 'default'], + 'Status' => ['description' => 'The ECI instance status.', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'uuid' => ['description' => 'The universally unique identifier (UUID) of the ECI instance. This corresponds to the pod UID in Kubernetes.', 'type' => 'string', 'title' => '', 'example' => '78ee0657-987g-b8b2-1f507dic4****'], + 'Annotations' => ['description' => 'The annotations of the ECI instance.', 'type' => 'string', 'title' => '', 'example' => '"{\\"tenancy.x-k8s.io/namespace\\":\\"redis\\"}"'], + 'PodStatus' => [ + 'description' => 'The status information of the ECI instance.', + 'type' => 'object', + 'properties' => [ + 'Conditions' => [ + 'description' => 'The conditions of the pod.', + 'type' => 'array', + 'items' => [ + 'description' => 'The conditions of the pod.', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'The condition type. Valid values:'."\n" + ."\n" + .'- PodReadyToStartContainers'."\n" + ."\n" + .'- Initialized'."\n" + ."\n" + .'- Ready'."\n" + ."\n" + .'- ContainersReady'."\n" + ."\n" + .'- PodScheduled'."\n" + ."\n" + .'- ContainerHasSufficientDisk'."\n" + ."\n" + .'- ContainerInstanceCreated'."\n" + ."\n" + .'- Unschedulable', 'type' => 'string', 'title' => '', 'example' => 'Ready'], + 'status' => ['description' => 'The condition status.', 'type' => 'string', 'title' => '', 'example' => 'True'], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + 'Message' => ['description' => 'The message about the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + 'lastTransitionTime' => ['description' => 'The time of the last status transition.', 'type' => 'string', 'title' => '', 'example' => '2021-05-12T07:02:47Z'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ContainerStatuses' => [ + 'description' => 'The status of the containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The status of the containers.', + 'type' => 'object', + 'properties' => [ + 'Image' => ['description' => 'The image of the container.', 'type' => 'string', 'title' => '', 'example' => 'registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu:18.04'], + 'ImageID' => ['description' => 'The ID of the image.', 'type' => 'string', 'title' => '', 'example' => 'registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu@sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d'], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'title' => '', 'example' => 'ubuntu'], + 'Ready' => ['description' => 'Indicates whether the container is ready.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'RestartCount' => ['description' => 'The number of times the container has been restarted.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Started' => ['description' => 'Indicates whether the container has started.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'State' => [ + 'description' => 'The status of the container. It can be one of the following states:'."\n" + ."\n" + .'- Waiting'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Terminated', + 'type' => 'object', + 'properties' => [ + 'Waiting' => [ + 'description' => 'The container is waiting to be created and is not running.', + 'type' => 'object', + 'properties' => [ + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + 'Message' => ['description' => 'The message about the event.', 'type' => 'string', 'title' => '', 'example' => 'Back-off'], + ], + 'title' => '', + 'example' => '', + ], + 'Running' => [ + 'description' => 'The container is running.', + 'type' => 'object', + 'properties' => [ + 'StartedAtstartedAt' => ['description' => 'The time when the container started.', 'type' => 'string', 'title' => '', 'example' => '2021-05-23T20:49:31Z'], + ], + 'title' => '', + 'example' => '', + ], + 'Terminated' => [ + 'description' => 'Details about the terminated state.', + 'type' => 'object', + 'properties' => [ + 'ContainerID' => ['description' => 'The ID of the container.', 'type' => 'string', 'title' => '', 'example' => 'containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'FinishedAt' => ['description' => 'The time when the container finished.', 'type' => 'string', 'title' => '', 'example' => '2021-05-23T20:55:31Z'], + 'StartedAt' => ['description' => 'The time when the container started.', 'type' => 'string', 'title' => '', 'example' => '2021-05-23T20:49:31Z'], + 'Signal' => ['description' => 'The signal code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + 'Message' => ['description' => 'The message about the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'LastState' => [ + 'description' => 'The previous status of the container.', + 'type' => 'object', + 'properties' => [ + 'Waiting' => [ + 'description' => 'The container is waiting to be created and is not running.', + 'type' => 'object', + 'properties' => [ + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + 'Message' => ['description' => 'The message about the event.', 'type' => 'string', 'title' => '', 'example' => 'Back-off'], + ], + 'title' => '', + 'example' => '', + ], + 'Running' => [ + 'description' => 'Details about the running state.', + 'type' => 'object', + 'properties' => [ + 'StartedAtstartedAt' => ['description' => 'The time when the container started.', 'type' => 'string', 'title' => '', 'example' => '2021-05-23T20:49:31Z'], + ], + 'title' => '', + 'example' => '', + ], + 'Terminated' => [ + 'description' => 'Details about the terminated state.', + 'type' => 'object', + 'properties' => [ + 'ContainerID' => ['description' => 'The ID of the container.', 'type' => 'string', 'title' => '', 'example' => 'containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'FinishedAt' => ['description' => 'The time when the container finished.', 'type' => 'string', 'title' => '', 'example' => '2021-05-23T20:49:31Z'], + 'StartedAt' => ['description' => 'The time when the container started.', 'type' => 'string', 'title' => '', 'example' => '2021-05-12T07:02:52Z'], + 'Signal' => ['description' => 'The signal code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + 'Message' => ['description' => 'The message about the event.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HostIp' => ['description' => 'The IP address of the host.', 'type' => 'string', 'title' => '', 'example' => '192.168.XX.XX'], + 'Phase' => ['description' => 'The lifecycle phase of the pod.', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'PodIp' => ['description' => 'The IP address of the pod.', 'type' => 'string', 'title' => '', 'example' => '192.168.XX.XX'], + 'PodIps' => [ + 'description' => 'A collection of IP addresses of the pod.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of IP addresses of the pod.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address of the pod.', 'type' => 'string', 'title' => '', 'example' => '192.168.XX.XX'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'QosClass' => ['description' => 'The Quality of Service (QoS) class of the pod.', 'type' => 'string', 'title' => '', 'example' => 'Guaranteed'], + 'StartTime' => ['description' => 'The time when the pod was started.', 'type' => 'string', 'title' => '', 'example' => '2021-05-12T07:02:47Z'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'ImageCache.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageCacheNotSupport', - 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', - ], - [ - 'errorCode' => 'OperationConflict', - 'errorMessage' => 'Request was denied due to conflict with a previous request.', - ], - [ - 'errorCode' => 'NoNeedUpdate', - 'errorMessage' => 'There are no changes to be updated for current resource.', - ], + ['errorCode' => 'InvalidParameter.MismatchInstanceType', 'errorMessage' => 'The instanceId mismatch instance type.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', + ], + 'title' => 'DescribeContainerGroupStatus', + 'summary' => 'You can call DescribeContainerGroupStatus to perform a batch query on the status of multiple Elastic Container Instance (ECI) instances.', + 'changeSet' => [ + ['createdAt' => '2025-03-28T05:43:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-28T03:48:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-04T07:12:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-08T07:38:48.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-06T07:27:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-19T02:35:33.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-13T09:53:16.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-09-27T11:35:59.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupStatus'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateImageCacheResponse>\\r\\n <RequestId>0E234675-3465-4CC3-9D0F-9A864BC391DD</RequestId>\\r\\n</UpdateImageCacheResponse>","errorExample":""}]', - 'title' => 'UpdateImageCache', - 'summary' => 'Updates an image cache.', - 'description' => 'Only image caches that are in the Ready or UpdateFailed state can be updated.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"TotalCount\\": 1,\\n \\"Data\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"Name\\": \\"nginx\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Status\\": \\"Running\\",\\n \\"uuid\\": \\"78ee0657-987g-b8b2-1f507dic4****\\",\\n \\"Annotations\\": \\"\\\\\\"{\\\\\\\\\\\\\\"tenancy.x-k8s.io/namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"redis\\\\\\\\\\\\\\"}\\\\\\"\\",\\n \\"PodStatus\\": {\\n \\"Conditions\\": [\\n {\\n \\"type\\": \\"Ready\\",\\n \\"status\\": \\"True\\",\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\",\\n \\"lastTransitionTime\\": \\"2021-05-12T07:02:47Z\\"\\n }\\n ],\\n \\"ContainerStatuses\\": [\\n {\\n \\"Image\\": \\"registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu:18.04\\",\\n \\"ImageID\\": \\"registry-vpc.cn-zhangjiakou.aliyuncs.com/eci_open/ubuntu@sha256:134c7fe821b9d359490cd009ce7ca322453f4f2d018623f849e580a89a685e5d\\",\\n \\"Name\\": \\"ubuntu\\",\\n \\"Ready\\": true,\\n \\"RestartCount\\": 1,\\n \\"Started\\": true,\\n \\"State\\": {\\n \\"Waiting\\": {\\n \\"Reason\\": \\"Started\\",\\n \\"Message\\": \\"Back-off\\"\\n },\\n \\"Running\\": {\\n \\"StartedAtstartedAt\\": \\"2021-05-23T20:49:31Z\\"\\n },\\n \\"Terminated\\": {\\n \\"ContainerID\\": \\"containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******\\",\\n \\"ExitCode\\": 0,\\n \\"FinishedAt\\": \\"2021-05-23T20:55:31Z\\",\\n \\"StartedAt\\": \\"2021-05-23T20:49:31Z\\",\\n \\"Signal\\": 1,\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\"\\n }\\n },\\n \\"LastState\\": {\\n \\"Waiting\\": {\\n \\"Reason\\": \\"Started\\",\\n \\"Message\\": \\"Back-off\\"\\n },\\n \\"Running\\": {\\n \\"StartedAtstartedAt\\": \\"2021-05-23T20:49:31Z\\"\\n },\\n \\"Terminated\\": {\\n \\"ContainerID\\": \\"containerd://3ff993933bea366c4719e43a1b067d89bc7f01f1f573981659a44ff17a******\\",\\n \\"ExitCode\\": 0,\\n \\"FinishedAt\\": \\"2021-05-23T20:49:31Z\\",\\n \\"StartedAt\\": \\"2021-05-12T07:02:52Z\\",\\n \\"Signal\\": 1,\\n \\"Reason\\": \\"Completed\\",\\n \\"Message\\": \\"Completed\\"\\n }\\n }\\n }\\n ],\\n \\"HostIp\\": \\"192.168.XX.XX\\",\\n \\"Phase\\": \\"Running\\",\\n \\"PodIp\\": \\"192.168.XX.XX\\",\\n \\"PodIps\\": [\\n {\\n \\"Ip\\": \\"192.168.XX.XX\\"\\n }\\n ],\\n \\"QosClass\\": \\"Guaranteed\\",\\n \\"StartTime\\": \\"2021-05-12T07:02:47Z\\"\\n }\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribeImageCaches' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeContainerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '17734', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'abilityTreeCode' => '17732', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image caches.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the image caches.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ImageCacheId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the image caches.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'imc-bp195erqe9o2pb09****', - ], + 'schema' => ['description' => 'The zone where the instance is located. If you leave this parameter empty, the system selects a zone.'."\n" + ."\n" + .'The default value is empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou-h'], ], [ - 'name' => 'ImageCacheName', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The names of the image caches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testcache', - ], + 'schema' => ['description' => 'The ID of the virtual switch to which the instance is connected.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-bp1jrgfqqy54kg5hc****'], ], [ - 'name' => 'SnapshotId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the snapshots that correspond to the image caches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-2zec5oj8e1yhxijt****', - ], + 'schema' => ['description' => 'The token that marks the start of the next query. If this parameter is empty, no more results are returned.'."\n" + ."\n" + .'> You do not need to set this parameter for the first query. The token for a subsequent query is obtained from the response to the previous query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], ], [ - 'name' => 'Image', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The container images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], + 'schema' => ['description' => 'The number of resources to return. If you do not set this parameter, the default value is 20. The maximum value is 20.'."\n" + ."\n" + .'> The number of returned resources may be less than but will not be greater than the specified value.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], + ], + [ + 'name' => 'ContainerGroupIds', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the instances. You can specify up to 20 IDs. The value must be a JSON-formatted string.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["eci-bp17gw49eu09yiwm****", "eci-bp19aq49du01abcm****", "eci-2zegym1qhbmdfr1s****"]'], + ], + [ + 'name' => 'ContainerGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance, which is also the name of the container group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the instance. Valid values:'."\n" + ."\n" + .'- Pending: The instance is starting.'."\n" + ."\n" + .'- Running: The instance is running.'."\n" + ."\n" + .'- Succeeded: The instance ran successfully.'."\n" + ."\n" + .'- Failed: The instance failed to run.'."\n" + ."\n" + .'- Scheduling: The instance is being created.'."\n" + ."\n" + .'- ScheduleFailed: The instance failed to be created.'."\n" + ."\n" + .'- Restarting: The instance is being restarted.'."\n" + ."\n" + .'- Updating: The instance is being updated.'."\n" + ."\n" + .'- Terminating: The instance is being stopped.'."\n" + ."\n" + .'- Expired: The instance has expired.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Running'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the image caches belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-2df3isufhi38****', - ], + 'schema' => ['description' => 'The ID of the resource group to which the instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aekzh43v***** '], + ], + [ + 'name' => 'WithEvent', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return event information.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags to add to the image caches.'."\n", + 'description' => 'The tags of the instances.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the tag. A maximum of 20 tags can be added to the image cache.'."\n", + 'description' => 'The tags of the instances.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc', - ], - 'Value' => [ - 'description' => 'The value of tag N of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'Key' => ['description' => 'The tag key of the instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value of the instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'MatchImage', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The container images used to match the image caches that you want to query. You can specify a maximum of 100 container images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container image used to match the image caches that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - ], - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', - 'maxItems' => 101, - ], - ], - [ - 'name' => 'Limit', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The maximum entries of query results that are allowed to be displayed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAdDWBF2****', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageFullMatch', + 'name' => 'ComputeCategory', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the image layers of the image caches must contain all image layers of the container image.\\'."\n" - .'If you configure MatchImage, you can configure this parameter to further filter query results.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The computing power category. Valid values:'."\n" + ."\n" + .'- economy: economy'."\n" + ."\n" + .'- general: general-purpose', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'economy'], ], [ - 'name' => 'ImageMatchCountRequest', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The quantity of image caches whose image layers contain all image layers of the container image.\\'."\n" - .'If you configure MatchImage, you can configure this parameter to further filter query results.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The ID of the security group to which the instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'sg-uf66jeqopgqa9hdn****'."\n"], ], ], 'responses' => [ @@ -8970,521 +4780,858 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '39FC2E43-3DD7-4CEF-9EF4-E4AD6E635301', - ], - 'ImageCaches' => [ - 'description' => 'The information about image caches.'."\n", + 'TotalCount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'NextToken' => ['description' => 'The token that marks the start of the next query.', 'type' => 'string', 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], + 'RequestId' => ['description' => 'The request ID, which is a unique identifier.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], + 'ContainerGroups' => [ + 'description' => 'The list of instance information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about an image cache.'."\n", + 'description' => 'The list of instance information.', 'type' => 'object', 'properties' => [ - 'Images' => [ - 'description' => 'The images contained in the image cache.'."\n", + 'Status' => ['description' => 'The status of the instance. Possible values:'."\n" + ."\n" + .'- Pending: The instance is starting.'."\n" + ."\n" + .'- Running: The instance is running.'."\n" + ."\n" + .'- Succeeded: The instance ran successfully.'."\n" + ."\n" + .'- Failed: The instance failed to run.'."\n" + ."\n" + .'- Scheduling: The instance is being created.'."\n" + ."\n" + .'- ScheduleFailed: The instance failed to be created.'."\n" + ."\n" + .'- Restarting: The instance is being restarted.'."\n" + ."\n" + .'- Updating: The instance is being updated.'."\n" + ."\n" + .'- Terminating: The instance is being stopped.'."\n" + ."\n" + .'- Expired: The instance has expired.', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'CreationTime' => ['description' => 'The time when the system created the instance after receiving the request. The time is in UTC and follows the RFC3339 standard.', 'type' => 'string', 'title' => '', 'example' => '2018-08-02T15:00:00Z'], + 'VpcId' => ['description' => 'The ID of the VPC to which the instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'vpc-1vzjjflab6wvjox****'], + 'InternetIp' => ['description' => 'The public IP address.', 'type' => 'string', 'title' => '', 'example' => '192.0.XX.XX'], + 'TenantSecurityGroupId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'title' => '', 'example' => 'sg-xxx'], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'title' => '', 'example' => 'sg-bp12ujq5zpxuyjfo3o8r'], + 'HostAliases' => [ + 'description' => 'The custom mapping between a hostname and an IP address for a container in the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The images contained in the image cache.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', + 'description' => 'The custom mapping between a hostname and an IP address for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Hostnames' => [ + 'description' => 'The host information.', + 'type' => 'array', + 'items' => ['description' => 'The hostname.', 'type' => 'string', 'title' => '', 'example' => '[\'hehe.com\', \'haha.com\']'], + 'title' => '', + 'example' => '', + ], + 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'title' => '', 'example' => '192.0.XX.XX'], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'CreationTime' => [ - 'description' => 'The time when the image cache was created.'."\n", - 'type' => 'string', - 'example' => '2021-02-09T02:24:07Z', - ], - 'Status' => [ - 'description' => 'The status of the image cache. Valid values:'."\n" - ."\n" - .'* Preparing: The image cache is being prepared.'."\n" - .'* Creating: The image is being created.'."\n" - .'* Ready: The image cache is created.'."\n" - .'* Failed: The image cache failed to be created.'."\n" - .'* Updating: The image cache is being updated.'."\n" - .'* UpdateFailed: The image cache failed to be updated.'."\n" - ."\n" - .'The image cache is ready for use when it is in the Ready state.'."\n", - 'type' => 'string', - 'example' => 'Ready', - ], - 'Progress' => [ - 'description' => 'The progress of creating the snapshot that is used to create the image cache.'."\n" - ."\n" - .'> If the instant image cache feature is enabled, the system creates a temporary local snapshot and then a regular snapshot. In this case, this parameter indicates the progress of creating the regular snapshot.'."\n", - 'type' => 'string', - 'example' => '100%', - ], - 'ExpireDateTime' => [ - 'description' => 'The time when the image cache expires.'."\n", - 'type' => 'string', - 'example' => '2019-11-10T09:00:48Z', - ], - 'LastMatchedTime' => [ - 'description' => 'The time when the image cache was last matched.'."\n", - 'type' => 'string', - 'example' => '2021-08-18T03:48:10Z', + 'Tags' => [ + 'description' => 'The tags of the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => 'test-xh'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'ContainerGroupId' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'eci-bp18oq3m15prd9jb****', + 'Events' => [ + 'description' => 'The event information. A maximum of 50 events can be returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The event information. A maximum of 50 events can be returned.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The event type. Possible values:'."\n" + ."\n" + .'- Normal'."\n" + ."\n" + .'- Warning', 'type' => 'string', 'title' => '', 'example' => 'Normal'], + 'LastTimestamp' => ['description' => 'The time when the event ended.', 'type' => 'string', 'title' => '', 'example' => '2018-08-02T15:00:00Z'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Started container'], + 'Name' => ['description' => 'The name of the object to which the event belongs.', 'type' => 'string', 'title' => '', 'example' => 'test-xxx'], + 'Reason' => ['description' => 'The event name.', 'type' => 'string', 'title' => '', 'example' => 'Created'], + 'Count' => ['description' => 'The number of events.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], + 'FirstTimestamp' => ['description' => 'The time when the event started.', 'type' => 'string', 'title' => '', 'example' => '2018-08-02T15:00:00Z'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Tags' => [ - 'description' => 'The tags of the image cache.'."\n", + 'SucceededTime' => ['description' => 'The time when all containers successfully exited. The time is in UTC and follows the RFC3339 standard.', 'type' => 'string', 'title' => '', 'example' => '2019-12-11T04:33:42Z'], + 'SpotStrategy' => ['description' => 'The preemption policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot (default): A regular pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: A spot instance with a user-defined maximum hourly price.'."\n" + ."\n" + .'- SpotAsPriceGo: A spot instance for which the system automatically bids based on the current market price.', 'type' => 'string', 'title' => '', 'example' => 'NoSpot'], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the spot instance.'."\n" + ."\n" + .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'double', 'title' => '', 'example' => '0.025'], + 'EphemeralStorage' => ['description' => 'The size of the temporary storage space. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], + 'TenantEniInstanceId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'title' => '', 'example' => 'i-xxx'], + 'Discount' => ['description' => 'The discount.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '9'], + 'RestartPolicy' => ['description' => 'The restart policy of the container group. Valid values:'."\n" + ."\n" + .'- Never: Does not restart.'."\n" + ."\n" + .'- Always: Always restarts.'."\n" + ."\n" + .'- OnFailure: Restarts upon failure.', 'type' => 'string', 'title' => '', 'example' => 'Never'], + 'Memory' => ['description' => 'The memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '4.0'], + 'TenantVSwitchId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'title' => '', 'example' => 'vsw-xxx'], + 'Containers' => [ + 'description' => 'The list of containers in the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the tag.'."\n", + 'description' => 'The list of containers in the instance.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'imc', + 'LivenessProbe' => [ + 'description' => 'The liveness probe.', + 'type' => 'object', + 'properties' => [ + 'SuccessThreshold' => ['description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. The default value is 1. The value must be 1.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'InitialDelaySeconds' => ['description' => 'The time when the check starts to be performed, calculated from when the container starts.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'FailureThreshold' => ['description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful. The default value is 3.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '3'], + 'TimeoutSeconds' => ['description' => 'The timeout period for the check. The default value is 1 second. The minimum value is 1 second.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], + 'TcpSocket' => [ + 'description' => 'The TCP socket.', + 'type' => 'object', + 'properties' => [ + 'Host' => ['description' => 'The hostname.', 'type' => 'string', 'title' => '', 'example' => '1.2.3.4'], + 'Port' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '80'], + ], + 'title' => '', + 'example' => '', + ], + 'Execs' => [ + 'description' => 'The command to execute.', + 'type' => 'array', + 'items' => ['description' => 'The command to execute.', 'type' => 'string', 'title' => '', 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]'], + 'title' => '', + 'example' => '', + ], + 'HttpGet' => [ + 'description' => 'The HTTP GET request.', + 'type' => 'object', + 'properties' => [ + 'Scheme' => ['description' => 'HTTP or HTTPS.', 'type' => 'string', 'title' => '', 'example' => 'HTTP'], + 'Path' => ['description' => 'The path for the HTTP GET request check.', 'type' => 'string', 'title' => '', 'example' => '/usr/nginx/'], + 'Port' => ['description' => 'The port for the HTTP GET request check.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '80'], + ], + 'title' => '', + 'example' => '', + ], + 'PeriodSeconds' => ['description' => 'The interval at which the check is performed. The default value is 10 seconds. The minimum value is 1 second.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + ], + 'title' => '', + 'example' => '', + ], + 'Commands' => [ + 'description' => 'The container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command.', 'type' => 'string', 'title' => '', 'example' => '[/bin/sh echo]'], + 'title' => '', + 'example' => '', + ], + 'VolumeMounts' => [ + 'description' => 'The information about the mounted volumes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the mounted volumes.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Possible values:'."\n" + ."\n" + .'- None: The volume does not receive any subsequent mounts that are performed on this volume or any of its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume receives all subsequent mounts that are performed on this volume or any of its subdirectories.'."\n" + ."\n" + .'- Bidirectional: This is similar to HostToContainer. The volume receives mount operations. In addition, the volume is propagated back to the host and to all containers of all pods that use the same volume.', 'type' => 'string', 'title' => '', 'example' => 'None'], + 'MountPath' => ['description' => 'The mount path. The content in the mount path of the container is overwritten by the content of the volume.', 'type' => 'string', 'title' => '', 'example' => '/usr/share/'], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'title' => '', 'example' => 'test-empty'], + 'SubPath' => ['description' => 'The subdirectory within the volume. This allows an instance to mount different directories from the same volume to different directories in the container.', 'type' => 'string', 'title' => '', 'example' => '/usr/sub'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'title' => '', 'example' => '["hello"]'], + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'title' => '', 'example' => 'mysql'], + 'Ports' => [ + 'description' => 'The exposed port and protocol.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed port and protocol.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type.', 'type' => 'string', 'title' => '', 'example' => 'TCP'], + 'Port' => ['description' => 'The port number. Possible values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8080'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RestartCount' => ['description' => 'The number of restarts.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Possible values:'."\n" + ."\n" + .'- Always: Always pulls the image.'."\n" + ."\n" + .'- IfNotPresent: Pulls the image if it is not present locally.'."\n" + ."\n" + .'- Never: Never pulls the image. Uses the local image.', 'type' => 'string', 'title' => '', 'example' => 'Always'], + 'StdinOnce' => ['description' => 'If stdin is true, the standard input stream remains open across multiple attach sessions. If StdinOnce is set to true, stdin is opened when the container starts and remains empty until the first client attaches to stdin. After that, it remains open and receives data until the client disconnects. At that point, stdin is closed and remains closed until the container is restarted.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Cpu' => ['description' => 'The vCPU size of the container.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2.0'], + 'PreviousState' => [ + 'description' => 'The previous state.', + 'type' => 'object', + 'properties' => [ + 'StartTime' => ['description' => 'The time when the container started running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:00:00Z'], + 'FinishTime' => ['description' => 'The time when the container stopped running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:01:00Z'], + 'DetailStatus' => ['description' => 'The details of the status.', 'type' => 'string', 'title' => '', 'example' => 'working'], + 'State' => ['description' => 'The container status. Possible values:'."\n" + ."\n" + .'- Waiting: The container is starting.'."\n" + ."\n" + .'- Running: The container is running.'."\n" + ."\n" + .'- Terminated: The container has stopped.', 'type' => 'string', 'title' => '', 'example' => 'Terminated'], + 'Message' => ['description' => 'The container status message.', 'type' => 'string', 'title' => '', 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)'], + 'Signal' => ['description' => 'The container status signal.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reason' => ['description' => 'The reason for the container status.', 'type' => 'string', 'title' => '', 'example' => 'Completed'], + ], + 'title' => '', + 'example' => '', ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'test', + 'Tty' => ['description' => 'Specifies whether to enable interaction. The default value is false. For example, if you set Command to `/bin/bash`, you must set this parameter to true.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'title' => '', 'example' => '/usr/local/nginx'], + 'CurrentState' => [ + 'description' => 'The current status of the container.', + 'type' => 'object', + 'properties' => [ + 'StartTime' => ['description' => 'The start time of the container.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:00:00Z'], + 'FinishTime' => ['description' => 'The time when the container stopped running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:01:00Z'], + 'DetailStatus' => ['description' => 'The detailed status of the container.', 'type' => 'string', 'title' => '', 'example' => 'working'], + 'State' => ['description' => 'The status of the container. Possible values:'."\n" + ."\n" + .'- Waiting'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Terminated', 'type' => 'string', 'title' => '', 'example' => 'Terminated'], + 'Message' => ['description' => 'The status message of the container.', 'type' => 'string', 'title' => '', 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)'], + 'Signal' => ['description' => 'The status signal of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reason' => ['description' => 'The reason for the container status.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + ], + 'title' => '', + 'example' => '', + ], + 'Ready' => ['description' => 'Indicates whether the container passed its readiness probe.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'SecurityContext' => [ + 'description' => 'The security context of the instance.', + 'type' => 'object', + 'properties' => [ + 'ReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system is read-only. Currently, only \\`true\\` is supported.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'RunAsUser' => ['description' => 'The user ID that runs the container.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1000'], + 'Capability' => [ + 'description' => 'The specific permissions granted to processes in the container.', + 'type' => 'object', + 'properties' => [ + 'Adds' => [ + 'description' => 'The specific permissions for processes in the container.', + 'type' => 'array', + 'items' => ['description' => 'A specific capability granted to the processes in the container.', 'type' => 'string', 'title' => '', 'example' => '[NET_ADMIN]'], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Memory' => ['description' => 'The memory size of the container. The unit is GiB.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2.0'], + 'Stdin' => ['description' => 'Specifies if the container runtime should allocate a buffer for the container\'s standard input. If it does not, reading from standard input returns an End-of-File (EOF). The default is false.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'title' => '', 'example' => 'nginx'], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'title' => '', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'title' => '', 'example' => '/usr/bin/'], + 'ValueFrom' => [ + 'description' => 'The source of the environment variable value. This parameter cannot be used if the Value parameter is not empty.', + 'type' => 'object', + 'properties' => [ + 'FieldRef' => [ + 'description' => 'The specified field.', + 'type' => 'object', + 'properties' => [ + 'FieldPath' => ['description' => 'The path of the field.', 'type' => 'string', 'title' => '', 'example' => 'status.podIP'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe' => [ + 'description' => 'The readiness probe for the application. It checks whether the container is ready to serve requests.', + 'type' => 'object', + 'properties' => [ + 'SuccessThreshold' => ['description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. The default is 1. The value must be 1.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'InitialDelaySeconds' => ['description' => 'The number of seconds after the container starts before the check is initiated.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'FailureThreshold' => ['description' => 'The number of consecutive failures after the last successful probe for the probe to be considered failed. The default value is 3.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '3'], + 'TimeoutSeconds' => ['description' => 'The probe timeout in seconds. The default value is 1 second. The minimum value is 1 second.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'TcpSocket' => [ + 'description' => 'The health check uses a TCP socket.', + 'type' => 'object', + 'properties' => [ + 'Host' => ['description' => 'The hostname or IP address.', 'type' => 'string', 'title' => '', 'example' => '1.2.3.4'], + 'Port' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8888'], + ], + 'title' => '', + 'example' => '', + ], + 'Execs' => [ + 'description' => 'The commands to execute in the container for a command-line health check.', + 'type' => 'array', + 'items' => ['description' => 'The command to execute in the container for a command-line health check.', 'type' => 'string', 'title' => '', 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]'], + 'title' => '', + 'example' => '', + ], + 'HttpGet' => [ + 'description' => 'The health check is performed using an HTTP request.', + 'type' => 'object', + 'properties' => [ + 'Scheme' => ['description' => 'HTTP/HTTPS.', 'type' => 'string', 'title' => '', 'example' => 'HTTP'], + 'Path' => ['description' => 'The path for the HTTP GET check.', 'type' => 'string', 'title' => '', 'example' => '/usr/local'], + 'Port' => ['description' => 'The port number for the HttpGet check.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8080'], + ], + 'title' => '', + 'example' => '', + ], + 'PeriodSeconds' => ['description' => 'The period for executing the check. The default is 10 seconds. The minimum is 1 second.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Events' => [ - 'description' => 'The events of pulling an image to create the image cache.'."\n", + 'EniInstanceId' => ['description' => 'The ID of the elastic network interface (ENI).', 'type' => 'string', 'title' => '', 'example' => 'eni-bp14rzqi6fd8satm****'], + 'InitContainers' => [ + 'description' => 'A list of init containers.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the event.'."\n", + 'description' => 'The list of init containers.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the event. Valid values:'."\n", - 'type' => 'string', - 'example' => 'Normal', + 'VolumeMounts' => [ + 'description' => 'The volumes mounted to the init container.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mounted to the init container.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting for the volume. Mount propagation lets you share a volume mounted by a container with other containers in the same pod. You can also share the volume with other pods on the same node. The possible values are:'."\n" + ."\n" + .'- None: The volume does not receive any subsequent mounts that are performed on this volume or its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume receives subsequent mounts that are performed on this volume or its subdirectories.'."\n" + ."\n" + .'- Bidirectional: Similar to HostToContainer, this setting allows the volume to receive mount operations. It also propagates the volume mount back to the host and to all containers of all pods that use the same volume.', 'type' => 'string', 'title' => '', 'example' => 'None'], + 'MountPath' => ['description' => 'The mount path in the container. The content of the volume overwrites any existing content at this path.', 'type' => 'string', 'title' => '', 'example' => '/usr/share/'], + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'Name' => ['description' => 'The name of the volume. This must be the same as the Name of the Volume.', 'type' => 'string', 'title' => '', 'example' => 'test-empty'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'LastTimestamp' => [ - 'description' => 'The time when the event ended.'."\n", - 'type' => 'string', - 'example' => '2021-02-09T02:24:48Z', + 'Args' => [ + 'description' => 'The startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The startup arguments.', 'type' => 'string', 'title' => '', 'example' => '[\'hello world\']'], + 'title' => '', + 'example' => '', ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Successfully check image cache resource.', + 'Image' => ['description' => 'The image.', 'type' => 'string', 'title' => '', 'example' => 'nginx'], + 'Ports' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed port and protocol.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type.', 'type' => 'string', 'title' => '', 'example' => 'TCP'], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8888'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Name' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'example' => 'imagetest.1661f31f851a****', + 'RestartCount' => ['description' => 'The restart count.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: The image is always pulled.'."\n" + ."\n" + .'- IfNotPresent: The image is pulled only if it does not exist locally.'."\n" + ."\n" + .'- Never: The image is never pulled. Only the local image is used.', 'type' => 'string', 'title' => '', 'example' => 'Always'], + 'PreviousState' => [ + 'description' => 'The previous state.', + 'type' => 'object', + 'properties' => [ + 'StartTime' => ['description' => 'The time when the container started.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:00:00Z'], + 'FinishTime' => ['description' => 'The time when the container stopped running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:01:00Z'], + 'DetailStatus' => ['description' => 'The details of the status.', 'type' => 'string', 'title' => '', 'example' => 'working'], + 'State' => ['description' => 'The status of the container. The enumeration values are Waiting, Running, and Terminated.', 'type' => 'string', 'title' => '', 'example' => 'Terminated'], + 'Message' => ['description' => 'The status message of the container.', 'type' => 'string', 'title' => '', 'example' => 'Started container'], + 'Signal' => ['description' => 'The status signal of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reason' => ['description' => 'The reason for the container status.', 'type' => 'string', 'title' => '', 'example' => 'completed'], + ], + 'title' => '', + 'example' => '', + ], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'title' => '', 'example' => '/usr/test'], + 'Cpu' => ['description' => 'The vCPU size.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '1.0'], + 'CurrentState' => [ + 'description' => 'The current status.', + 'type' => 'object', + 'properties' => [ + 'StartTime' => ['description' => 'The time when the container started running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:00:00Z'], + 'FinishTime' => ['description' => 'The time when the container finished running.', 'type' => 'string', 'title' => '', 'example' => '2021-12-02T15:01:00Z'], + 'DetailStatus' => ['description' => 'The detailed status.', 'type' => 'string', 'title' => '', 'example' => 'working'], + 'State' => ['description' => 'The status of the container. Possible values:'."\n" + ."\n" + .'- Waiting'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Terminated', 'type' => 'string', 'title' => '', 'example' => 'Running'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Created container'], + 'Signal' => ['description' => 'The signal for the container status.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'ExitCode' => ['description' => 'The exit code of the container.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '0'], + 'Reason' => ['description' => 'The reason for the container status.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + ], + 'title' => '', + 'example' => '', ], - 'Count' => [ - 'description' => 'The number of events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'Command' => [ + 'description' => 'The startup command.', + 'type' => 'array', + 'items' => ['description' => 'The startup command.', 'type' => 'string', 'title' => '', 'example' => '[/bin/sh echo]'], + 'title' => '', + 'example' => '', + ], + 'Ready' => ['description' => 'Indicates whether the container passed its readiness probe.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'SecurityContext' => [ + 'description' => 'The security context of the container.', + 'type' => 'object', + 'properties' => [ + 'ReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system is read-only. Currently, only true is supported.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'RunAsUser' => ['description' => 'The UID used to run the entry point of the container process.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1557'], + 'Capability' => [ + 'description' => 'The specific permissions for the processes in the container.', + 'type' => 'object', + 'properties' => [ + 'Adds' => [ + 'description' => 'The specific permissions that processes in the container have.', + 'type' => 'array', + 'items' => ['description' => 'The specific permission granted to processes in the container.', 'type' => 'string', 'title' => '', 'example' => 'NET_ADMIN'], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'FirstTimestamp' => [ - 'description' => 'The time when the event started.'."\n", - 'type' => 'string', - 'example' => '2021-02-09T02:24:48Z', + 'Memory' => ['description' => 'The memory size of the init container, in GiB.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2.0'], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'title' => '', 'example' => 'Init-xxx'], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'title' => '', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'title' => '', 'example' => '/usr/local/bin'], + 'ValueFrom' => [ + 'description' => 'The source of the value for the environment variable. This parameter is unavailable if the Value parameter is set.', + 'type' => 'object', + 'properties' => [ + 'FieldRef' => [ + 'description' => 'The specified field.', + 'type' => 'object', + 'properties' => [ + 'FieldPath' => ['description' => 'The path of the field to select from the specified version. Currently, only `status.podIP` is supported.', 'type' => 'string', 'title' => '', 'example' => 'status.podIP'], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Reason' => [ - 'description' => 'The cause of the event.'."\n", - 'type' => 'string', - 'example' => 'Started', + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ContainerGroupId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'title' => '', 'example' => 'eci-bp1jrgfqqy54kg5hc****'], + 'TenantEniIp' => ['description' => 'This parameter is not available.', 'type' => 'string', 'title' => '', 'example' => '10.10.XX.XX'], + 'InstanceType' => ['description' => 'The specified ECS instance type.', 'type' => 'string', 'title' => '', 'example' => 'ecs.g5.large'], + 'IntranetIp' => ['description' => 'The intranet IP address.', 'type' => 'string', 'title' => '', 'example' => '172.16.XX.XX'], + 'Ipv6Address' => ['description' => 'The IPv6 address.', 'type' => 'string', 'title' => '', 'example' => '2001:XXXX:4:4:4:4:4:4'], + 'RegionId' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'DnsConfig' => [ + 'description' => 'The DNS configuration.', + 'type' => 'object', + 'properties' => [ + 'Searches' => [ + 'description' => 'A list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The DNS search domain.', 'type' => 'string', 'title' => '', 'example' => 'svc.local.kubenetes'], + 'title' => '', + 'example' => '', + ], + 'Options' => [ + 'description' => 'A list of option objects. Each object consists of a Name and an optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of option objects. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'title' => '', 'example' => 'value'], + 'Name' => ['description' => 'The name of the object variable.', 'type' => 'string', 'title' => '', 'example' => 'name'], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', + ], + 'NameServers' => [ + 'description' => 'The IP addresses of the DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The IP address.', 'type' => 'string', 'title' => '', 'example' => '[10.2.*.*]'], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ImageCacheId' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imc-bp195erqe9o2pb09****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that corresponds to the image cache.'."\n", - 'type' => 'string', - 'example' => 's-2zec5oj8e1yhxijt****', - ], - 'FlashSnapshotId' => [ - 'description' => 'The ID of the local snapshot. A temporary local snapshot is created if the instant image cache feature is enabled.'."\n", - 'type' => 'string', - 'example' => 's-bp12w3v37sit96t6****', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the image cache belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-2df3isufhi38****', - ], - 'ImageCacheSize' => [ - 'description' => 'The size of the image cache. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ImageCacheName' => [ - 'description' => 'The name of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imagetest', - ], - 'EliminationStrategy' => [ - 'description' => 'The elimination policy of the image cache. This parameter is empty by default, which indicates that the image cache is always retained.'."\n" - ."\n" - .'You can set this parameter to LRU, which indicates that the image cache can be automatically deleted. When the number of image caches reaches the quota, the system automatically deletes the image caches whose EliminationStrategy parameter is set to LRU and that are least regularly used.'."\n", - 'type' => 'string', - 'example' => 'LRU', + 'Volumes' => [ + 'description' => 'Volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Describes a volume.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the volume. Valid values are:'."\n" + ."\n" + .'- EmptyDirVolume'."\n" + ."\n" + .'- NFSVolume'."\n" + ."\n" + .'- ConfigFileVolume'."\n" + ."\n" + .'- FlexVolume', 'type' => 'string', 'title' => '', 'example' => 'EmptyDirVolume'], + 'DiskVolumeDiskId' => ['description' => 'The ID of the DiskVolume.', 'type' => 'string', 'title' => '', 'example' => 'd-xxxx'], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the volume is read-only.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative path of the file.', 'type' => 'string', 'title' => '', 'example' => '/usr/bin/'], + 'Content' => ['description' => 'The content of the configuration file. The size is limited to 32 KB.', 'type' => 'string', 'title' => '', 'example' => 'hello world'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'FlexVolumeFsType' => ['description' => 'The type of the file system to mount. The default value depends on the FlexVolume script.', 'type' => 'string', 'title' => '', 'example' => 'ntfs'], + 'FlexVolumeDriver' => ['description' => 'The name of the driver for FlexVolume.', 'type' => 'string', 'title' => '', 'example' => 'flexvolume'], + 'DiskVolumeFsType' => ['description' => 'The type of the volume.', 'type' => 'string', 'title' => '', 'example' => 'xfs'], + 'FlexVolumeOptions' => ['description' => 'The list of options for the FlexVolume object.', 'type' => 'string', 'title' => '', 'example' => '[nolock,tcp,noresvport]'], + 'NFSVolumeServer' => ['description' => 'The address of the NFS server.', 'type' => 'string', 'title' => '', 'example' => '0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com'], + 'NFSVolumePath' => ['description' => 'The path of the NFS volume.', 'type' => 'string', 'title' => '', 'example' => '/eci'], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'title' => '', 'example' => 'test-empty'], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium for the emptyDir volume. The default value is empty, which means the node\'s file system is used. Valid values:'."\n" + ."\n" + .'- Memory: Uses memory.'."\n" + ."\n" + .'- LocalRaid0: Combines local disks into a RAID 0 array. This value is valid only when you create an instance with local disks and attach them. For more information, see [Create an instance with local disks](~~114664~~).', 'type' => 'string', 'title' => '', 'example' => 'Memory'], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The size of the EmptyDir volume.', 'type' => 'string', 'title' => '', 'example' => '256Mi'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RamRoleName' => ['description' => 'The name of the instance RAM role. ECI and ECS share instance RAM roles. For more information, see [Use an instance RAM role using the API](~~61178~~).', 'type' => 'string', 'title' => '', 'example' => 'ram:PassRole'], + 'VSwitchId' => ['description' => 'The virtual switch ID.', 'type' => 'string', 'title' => '', 'example' => 'vsw-bp1vzjjflab6wvjox****'], + 'Cpu' => ['description' => 'The number of vCPUs of the instance.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2.0'], + 'ExpiredTime' => ['description' => 'The time when the instance failed to run because of an overdue payment. The time is in UTC and is formatted according to RFC 3339.', 'type' => 'string', 'title' => '', 'example' => '2018-08-02T15:00:00Z'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-8db03793gfrz****'], + 'ZoneId' => ['description' => 'The zone to which the instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-h'], + 'ContainerGroupName' => ['description' => 'The name of the container group.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'EciSecurityContext' => [ + 'description' => 'The security context of the container group.', + 'type' => 'object', + 'properties' => [ + 'Sysctls' => [ + 'description' => 'The sysctl parameters.', + 'type' => 'array', + 'items' => [ + 'description' => 'The sysctl parameter.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the sysctl parameter.', 'type' => 'string', 'title' => '', 'example' => '65536'], + 'Name' => ['description' => 'The name of the sysctl parameter.', 'type' => 'string', 'title' => '', 'example' => 'kernel.msgmax'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'FailedTime' => ['description' => 'The time when the instance failed. The time is in UTC and complies with the RFC 3339 standard.', 'type' => 'string', 'title' => '', 'example' => '2018-08-02T15:00:00Z'], + 'ComputeCategory' => ['description' => 'The computing power category. Possible values:'."\n" + ."\n" + .'- economy: Economy'."\n" + ."\n" + .'- general: General-purpose', 'type' => 'string', 'title' => '', 'example' => 'economy'], + 'DnsPolicy' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: Uses the DNS settings from the DnsConfig field.'."\n" + ."\n" + .'- Default: Inherits the DNS settings from the runtime environment.', 'type' => 'string', 'title' => '', 'example' => 'None'], ], + 'title' => '', + 'example' => '', ], - ], - 'NextToken' => [ - 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAAdDWBF2****', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - ], - 403 => [ - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], + ['errorCode' => 'InvalidParameter.MismatchInstanceType', 'errorMessage' => 'The instanceId mismatch instance type.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"39FC2E43-3DD7-4CEF-9EF4-E4AD6E635301\\",\\n \\"ImageCaches\\": [\\n {\\n \\"Images\\": [\\n \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl\\"\\n ],\\n \\"CreationTime\\": \\"2021-02-09T02:24:07Z\\",\\n \\"Status\\": \\"Ready\\",\\n \\"Progress\\": \\"100%\\",\\n \\"ExpireDateTime\\": \\"2019-11-10T09:00:48Z\\",\\n \\"LastMatchedTime\\": \\"2021-08-18T03:48:10Z\\",\\n \\"ContainerGroupId\\": \\"eci-bp18oq3m15prd9jb****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"imc\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-02-09T02:24:48Z\\",\\n \\"Message\\": \\"Successfully check image cache resource.\\",\\n \\"Name\\": \\"imagetest.1661f31f851a****\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-02-09T02:24:48Z\\",\\n \\"Reason\\": \\"Started\\"\\n }\\n ],\\n \\"ImageCacheId\\": \\"imc-bp195erqe9o2pb09****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"SnapshotId\\": \\"s-2zec5oj8e1yhxijt****\\",\\n \\"FlashSnapshotId\\": \\"s-bp12w3v37sit96t6****\\",\\n \\"ResourceGroupId\\": \\"rg-2df3isufhi38****\\",\\n \\"ImageCacheSize\\": 20,\\n \\"ImageCacheName\\": \\"imagetest\\",\\n \\"EliminationStrategy\\": \\"LRU\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"TotalCount\\": 15\\n}","errorExample":""},{"type":"xml","example":"<DescribeImageCachesResponse>\\n <RequestId>39FC2E43-3DD7-4CEF-9EF4-E4AD6E635301</RequestId>\\n <ImageCaches>\\n <Images>registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl</Images>\\n <CreationTime>2021-02-09T02:24:07Z</CreationTime>\\n <Status>Ready</Status>\\n <Progress>100%</Progress>\\n <ExpireDateTime>2019-11-10T09:00:48Z</ExpireDateTime>\\n <LastMatchedTime>2021-08-18T03:48:10Z</LastMatchedTime>\\n <ContainerGroupId>eci-bp18oq3m15prd9jb****</ContainerGroupId>\\n <Tags>\\n <Key>imc</Key>\\n <Value>test</Value>\\n </Tags>\\n <Events>\\n <Type>Normal</Type>\\n <LastTimestamp>2021-02-09T02:24:48Z</LastTimestamp>\\n <Message>Successfully check image cache resource.</Message>\\n <Name>imagetest.1661f31f851a****</Name>\\n <Count>1</Count>\\n <FirstTimestamp>2021-02-09T02:24:48Z</FirstTimestamp>\\n </Events>\\n <ImageCacheId>imc-bp195erqe9o2pb09****</ImageCacheId>\\n <RegionId>cn-beijing</RegionId>\\n <SnapshotId>s-2zec5oj8e1yhxijt****</SnapshotId>\\n <FlashSnapshotId>s-bp12w3v37sit96t6****</FlashSnapshotId>\\n <ResourceGroupId>rg-2df3isufhi38****</ResourceGroupId>\\n <ImageCacheSize>20</ImageCacheSize>\\n <ImageCacheName>imagetest</ImageCacheName>\\n <EliminationStrategy>LRU</EliminationStrategy>\\n </ImageCaches>\\n <NextToken>AAAAAdDWBF2****</NextToken>\\n <TotalCount>15</TotalCount>\\n</DescribeImageCachesResponse>","errorExample":""}]', - 'title' => 'DescribeImageCaches', - 'summary' => 'Queries information about image caches.', + 'title' => 'DescribeContainerGroups', + 'summary' => 'You can call DescribeContainerGroups to query information about multiple ECI instances.', + 'description' => '- When an ECI instance stops running, its underlying computing resources are reclaimed. Other resources that are created with the instance, such as EIPs, are released with the instance by default.'."\n" + ."\n" + .'- The metadata of instances in a terminal state (Failed, Succeeded, or Expired) is retained as follows:'."\n" + ."\n" + .' - All metadata of instances created within the last hour is retained.'."\n" + ."\n" + .' - For instances that are older than one hour, only the metadata of the last 100 instances in each region is retained.'."\n" + ."\n" + .'- If you make the query using a RAM user or RAM role that does not have the required API permissions, an empty list is returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateDataCache' => [ - 'summary' => 'Creates a DataCache.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-09-26T06:28:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-04T07:12:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-27T06:42:57.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-25T06:03:05.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-04-17T06:30:20.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-04-04T08:02:32.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"ContainerGroups\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"CreationTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"TenantSecurityGroupId\\": \\"sg-xxx\\",\\n \\"SecurityGroupId\\": \\"sg-bp12ujq5zpxuyjfo3o8r\\",\\n \\"HostAliases\\": [\\n {\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ],\\n \\"Ip\\": \\"192.0.XX.XX\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test-xh\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Name\\": \\"test-xxx\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Count\\": 20,\\n \\"FirstTimestamp\\": \\"2018-08-02T15:00:00Z\\"\\n }\\n ],\\n \\"SucceededTime\\": \\"2019-12-11T04:33:42Z\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"EphemeralStorage\\": 20,\\n \\"TenantEniInstanceId\\": \\"i-xxx\\",\\n \\"Discount\\": 9,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"Memory\\": 4,\\n \\"TenantVSwitchId\\": \\"vsw-xxx\\",\\n \\"Containers\\": [\\n {\\n \\"LivenessProbe\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"InitialDelaySeconds\\": 10,\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 10,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 80\\n },\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"HttpGet\\": {\\n \\"Scheme\\": \\"HTTP\\",\\n \\"Path\\": \\"/usr/nginx/\\",\\n \\"Port\\": 80\\n },\\n \\"PeriodSeconds\\": 5\\n },\\n \\"Commands\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"ReadOnly\\": false,\\n \\"Name\\": \\"test-empty\\",\\n \\"SubPath\\": \\"/usr/sub\\"\\n }\\n ],\\n \\"Args\\": [\\n \\"[\\\\\\"hello\\\\\\"]\\"\\n ],\\n \\"Image\\": \\"mysql\\",\\n \\"Ports\\": [\\n {\\n \\"Protocol\\": \\"TCP\\",\\n \\"Port\\": 8080\\n }\\n ],\\n \\"RestartCount\\": 0,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"PreviousState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Completed\\"\\n },\\n \\"Tty\\": false,\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"CurrentState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Started\\"\\n },\\n \\"Ready\\": true,\\n \\"Gpu\\": 1,\\n \\"SecurityContext\\": {\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1000,\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"[NET_ADMIN]\\"\\n ]\\n }\\n },\\n \\"Memory\\": 2,\\n \\"Stdin\\": true,\\n \\"Name\\": \\"nginx\\",\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"ReadinessProbe\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"InitialDelaySeconds\\": 5,\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 8888\\n },\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"HttpGet\\": {\\n \\"Scheme\\": \\"HTTP\\",\\n \\"Path\\": \\"/usr/local\\",\\n \\"Port\\": 8080\\n },\\n \\"PeriodSeconds\\": 1\\n }\\n }\\n ],\\n \\"EniInstanceId\\": \\"eni-bp14rzqi6fd8satm****\\",\\n \\"InitContainers\\": [\\n {\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"ReadOnly\\": false,\\n \\"Name\\": \\"test-empty\\"\\n }\\n ],\\n \\"Args\\": [\\n \\"[\'hello world\']\\"\\n ],\\n \\"Image\\": \\"nginx\\",\\n \\"Ports\\": [\\n {\\n \\"Protocol\\": \\"TCP\\",\\n \\"Port\\": 8888\\n }\\n ],\\n \\"RestartCount\\": 5,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"PreviousState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Terminated\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"completed\\"\\n },\\n \\"WorkingDir\\": \\"/usr/test\\",\\n \\"Cpu\\": 1,\\n \\"CurrentState\\": {\\n \\"StartTime\\": \\"2021-12-02T15:00:00Z\\",\\n \\"FinishTime\\": \\"2021-12-02T15:01:00Z\\",\\n \\"DetailStatus\\": \\"working\\",\\n \\"State\\": \\"Running\\",\\n \\"Message\\": \\"Created container\\",\\n \\"Signal\\": 1,\\n \\"ExitCode\\": 0,\\n \\"Reason\\": \\"Started\\"\\n },\\n \\"Command\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"Ready\\": true,\\n \\"Gpu\\": 1,\\n \\"SecurityContext\\": {\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1557,\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n }\\n },\\n \\"Memory\\": 2,\\n \\"Name\\": \\"Init-xxx\\",\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ]\\n }\\n ],\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"TenantEniIp\\": \\"10.10.XX.XX\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"IntranetIp\\": \\"172.16.XX.XX\\",\\n \\"Ipv6Address\\": \\"2001:XXXX:4:4:4:4:4:4\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DnsConfig\\": {\\n \\"Searches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"Options\\": [\\n {\\n \\"Value\\": \\"value\\",\\n \\"Name\\": \\"name\\"\\n }\\n ],\\n \\"NameServers\\": [\\n \\"[10.2.*.*]\\"\\n ]\\n },\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"d-xxxx\\",\\n \\"NFSVolumeReadOnly\\": false,\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Content\\": \\"hello world\\"\\n }\\n ],\\n \\"FlexVolumeFsType\\": \\"ntfs\\",\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"FlexVolumeOptions\\": \\"[nolock,tcp,noresvport]\\",\\n \\"NFSVolumeServer\\": \\"0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"NFSVolumePath\\": \\"/eci\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"EmptyDirVolumeMedium\\": \\"Memory\\",\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\"\\n }\\n ],\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"VSwitchId\\": \\"vsw-bp1vzjjflab6wvjox****\\",\\n \\"Cpu\\": 2,\\n \\"ExpiredTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"EciSecurityContext\\": {\\n \\"Sysctls\\": [\\n {\\n \\"Value\\": \\"65536\\",\\n \\"Name\\": \\"kernel.msgmax\\"\\n }\\n ]\\n },\\n \\"FailedTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"ComputeCategory\\": \\"economy\\",\\n \\"DnsPolicy\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeContainerLog' => [ + 'summary' => 'Queries the logs of a container in a container group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '178965', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], - 'tenantRelevance' => 'tenant', + 'chargeType' => 'free', + 'abilityTreeCode' => '17733', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the generated ECI belongs during the creation of the data cache.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-2ze81zoc3yl7a3we****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the generated ECI belongs during the creation of the data cache.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'vsw-bp1jrgfqqy54kg5hc****', - ], - ], - [ - 'name' => 'Bucket', - 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket in which the data is stored. By default, the default bucket is used. You can use a custom bucket for business grouping and to prevent path conflicts.'."\n" - ."\n" - .'> eci-system is the reserved bucket of the ECI and cannot be used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The region ID of the elastic container instance.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Path', - 'in' => 'query', - 'schema' => [ - 'description' => 'The storage path of the data.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '/model/test', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The DataCache name.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test', - ], - ], - [ - 'name' => 'Size', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the data cache. Unit: GiB. Default value: 20. Evaluate the required size based on the actual data size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-uf6fonnghi50v6nq****'], ], [ - 'name' => 'DataSource', + 'name' => 'ContainerName', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The data source.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the data source. Valid values:'."\n" - ."\n" - .'* URL'."\n" - .'* NAS'."\n" - .'* OSS'."\n" - .'* SNAPSHOT'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'NAS' => 'NAS', - 'SNAPSHOT' => 'SNAPSHOT', - 'URL' => 'URL', - 'OSS' => 'OSS', - ], - 'example' => 'NAS', - ], - 'Options' => [ - 'description' => 'The parameters that are configured for the data source.'."\n", - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "options": {'."\n" - .' "path": "/",'."\n" - .' "server": "0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com",'."\n" - .' "vers": "3",'."\n" - .' "options": "nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"'."\n" - .' },'."\n" - .' "type": "NAS"'."\n" - .'}', - 'description' => 'The parameters that are configured for the data source. The parameters to be specified vary based on the type of data sources. For more information about data sources and their parameters, see [Create and manage a data cache](~~2391456~~).'."\n", - ], - ], - ], - 'required' => false, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The name of the container.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'nginx'], ], [ - 'name' => 'RetentionDays', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of days for which the DataCache is retained. When the retention days end, the DataCache is deleted. By default, DataCaches do not expire.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the RFC 3339 standard. The time must be in UTC.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2018-08-02T15:00:00Z'], ], [ - 'name' => 'Tag', + 'name' => 'Tail', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags to be bound to the data cache.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The number of the most recent log entries that you want to query. Default value: 500. Maximum value: 2000.\\'."\n" + .'A maximum of 1 MB log data can be returned.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '500'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'LastTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-2df3isufhi38****', - ], + 'schema' => ['description' => 'Specifies whether to query the logs of the previous container if the container exits and restarts. Valid values:'."\n" + ."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'ClientToken', + 'name' => 'SinceSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-****-12d3-****-426655440000', - ], + 'schema' => ['description' => 'A relative time in seconds before the current time from which to show logs. Examples: 10, 20, and 30.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ - 'name' => 'EipInstanceId', + 'name' => 'LimitBytes', 'in' => 'query', - 'schema' => [ - 'description' => 'The existing elastic IP address (EIP) to be associated. If no NAT gateway is configured for the virtual private cloud (VPC), you can associate an EIP to pull data from the Internet.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The limit on the total size of logs. Unit: bytes. Valid values: 1 to 1048576(1 MB).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '123798'], ], [ - 'name' => 'EipCreateParam', + 'name' => 'Timestamps', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The elastic IP address (EIP) to be created and associated. If no NAT gateway is configured for the virtual private cloud (VPC), you can associate an EIP to pull data from the Internet.'."\n", - 'type' => 'object', - 'properties' => [ - 'Bandwidth' => [ - 'description' => 'The bandwidth of the EIP. Unit: Mbit/s. Default value: 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'CommonBandwidthPackage' => [ - 'description' => 'The EIP bandwidth plan to be associated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cbwp-2zeukbj916scmj51m****', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the EIP. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth'."\n" - .'* PayByTraffic: pay-by-data-transfer'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - ], - 'PublicIpAddressPoolId' => [ - 'description' => 'The ID of the IP address pool. The EIP is allocated from the IP address pool. You cannot use the IP address pool feature by default. To use this feature, you must apply for the privilege in the Quota Center console.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pippool-2vc4xdtjhwl4t0go5****', - ], - 'ISP' => [ - 'description' => 'The line type of the EIP. Valid values:'."\n" - ."\n" - .'* BGP: BGP (Multi-ISP) line'."\n" - .'* BGP_PRO: BGP (Multi-ISP) Pro line'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BGP', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'Specifies whether to return the timestamps of logs. Valid values:'."\n" + ."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'false'], ], ], 'responses' => [ @@ -9492,150 +5639,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC', - ], - 'DataCacheId' => [ - 'description' => 'The DataCache ID.'."\n", - 'type' => 'string', - 'example' => 'edc-bp15l4vvys94oo******', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'CA850ADA-****-4AC8-****-5B5990EAB7D0'], + 'ContainerName' => ['description' => 'The container name.', 'type' => 'string', 'title' => '', 'example' => 'nginx'], + 'Content' => ['description' => 'The content of the log.', 'type' => 'string', 'title' => '', 'example' => '{}'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'ImageCache.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageCacheNotSupport', - 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', - ], - [ - 'errorCode' => 'EipAddressPoolIpNotEnough', - 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', - ], - [ - 'errorCode' => 'DryRun.Success', - 'errorMessage' => 'This request is a dryrun request with successful result.', - ], - ], 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], + ['errorCode' => 'Forbidden.Unauthorized', 'errorMessage' => 'You are not authorized to operate on the specified resource.', 'description' => ''], + ], + 408 => [ + ['errorCode' => 'Request Timeout', 'errorMessage' => 'Request timed out, please try again later.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeContainerLog', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-03-28T05:43:33.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-28T03:48:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-22T06:54:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-05T09:45:54.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-12-07T07:58:19.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerLog'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerLog', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC\\",\\n \\"DataCacheId\\": \\"edc-bp15l4vvys94oo******\\"\\n}","type":"json"}]', - 'title' => 'CreateDataCache', - 'description' => '* You are charged for the creation of image caches. We recommend that you learn the relevant billing information in advance. For more information, see [DataCaches](~~2503093~~).'."\n" - .'* Before you create an image cache, you must evaluate the size of the data to be cached. If the size of the data exceeds the specified cache size, the image cache fails to be created.'."\n" - .'* When a data cache is being created, the system automatically creates a temporary elastic container instance (ECI) and an enhanced SSD (ESSD) for the data cache. During the creation, do not delete the ECI and ESSD. Otherwise, the data cache fails to be created.'."\n" - .'* When a data cache is being created, a snapshot is generated for the data cache. Do not delete the snapshot. Otherwise, the data cache becomes invalid.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CA850ADA-****-4AC8-****-5B5990EAB7D0\\",\\n \\"ContainerName\\": \\"nginx\\",\\n \\"Content\\": \\"{}\\"\\n}","type":"json"}]', ], 'DescribeDataCaches' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9648,133 +5705,84 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '179701', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the data caches that you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the data caches that you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'DataCacheId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The data cache IDs.'."\n", + 'description' => 'The data cache ID.', 'type' => 'array', - 'items' => [ - 'description' => 'The data cache ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edc-bp1a7n7uawwwol******', - ], + 'items' => ['description' => 'The data cache ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'edc-bp1a7n7uawwwol******'], 'required' => false, 'docRequired' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'Bucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket that stores the data cache. Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The bucket of the data cache. The default value is default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], ], [ 'name' => 'Path', 'in' => 'query', - 'schema' => [ - 'description' => 'The virtual host (vHost) directory in which the data cache resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/data/models/', - ], + 'schema' => ['description' => 'The directory in the virtual host that corresponds to the data cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/data/models/'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are attached to the data cache.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the data cache belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzw2jz2z****', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmzw2jz2z****'], ], [ 'name' => 'Limit', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The maximum entries of query results that are allowed to be displayed. Valid values: 1 to 20. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The maximum number of entries to return on a single page. The default value and the maximum value are both 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'NextToken', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The query token. Set the value to the NextToken value that is returned in the previous call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], + 'schema' => ['description' => 'The query token. Set this to the NextToken value returned from the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], ], ], 'responses' => [ @@ -9782,268 +5790,167 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B8756BA0-6452-419C-9727-37A6209C85E0', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'B8756BA0-6452-419C-9727-37A6209C85E0'], 'DataCaches' => [ - 'description' => 'The information about the data caches.'."\n", + 'description' => 'The information about the data caches.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the data caches.', 'type' => 'object', 'properties' => [ - 'DataCacheId' => [ - 'description' => 'The ID of the data cache.'."\n", - 'type' => 'string', - 'example' => 'edc-bp15l4vvys94oo******'."\n", - ], - 'CreationTime' => [ - 'description' => 'The time when the data cache was created.'."\n", - 'type' => 'string', - 'example' => '2023-06-16T02:43Z', - ], - 'Status' => [ - 'description' => 'The status of the data cache. Valid values:'."\n" - ."\n" - .'* Loading: The data cache is loading data.'."\n" - .'* Creating: The data cache is being created.'."\n" - .'* Available: The data cache is created.'."\n" - .'* Failed: The data cache failed to be created.'."\n" - .'* Updating: The data cache is being updated.'."\n" - .'* UpdateFailed: The data cache failed to be updated.'."\n" - ."\n" - .'If the data cache is in the Available state, the data cache can be used.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'Progress' => [ - 'description' => 'The creation progress of the data cache.'."\n", - 'type' => 'string', - 'example' => '100%', - ], - 'LastMatchedTime' => [ - 'description' => 'The time when the data cache was last matched.'."\n", - 'type' => 'string', - 'example' => '2023-06-18T02:43Z', - ], - 'ExpireDateTime' => [ - 'description' => 'The time when the data cache expires.'."\n", - 'type' => 'string', - 'example' => '2023-06-26T02:43Z'."\n", - ], - 'ContainerGroupId' => [ - 'description' => 'The ID of the elastic container instance that was generated when the data cache was created.'."\n", - 'type' => 'string', - 'example' => 'eci-8vb1y2w1dv7zeirn****', - ], + 'DataCacheId' => ['description' => 'The data cache ID.', 'type' => 'string', 'title' => '', 'example' => 'edc-bp15l4vvys94oo******'."\n"], + 'CreationTime' => ['description' => 'The time when the data cache was created.', 'type' => 'string', 'title' => '', 'example' => '2023-06-16T02:43Z'], + 'Status' => ['description' => 'The status of the data cache. Valid values:'."\n" + ."\n" + .'- Loading: The data is being cached.'."\n" + ."\n" + .'- Creating: The data cache is being created.'."\n" + ."\n" + .'- Available: The data cache is created.'."\n" + ."\n" + .'- Failed: The data cache failed to be created.'."\n" + ."\n" + .'- Updating: The data cache is being updated.'."\n" + ."\n" + .'- UpdateFailed: The data cache failed to be updated.'."\n" + ."\n" + .'You can use the data cache only when it is in the Available state.', 'type' => 'string', 'title' => '', 'example' => 'Available'], + 'Progress' => ['description' => 'The creation progress.', 'type' => 'string', 'title' => '', 'example' => '100%'], + 'LastMatchedTime' => ['description' => 'The last time when the data cache was matched.', 'type' => 'string', 'title' => '', 'example' => '2023-06-18T02:43Z'], + 'ExpireDateTime' => ['description' => 'The expiration time.', 'type' => 'string', 'title' => '', 'example' => '2023-06-26T02:43Z'."\n"], + 'ContainerGroupId' => ['description' => 'The ID of the ECI instance that is generated during the creation of the data cache.', 'type' => 'string', 'title' => '', 'example' => 'eci-8vb1y2w1dv7zeirn****'], 'Tags' => [ - 'description' => 'The tags that are attached to the data cache.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'testvalue', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => 'testvalue'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], 'Events' => [ - 'description' => 'The events.'."\n", + 'description' => 'The list of events.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of events.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the event. Valid values:'."\n" - ."\n" - .'* Normal'."\n" - .'* Warning'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'LastTimestamp' => [ - 'description' => 'The time when the event ended.'."\n", - 'type' => 'string', - 'example' => '2021-06-16T02:24:48Z', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Successfully check data cache resource.', - ], - 'Name' => [ - 'description' => 'The event name.'."\n", - 'type' => 'string', - 'example' => 'datacache', - ], - 'Count' => [ - 'description' => 'The number of times that the event occurred.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FirstTimestamp' => [ - 'description' => 'The time when the event started.'."\n", - 'type' => 'string', - 'example' => '2021-06-16T02:14:48Z', - ], - 'Reason' => [ - 'description' => 'The reason for the transition into the current status of the event.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], + 'Type' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- Normal'."\n" + ."\n" + .'- Warning', 'type' => 'string', 'title' => '', 'example' => 'Normal'], + 'LastTimestamp' => ['description' => 'The time when the event ended.', 'type' => 'string', 'title' => '', 'example' => '2021-06-16T02:24:48Z'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Successfully check data cache resource.'], + 'Name' => ['description' => 'The event name.', 'type' => 'string', 'title' => '', 'example' => 'datacache'], + 'Count' => ['description' => 'The number of events.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'FirstTimestamp' => ['description' => 'The time when the event started.', 'type' => 'string', 'title' => '', 'example' => '2021-06-16T02:14:48Z'], + 'Reason' => ['description' => 'The event reason.', 'type' => 'string', 'title' => '', 'example' => 'Started'], ], + 'title' => '', + 'example' => '', ], - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'SnapshotId' => [ - 'description' => 'The snapshot ID.'."\n", - 'type' => 'string', - 'example' => 's-2zec5oj8e1yhxijt****', - ], - 'FlashSnapshotId' => [ - 'description' => 'The ID of the on-premises snapshot.'."\n", - 'type' => 'string', - 'example' => 's-bp12w3v37sit96t6****'."\n", - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-aek2hlt3ux4****', - ], - 'Size' => [ - 'description' => 'The size of the data cache. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Name' => [ - 'description' => 'The name of the data cache.'."\n", - 'type' => 'string', - 'example' => 'test', - ], + 'title' => '', + 'example' => '', + ], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'SnapshotId' => ['description' => 'The snapshot ID.', 'type' => 'string', 'title' => '', 'example' => 's-2zec5oj8e1yhxijt****'], + 'FlashSnapshotId' => ['description' => 'The local snapshot ID.', 'type' => 'string', 'title' => '', 'example' => 's-bp12w3v37sit96t6****'."\n"], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'title' => '', 'example' => 'rg-aek2hlt3ux4****'], + 'Size' => ['description' => 'The size of the data cache. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], + 'Name' => ['description' => 'The name of the data cache.', 'type' => 'string', 'title' => '', 'example' => 'test'], 'DataSource' => [ - 'description' => 'The information about the data source.'."\n", + 'description' => 'The data source information.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the data source. Valid values:'."\n" - ."\n" - .'* NAS'."\n" - .'* OSS'."\n" - .'* URL'."\n" - .'* SNAPSHOT'."\n", - 'type' => 'string', - 'example' => 'URL', - ], - 'Options' => [ - 'description' => 'The parameters that are configured for the data source.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "options": {'."\n" - .' "path": "/",'."\n" - .' "server": "0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com",'."\n" - .' "vers": "3",'."\n" - .' "options": "nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"'."\n" - .' },'."\n" - .' "type": "NAS"'."\n" - .'}', - ], + 'Type' => ['description' => 'The type of the data source. Valid values:'."\n" + ."\n" + .'- NAS'."\n" + ."\n" + .'- OSS'."\n" + ."\n" + .'- URL'."\n" + ."\n" + .'- SNAPSHOT', 'type' => 'string', 'title' => '', 'example' => 'URL'], + 'Options' => ['description' => 'The parameters that are configured for the data source.', 'type' => 'string', 'title' => '', 'example' => '{'."\n" + .' "options": {'."\n" + .' "path": "/",'."\n" + .' "server": "0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com",'."\n" + .' "vers": "3",'."\n" + .' "options": "nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"'."\n" + .' },'."\n" + .' "type": "NAS"'."\n" + .'}'], ], + 'title' => '', + 'example' => '', ], - 'Bucket' => [ - 'description' => 'The bucket that stores the data cache.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Path' => [ - 'description' => 'The directory in which the virtual host of the data cache resides.'."\n", - 'type' => 'string', - 'example' => '/data/models/', - ], + 'Bucket' => ['description' => 'The bucket of the data cache.', 'type' => 'string', 'title' => '', 'example' => 'default'], + 'Path' => ['description' => 'The directory in the virtual host that corresponds to the data cache.', 'type' => 'string', 'title' => '', 'example' => '/data/models/'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'NextToken' => [ - 'description' => 'The query token. Set the value to the NextToken value that is returned in the previous call.'."\n", - 'type' => 'string', - 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc', - ], - 'TotalCount' => [ - 'description' => 'The number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'NextToken' => ['description' => 'The query token. Set this to the NextToken value returned from the previous API call.', 'type' => 'string', 'title' => '', 'example' => 'd78f2dd8-5979-42fe-xaee-b16db43be5bc'], + 'TotalCount' => ['description' => 'The total number of entries that match the query conditions.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], ], 403 => [ - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8756BA0-6452-419C-9727-37A6209C85E0\\",\\n \\"DataCaches\\": [\\n {\\n \\"DataCacheId\\": \\"edc-bp15l4vvys94oo******\\\\n\\",\\n \\"CreationTime\\": \\"2023-06-16T02:43Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"Progress\\": \\"100%\\",\\n \\"LastMatchedTime\\": \\"2023-06-18T02:43Z\\",\\n \\"ExpireDateTime\\": \\"2023-06-26T02:43Z\\\\n\\",\\n \\"ContainerGroupId\\": \\"eci-8vb1y2w1dv7zeirn****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testkey\\",\\n \\"Value\\": \\"testvalue\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-06-16T02:24:48Z\\",\\n \\"Message\\": \\"Successfully check data cache resource.\\",\\n \\"Name\\": \\"datacache\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-06-16T02:14:48Z\\",\\n \\"Reason\\": \\"Started\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"SnapshotId\\": \\"s-2zec5oj8e1yhxijt****\\",\\n \\"FlashSnapshotId\\": \\"s-bp12w3v37sit96t6****\\\\n\\",\\n \\"ResourceGroupId\\": \\"rg-aek2hlt3ux4****\\",\\n \\"Size\\": 20,\\n \\"Name\\": \\"test\\",\\n \\"DataSource\\": {\\n \\"Type\\": \\"URL\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"options\\\\\\": {\\\\n \\\\\\"path\\\\\\": \\\\\\"/\\\\\\",\\\\n \\\\\\"server\\\\\\": \\\\\\"0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com\\\\\\",\\\\n \\\\\\"vers\\\\\\": \\\\\\"3\\\\\\",\\\\n \\\\\\"options\\\\\\": \\\\\\"nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\\\\\\"\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"NAS\\\\\\"\\\\n}\\"\\n },\\n \\"Bucket\\": \\"default\\",\\n \\"Path\\": \\"/data/models/\\"\\n }\\n ],\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-xaee-b16db43be5bc\\",\\n \\"TotalCount\\": 2\\n}","type":"json"}]', 'title' => 'DescribeDataCaches', - 'summary' => 'Queries the information about data caches.', - ], - 'UpdateDataCache' => [ - 'summary' => 'Updates a data cache.', - 'methods' => [ - 'post', - 'get', + 'summary' => 'Queries the details of one or more data caches.', + 'changeSet' => [ + ['createdAt' => '2023-09-05T06:04:22.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:DescribeDataCaches', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8756BA0-6452-419C-9727-37A6209C85E0\\",\\n \\"DataCaches\\": [\\n {\\n \\"DataCacheId\\": \\"edc-bp15l4vvys94oo******\\\\n\\",\\n \\"CreationTime\\": \\"2023-06-16T02:43Z\\",\\n \\"Status\\": \\"Available\\",\\n \\"Progress\\": \\"100%\\",\\n \\"LastMatchedTime\\": \\"2023-06-18T02:43Z\\",\\n \\"ExpireDateTime\\": \\"2023-06-26T02:43Z\\\\n\\",\\n \\"ContainerGroupId\\": \\"eci-8vb1y2w1dv7zeirn****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testkey\\",\\n \\"Value\\": \\"testvalue\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-06-16T02:24:48Z\\",\\n \\"Message\\": \\"Successfully check data cache resource.\\",\\n \\"Name\\": \\"datacache\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-06-16T02:14:48Z\\",\\n \\"Reason\\": \\"Started\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"SnapshotId\\": \\"s-2zec5oj8e1yhxijt****\\",\\n \\"FlashSnapshotId\\": \\"s-bp12w3v37sit96t6****\\\\n\\",\\n \\"ResourceGroupId\\": \\"rg-aek2hlt3ux4****\\",\\n \\"Size\\": 20,\\n \\"Name\\": \\"test\\",\\n \\"DataSource\\": {\\n \\"Type\\": \\"URL\\",\\n \\"Options\\": \\"{\\\\n \\\\\\"options\\\\\\": {\\\\n \\\\\\"path\\\\\\": \\\\\\"/\\\\\\",\\\\n \\\\\\"server\\\\\\": \\\\\\"0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com\\\\\\",\\\\n \\\\\\"vers\\\\\\": \\\\\\"3\\\\\\",\\\\n \\\\\\"options\\\\\\": \\\\\\"nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\\\\\\"\\\\n },\\\\n \\\\\\"type\\\\\\": \\\\\\"NAS\\\\\\"\\\\n}\\"\\n },\\n \\"Bucket\\": \\"default\\",\\n \\"Path\\": \\"/data/models/\\"\\n }\\n ],\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-xaee-b16db43be5bc\\",\\n \\"TotalCount\\": 2\\n}","type":"json"}]', + ], + 'DescribeImageCaches' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10052,262 +5959,107 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '180519', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '17734', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DataCacheId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The data cache ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edc-bp1a7n7uawwwol******', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-2ze81zoc3yl7a3we****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'vsw-2ze23nqzig8inprou****', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Bucket', - 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket in which the data cache is stored. Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Name', + 'name' => 'ImageCacheId', 'in' => 'query', - 'schema' => [ - 'description' => 'The data cache name.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the image cache.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'imc-bp195erqe9o2pb09****'], ], [ - 'name' => 'Size', + 'name' => 'ImageCacheName', 'in' => 'query', - 'schema' => [ - 'description' => 'The data cache size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The name of the image cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testcache'], ], [ - 'name' => 'DataSource', + 'name' => 'SnapshotId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The information about the data source.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the data source. Valid values:'."\n" - ."\n" - .'* URL'."\n" - .'* NAS'."\n" - .'* OSS'."\n" - .'* SNAPSHOT'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NAS', - ], - 'Options' => [ - 'description' => 'The parameters that are configured for the data source.'."\n", - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "options": {'."\n" - .' "path": "/",'."\n" - .' "server": "0ce1f4****-or***.cn-hangzhou.nas.aliyuncs.com",'."\n" - .' "vers": "3",'."\n" - .' "options": "nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"'."\n" - .' },'."\n" - .' "type": "NAS"'."\n" - .'}', - 'description' => 'The parameters that are configured for the data source. The parameters to be specified vary based on the type of data sources. For more information about data sources and their parameters, see [Create and manage a data cache](~~2391456~~).'."\n", - ], - ], - ], - 'required' => false, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The ID of the snapshot that corresponds to the image cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 's-2zec5oj8e1yhxijt****'], ], [ - 'name' => 'RetentionDays', + 'name' => 'Image', 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period for the data cache. The data cache is deleted after the retention period expires. By default, the data cache does not expire.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'nginx'], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzw2jz2z****', - ], + 'schema' => ['description' => 'The ID of the resource group to which the image cache belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-2df3isufhi38****'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are added to the data cache.'."\n", + 'description' => 'The tags that are attached to the image cache.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tags that are attached to the image cache. You can specify up to 20 tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue', - ], + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'imc'], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'MatchImage', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence](~~25693~~).'."\n", - 'type' => 'string', + 'description' => 'The container images that are used to query the matched image caches. You can specify up to 100 images.', + 'type' => 'array', + 'items' => ['description' => 'The container images that are used to query the matched image caches. You can specify up to 100 images.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl'], 'required' => false, - 'example' => '2f22dc16-cad0-4d3f-87e5-91e604756547', + 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', + 'maxItems' => 101, + 'title' => '', ], ], [ - 'name' => 'EipInstanceId', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic IP address (EIP). If no NAT gateway is configured for the virtual private cloud (VPC), you can bind an EIP to the elastic container instance to pull data from the Internet.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eip-2zedsm5mfl3uhdj2d****', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The maximum number of entries to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ - 'name' => 'EipCreateParam', + 'name' => 'NextToken', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The elastic IP address (EIP) to be created and associated. If no NAT gateway is configured for the virtual private cloud (VPC), you can associate an EIP to pull data from the Internet.'."\n", - 'type' => 'object', - 'properties' => [ - 'Bandwidth' => [ - 'description' => 'The bandwidth of the EIP. Unit: Mbit/s. Default value: 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - 'CommonBandwidthPackage' => [ - 'description' => 'The EIP bandwidth plan to be associated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cbwp-2zeukbj916scmj51m****', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the EIP. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth'."\n" - .'* PayByTraffic: pay-by-data-transfer'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - ], - 'PublicIpAddressPoolId' => [ - 'description' => 'The ID of the IP address pool. The EIP is allocated from the IP address pool. You cannot use the IP address pool feature by default. To use this feature, you must apply for the privilege in the Quota Center console.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pippool-bp187arfugi543y1s****', - ], - 'ISP' => [ - 'description' => 'The line type of the EIP. Valid values:'."\n" - ."\n" - .'* BGP (default): BGP (Multi-ISP) line'."\n" - .'* BGP_PRO: BGP (Multi-ISP) Pro line'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BGP', - ], - ], - 'required' => false, - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The token that is used for the next query. You can obtain the token from the \\`NextToken\\` parameter in the response to the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'AAAAAdDWBF2****'], + ], + [ + 'name' => 'ImageFullMatch', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to perform an exact match for the container images.<br>'."\n" + .'This parameter is used to further filter the query results when \\`MatchImage\\` is specified.<br>', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'ImageMatchCountRequest', + 'in' => 'query', + 'schema' => ['description' => 'The number of image caches that exactly match the container images.<br>'."\n" + .'This parameter is used to further filter the query results when \\`MatchImage\\` is specified.<br>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '3'], ], ], 'responses' => [ @@ -10315,516 +6067,300 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BD8BBB43-8E05-5F46-89A9-2512D8A324A2', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '39FC2E43-3DD7-4CEF-9EF4-E4AD6E635301'], + 'ImageCaches' => [ + 'description' => 'The list of image caches.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of image caches.', + 'type' => 'object', + 'properties' => [ + 'Images' => [ + 'description' => 'The list of images in the image cache.', + 'type' => 'array', + 'items' => ['description' => 'The list of images in the image cache.', 'type' => 'string', 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl'], + 'title' => '', + 'example' => '', + ], + 'CreationTime' => ['description' => 'The time when the image cache was created.', 'type' => 'string', 'title' => '', 'example' => '2021-02-09T02:24:07Z'], + 'Status' => ['description' => 'The status of the image cache. Valid values:'."\n" + ."\n" + .'- Preparing: The image cache is being prepared.'."\n" + ."\n" + .'- Creating: The image cache is being created.'."\n" + ."\n" + .'- Ready: The image cache is created.'."\n" + ."\n" + .'- Failed: The image cache failed to be created.'."\n" + ."\n" + .'- Updating: The image cache is being updated.'."\n" + ."\n" + .'- UpdateFailed: The image cache failed to be updated.'."\n" + ."\n" + .'The image cache can be used only when it is in the Ready state.', 'type' => 'string', 'title' => '', 'example' => 'Ready'], + 'Progress' => ['description' => 'The progress of creating the snapshot for the image cache.'."\n" + ."\n" + .'> If the instant image cache feature is enabled, a temporary local snapshot is created before a standard snapshot is created. This parameter indicates the progress of creating the standard snapshot.', 'type' => 'string', 'title' => '', 'example' => '100%'], + 'ExpireDateTime' => ['description' => 'The expiration time.', 'type' => 'string', 'title' => '', 'example' => '2019-11-10T09:00:48Z'], + 'LastMatchedTime' => ['description' => 'The last time when the image cache was matched.', 'type' => 'string', 'title' => '', 'example' => '2021-08-18T03:48:10Z'], + 'ContainerGroupId' => ['description' => 'The ID of the container group.', 'type' => 'string', 'title' => '', 'example' => 'eci-bp18oq3m15prd9jb****'], + 'Tags' => [ + 'description' => 'The list of tags of the image cache.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags of the image cache.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => 'imc'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => 'test'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Events' => [ + 'description' => 'The events that are generated when the image is pulled for the image cache.', + 'type' => 'array', + 'items' => [ + 'description' => 'The events that are generated when the image is pulled for the image cache.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the event.', 'type' => 'string', 'title' => '', 'example' => 'Normal'], + 'LastTimestamp' => ['description' => 'The time when the event ended.', 'type' => 'string', 'title' => '', 'example' => '2021-02-09T02:24:48Z'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Successfully check image cache resource.'], + 'Name' => ['description' => 'The name of the event.', 'type' => 'string', 'title' => '', 'example' => 'imagetest.1661f31f851a****'], + 'Count' => ['description' => 'The number of events.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'FirstTimestamp' => ['description' => 'The time when the event started.', 'type' => 'string', 'title' => '', 'example' => '2021-02-09T02:24:48Z'], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'title' => '', 'example' => 'Started'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ImageCacheId' => ['description' => 'The ID of the image cache.', 'type' => 'string', 'title' => '', 'example' => 'imc-bp195erqe9o2pb09****'], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing'], + 'SnapshotId' => ['description' => 'The ID of the snapshot that corresponds to the image cache.', 'type' => 'string', 'title' => '', 'example' => 's-2zec5oj8e1yhxijt****'], + 'FlashSnapshotId' => ['description' => 'The ID of the local snapshot. If the instant image cache feature is enabled, a temporary local snapshot is created.', 'type' => 'string', 'title' => '', 'example' => 's-bp12w3v37sit96t6****'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-2df3isufhi38****'], + 'ImageCacheSize' => ['description' => 'The size of the image cache. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], + 'ImageCacheName' => ['description' => 'The name of the image cache.', 'type' => 'string', 'title' => '', 'example' => 'imagetest'], + 'EliminationStrategy' => ['description' => 'The policy for retaining the image cache. If you leave this parameter empty, the image cache is always retained.'."\n" + ."\n" + .'You can set this parameter to LRU. This value indicates that the image cache can be automatically deleted. When the number of image caches reaches the quota limit, the system automatically deletes the least recently used image caches for which \\`EliminationStrategy\\` is set to \\`LRU\\`.', 'type' => 'string', 'title' => '', 'example' => 'LRU'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'NextToken' => ['description' => 'The returned pagination token.', 'type' => 'string', 'title' => '', 'example' => 'AAAAAdDWBF2****'], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '15'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'ImageCache.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageCacheNotSupport', - 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', - ], - [ - 'errorCode' => 'EipAddressPoolIpNotEnough', - 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeImageCaches', + 'summary' => 'Queries the details of one or more image caches.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-05T06:04:22.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-04-17T06:16:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-10-09T04:06:37.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2021-09-22T09:02:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-22T09:02:50.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-08-10T06:19:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-06-10T01:40:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-06-10T01:40:39.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeImageCaches', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#imagecacheId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD8BBB43-8E05-5F46-89A9-2512D8A324A2\\"\\n}","type":"json"}]', - 'title' => 'UpdateDataCache', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"39FC2E43-3DD7-4CEF-9EF4-E4AD6E635301\\",\\n \\"ImageCaches\\": [\\n {\\n \\"Images\\": [\\n \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl\\"\\n ],\\n \\"CreationTime\\": \\"2021-02-09T02:24:07Z\\",\\n \\"Status\\": \\"Ready\\",\\n \\"Progress\\": \\"100%\\",\\n \\"ExpireDateTime\\": \\"2019-11-10T09:00:48Z\\",\\n \\"LastMatchedTime\\": \\"2021-08-18T03:48:10Z\\",\\n \\"ContainerGroupId\\": \\"eci-bp18oq3m15prd9jb****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"imc\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-02-09T02:24:48Z\\",\\n \\"Message\\": \\"Successfully check image cache resource.\\",\\n \\"Name\\": \\"imagetest.1661f31f851a****\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-02-09T02:24:48Z\\",\\n \\"Reason\\": \\"Started\\"\\n }\\n ],\\n \\"ImageCacheId\\": \\"imc-bp195erqe9o2pb09****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"SnapshotId\\": \\"s-2zec5oj8e1yhxijt****\\",\\n \\"FlashSnapshotId\\": \\"s-bp12w3v37sit96t6****\\",\\n \\"ResourceGroupId\\": \\"rg-2df3isufhi38****\\",\\n \\"ImageCacheSize\\": 20,\\n \\"ImageCacheName\\": \\"imagetest\\",\\n \\"EliminationStrategy\\": \\"LRU\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]', ], - 'CopyDataCache' => [ - 'summary' => 'Copies a DataCache from one region to another region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeInstanceOpsRecords' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '186053', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '105962', + 'abilityTreeNodes' => ['FEATUREeciXQE3ZY', 'FEATUREeciO9KN4L'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The source region of the DataCache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The source region of the DataCache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], - ], - [ - 'name' => 'Bucket', - 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket in which the DataCache is stored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Path', - 'in' => 'query', - 'schema' => [ - 'description' => 'The storage path of the data.', - 'type' => 'string', - 'required' => false, - 'example' => '/bucket-test', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The DataCache name.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'RetentionDays', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of days for which the DataCache is retained.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '7', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the DataCache.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testvalue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group to which the DataCache belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-2df3isufhi38****', - ], - ], - [ - 'name' => 'ClientToken', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000 ', - ], + 'schema' => ['description' => 'The ID of the ECI instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eci-bp1dvysdafbh00t7****'], ], [ - 'name' => 'DataCacheId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the DataCache in the source region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'edc-bp15l4vvys94oo******'."\n", - ], - ], - [ - 'name' => 'DestinationRegionId', + 'name' => 'OpsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The destination region of the DataCache.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The type of the O\\&M task. Valid values:'."\n" + ."\n" + .'- coredump'."\n" + ."\n" + .'- tcpdump', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'coredump'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '58EE0CB3-C864-5395-A4F7-24F425074839', - ], - 'DataCacheId' => [ - 'description' => 'The ID generated for the DataCache in the destination region.'."\n", - 'type' => 'string', - 'example' => 'edc-bp1423y6d7v7l6ua****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], + 'Records' => [ + 'description' => 'The O\\&M task records.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreateTime' => ['description' => 'The time when the O\\&M task was created.', 'type' => 'string', 'title' => '', 'example' => '2024-07-22T09:27:43Z'], + 'ExpireTime' => ['description' => 'The time when the O\\&M task expires.', 'type' => 'string', 'title' => '', 'example' => '2024-07-22T21:27:43Z'], + 'OpsType' => ['description' => 'The type of the O\\&M task.', 'type' => 'string', 'title' => '', 'example' => 'Coredump'], + 'OpsStatus' => ['description' => 'The status of the O\\&M task. Valid values:'."\n" + ."\n" + .'- Ready: The O\\&M task is enabled.'."\n" + ."\n" + .'- Failed: The O\\&M task failed.'."\n" + ."\n" + .'- Expired: The configuration expired because the O\\&M task was not triggered within its validity period.'."\n" + ."\n" + .'- Closed: The O\\&M task is shut down.'."\n" + ."\n" + .'- Success: The O\\&M task is successful.', 'type' => 'string', 'title' => '', 'example' => 'Ready'], + 'ResultType' => ['description' => 'The type of the O\\&M result. This parameter is returned when OpsStatus is Success.<br>'."\n" + .'Currently, only Oss is supported. This value indicates that the file generated by the O\\&M task is saved to OSS.<br>', 'type' => 'string', 'title' => '', 'example' => 'Oss'], + 'ResultContent' => ['description' => 'The content of the O\\&M result. This is the download URL of the file generated by the O\\&M task. This parameter is returned when OpsStatus is Success.', 'type' => 'string', 'title' => '', 'example' => 'http://eci-******'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'ImageCache.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageCacheNotSupport', - 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', - ], - [ - 'errorCode' => 'EipAddressPoolIpNotEnough', - 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', - ], - ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', + 'title' => 'DescribeInstanceOpsRecords', + 'summary' => 'You can call DescribeInstanceOpsRecords to query the O&M task records for an instance.', + 'changeSet' => [ + ['createdAt' => '2021-12-17T02:12:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeInstanceOpsRecords', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"58EE0CB3-C864-5395-A4F7-24F425074839\\",\\n \\"DataCacheId\\": \\"edc-bp1423y6d7v7l6ua****\\"\\n}","type":"json"}]', - 'title' => 'CopyDataCache', - 'description' => 'You cannot directly use a DataCache across regions. You can call this operation to copy a DataCache from one region to another region. This operation is suitable for the following scenarios:'."\n" - ."\n" - .'* If you want to use a DataCache across regions and the DataCache exists in Region A, you can call this operation to quickly copy the DataCache to Region B.'."\n" - .'* If you directly pull data from a region outside China to a region inside the Chinese mainland when you create a DataCache, the data may be pulled at a slow speed due to network limits. In this case, you can create a DataCache in a region outside the Chinese mainland but inside China, such as the China (Hong Kong) region, and call this operation to copy the data to the region inside the Chinese mainland.'."\n" - ."\n" - .'> The process of copying a DataCache is equivalent to copying a snapshot. You are charged for the traffic generated during the copy process and the storage of the generated DataCache.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"Records\\": [\\n {\\n \\"CreateTime\\": \\"2024-07-22T09:27:43Z\\",\\n \\"ExpireTime\\": \\"2024-07-22T21:27:43Z\\",\\n \\"OpsType\\": \\"Coredump\\",\\n \\"OpsStatus\\": \\"Ready\\",\\n \\"ResultType\\": \\"Oss\\",\\n \\"ResultContent\\": \\"http://eci-******\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'DeleteDataCache' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMultiContainerGroupMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '179691', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '17736', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the DataCache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the DataCache.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'DataCacheId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the DataCache.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'edc-bp1a7n7uawwwol******', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ClientToken', + 'name' => 'ContainerGroupIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotency of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5e74729e-ce21-4c3e-9163-cbaf0f02768e', - ], + 'schema' => ['description' => 'The IDs of the ECI instances. The value is the same as the container group ID. Specify the IDs in a JSON array. You can specify a maximum of 20 IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '["eci-2zegym1qhbmdfr1s****","eci-2ze39w5svzj5ic34****"]'], ], [ - 'name' => 'Bucket', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket that stores the DataCache. By default, the bucket is named default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The ID of the resource group to which the instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmzw2jz2z****'], ], [ - 'name' => 'Path', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The directory in which the virtual host of the DataCache is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/data/models/', - ], + 'schema' => ['description' => 'The type of monitoring data. Only summary is supported. If you set this parameter to summary, Records are returned.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'summary'], ], ], 'responses' => [ @@ -10832,574 +6368,633 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0F8A012-1426-5EB2-96F5-B4416DEB5B78', + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'B8756BA0-6452-419C-9727-37A6209C85E0'], + 'MonitorDatas' => [ + 'description' => 'The collection of monitoring data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Records' => [ + 'description' => 'The details of the monitoring data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'description' => 'The network data.', + 'type' => 'object', + 'properties' => [ + 'Interfaces' => [ + 'description' => 'The data of the network interface card (NIC).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RxErrors' => ['description' => 'The total number of errors that occurred when packets were received.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'TxDrops' => ['description' => 'The total number of sent packets that were dropped.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'TxBytes' => ['description' => 'The total number of bytes sent.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1381805699'], + 'RxPackets' => ['description' => 'The total number of packets received.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4800583'], + 'TxPackets' => ['description' => 'The total number of packets sent.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '5158427'], + 'Name' => ['description' => 'The name of the NIC.', 'type' => 'string', 'title' => '', 'example' => 'eth0'], + 'TxErrors' => ['description' => 'The total number of errors that occurred when packets were sent.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'RxBytes' => ['description' => 'The total number of bytes received.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '505001954'], + 'RxDrops' => ['description' => 'The total number of received packets that were dropped.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'CPU' => [ + 'description' => 'The CPU data.', + 'type' => 'object', + 'properties' => [ + 'UsageNanoCores' => ['description' => 'The CPU usage in the sampling window, in nanocores.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'Limit' => ['description' => 'The CPU limit. The value is the number of vCPUs multiplied by 1,000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '2000'], + 'UsageCoreNanoSeconds' => ['description' => 'The total CPU usage over time.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '70769883'], + 'Load' => ['description' => 'The average load over the last 10 seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + ], + 'title' => '', + 'example' => '', + ], + 'Disk' => [ + 'description' => 'The disk data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'WriteBytes' => ['description' => 'The amount of data written to the disk, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1375109120'], + 'Device' => ['description' => 'The disk name.', 'type' => 'string', 'title' => '', 'example' => '/dev/vda'], + 'WriteIo' => ['description' => 'This parameter is not in use.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123'], + 'ReadBytes' => ['description' => 'The amount of data read from the disk, in bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '210714112'], + 'ReadIo' => ['description' => 'This parameter is not in use.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '123'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Timestamp' => ['description' => 'The time when the monitoring data was collected. The time is in the RFC 3339 format.', 'type' => 'string', 'title' => '', 'example' => '2019-12-19T02:31:54Z'], + 'Memory' => [ + 'description' => 'The memory data.', + 'type' => 'object', + 'properties' => [ + 'Rss' => ['description' => 'The resident set size (RSS), which indicates the physical memory that is used.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1593344'], + 'UsageBytes' => ['description' => 'The memory usage.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '11153408'], + 'WorkingSet' => ['description' => 'The working set size.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '5521408'], + 'AvailableBytes' => ['description' => 'The available memory.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4289445888'], + 'Cache' => ['description' => 'The cache size.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '7028736'], + ], + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'description' => 'The details of the monitoring data about the container.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CPU' => [ + 'description' => 'The CPU data of the container.', + 'type' => 'object', + 'properties' => [ + 'UsageNanoCores' => ['description' => 'The CPU usage in the sampling window, in nanocores.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '0'], + 'Limit' => ['description' => 'The CPU limit. The value is the number of vCPUs multiplied by 1,000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '321234'], + 'UsageCoreNanoSeconds' => ['description' => 'The total CPU usage over time.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '40876694'], + 'Load' => ['description' => 'The average load over the last 10 seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '12341'], + ], + 'title' => '', + 'example' => '', + ], + 'Memory' => [ + 'description' => 'The memory data of the container.', + 'type' => 'object', + 'properties' => [ + 'Rss' => ['description' => 'The RSS, which indicates the physical memory that is used.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'UsageBytes' => ['description' => 'The memory usage.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'WorkingSet' => ['description' => 'The working set size.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + 'AvailableBytes' => ['description' => 'The available memory.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4285091840'], + 'Cache' => ['description' => 'The cache size.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '9289728'], + ], + 'title' => '', + 'example' => '', + ], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'title' => '', 'example' => 'test1'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Filesystem' => [ + 'description' => 'The data of the file system partition.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'The total space.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '41610981376'], + 'Available' => ['description' => 'The available space.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '35319836672'], + 'FsName' => ['description' => 'The partition name.', 'type' => 'string', 'title' => '', 'example' => '/dev/root'], + 'Usage' => ['description' => 'The used space.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4368744448'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ContainerGroupId' => ['description' => 'The instance ID, which is the container group ID.', 'type' => 'string', 'title' => '', 'example' => 'eci-bp15oolgorelvhfb****'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeMultiContainerGroupMetric', + 'summary' => 'You can call the DescribeContainerGroupMetric operation to query the monitoring data of an ECI instance.', + 'description' => '- This operation returns only the most recent monitoring record for each ECI instance.'."\n" + ."\n" + .'- You can query monitoring data only for ECI instances created after 15:00 on April 3, 2019 (UTC+8).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-03-28T05:43:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-28T03:48:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-19T07:28:43.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-15T08:17:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-15T08:17:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-11T03:51:54.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-04-26T12:05:48.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeMultiContainerGroupMetric', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0F8A012-1426-5EB2-96F5-B4416DEB5B78\\"\\n}","type":"json"}]', - 'title' => 'DeleteDataCache', - 'summary' => 'Deletes a DataCache.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8756BA0-6452-419C-9727-37A6209C85E0\\",\\n \\"MonitorDatas\\": [\\n {\\n \\"Records\\": [\\n {\\n \\"Network\\": {\\n \\"Interfaces\\": [\\n {\\n \\"RxErrors\\": 0,\\n \\"TxDrops\\": 0,\\n \\"TxBytes\\": 1381805699,\\n \\"RxPackets\\": 4800583,\\n \\"TxPackets\\": 5158427,\\n \\"Name\\": \\"eth0\\",\\n \\"TxErrors\\": 0,\\n \\"RxBytes\\": 505001954,\\n \\"RxDrops\\": 0\\n }\\n ]\\n },\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 2000,\\n \\"UsageCoreNanoSeconds\\": 70769883,\\n \\"Load\\": 0\\n },\\n \\"Disk\\": [\\n {\\n \\"WriteBytes\\": 1375109120,\\n \\"Device\\": \\"/dev/vda\\",\\n \\"WriteIo\\": 123,\\n \\"ReadBytes\\": 210714112,\\n \\"ReadIo\\": 123\\n }\\n ],\\n \\"Timestamp\\": \\"2019-12-19T02:31:54Z\\",\\n \\"Memory\\": {\\n \\"Rss\\": 1593344,\\n \\"UsageBytes\\": 11153408,\\n \\"WorkingSet\\": 5521408,\\n \\"AvailableBytes\\": 4289445888,\\n \\"Cache\\": 7028736\\n },\\n \\"Containers\\": [\\n {\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 321234,\\n \\"UsageCoreNanoSeconds\\": 40876694,\\n \\"Load\\": 12341\\n },\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Name\\": \\"test1\\"\\n }\\n ],\\n \\"Filesystem\\": [\\n {\\n \\"Capacity\\": 41610981376,\\n \\"Available\\": 35319836672,\\n \\"FsName\\": \\"/dev/root\\",\\n \\"Usage\\": 4368744448\\n }\\n ]\\n }\\n ],\\n \\"ContainerGroupId\\": \\"eci-bp15oolgorelvhfb****\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'CreateVirtualNode' => [ - 'summary' => 'Creates a VNode to connect self-managed Kubernetes clusters to elastic container instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeRegions' => [ + 'summary' => 'Queries the regions and zones supported by Elastic Container Instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREeciOZ73BH', - 'FEATUREeciESSPHI', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '17738', + 'abilityTreeNodes' => ['FEATUREeciWX1P2C', 'FEATUREeciO4MP7I', 'FEATUREeciL85GGA', 'FEATUREeciTLPZOI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], - [ - 'name' => 'ZoneId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The zone ID of the VNode.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', + 'description' => 'The returned information.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], + 'Regions' => [ + 'description' => 'The collection of region information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of region information.', + 'type' => 'object', + 'properties' => [ + 'Zones' => [ + 'description' => 'The zones.', + 'type' => 'array', + 'items' => ['description' => 'A zone.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-g'], + 'title' => '', + 'example' => '', + ], + 'RecommendZones' => [ + 'description' => 'The list of recommended zones.', + 'type' => 'array', + 'items' => ['description' => 'A recommended zone. This is a zone in the current region with sufficient resources.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-j'], + 'title' => '', + 'example' => '', + ], + 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'title' => '', 'example' => 'eci.aliyuncs.com'], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'UnavailableZones' => [ + 'description' => 'The list of unavailable zones.', + 'type' => 'array', + 'items' => ['description' => 'An unavailable zone. The zone may be faulty. Use other available zones.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-e'], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'DescribeRegions', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-10-15T11:17:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-09-01T08:53:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-11T08:13:17.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-01-11T07:30:35.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"Regions\\": [\\n {\\n \\"Zones\\": [\\n \\"cn-hangzhou-g\\"\\n ],\\n \\"RecommendZones\\": [\\n \\"cn-hangzhou-j\\"\\n ],\\n \\"RegionEndpoint\\": \\"eci.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"UnavailableZones\\": [\\n \\"cn-hangzhou-e\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeVirtualNodes' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group. The VNode and the elastic container instances in the VNode are added to the security group.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'sg-2ze81zoc3yl7a3we****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'VSwitchId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch. The vSwitch is connected to the VNode and the elastic container instances in the VNode.'."\n" - ."\n" - .'You can specify 1 to 10 vSwitches for a VPC.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vsw-2ze23nqzig8inprou****', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'VirtualNodeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the VNode. The name must be 2 to 128 characters in length, and can contain lowercase letters, digits, periods (.), and hyphens (-).', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'testNode', - ], + 'schema' => ['description' => 'The IDs of the virtual nodes. You can specify up to 20 IDs. The value must be a JSON-formatted string.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'testNode'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'VirtualNodeIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a value from your client to make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["vnd-2ze960zkdqrldeaw****","vnd-3ebzcviqbwt25dsz****"]'], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'EnablePublicNetwork', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable Internet access for the VNode. Default value: false.'."\n" - ."\n" - .'If the value of this parameter is true, the VNode exposes a public IP address to external services.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'EipInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic IP address (EIP).', - 'type' => 'string', - 'required' => false, - 'example' => 'eip-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The status of the virtual node. Valid values:'."\n" + ."\n" + .'- Pending'."\n" + ."\n" + .'- Ready'."\n" + ."\n" + .'- Failed', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'KubeConfig', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'The KubeConfig of the Kubernetes cluster with which the VNode is connected. The value must be Base64-encoded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'JTVDbmFwaVZlcnNpb24lM0ElMjB2MSU1Q25jbHVzdGVycyUzQSU1Q24tJTIwY2x1c3RlciUzQSU1Q24uLi******', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Ready'], ], [ - 'name' => 'CustomResources', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom resources that are supported by the virtual node. If a custom resource is specified in the request of an Elastic Container Instance pod, the pod is scheduled to run on the virtual node that supports the custom resource. You can use the Resource name = Number of resources format to specify custom resources. Separate multiple resources with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => 'example1.com=100,example2.com=200', - ], + 'schema' => ['description' => 'The token that is used to retrieve the next page of results. You do not need to specify this parameter for the first request. You can obtain the token from the \\`NextToken\\` parameter in the response to the previous request.'."\n" + ."\n" + .'You do not need to set this parameter for the first query. For subsequent queries, you can obtain the token from the response.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'rg-uf66jeqopgqa9hdn****'], ], [ - 'name' => 'ClusterDomain', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name of the cluster. If this parameter is specified, in addition to the search domain of the host, Kubelet configures all containers to search for the specified domain name.', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Default value: 20. Maximum value: 20.'."\n" + ."\n" + .'> The response might contain fewer entries than the specified number.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], ], [ - 'name' => 'ClusterDNS', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the DNS server. If dnsPolicy=ClusterFirst is configured for the Elastic Container Instance pod, Elastic Container Instance uses the configuration to provide DNS services to containers. You can configure multiple IP addresses. Separate multiple IP addresses with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => '100.1.XX.XX', - ], + 'schema' => ['description' => 'The list of tags that are attached to the virtual node.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags to add to the VNode. You can add up to 20 tags.'."\n", + 'description' => 'The tags that are attached to the virtual node.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the tag.'."\n", + 'description' => 'The tags that are attached to the virtual node.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, - ], - ], - [ - 'name' => 'Taint', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The taints of the VNode. You can configure up to 20 taints.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about a taint of the VNode.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the taint.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testKey', - ], - 'Value' => [ - 'description' => 'The value of the taint.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], - 'Effect' => [ - 'description' => 'The effect of the taint. Valid values:'."\n" - ."\n" - .'* NoSchedule: does not schedule pods to run on the VNodes that have the taint.'."\n" - .'* NoExecute: evicts existing pods on the VNodes that have the taint while not scheduling pods to run on the VNodes.'."\n" - .'* PreferNoSchedule: avoids scheduling pods to run on the VNodes that have the taint.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSchedule', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'TlsBootstrapEnabled', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable TLS bootstrapping. If you set this parameter to true, use the KubeConfig certificate for TLS bootstrapping. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '89164E78-FC82-4684-BE97-DCDD85D26546', - ], - 'VirtualNodeId' => [ - 'description' => 'The ID of the VNode.', - 'type' => 'string', - 'example' => 'vnd-2ze960zkdqrldeaw****', + 'TotalCount' => ['description' => 'The total number of queried virtual nodes.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'NextToken' => ['description' => 'The token that is used to start the next query.', 'type' => 'string', 'title' => '', 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '9C9B9917-ED22-50D5-ADE6-9FA9D58AD05F'], + 'VirtualNodes' => [ + 'description' => 'A collection of virtual node details.', + 'type' => 'array', + 'items' => [ + 'description' => 'A collection of virtual node details.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the virtual node. Possible values:'."\n" + ."\n" + .'- Pending'."\n" + ."\n" + .'- Ready'."\n" + ."\n" + .'- Failed', 'type' => 'string', 'title' => '', 'example' => 'Ready'], + 'CreationTime' => ['description' => 'The time when the virtual node was created. The time is in UTC and follows the RFC 3339 standard.', 'type' => 'string', 'title' => '', 'example' => '2021-09-08T15:00:00Z'], + 'VpcId' => ['description' => 'The ID of the VPC to which the virtual node belongs.', 'type' => 'string', 'title' => '', 'example' => 'vpc-1vzjjflab6wvjox****'], + 'InternetIp' => ['description' => 'The public IP address of the virtual node.', 'type' => 'string', 'title' => '', 'example' => '192.0.XX.XX'], + 'Tags' => [ + 'description' => 'The tag information of the virtual node.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => 'test'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Events' => [ + 'description' => 'The event information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The event information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The event type. Possible values:'."\n" + ."\n" + .'- Normal'."\n" + ."\n" + .'- Warning', 'type' => 'string', 'title' => '', 'example' => 'Normal'], + 'LastTimestamp' => ['description' => 'The time when the event ended.', 'type' => 'string', 'title' => '', 'example' => '2021-09-08T02:24:52Z'], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'title' => '', 'example' => 'Successfully'], + 'Name' => ['description' => 'The name of the object to which the event belongs.', 'type' => 'string', 'title' => '', 'example' => 'test'], + 'Reason' => ['description' => 'The event name.', 'type' => 'string', 'title' => '', 'example' => 'Created'], + 'Count' => ['description' => 'The number of events.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], + 'FirstTimestamp' => ['description' => 'The time when the event started.', 'type' => 'string', 'title' => '', 'example' => '2021-09-08T02:24:48Z'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'VirtualNodeId' => ['description' => 'The ID of the virtual node.', 'type' => 'string', 'title' => '', 'example' => 'vnd-2ze960zkdqrldeaw****'], + 'IntranetIp' => ['description' => 'The internal IP address of the virtual node.', 'type' => 'string', 'title' => '', 'example' => '10.19.XX.XX'], + 'RegionId' => ['description' => 'The ID of the region to which the virtual node belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'VirtualNodeVSwitchId' => ['description' => 'The ID of the vSwitch to which the virtual node belongs.', 'type' => 'string', 'title' => '', 'example' => 'vsw-2ze23nqzig8inprou****'], + 'VirtualNodeSecurityGroupId' => ['description' => 'The ID of the security group to which the virtual node belongs.', 'type' => 'string', 'title' => '', 'example' => 'sg-2zeeyaaxlkq9sppl****'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the virtual node belongs.', 'type' => 'string', 'title' => '', 'example' => 'rg-uf66jeqopgqa9hdn****'], + 'VirtualNodeName' => ['description' => 'The name of the virtual node.', 'type' => 'string', 'title' => '', 'example' => 'testNode'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.NotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'DiskNumber.LimitExceed', - 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', - ], - [ - 'errorCode' => 'InvalidPaymentMethod.InsufficientBalance', - 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', - ], - [ - 'errorCode' => 'DiskVolume.NotInSameZone', - 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', - ], - [ - 'errorCode' => 'HighCpuMemConfigRequired', - 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', - 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', - ], - [ - 'errorCode' => 'LocalDiskAmountNotMatch', - 'errorMessage' => 'The number of local volumes does not match the instance type.', - ], - [ - 'errorCode' => 'Payfor.CreditPayInsufficientBalance', - 'errorMessage' => 'Your payment credit line is insufficient.', - ], - [ - 'errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', - 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', - ], - [ - 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', - 'errorMessage' => 'KMS must be enabled for encrypted disks.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', - 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportVsw', - 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', - ], - [ - 'errorCode' => 'EipAddressPoolIpNotEnough', - 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', - ], - [ - 'errorCode' => 'VnodeDedicatedHostIdAlreadyExist', - 'errorMessage' => 'DedicatedHostId:%s of Vnode:%s already exists.', - ], - [ - 'errorCode' => 'DedicatedHostQuotaExceeded', - 'errorMessage' => 'The quota of DedicatedHost is exceeded.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'ImageSnapshot.IncorrectStatus', 'errorMessage' => '%s', 'description' => 'The status of the specified snapshot is invalid.'], + ['errorCode' => 'ImageSnapshot.NotSupport', 'errorMessage' => '%s', 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'DiskNumber.LimitExceed', 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['errorCode' => 'InvalidPaymentMethod.InsufficientBalance', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['errorCode' => 'DiskVolume.NotInSameZone', 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', 'description' => ''], + ['errorCode' => 'HighCpuMemConfigRequired', 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'description' => ''], + ['errorCode' => 'LocalDiskAmountNotMatch', 'errorMessage' => 'The number of local volumes does not match the instance type.', 'description' => ''], + ['errorCode' => 'Payfor.CreditPayInsufficientBalance', 'errorMessage' => 'Your payment credit line is insufficient.', 'description' => 'Your payment credit line is insufficient.'], + ['errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'errorMessage' => 'KMS must be enabled for encrypted disks.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['errorCode' => 'Ipv6AddressNotSupportVsw', 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', - 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', - ], - [ - 'errorCode' => 'Forbidden.AccountClosed', - 'errorMessage' => 'The operation is forbidden. Your account has been closed.', - ], - [ - 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', - 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', - ], - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], - ], - [ - [ - 'errorCode' => 'ImageSnapshot.NotFound', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'InvalidDiskId.NotFound', - 'errorMessage' => 'The specified disk does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', - 'errorMessage' => 'The specified KMSKeyId does not exist.', - ], + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['errorCode' => 'Forbidden.AccountClosed', 'errorMessage' => 'The operation is forbidden. Your account has been closed.', 'description' => ''], + ['errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'description' => ''], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + [ + ['errorCode' => 'ImageSnapshot.NotFound', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => ''], + ['errorCode' => 'InvalidDiskId.NotFound', 'errorMessage' => 'The specified disk does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', 'errorMessage' => 'The specified KMSKeyId does not exist.', 'description' => 'The specified KMSKeyId does not exist.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89164E78-FC82-4684-BE97-DCDD85D26546\\",\\n \\"VirtualNodeId\\": \\"vnd-2ze960zkdqrldeaw****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateVirtualNodeResponse>\\n <RequestId>89164E78-FC82-4684-BE97-DCDD85D26546</RequestId>\\n <VirtualNodeId>vnd-2ze960zkdqrldeaw****</VirtualNodeId>\\n</CreateVirtualNodeResponse>","errorExample":""}]', - 'title' => 'CreateVirtualNode', - 'description' => '* When you call this operation to create a virtual node, the system automatically creates a service-linked role AliyunServiceRoleForECIVnode. This way, you can use the service-linked role to access relevant cloud services such as Elastic Container Instance, Elastic Compute Service (ECS), and Virtual Private Cloud (VPC). For more information, see [Service-linked role for virtual nodes](~~311014~~).'."\n" - .'* You are charged for virtual nodes based on number of virtual nodes that you use. Each virtual node has a resident node, which is equivalent to an ECI instance with 2 vCPU cores and 8 GiB memory. You are charged for virtual nodes based on elastic container instances.'."\n", + 'title' => 'DescribeVirtualNodes', + 'summary' => 'Queries the details of one or more virtual nodes.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteVirtualNode' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-08-30T08:45:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-03T01:56:18.000Z', 'description' => 'Response parameters changed, Response parameters changed'], + ['createdAt' => '2023-01-11T08:05:33.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'], + ['createdAt' => '2021-09-06T04:58:46.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeVirtualNodes', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#virtualnodeId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"RequestId\\": \\"9C9B9917-ED22-50D5-ADE6-9FA9D58AD05F\\",\\n \\"VirtualNodes\\": [\\n {\\n \\"Status\\": \\"Ready\\",\\n \\"CreationTime\\": \\"2021-09-08T15:00:00Z\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-09-08T02:24:52Z\\",\\n \\"Message\\": \\"Successfully\\",\\n \\"Name\\": \\"test\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-09-08T02:24:48Z\\"\\n }\\n ],\\n \\"VirtualNodeId\\": \\"vnd-2ze960zkdqrldeaw****\\",\\n \\"IntranetIp\\": \\"10.19.XX.XX\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VirtualNodeVSwitchId\\": \\"vsw-2ze23nqzig8inprou****\\",\\n \\"VirtualNodeSecurityGroupId\\": \\"sg-2zeeyaaxlkq9sppl****\\",\\n \\"ResourceGroupId\\": \\"rg-uf66jeqopgqa9hdn****\\",\\n \\"VirtualNodeName\\": \\"testNode\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ExecContainerCommand' => [ + 'summary' => 'Executes a command in a container.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17739', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VirtualNodeId', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual node.', - 'type' => 'string', - 'required' => true, - 'example' => 'vnd-2ze960zkdqrldeaw****', - ], + 'schema' => ['description' => 'The instance ID, which is the container group ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-2zebxkiifulhl****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ContainerName', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency of requests](~~25693~~).', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'The name of the container.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'nginx'], + ], + [ + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => 'The commands to execute in the container. You can specify up to 20 commands. Each command can be up to 256 characters long.<br>'."\n" + .'To execute multiple commands, pass the string in JSON format. For example, `["/bin/sh", "-c", "ls -a"]`.<br>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '["/bin/sh", "-c", "ls -a"]'], + ], + [ + 'name' => 'TTY', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable interaction. The default value is false.<br>'."\n" + .'If you set Command to `/bin/bash`, set this parameter to true.<br>', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + ], + [ + 'name' => 'Stdin', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable standard input. The default value is true.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'Sync', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to execute the command immediately and return the result synchronously. The default value is false.<br>'."\n" + .'If you set this parameter to true, you must set TTY to false. This means Command cannot be `/bin/bash`.<br>', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], ], 'responses' => [ @@ -11407,312 +7002,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', - ], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => '28B583A8-313D-4383-7817-B5A9F7E0****'], + 'WebSocketUri' => ['description' => 'The WebSocket URL. Use this URL to connect to the container.', 'type' => 'string', 'title' => '', 'example' => 'wss://eci-cn-shanghai.aliyun.com/exec/?s=ktHPx****'], + 'HttpUrl' => ['description' => 'The HTTP URL. Access this URL within 30 seconds to enter the container. For more information, see [Use and integrate ECI Terminal](~~202846~~).', 'type' => 'string', 'title' => '', 'example' => 'https://eci.console.aliyun.com/terminal?param=X32a****'], + 'SyncResponse' => ['description' => 'The result returned for the command. This parameter is returned when Sync is set to true.', 'type' => 'string', 'title' => '', 'example' => 'Hello'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.NotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'DiskNumber.LimitExceed', - 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', - ], - [ - 'errorCode' => 'InvalidPaymentMethod.InsufficientBalance', - 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', - ], - [ - 'errorCode' => 'DiskVolume.NotInSameZone', - 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', - ], - [ - 'errorCode' => 'HighCpuMemConfigRequired', - 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', - 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', - ], - [ - 'errorCode' => 'LocalDiskAmountNotMatch', - 'errorMessage' => 'The number of local volumes does not match the instance type.', - ], - [ - 'errorCode' => 'Payfor.CreditPayInsufficientBalance', - 'errorMessage' => 'Your payment credit line is insufficient.', - ], - [ - 'errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', - 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', - ], - [ - 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', - 'errorMessage' => 'KMS must be enabled for encrypted disks.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', - 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportVsw', - 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', - ], - [ - 'errorCode' => 'VirtualNode.DELETE.FAILED', - 'errorMessage' => 'The vnode has eci on it, please delete eci first.', - ], - ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', - 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', - ], - [ - 'errorCode' => 'Forbidden.AccountClosed', - 'errorMessage' => 'The operation is forbidden. Your account has been closed.', - ], - [ - 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', - 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', - ], - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], - ], - [ - [ - 'errorCode' => 'ImageSnapshot.NotFound', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'InvalidDiskId.NotFound', - 'errorMessage' => 'The specified disk does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', - 'errorMessage' => 'The specified KMSKeyId does not exist.', - ], + ['errorCode' => 'InvalidParameter.ValueExceeded', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVirtualNodeResponse>\\r\\n <RequestId>89945DD3-9072-47D0-A318-353284CFC7B3</RequestId>\\r\\n</DeleteVirtualNodeResponse>","errorExample":""}]', - 'title' => 'DeleteVirtualNode', - 'summary' => 'Deletes a virtual node.', + 'title' => 'ExecContainerCommand', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateVirtualNode' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-10-12T08:01:02.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-12T07:55:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-08-12T09:09:14.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecContainerCommand'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:ExecContainerCommand', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"28B583A8-313D-4383-7817-B5A9F7E0****\\",\\n \\"WebSocketUri\\": \\"wss://eci-cn-shanghai.aliyun.com/exec/?s=ktHPx****\\",\\n \\"HttpUrl\\": \\"https://eci.console.aliyun.com/terminal?param=X32a****\\",\\n \\"SyncResponse\\": \\"Hello\\"\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', + 'abilityTreeCode' => '163143', + 'abilityTreeNodes' => ['FEATUREeciO8VNZM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region to which the resource belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual node.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'VirtualNodeId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual node.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vnd-2ze960zkdqrldeaw****', - ], - ], - [ - 'name' => 'VirtualNodeName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the virtual node.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'testNode', - ], - ], - [ - 'name' => 'CustomResources', - 'in' => 'query', - 'schema' => [ - 'description' => 'The custom resources that are supported by the virtual node. If a custom resource is specified in the request of an Elastic Container Instance pod, the pod is scheduled to run on the virtual node that supports the custom resource. You can use the `Resource name = Number of resources` format to specify custom resources. Separate multiple resources with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example1.com=100,example2.com=200', - ], - ], - [ - 'name' => 'ClusterDomain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name of the cluster. If this parameter is specified, in addition to the search domain of the host, Kubelet configures all containers to search for the specified domain name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The ID of the region to which the resource belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ClusterDNS', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address of the DNS server. If `dnsPolicy=ClusterFirst` is configured for the Elastic Container Instance pod, Elastic Container Instance uses the configuration to provide DNS services to containers. You can configure multiple IP addresses. Separate multiple IP addresses with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100.1.XX.XX', - ], - ], - [ - 'name' => 'ClientToken', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency of requests?](~~25693~~)'."\n", - 'type' => 'string', + 'description' => 'The list of resource IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource. Specify the resource ID based on the value of ResourceType.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv***'], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'docRequired' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ @@ -11720,253 +7096,122 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags to add to the virtual node.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the tag.'."\n", + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N to add to the virtual node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The value of tag N to add to the virtual node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- ContainerGroup: an ECI instance'."\n" + ."\n" + .'- ImageCache: an image cache'."\n" + ."\n" + .'- DataCache: a data cache'."\n" + ."\n" + .'- VirtualNode: a virtual node', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ContainerGroup'], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '20'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that is used to start the next query. To retrieve the next page of results, set this parameter to the NextToken value from the previous response.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'AAAAAdDWBF2****'."\n"], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', + 'NextToken' => ['title' => '', 'description' => 'The token to start the next query.', 'type' => 'string', 'example' => 'AAAAAdDWBF2****'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088'], + 'TagResources' => [ + 'title' => '', + 'description' => 'The list of resources.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of resources.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['title' => '', 'description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- ContainerGroup: an ECI instance'."\n" + ."\n" + .'- ImageCache: an image cache'."\n" + ."\n" + .'- DataCache: a data cache'."\n" + ."\n" + .'- VirtualNode: a virtual node', 'type' => 'string', 'example' => 'ContainerGroup'], + 'TagValue' => ['title' => '', 'description' => 'The value of the tag attached to the resource.', 'type' => 'string', 'example' => 'testvalue'], + 'ResourceId' => ['title' => '', 'description' => 'The ID of the resource.', 'type' => 'string', 'example' => 'eci-2zelg8vwnlzdhf8hv****'."\n"], + 'TagKey' => ['title' => '', 'description' => 'The key of the tag attached to the resource.', 'type' => 'string', 'example' => 'testkey'], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.NotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'DiskNumber.LimitExceed', - 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', - ], - [ - 'errorCode' => 'InvalidPaymentMethod.InsufficientBalance', - 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', - ], - [ - 'errorCode' => 'DiskVolume.NotInSameZone', - 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', - ], - [ - 'errorCode' => 'HighCpuMemConfigRequired', - 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', - 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', - ], - [ - 'errorCode' => 'LocalDiskAmountNotMatch', - 'errorMessage' => 'The number of local volumes does not match the instance type.', - ], - [ - 'errorCode' => 'Payfor.CreditPayInsufficientBalance', - 'errorMessage' => 'Your payment credit line is insufficient.', - ], - [ - 'errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', - 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', - ], - [ - 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', - 'errorMessage' => 'KMS must be enabled for encrypted disks.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', - 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportVsw', - 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', - ], - ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserBussinessStatus', - 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', - 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', - ], - [ - 'errorCode' => 'Forbidden.AccountClosed', - 'errorMessage' => 'The operation is forbidden. Your account has been closed.', - ], - [ - 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', - 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', - ], - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], + ['errorCode' => 'NoPermission.Tag', 'errorMessage' => 'No permissions to operate tags.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The length of tags exceeded limit: 20.', 'description' => ''], ], - [ - [ - 'errorCode' => 'ImageSnapshot.NotFound', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'InvalidDiskId.NotFound', - 'errorMessage' => 'The specified disk does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', - 'errorMessage' => 'The specified KMSKeyId does not exist.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListTagResources', + 'summary' => 'You can call the ListTagResources operation to query the tags that are attached to ECI resources.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVirtualNodeResponse>\\r\\n <RequestId>89945DD3-9072-47D0-A318-353284CFC7B3</RequestId>\\r\\n</UpdateVirtualNodeResponse>","errorExample":""}]', - 'title' => 'UpdateVirtualNode', - 'summary' => 'Updates attributes of a virtual node.', - 'description' => '## Usage notes'."\n" - ."\n" - .'Only virtual nodes that are in the Ready state can be updated.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ContainerGroup\\",\\n \\"TagValue\\": \\"testvalue\\",\\n \\"ResourceId\\": \\"eci-2zelg8vwnlzdhf8hv****\\\\n\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribeVirtualNodes' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListUsage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11976,140 +7221,22 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17740', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4', 'FEATUREeci5NN3BU'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the virtual nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'VirtualNodeName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The names of the virtual nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'testNode', - ], - ], - [ - 'name' => 'VirtualNodeIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the virtual nodes. You can specify up to 20 IDs. Each ID must be a string in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["vnd-2ze960zkdqrldeaw****","vnd-3ebzcviqbwt25dsz****"]', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency of requests?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the virtual node. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Ready'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Ready', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the next query. If this parameter is empty, all results have been returned.'."\n" - ."\n" - .'You do not need to specify this parameter in the first request. From the second request, you can obtain the token from the result returned by the previous request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], - ], - [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of resources that are allowed to return for this request. Default value: 20. Maximum value: 20.'."\n" - ."\n" - .'> The number of returned resources is less than or equal to the specified number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags that are bound to the virtual node.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tags that are bound to the virtual node.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The value of tag N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -12117,437 +7244,123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The number of virtual nodes that were queried.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NextToken' => [ - 'description' => 'The token that determines the start point of the next query.'."\n", - 'type' => 'string', - 'example' => 'd78f2dd8-5979-42fe-****-b16db43be5bc', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9C9B9917-ED22-50D5-ADE6-9FA9D58AD05F', - ], - 'VirtualNodes' => [ - 'description' => 'The virtual nodes that were queried.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the virtual node. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Ready'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'example' => 'Ready', - ], - 'CreationTime' => [ - 'description' => 'The time when the virtual node was created. The time follows the RFC 3339 standard and is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-09-08T15:00:00Z', - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC to which the virtual node belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-1vzjjflab6wvjox****', - ], - 'InternetIp' => [ - 'description' => 'The public IP address of the virtual node.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'Tags' => [ - 'description' => 'The tags that are bound to the virtual node.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tags that are bound to the virtual node.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - 'Events' => [ - 'description' => 'The events about the virtual node.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The events about the virtual node.', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the event. Valid values:'."\n" - ."\n" - .'* Normal'."\n" - .'* Warning'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'LastTimestamp' => [ - 'description' => 'The time when the event ended.'."\n", - 'type' => 'string', - 'example' => '2021-09-08T02:24:52Z', - ], - 'Message' => [ - 'description' => 'The message of the event.'."\n", - 'type' => 'string', - 'example' => 'Successfully', - ], - 'Name' => [ - 'description' => 'The name of the object to which the event belongs.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Reason' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'example' => 'Created', - ], - 'Count' => [ - 'description' => 'The number of events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FirstTimestamp' => [ - 'description' => 'The time when the event started.'."\n", - 'type' => 'string', - 'example' => '2021-09-08T02:24:48Z', - ], - ], - ], - ], - 'VirtualNodeId' => [ - 'description' => 'The ID of the virtual node.'."\n", - 'type' => 'string', - 'example' => 'vnd-2ze960zkdqrldeaw****', - ], - 'IntranetIp' => [ - 'description' => 'The private IP address of the virtual node.'."\n", - 'type' => 'string', - 'example' => '10.19.XX.XX', - ], - 'RegionId' => [ - 'description' => 'The ID of the region in which the virtual node resides.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VirtualNodeVSwitchId' => [ - 'description' => 'The ID of the vSwitch with which the virtual node is associated.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze23nqzig8inprou****', - ], - 'VirtualNodeSecurityGroupId' => [ - 'description' => 'The ID of the security group to which the virtual node belongs.'."\n", - 'type' => 'string', - 'example' => 'sg-2zeeyaaxlkq9sppl****', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the virtual node belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], - 'VirtualNodeName' => [ - 'description' => 'The name of the virtual node.'."\n", - 'type' => 'string', - 'example' => 'testNode', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89164E78-FC82-4684-BE97-DCDD85D26546'], + 'Attributes' => ['description' => 'A collection of information about the used amount and upper limit of privilege quotas in the specified region. This includes the following parameters:'."\n" + ."\n" + .'- UsedCpu: The number of vCPUs that are used.'."\n" + ."\n" + .'- MaxCpu: The maximum number of vCPUs.'."\n" + ."\n" + .'- MaxImageCacheCount: The maximum number of manually created image caches.'."\n" + ."\n" + .'- UsedImageCacheCount: The number of manually created image caches that are used.'."\n" + ."\n" + .'- MaxAutoImageCacheCount: The maximum number of automatically created image caches.'."\n" + ."\n" + .'- UsedAutoImageCacheCount: The number of automatically created image caches that are used.'."\n" + ."\n" + .'- MaxDataCacheCount: The maximum number of data caches.'."\n" + ."\n" + .'- UsedDataCacheCount: The number of data caches that are used.', 'type' => 'object', 'title' => '', 'example' => '{'."\n" + .' "UsedAutoImageCacheCount": 4,'."\n" + .' "UsedDataCacheCount": 3,'."\n" + .' "MaxDataCacheCount": 100,'."\n" + .' "UsedCpu": 16.5,'."\n" + .' "MaxCpu": 1000,'."\n" + .' "MaxAutoImageCacheCount": 25,'."\n" + .' "MaxImageCacheCount": 500,'."\n" + .' "UsedImageCacheCount": 0'."\n" + .' }'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Account.Arrearage', - 'errorMessage' => 'Your account has an outstanding payment.', - ], - [ - 'errorCode' => 'DryRunOperation', - 'errorMessage' => 'Request validation has been passed with DryRun flag set.', - ], - [ - 'errorCode' => 'InvalidParameter.CPU.Memory', - 'errorMessage' => 'The specified cpu and memory are not allowed', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedName', - 'errorMessage' => 'The container group include containers with duplicate names.', - ], - [ - 'errorCode' => 'InvalidParameter.DuplicatedVolumeName', - 'errorMessage' => 'The container group includes volumes with duplicate names.', - ], - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ServiceNotEnabled', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ImageSnapshot.NotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'DiskVolume.NotSupport', - 'errorMessage' => 'The disk volume is not supported.', - ], - [ - 'errorCode' => 'RamRole.NotSupport', - 'errorMessage' => 'The RAM role is not supported.', - ], - [ - 'errorCode' => 'DiskNumber.LimitExceed', - 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', - ], - [ - 'errorCode' => 'InvalidPaymentMethod.InsufficientBalance', - 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', - ], - [ - 'errorCode' => 'DiskVolume.NotInSameZone', - 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', - ], - [ - 'errorCode' => 'HighCpuMemConfigRequired', - 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', - 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', - ], - [ - 'errorCode' => 'LocalDiskAmountNotMatch', - 'errorMessage' => 'The number of local volumes does not match the instance type.', - ], - [ - 'errorCode' => 'Payfor.CreditPayInsufficientBalance', - 'errorMessage' => 'Your payment credit line is insufficient.', - ], - [ - 'errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', - 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', - ], - [ - 'errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', - 'errorMessage' => 'KMS must be enabled for encrypted disks.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', - 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', - ], - [ - 'errorCode' => 'Ipv6AddressNotSupportVsw', - 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', - ], - ], - 403 => [ - [ - 'errorCode' => 'OperationDenied.VswZoneMisMatch', - 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => '%s quota exceeded.', - ], - [ - 'errorCode' => 'Zone.NotOnSale', - 'errorMessage' => 'The specified zone is not available for purchase.', - ], - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', - ], - [ - 'errorCode' => 'Forbidden.SubUser', - 'errorMessage' => 'The specified action is not available for you.', - ], - [ - 'errorCode' => 'Forbidden.OnlyForInvitedTest', - 'errorMessage' => 'Eci create action is only open to invited users during public beta.', - ], - [ - 'errorCode' => 'OperationDenied.SecurityGroupMisMatch', - 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.IpNotEnough', - 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', - ], - [ - 'errorCode' => 'Forbidden.UserNotRealNameAuthentication', - 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', - ], - [ - 'errorCode' => 'InvalidUser.PassRoleForbidden', - 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'The RAM role does not belong to ECS.', - ], - [ - 'errorCode' => 'OperationDenied.NoStock', - 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', - 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', - ], - [ - 'errorCode' => 'Forbidden.AccountClosed', - 'errorMessage' => 'The operation is forbidden. Your account has been closed.', - ], - [ - 'errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', - 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', - ], - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'SecurityRisk.3DVerification', - 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', - ], - [ - 'errorCode' => 'CreateServiceLinkedRole.Denied', - 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', - ], - ], - [ - [ - 'errorCode' => 'ImageSnapshot.NotFound', - 'errorMessage' => 'The specified snapshot does not exist.', - ], - [ - 'errorCode' => 'InvalidDiskId.NotFound', - 'errorMessage' => 'The specified disk does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', - 'errorMessage' => 'The specified KMSKeyId does not exist.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"d78f2dd8-5979-42fe-****-b16db43be5bc\\",\\n \\"RequestId\\": \\"9C9B9917-ED22-50D5-ADE6-9FA9D58AD05F\\",\\n \\"VirtualNodes\\": [\\n {\\n \\"Status\\": \\"Ready\\",\\n \\"CreationTime\\": \\"2021-09-08T15:00:00Z\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2021-09-08T02:24:52Z\\",\\n \\"Message\\": \\"Successfully\\",\\n \\"Name\\": \\"test\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Count\\": 1,\\n \\"FirstTimestamp\\": \\"2021-09-08T02:24:48Z\\"\\n }\\n ],\\n \\"VirtualNodeId\\": \\"vnd-2ze960zkdqrldeaw****\\",\\n \\"IntranetIp\\": \\"10.19.XX.XX\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VirtualNodeVSwitchId\\": \\"vsw-2ze23nqzig8inprou****\\",\\n \\"VirtualNodeSecurityGroupId\\": \\"sg-2zeeyaaxlkq9sppl****\\",\\n \\"ResourceGroupId\\": \\"rg-uf66jeqopgqa9hdn****\\",\\n \\"VirtualNodeName\\": \\"testNode\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeVirtualNodesResponse>\\n <TotalCount>1</TotalCount>\\n <NextToken>d78f2dd8-5979-42fe-****-b16db43be5bc</NextToken>\\n <RequestId>9C9B9917-ED22-50D5-ADE6-9FA9D58AD05F</RequestId>\\n <VirtualNodes>\\n <Status>Ready</Status>\\n <CreationTime>2021-09-08T15:00:00Z</CreationTime>\\n <ClusterId>c9af4f6c1563c4cd4bda887bfeb72****</ClusterId>\\n <VpcId>vpc-1vzjjflab6wvjox****</VpcId>\\n <InternetIp>192.0.XX.XX</InternetIp>\\n <SecurityGroupId>sg-2ze81zoc3yl7a3we****</SecurityGroupId>\\n <Tags>\\n <Key>name</Key>\\n <Value>test</Value>\\n </Tags>\\n <Events>\\n <Type>Normal</Type>\\n <LastTimestamp>2021-09-08T02:24:52Z</LastTimestamp>\\n <Message>Successfully</Message>\\n <Name>test</Name>\\n <Reason>Created</Reason>\\n <Count>1</Count>\\n <FirstTimestamp>2021-09-08T02:24:48Z</FirstTimestamp>\\n </Events>\\n <Memory>4</Memory>\\n <VirtualNodeId>vnd-2ze960zkdqrldeaw****</VirtualNodeId>\\n <IntranetIp>10.19.XX.XX</IntranetIp>\\n <RegionId>cn-hangzhou</RegionId>\\n <VirtualNodeVSwitchId>vsw-2ze23nqzig8inprou****</VirtualNodeVSwitchId>\\n <VirtualNodeSecurityGroupId>sg-2zeeyaaxlkq9sppl****</VirtualNodeSecurityGroupId>\\n <VSwitchIds>vsw-2ze23nqzig8inprou****</VSwitchIds>\\n <Cpu>2</Cpu>\\n <ResourceGroupId>rg-uf66jeqopgqa9hdn****</ResourceGroupId>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <ZoneIds>cn-hangzhou-g</ZoneIds>\\n <VirtualNodeName>testNode</VirtualNodeName>\\n </VirtualNodes>\\n</DescribeVirtualNodesResponse>","errorExample":""}]', - 'title' => 'DescribeVirtualNodes', - 'summary' => 'Queries information about virtual nodes.', + 'title' => 'ListUsage', + 'summary' => 'Call the ListUsage operation to query the privilege quotas in a specified region. The response returns the used amount and the upper limit of each quota.', + 'description' => 'This API operation does not support authentication by resource group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeContainerGroupMetric' => [ - 'summary' => 'Queries the monitoring data of an elastic container instance.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2024-02-29T02:17:13.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:ListUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89164E78-FC82-4684-BE97-DCDD85D26546\\",\\n \\"Attributes\\": {\\n \\"UsedAutoImageCacheCount\\": 4,\\n \\"UsedDataCacheCount\\": 3,\\n \\"MaxDataCacheCount\\": 100,\\n \\"UsedCpu\\": 16.5,\\n \\"MaxCpu\\": 1000,\\n \\"MaxAutoImageCacheCount\\": 25,\\n \\"MaxImageCacheCount\\": 500,\\n \\"UsedImageCacheCount\\": 0\\n }\\n}","type":"json"}]', + ], + 'ResizeContainerGroupVolume' => [ + 'summary' => 'You can call the ResizeContainerGroupVolume operation to resize a disk volume mounted to a specified Elastic Container Instance (ECI).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '17730', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '86142', + 'abilityTreeNodes' => ['FEATUREeci0764O2', 'FEATUREeciJCC6LW'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'eci-bp17da5olmkuagfr****', - ], + 'schema' => ['description' => 'The ID of the ECI instance that has the volume to resize. This is the container group ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], ], [ - 'name' => 'StartTime', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. The beginning of the time range must be a time point in the last 30 days. The default value is 5 minutes before the value of EndTime.'."\n" - ."\n" - .'Specify the time in RFC 3339 format. For example, to query the data starting from March 12, 2019, 09:00 UTC+8, you can set the parameter to 2019-03-12T09:00:00.000+08:00 or 2019-03-12T01:00:00.000Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-03-12T01:00:00.000Z', - ], + 'schema' => ['title' => '', 'description' => 'A client token to ensure the idempotence of the request. Generate a value from your client to make sure that the value is unique among different requests. The token can contain only ASCII characters and must be no more than 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'EndTime', + 'name' => 'VolumeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. The default value is the current time.'."\n" - ."\n" - .'Specify the time in RFC 3339 format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-09-12T01:05:00.000Z ', - ], + 'schema' => ['description' => 'The name of the volume that is mounted to the ECI instance. You can resize only disks.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'default-volume1'], ], [ - 'name' => 'Period', + 'name' => 'NewSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The data aggregation period. Unit: seconds. Valid values: 15, 30, 60, and 600. Default value: 60.'."\n" - ."\n" - .'> If the StartTime and EndTime parameters are not specified, the system returns the monitoring data generated in the last 5 minutes with a data aggregation period of 15s. The Period parameter is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => 'The new size of the disk after it is resized. Unit: GiB. Valid values:'."\n" + ."\n" + .'- ultra disk (cloud\\_efficiency): 20 to 32768'."\n" + ."\n" + .'- standard SSD (cloud\\_ssd): 20 to 32768'."\n" + ."\n" + .'- ESSD (cloud\\_essd): 20 to 32768'."\n" + ."\n" + .'- basic disk (cloud): 5 to 2000'."\n" + ."\n" + .'> The new disk size must be larger than the original disk size. If the new size is the same as the original size, only the file system is resized.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '100'], ], ], 'responses' => [ @@ -12555,403 +7368,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC', - ], - 'ContainerGroupId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'eci-bp1dqpye03ke5s6p****', - ], - 'Records' => [ - 'description' => 'The monitoring data of the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Network' => [ - 'description' => 'The monitoring data of the network.'."\n", - 'type' => 'object', - 'properties' => [ - 'Interfaces' => [ - 'description' => 'The monitoring data of network interface controllers (NICs).'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RxErrors' => [ - 'description' => 'The number of received packet errors on the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TxDrops' => [ - 'description' => 'The number of transmitted packets dropped on the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TxBytes' => [ - 'description' => 'The number of bytes transmitted by the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1381805699', - ], - 'RxPackets' => [ - 'description' => 'The number of packets received by the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4800583', - ], - 'TxPackets' => [ - 'description' => 'The number of packets transmitted by the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5158427', - ], - 'Name' => [ - 'description' => 'The name of the NIC.'."\n", - 'type' => 'string', - 'example' => 'eth0', - ], - 'TxErrors' => [ - 'description' => 'The number of transmitted packet errors on the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'RxBytes' => [ - 'description' => 'The number of bytes received by the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '505001954', - ], - 'RxDrops' => [ - 'description' => 'The number of received packets dropped on the NIC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - ], - ], - 'CPU' => [ - 'description' => 'The monitoring data of vCPUs.'."\n", - 'type' => 'object', - 'properties' => [ - 'UsageNanoCores' => [ - 'description' => 'The vCPU usage in the sampling window. Unit for the sampling window: nanoseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Limit' => [ - 'description' => 'The upper limit of vCPU usage. The calculation formula for this parameter: The number of vCPUs × 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000', - ], - 'UsageCoreNanoSeconds' => [ - 'description' => 'The cumulative usage of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '70769883', - ], - 'Load' => [ - 'description' => 'The average load in the last 10 seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - 'Disk' => [ - 'description' => 'The monitoring data of disks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'WriteBytes' => [ - 'description' => 'The amount of data that was written to the disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1375109120', - ], - 'WriteIO' => [ - 'description' => 'This parameter is unavailable for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'Device' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => '/dev/vda', - ], - 'ReadIO' => [ - 'description' => 'This parameter is unavailable for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'ReadBytes' => [ - 'description' => 'The amount of data that was read from the disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '210714112', - ], - ], - ], - ], - 'Timestamp' => [ - 'description' => 'The time when the monitoring data entry was collected. The time follows the RFC 3339 format.'."\n", - 'type' => 'string', - 'example' => '2021-08-25T16:22:00.000+08:00', - ], - 'Memory' => [ - 'description' => 'The monitoring data of the memory.'."\n", - 'type' => 'object', - 'properties' => [ - 'Rss' => [ - 'description' => 'The size of the resident memory set, which indicates the size of the physical memory that is actually used. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'UsageBytes' => [ - 'description' => 'The size of the used memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'WorkingSet' => [ - 'description' => 'The usage of the working set. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'AvailableBytes' => [ - 'description' => 'The size of the available memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4285091840', - ], - 'Cache' => [ - 'description' => 'The size of the cache. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - ], - ], - 'Filesystem' => [ - 'description' => 'The monitoring data of file system partitions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'description' => 'The total file system space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41610981376', - ], - 'Available' => [ - 'description' => 'The size of the available space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35319836672', - ], - 'FsName' => [ - 'description' => 'The name of the partition.'."\n", - 'type' => 'string', - 'example' => '/dev/root', - ], - 'Usage' => [ - 'description' => 'The size of used space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4368744448', - ], - 'Category' => [ - 'description' => 'The type of the partition. Valid values:'."\n" - ."\n" - .'* System'."\n" - .'* Volume'."\n" - .'* Other'."\n", - 'type' => 'string', - 'example' => 'System', - ], - ], - ], - ], - 'Containers' => [ - 'description' => 'The monitoring data of containers.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The vCPU monitoring data of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'UsageNanoCores' => [ - 'description' => 'The vCPU usage in the sampling window. Unit for the sampling window: nanoseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Limit' => [ - 'description' => 'The upper limit of vCPU usage. The calculation formula for this parameter: The number of vCPUs × 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - 'UsageCoreNanoSeconds' => [ - 'description' => 'The cumulative usage of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '40876694', - ], - 'Load' => [ - 'description' => 'The average load in the last 10 seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - 'Memory' => [ - 'description' => 'The memory monitoring data of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Rss' => [ - 'description' => 'The size of the resident memory set, which indicates the size of the physical memory that is actually used. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'UsageBytes' => [ - 'description' => 'The size of the used memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'WorkingSet' => [ - 'description' => 'The usage of the working set. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'AvailableBytes' => [ - 'description' => 'The size of the available memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4285091840', - ], - 'Cache' => [ - 'description' => 'The size of the cache. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - ], - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'u1', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D81A4A13-6DCC-4579-AC62-90A6C3EC7BBC\\",\\n \\"ContainerGroupId\\": \\"eci-bp1dqpye03ke5s6p****\\",\\n \\"Records\\": [\\n {\\n \\"Network\\": {\\n \\"Interfaces\\": [\\n {\\n \\"RxErrors\\": 0,\\n \\"TxDrops\\": 0,\\n \\"TxBytes\\": 1381805699,\\n \\"RxPackets\\": 4800583,\\n \\"TxPackets\\": 5158427,\\n \\"Name\\": \\"eth0\\",\\n \\"TxErrors\\": 0,\\n \\"RxBytes\\": 505001954,\\n \\"RxDrops\\": 0\\n }\\n ]\\n },\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 2000,\\n \\"UsageCoreNanoSeconds\\": 70769883,\\n \\"Load\\": 0\\n },\\n \\"Disk\\": [\\n {\\n \\"WriteBytes\\": 1375109120,\\n \\"WriteIO\\": 123,\\n \\"Device\\": \\"/dev/vda\\",\\n \\"ReadIO\\": 123,\\n \\"ReadBytes\\": 210714112\\n }\\n ],\\n \\"Timestamp\\": \\"2021-08-25T16:22:00.000+08:00\\",\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Filesystem\\": [\\n {\\n \\"Capacity\\": 41610981376,\\n \\"Available\\": 35319836672,\\n \\"FsName\\": \\"/dev/root\\",\\n \\"Usage\\": 4368744448,\\n \\"Category\\": \\"System\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 1024,\\n \\"UsageCoreNanoSeconds\\": 40876694,\\n \\"Load\\": 0\\n },\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Name\\": \\"u1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerGroupMetricResponse>\\n <RequestId>96F7805E-16E6-55B1-817F-EA6CF365E7AE</RequestId>\\n <ContainerGroupId>eci-2zea33h8fdgiw23jfp3f</ContainerGroupId>\\n <Records>\\n <Memory>\\n <UsageBytes>11153408</UsageBytes>\\n <Rss>1593344</Rss>\\n <AvailableBytes>4289445888</AvailableBytes>\\n <WorkingSet>5521408</WorkingSet>\\n <Cache>7028736</Cache>\\n </Memory>\\n <Network>\\n <Interfaces>\\n <RxPackets>0</RxPackets>\\n <TxDrops>0</TxDrops>\\n <RxDrops>0</RxDrops>\\n <RxErrors>0</RxErrors>\\n <TxErrors>0</TxErrors>\\n <TxPackets>0</TxPackets>\\n <RxBytes>505001954</RxBytes>\\n <TxBytes>1381805699</TxBytes>\\n <Name>eth0</Name>\\n </Interfaces>\\n </Network>\\n <Containers>\\n <Memory>\\n <UsageBytes>9850880</UsageBytes>\\n <Rss>1593344</Rss>\\n <AvailableBytes>0</AvailableBytes>\\n <WorkingSet>4841472</WorkingSet>\\n <Cache>7028736</Cache>\\n </Memory>\\n <CPU>\\n <UsageCoreNanoSeconds>38373298</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <UsageNanoCores>0</UsageNanoCores>\\n <Limit>0</Limit>\\n </CPU>\\n <Name>nginx</Name>\\n </Containers>\\n <Containers>\\n <Memory>\\n <UsageBytes>9850880</UsageBytes>\\n <Rss>1593344</Rss>\\n <AvailableBytes>0</AvailableBytes>\\n <WorkingSet>4841472</WorkingSet>\\n <Cache>7028736</Cache>\\n </Memory>\\n <CPU>\\n <UsageCoreNanoSeconds>38373298</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <UsageNanoCores>0</UsageNanoCores>\\n <Limit>0</Limit>\\n </CPU>\\n <Name>nginx</Name>\\n </Containers>\\n <CPU>\\n <UsageCoreNanoSeconds>70769883</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <UsageNanoCores>0</UsageNanoCores>\\n <Limit>2000</Limit>\\n </CPU>\\n <Filesystem>\\n <Usage>612556800</Usage>\\n <Category>System</Category>\\n <FsName>/dev/disk/by-uuid/39d6ac87-caa5-4bdd-b31e-660301e51bab</FsName>\\n <Capacity>52576092160</Capacity>\\n <Available>49262403584</Available>\\n </Filesystem>\\n <Filesystem>\\n <Usage>5022646272</Usage>\\n <Category>Other</Category>\\n <FsName>/dev/root</FsName>\\n <Capacity>41610981376</Capacity>\\n <Available>34665934848</Available>\\n </Filesystem>\\n <Filesystem>\\n <Usage>0</Usage>\\n <Category>Other</Category>\\n <FsName>/dev/shm</FsName>\\n <Capacity>1991725056</Capacity>\\n <Available>1991725056</Available>\\n </Filesystem>\\n <Filesystem>\\n <Usage>37249024</Usage>\\n <Category>Other</Category>\\n <FsName>/dev/vda2</FsName>\\n <Capacity>511647744</Capacity>\\n <Available>436822016</Available>\\n </Filesystem>\\n <Timestamp>2021-08-25T16:22:00.000+08:00</Timestamp>\\n <Disk>\\n <Device>/dev/vda</Device>\\n <ReadBytes>177200640</ReadBytes>\\n <WriteBytes>8542216192</WriteBytes>\\n </Disk>\\n </Records>\\n</DescribeContainerGroupMetricResponse>","errorExample":""}]', - 'title' => 'DescribeContainerGroupMetric', - 'description' => '* A maximum of 50 monitoring data entries can be returned. If the number of monitoring data entries exceeds this limit, an error message is returned.'."\n" - .'* You can query real-time monitoring data (data generated within the last 5 minutes) and historical data (data generated more than 5 minutes ago). If the time range to query starts or ends later than the current time, historical monitoring data generated more than 5 minutes ago is returned.'."\n" - .'* The elastic container instance whose monitoring data you want to query must be created after April 3, 2019, 15:00 UTC+8.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'InvalidVolumeType', 'errorMessage' => 'The specified volumeName is invalid, only volume of cloud disk support capacity resize', 'description' => ''], + ['errorCode' => 'IncorrectStatusDetail', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidAction', 'errorMessage' => 'The specified action is invalid ', 'description' => ''], + ], + ], + 'title' => 'ResizeContainerGroupVolume', + 'description' => '## Description'."\n" + ."\n" + .'- This operation supports only scaling out volumes. Scaling in is not supported.'."\n" + ."\n" + .'- You can scale out only disk volumes. Other volume types are not supported.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeMultiContainerGroupMetric' => [ - 'summary' => 'Queries the monitoring data of elastic container instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-07-31T02:44:30.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-08T06:45:12.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-03T16:07:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-03T09:48:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-11T06:24:02.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResizeContainerGroupVolume'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:ResizeContainerGroupVolume', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","type":"json"}]', + ], + 'RestartContainerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '17736', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupIds', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID. The value is a JSON array. You can specify up to 20 instance IDs at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["eci-2zegym1qhbmdfr1s****","eci-2ze39w5svzj5ic34****"]', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the elastic container instances belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzw2jz2z****', - ], + 'schema' => ['description' => 'The ID of the ECI instance. This is also the ID of the container group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], ], [ - 'name' => 'MetricType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the monitoring data. Set the value to summary. This value indicates that records are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'summary', - ], + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a unique value for this parameter from your client. The token can contain only ASCII characters and must be no more than 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], ], 'responses' => [ @@ -12959,346 +7462,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B8756BA0-6452-419C-9727-37A6209C85E0', - ], - 'MonitorDatas' => [ - 'description' => 'The monitoring data of the elastic container instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Records' => [ - 'description' => 'The details about monitoring data.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Network' => [ - 'description' => 'The monitoring data of the network.'."\n", - 'type' => 'object', - 'properties' => [ - 'Interfaces' => [ - 'description' => 'The monitoring data of network interface controllers (NICs).'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RxErrors' => [ - 'description' => 'The number of receipt errors.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TxDrops' => [ - 'description' => 'The number of packets that fail to arrive at their destination.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TxBytes' => [ - 'description' => 'The total number of bytes sent.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1381805699', - ], - 'RxPackets' => [ - 'description' => 'The total number of packets received.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4800583', - ], - 'TxPackets' => [ - 'description' => 'The total number of packets sent.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5158427', - ], - 'Name' => [ - 'description' => 'The name of the NIC.'."\n", - 'type' => 'string', - 'example' => 'eth0', - ], - 'TxErrors' => [ - 'description' => 'The total number of sending errors.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'RxBytes' => [ - 'description' => 'The total number of bytes received.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '505001954', - ], - 'RxDrops' => [ - 'description' => 'The number of packets that fail to be received.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - ], - ], - 'CPU' => [ - 'description' => 'The monitoring data of vCPUs.'."\n", - 'type' => 'object', - 'properties' => [ - 'UsageNanoCores' => [ - 'description' => 'The vCPU usage in the sampling window. Unit for the sampling window: nanoseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Limit' => [ - 'description' => 'The upper limit of vCPU usage. The calculation formula for this parameter: The number of vCPUs × 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000', - ], - 'UsageCoreNanoSeconds' => [ - 'description' => 'The cumulative usage of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '70769883', - ], - 'Load' => [ - 'description' => 'The average load in the last 10 seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - 'Disk' => [ - 'description' => 'The monitoring data of disks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'WriteBytes' => [ - 'description' => 'The amount of data that was written to the disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1375109120', - ], - 'Device' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => '/dev/vda', - ], - 'WriteIo' => [ - 'description' => 'This parameter is unavailable for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - 'ReadBytes' => [ - 'description' => 'The amount of data that was read from the disk. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '210714112', - ], - 'ReadIo' => [ - 'description' => 'This parameter is unavailable for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123', - ], - ], - ], - ], - 'Timestamp' => [ - 'description' => 'The time when the entry of monitoring data was collected. The time follows the RFC 3339 format.'."\n", - 'type' => 'string', - 'example' => '2019-12-19T02:31:54Z', - ], - 'Memory' => [ - 'description' => 'The monitoring data of the memory.'."\n", - 'type' => 'object', - 'properties' => [ - 'Rss' => [ - 'description' => 'The size of the resident memory set, which indicates the size of the physical memory that is actually used. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593344', - ], - 'UsageBytes' => [ - 'description' => 'The size of the used memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11153408', - ], - 'WorkingSet' => [ - 'description' => 'The usage of the working set. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5521408', - ], - 'AvailableBytes' => [ - 'description' => 'The size of the available memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4289445888', - ], - 'Cache' => [ - 'description' => 'The size of the cache. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7028736', - ], - ], - ], - 'Containers' => [ - 'description' => 'The monitoring data of containers.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CPU' => [ - 'description' => 'The vCPU monitoring data of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'UsageNanoCores' => [ - 'description' => 'The vCPU usage in the sampling window. Unit for the sampling window: nanoseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Limit' => [ - 'description' => 'The upper limit of vCPU usage. The calculation formula for this parameter: The number of vCPUs × 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '321234', - ], - 'UsageCoreNanoSeconds' => [ - 'description' => 'The cumulative usage of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '40876694', - ], - 'Load' => [ - 'description' => 'The average load in the last 10 seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12341', - ], - ], - ], - 'Memory' => [ - 'description' => 'The memory monitoring data of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Rss' => [ - 'description' => 'The size of the resident memory set, which indicates the size of the physical memory that is actually used. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'UsageBytes' => [ - 'description' => ' The size of the used memory. Unit: bytes. '."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'WorkingSet' => [ - 'description' => 'The usage of the working set. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - 'AvailableBytes' => [ - 'description' => 'The size of the available memory. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4285091840', - ], - 'Cache' => [ - 'description' => 'The size of the cache. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9289728', - ], - ], - ], - 'Name' => [ - 'description' => 'The name.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], - ], - ], - ], - 'Filesystem' => [ - 'description' => 'The monitoring data of file system partitions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'description' => 'The total file system space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41610981376', - ], - 'Available' => [ - 'description' => 'The size of the available space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '35319836672', - ], - 'FsName' => [ - 'description' => 'The name of the partition.'."\n", - 'type' => 'string', - 'example' => '/dev/root', - ], - 'Usage' => [ - 'description' => 'The size of used space.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4368744448', - ], - ], - ], - ], - ], - ], - ], - 'ContainerGroupId' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'eci-bp15oolgorelvhfb****', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B8756BA0-6452-419C-9727-37A6209C85E0\\",\\n \\"MonitorDatas\\": [\\n {\\n \\"Records\\": [\\n {\\n \\"Network\\": {\\n \\"Interfaces\\": [\\n {\\n \\"RxErrors\\": 0,\\n \\"TxDrops\\": 0,\\n \\"TxBytes\\": 1381805699,\\n \\"RxPackets\\": 4800583,\\n \\"TxPackets\\": 5158427,\\n \\"Name\\": \\"eth0\\",\\n \\"TxErrors\\": 0,\\n \\"RxBytes\\": 505001954,\\n \\"RxDrops\\": 0\\n }\\n ]\\n },\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 2000,\\n \\"UsageCoreNanoSeconds\\": 70769883,\\n \\"Load\\": 0\\n },\\n \\"Disk\\": [\\n {\\n \\"WriteBytes\\": 1375109120,\\n \\"Device\\": \\"/dev/vda\\",\\n \\"WriteIo\\": 123,\\n \\"ReadBytes\\": 210714112,\\n \\"ReadIo\\": 123\\n }\\n ],\\n \\"Timestamp\\": \\"2019-12-19T02:31:54Z\\",\\n \\"Memory\\": {\\n \\"Rss\\": 1593344,\\n \\"UsageBytes\\": 11153408,\\n \\"WorkingSet\\": 5521408,\\n \\"AvailableBytes\\": 4289445888,\\n \\"Cache\\": 7028736\\n },\\n \\"Containers\\": [\\n {\\n \\"CPU\\": {\\n \\"UsageNanoCores\\": 0,\\n \\"Limit\\": 321234,\\n \\"UsageCoreNanoSeconds\\": 40876694,\\n \\"Load\\": 12341\\n },\\n \\"Memory\\": {\\n \\"Rss\\": 9289728,\\n \\"UsageBytes\\": 9289728,\\n \\"WorkingSet\\": 9289728,\\n \\"AvailableBytes\\": 4285091840,\\n \\"Cache\\": 9289728\\n },\\n \\"Name\\": \\"test1\\"\\n }\\n ],\\n \\"Filesystem\\": [\\n {\\n \\"Capacity\\": 41610981376,\\n \\"Available\\": 35319836672,\\n \\"FsName\\": \\"/dev/root\\",\\n \\"Usage\\": 4368744448\\n }\\n ]\\n }\\n ],\\n \\"ContainerGroupId\\": \\"eci-bp15oolgorelvhfb****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeMultiContainerGroupMetricResponse>\\n <RequestId>3BB0E196-5882-4038-BE05-D0765CA13236</RequestId>\\n <MonitorDatas>\\n <ContainerGroupId>eci-2zegym1qhbmdfr1s****</ContainerGroupId>\\n <Records>\\n <Memory>\\n <UsageBytes>4005888</UsageBytes>\\n <Rss>1413120</Rss>\\n <AvailableBytes>4291596288</AvailableBytes>\\n <WorkingSet>3371008</WorkingSet>\\n <Cache>0</Cache>\\n </Memory>\\n <Network>\\n <Interfaces>\\n <RxPackets>1822804</RxPackets>\\n <TxDrops>0</TxDrops>\\n <RxDrops>0</RxDrops>\\n <TxErrors>0</TxErrors>\\n <RxErrors>0</RxErrors>\\n <TxPackets>1694857</TxPackets>\\n <RxBytes>660431995</RxBytes>\\n <TxBytes>410762742</TxBytes>\\n <Name>eth0</Name>\\n </Interfaces>\\n </Network>\\n <Containers>\\n <Memory>\\n <UsageBytes>2854912</UsageBytes>\\n <Rss>1355776</Rss>\\n <AvailableBytes>0</AvailableBytes>\\n <WorkingSet>2842624</WorkingSet>\\n <Cache>0</Cache>\\n </Memory>\\n <CPU>\\n <UsageCoreNanoSeconds>37824896</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <Limit>0</Limit>\\n <UsageNanoCores>0</UsageNanoCores>\\n </CPU>\\n <Name>nginx</Name>\\n </Containers>\\n <CPU>\\n <UsageCoreNanoSeconds>72555191</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <Limit>2000</Limit>\\n <UsageNanoCores>0</UsageNanoCores>\\n </CPU>\\n <Filesystem>\\n <Usage>37130240</Usage>\\n <FsName>/dev/vda2</FsName>\\n <Capacity>511647744</Capacity>\\n <Available>436940800</Available>\\n </Filesystem>\\n <Disk>\\n <WriteIo>0</WriteIo>\\n <Device>/dev/vda</Device>\\n <ReadIo>0</ReadIo>\\n <ReadBytes>273759744</ReadBytes>\\n <WriteBytes>2066857984</WriteBytes>\\n </Disk>\\n <Timestamp/>\\n </Records>\\n </MonitorDatas>\\n <MonitorDatas>\\n <ContainerGroupId>eci-2ze39w5svzj5ic34****</ContainerGroupId>\\n <Records>\\n <Memory>\\n <UsageBytes>6463488</UsageBytes>\\n <Rss>3149824</Rss>\\n <AvailableBytes>4289142784</AvailableBytes>\\n <WorkingSet>5824512</WorkingSet>\\n <Cache>0</Cache>\\n </Memory>\\n <Network>\\n <Interfaces>\\n <RxPackets>1764600</RxPackets>\\n <TxDrops>0</TxDrops>\\n <RxDrops>0</RxDrops>\\n <TxErrors>0</TxErrors>\\n <RxErrors>0</RxErrors>\\n <TxPackets>1641017</TxPackets>\\n <RxBytes>596649892</RxBytes>\\n <TxBytes>406628708</TxBytes>\\n <Name>eth0</Name>\\n </Interfaces>\\n </Network>\\n <Containers>\\n <Memory>\\n <UsageBytes>5242880</UsageBytes>\\n <Rss>3149824</Rss>\\n <AvailableBytes>0</AvailableBytes>\\n <WorkingSet>5230592</WorkingSet>\\n <Cache>0</Cache>\\n </Memory>\\n <CPU>\\n <UsageCoreNanoSeconds>119544335</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <Limit>0</Limit>\\n <UsageNanoCores>0</UsageNanoCores>\\n </CPU>\\n <Name>nginx</Name>\\n </Containers>\\n <CPU>\\n <UsageCoreNanoSeconds>162459172</UsageCoreNanoSeconds>\\n <Load>0</Load>\\n <Limit>2000</Limit>\\n <UsageNanoCores>0</UsageNanoCores>\\n </CPU>\\n <Filesystem>\\n <Usage>37130240</Usage>\\n <FsName>/dev/vda2</FsName>\\n <Capacity>511647744</Capacity>\\n <Available>436940800</Available>\\n </Filesystem>\\n <Disk>\\n <WriteIo>0</WriteIo>\\n <Device>/dev/vda</Device>\\n <ReadIo>0</ReadIo>\\n <ReadBytes>279165440</ReadBytes>\\n <WriteBytes>2090905600</WriteBytes>\\n </Disk>\\n <Timestamp/>\\n </Records>\\n </MonitorDatas>\\n</DescribeMultiContainerGroupMetricResponse>","errorExample":""}]', - 'title' => 'DescribeMultiContainerGroupMetric', - 'description' => '* Only the latest entry of monitoring data of each elastic container instance is returned.'."\n" - .'* You can query only the monitoring data of elastic container instances that are created after April 3, 2019 15:00:00 UTC+8.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'InvalidAction', 'errorMessage' => 'The specified action is invalid', 'description' => 'Invalid operation.'], + ], + ], + 'title' => 'RestartContainerGroup', + 'summary' => 'The RestartContainerGroup operation restarts an ECI instance.', + 'description' => '- You can restart only ECI instances that are in the Pending or Running state. You cannot restart instances that have completed their run.'."\n" + ."\n" + .'- You cannot restart ECI instances that were created before 15:00:00 on March 7, 2019.'."\n" + ."\n" + .'- During the restart process, the status of the ECI instance changes to Restarting.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateInstanceOpsTask' => [ - 'summary' => 'Creates an operations and maintenance task.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartContainerGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:RestartContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => 'The TagResources operation attaches tags to specified ECI resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13306,89 +7523,75 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92950', - 'abilityTreeNodes' => [ - 'FEATUREeciXQE3ZY', - 'FEATUREeciO9KN4L', - ], - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the O&M task.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the resource is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the O&M task.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the resource is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the container group.'."\n", - 'type' => 'string', + 'description' => 'The list of resource IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a resource. Specify the ID of the resource based on the value of ResourceType.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], 'required' => true, - 'example' => 'eci-bp1dvysdafbh00t7****', + 'docRequired' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'OpsType', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the O&M task. Valid values:'."\n" - ."\n" - .'* coredump'."\n" - .'* tcpdump', - 'type' => 'string', + 'description' => 'The list of tags. You can attach a maximum of 20 tags to a resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags. You can attach a maximum of 20 tags to a resource.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag. The key cannot be an empty string. The key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and it cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The value of the tag. The value can be an empty string. The value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and it cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'coredump', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'OpsValue', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The value of the O\\&M task. You can set this parameter based on the value of OpsType.'."\n" + 'description' => 'The type of the resource. Valid values:'."\n" ."\n" - .'* If OpsType is set to coredump, the valid values of OpsValue are:'."\n" + .'- ContainerGroup: ECI instance'."\n" ."\n" - .' * enable: enables coredump.'."\n" - .' * disable: disables coredump.'."\n" + .'- ImageCache: image cache'."\n" ."\n" - .'* If OpsType is set to tcpdump, the value of OpsValue is a JSON-formatted parameter string. Example: `{"Enable":true, "IfDeviceName":"eth0"}`. The value may contain the following parameters:'."\n" + .'- DataCache: data cache'."\n" ."\n" - .' * Enable: specifies whether to enable tcpdump. You must specify this parameter. Valid values: true and false.'."\n" - .' * Protocol: the network protocol. Valid values: tcp, udp, and icmpv4.'."\n" - .' * SourceIp: the source IP address.'."\n" - .' * SourceCidr: the source CIDR block. If you specify both an IP address and a CIDR block, the IP address is ignored if the CIDR block is valid.'."\n" - .' * SourcePort: the source port. Valid values: 1 to 65535.'."\n" - .' * DestIp: the destination IP address.'."\n" - .' * DestCidr: the destination CIDR block. If you specify both an IP address and a CIDR block, the IP address is ignored if the CIDR block is valid.'."\n" - .' * DestPort: the destination port. Valid values: 1 to 65535.'."\n" - .' * IfDeviceName: the destination network interface controller. Default value: eth0.'."\n" - .' * Snaplen: the length to be captured. Default value: 65535. Unit: bytes.'."\n" - .' * Duration: the captured period. Unit: seconds.'."\n" - .' * PacketNum: the number of packets to be captured.'."\n" - .' * FileSize: the size of the destination files on packets. Unit: bytes. Maximum value: 1073741824. 1073741824 bytes is equal to 1 GB.'."\n", + .'- VirtualNode: virtual node', 'type' => 'string', 'required' => true, - 'example' => 'enable', + 'enumValueTitles' => [], + 'title' => '', + 'example' => 'ContainerGroup', ], ], ], @@ -13397,153 +7600,129 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B', - ], - 'Result' => [ - 'description' => 'The creation result of the O&M task.', - 'type' => 'string', - 'example' => 'Coredump settings has been configured successfully.', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Coredump.RefrshIntervalTooShort', - 'errorMessage' => 'The time interval since last setting too short, please try again later.', - ], - [ - 'errorCode' => 'Ops.TypeNotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'Coredump.RegionNotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'CorePattern.UpdateFail', - 'errorMessage' => 'Update coredump settings fail, please try again later', - ], - [ - 'errorCode' => 'Coredump.InvalidCorePatternType', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidCorePatternValue', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidInstanceId.NotFound', - 'errorMessage' => 'The specified instanceId does not exist', - ], - [ - 'errorCode' => 'Ops.InstanceNotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'Ops.IntervalTooShort', - 'errorMessage' => 'The time interval since last setting too short, please try again later.', - ], - [ - 'errorCode' => 'Ops.RegionNotSupport', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'Ops.OpsValueInvalid', - 'errorMessage' => 'Ops value check failed, please confirm by ops type and try again later.', - ], - [ - 'errorCode' => 'Ops.ExecuteTaskFail', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'Tcpdump.InvalidValue', - 'errorMessage' => '%s', - ], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'OperationConflict', 'errorMessage' => 'Request was denied due to conflict with a previous request.', 'description' => 'Request was denied due to conflict with a previous request.'], + ['errorCode' => 'NoPermission.Tag', 'errorMessage' => 'No permissions to operate tags.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The length of tags exceeded limit: 20.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B\\",\\n \\"Result\\": \\"Enable Success\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateInstanceOpsTaskResponse>\\n <RequestId>89945DD3-9072-47D0-A318-353284CFC7B</RequestId>\\n <Result>Coredump settings has been configured successfully.</Result>\\n</CreateInstanceOpsTaskResponse>","errorExample":""}]', - 'title' => 'CreateInstanceOpsTask', - 'description' => 'O&M tasks are classified into:'."\n" - ."\n" - .'* coredump: After you enable coredump, the system generates a core dump file when a container unexpectedly stops. You can use the core dump file to analyze the exception and find out the cause of the problem. For more information, see [Enable coredump](~~167801~~).'."\n" - .'* tcpdump: After you enable tcpdump, the system captures network packets when a container unexpectedly stops. You can analyze the packets and locate network problems. For more information, see Enable [tcpdump](~~429749~~).', - ], - 'DescribeInstanceOpsRecords' => [ - 'summary' => 'Queries the information about operations and maintenance tasks of an elastic container instance.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'TagResources', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\"\\n}","type":"json"}]', + ], + 'UntagResources' => [ + 'summary' => 'You can call UntagResources to detach tags from specified ECI resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '105962', - 'abilityTreeNodes' => [ - 'FEATUREeciXQE3ZY', - 'FEATUREeciO9KN4L', - ], - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the resource resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the resource resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the instance.'."\n", - 'type' => 'string', + 'description' => 'A list of resource IDs.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. Enter the ID of the corresponding resource based on the value of ResourceType.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], 'required' => true, 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'eci-bp1dvysdafbh00t7****', + 'description' => 'A list of tag keys to detach. You can enter up to 20 tag keys.', + 'type' => 'array', + 'items' => ['description' => 'The tag key to detach.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'OpsType', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the O\\&M task. Valid values:'."\n" - ."\n" - .'* coredump'."\n" - .'* tcpdump'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'coredump', - ], + 'schema' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- ContainerGroup: ECI instance'."\n" + ."\n" + .'- ImageCache: image cache'."\n" + ."\n" + .'- DataCache: data cache'."\n" + ."\n" + .'- VirtualNode: virtual node', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ContainerGroup'], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to detach all tags from the resource. This parameter is valid only when `TagKey` is not set in the request. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: false', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a value from your client to make sure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx'], ], ], 'responses' => [ @@ -13551,75 +7730,52 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', - ], - 'Records' => [ - 'description' => 'The details of the queried O\\&M tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreateTime' => [ - 'description' => 'The time when the O\\&M task was created.'."\n", - 'type' => 'string', - 'example' => '2021-12-29T15:00:00Z', - ], - 'ExpireTime' => [ - 'description' => 'The time when the O\\&M task expires.'."\n", - 'type' => 'string', - 'example' => '2099-12-29T15:00:00Z', - ], - 'OpsType' => [ - 'description' => 'The type of the O\\&M task.'."\n", - 'type' => 'string', - 'example' => 'coredump', - ], - 'OpsStatus' => [ - 'description' => 'The status of the O\\&M task.'."\n" - .'- Ready'."\n" - .'- Failed'."\n" - .'- Expired'."\n" - .'- Closed'."\n" - .'- Success', - 'type' => 'string', - 'example' => 'Ready', - ], - 'ResultType' => [ - 'description' => 'The type of the O\\&M result. This parameter is returned only when the value of the OpsStatus parameter is Success.\\'."\n" - .'The only value of the parameter is Oss. The value indicates that the files generated for the O\\&M task are saved to Object Storage Service (OSS) buckets.'."\n", - 'type' => 'string', - 'example' => 'OSS', - ], - 'ResultContent' => [ - 'description' => 'The content of the O\\&M result. The value is the download URL of the files that are generated for the O\\&M task. This parameter is returned only when the value of the OpsStatus parameter is Success.'."\n", - 'type' => 'string', - 'example' => 'https://******', - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\",\\n \\"Records\\": [\\n {\\n \\"CreateTime\\": \\"2024-07-22T09:27:43Z\\",\\n \\"ExpireTime\\": \\"2024-07-22T21:27:43Z\\",\\n \\"OpsType\\": \\"Coredump\\",\\n \\"OpsStatus\\": \\"Ready\\",\\n \\"ResultType\\": \\"Oss\\",\\n \\"ResultContent\\": \\"http://eci-******\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceOpsRecordsResponse>\\n <RequestId>89945DD3-9072-47D0-A318-353284CFC7B3</RequestId>\\n <Records>\\n <CreateTime>2021-12-29T15:00:00Z</CreateTime>\\n <ExpireTime>2099-12-29T15:00:00Z</ExpireTime>\\n <OpsType>coredump</OpsType>\\n <OpsStatus>Ready</OpsStatus>\\n <ResultType>OSS</ResultType>\\n <ResultContent>https://******</ResultContent>\\n </Records>\\n</DescribeInstanceOpsRecordsResponse>","errorExample":""}]', - 'title' => 'DescribeInstanceOpsRecords', - ], - 'TagResources' => [ - 'summary' => 'Adds tags to an Elastic Container Instance resource.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'OperationConflict', 'errorMessage' => 'Request was denied due to conflict with a previous request.', 'description' => 'Request was denied due to conflict with a previous request.'], + ['errorCode' => 'NoPermission.Tag', 'errorMessage' => 'No permissions to operate tags.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The length of tags exceeded limit: 20.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UntagResources', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B\\"\\n}","type":"json"}]', + ], + 'UpdateContainerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13627,265 +7783,676 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceId', + 'name' => 'ContainerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECI instance that you want to update. This is the container group ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'eci-2zelg8vwnlzdhf8hv****'], + ], + [ + 'name' => 'RestartPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The restart policy of the instance. Valid values:'."\n" + ."\n" + .'- Always: Always restarts the instance.'."\n" + ."\n" + .'- Never: Never restarts the instance.'."\n" + ."\n" + .'- OnFailure: Restarts the instance upon failure.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Always'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token to ensure the idempotence of the request. Generate a unique parameter value from your client. The value can contain only ASCII characters and must be no more than 64 characters in length. For more information, see [How to ensure idempotence]().', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000 '], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs for the instance (container group).', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '2.0'], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size for the instance (container group). Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '4.0'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-2df3isufhi38**** '], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the resources.'."\n", + 'description' => 'The list of tags to attach to the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The resource ID. Enter the resource ID based on the ResourceType value.'."\n", - 'type' => 'string', + 'description' => 'The list of tags to attach to the instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'hxh'], + ], 'required' => false, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', + 'title' => '', + 'example' => '', ], - 'required' => true, - 'docRequired' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'Volume', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that you want to add to the resource. A maximum of 20 tags can be added to a resource.'."\n", + 'description' => 'The list of volumes.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of volumes.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testkey', - ], - 'Value' => [ - 'description' => 'The tag value. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test-empty'], + 'Type' => ['description' => 'The type of the volume. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume: An EmptyDir volume. This is a temporary directory.'."\n" + ."\n" + .'- ConfigFileVolume: A ConfigFile volume. This is a configuration file.'."\n" + ."\n" + .'- NFSVolume: An NFS volume. This is a network file system, such as a Network Attached Storage (NAS) system.'."\n" + ."\n" + .'- FlexVolume: A FlexVolume plug-in to extend the storage type. You can use it to mount disks, NAS, and Object Storage Service (OSS).'."\n" + ."\n" + .'- HostPathVolume: A HostPath volume. This is a file or directory on the host. This value is not yet available.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'EmptyDirVolume'], + 'NFSVolume.Path' => ['description' => 'The path to mount on the NFS volume.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/'], + 'NFSVolume.Server' => ['description' => 'The address of the NFS mount target.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '071e349b04-bsd39.cn-hangzhou.nas.aliyuncs.com'], + 'NFSVolume.ReadOnly' => ['description' => 'The read-only permission for the NFS volume. Valid values:'."\n" + ."\n" + .'- true: The NFS volume is read-only.'."\n" + ."\n" + .'- false: The NFS volume is read-write.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'ConfigFileVolume.ConfigFileToPath' => [ + 'description' => 'The configuration file information for the ConfigFile volume.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration file information for the ConfigFile volume.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative path of the configuration file.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'jin/test'], + 'Content' => ['description' => 'The content of the configuration file. The content must be Base64-encoded.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'bGl1bWk='], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'testvalue', + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the EmptyDir volume. The default is an empty string, which means that the node\'s file system is used. You can set this to Memory to use memory.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Memory'], + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the EmptyDir volume. Specify the unit for the value, such as Gi or Mi.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '256Mi'], + 'FlexVolume.FsType' => ['description' => 'The file system type of the disk when you use a FlexVolume plug-in to mount the disk. Valid values include ext4, ext3, xfs, and vfat. The default value is ext4.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ext4'], + 'FlexVolume.Driver' => ['description' => 'The driver type when you use a FlexVolume plug-in to mount a volume. Valid values:'."\n" + ."\n" + .'- alicloud/disk: Mounts a disk.'."\n" + ."\n" + .'- alicloud/nas: Mounts a NAS file system.'."\n" + ."\n" + .'- alicloud/oss: Mounts an OSS bucket.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'alicloud/disk'], + 'FlexVolume.Options' => ['description' => 'The list of FlexVolume options. The options are key-value pairs in JSON format. For example, when you mount a disk using FlexVolume, Options specifies the configuration parameters of the disk. For more information, see [Volume overview]().', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'], + 'HostPathVolume.Path' => ['description' => 'The path of the HostPath volume on the host.'."\n" + ."\n" + .'> This parameter is not yet available.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/tmp'], + 'HostPathVolume.Type' => ['description' => 'The type of the HostPath volume. Valid values:'."\n" + ."\n" + .'- Directory: a directory.'."\n" + ."\n" + .'- File: a file.'."\n" + ."\n" + .'> This parameter is not yet available.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Directory'], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 61, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceType', + 'name' => 'DnsConfig.Search', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* ContainerGroup: elastic container instance'."\n" - .'* ImageCache: image cache'."\n" - .'* DataCache: data cache'."\n" - .'* VirtualNode: virtual node'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => 'ContainerGroup', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'OperationConflict', - 'errorMessage' => 'Request was denied due to conflict with a previous request.', - ], - [ - 'errorCode' => 'NoPermission.Tag', - 'errorMessage' => 'No permissions to operate tags.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The length of tags exceeded limit: 20.', + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'my.dns.search.suffix'], + 'required' => false, + 'example' => 'my.dns.search.suffix', + 'maxItems' => 21, + 'title' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\"\\n}","type":"json"}]', - 'title' => 'TagResources', - ], - 'ListTagResources' => [ - 'summary' => 'Queries the tags that are added to an Elastic Container Instance resource.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '163143', - 'abilityTreeNodes' => [ - 'FEATUREeciO8VNZM', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', + 'name' => 'DnsConfig.NameServer', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '1.2.3.4'], + 'required' => false, + 'example' => '1.2.3.4', + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'DnsConfig.Option', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The DNS configuration information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The DNS configuration information.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the option variable for the DNS configuration.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2'], + 'Name' => ['description' => 'The name of the option variable for the DNS configuration.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ndots'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'Container', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the resources.'."\n", + 'description' => 'Specifies the new container group configuration.', 'type' => 'array', 'items' => [ - 'description' => 'The resource ID. Enter the resource ID based on the ResourceType value.'."\n", - 'type' => 'string', + 'description' => 'Specifies the new container group configuration.', + 'type' => 'object', + 'properties' => [ + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout period for the check. The default is 1 second. The minimum is 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '5'], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The number of consecutive successful checks required to determine that the check is successful after a failure. The default is 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'SecurityContext.Capability.Add' => [ + 'description' => 'Grants specific permissions to processes in the container. Currently, only NET\\_ADMIN and NET\\_RAW are supported.'."\n" + ."\n" + .'> NET\\_RAW is not supported by default. To use it, submit a ticket.', + 'type' => 'array', + 'items' => ['description' => 'Grants specific permissions to processes in the container. Currently, only NET\\_ADMIN and NET\\_RAW are supported.'."\n" + ."\n" + .'> NET\\_RAW is not supported by default. To use it, submit a ticket.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'NET_ADMIN'], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port for the TcpSocket check.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '5000'], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type for the HTTP GET request when you use an HTTP request for a health check. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + ."\n" + .'- HTTPS', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval at which the check is performed. The default is 10 seconds. The minimum is 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system is read-only. Currently, only \\`true\\` is supported.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'EnvironmentVar' => [ + 'description' => 'The list of environment variables for the container.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of environment variables for the container.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable for the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable for the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/bin/local/'], + 'FieldRef.FieldPath' => ['description' => 'Uses a pod field as an environment variable. Currently, only \\`status.podIP\\` is supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'status.podIP'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port for the TcpSocket check.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], + 'Tty' => ['description' => 'Indicates whether to enable interaction. The default is false. If the Command is of the /bin/bash type, set this to true.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/share/'], + 'Arg' => [ + 'description' => 'The startup arguments for the container. You can specify up to 10 arguments.', + 'type' => 'array', + 'items' => ['description' => 'The startup arguments for the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'hello'], + 'required' => false, + 'example' => 'hello', + 'maxItems' => 101, + 'title' => '', + ], + 'Stdin' => ['description' => 'Indicates whether to allocate a buffer for standard input in the container runtime. If not set, reading from standard input in the container results in an End-Of-File (EOF). The default is false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The time when the check starts. The time is calculated from when the container starts.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + 'VolumeMount' => [ + 'description' => 'The list of volumes to mount to the container.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of volumes to mount to the container.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting for the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: The volume does not receive any subsequent mounts that are performed on this volume or any of its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume receives subsequent mounts that are performed on this volume or any of its subdirectories.'."\n" + ."\n" + .'- Bidirectional: Similar to HostToContainer. In addition, the volume is propagated back to the host and to all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'None'], + 'MountPath' => ['description' => 'The directory to mount in the container. The content in the container\'s mount directory is overwritten by the content of the volume. Use with caution.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/share/'], + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only. Default value: false', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories from the same volume to different directories in the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/share/sub/'], + 'Name' => ['description' => 'The name of the volume to mount to the container. Select a volume that is mounted to the ECI instance (container group). The value must be one of the configured Volume.N.Name parameters.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test-empty'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: Always pulls the image.'."\n" + ."\n" + .'- IfNotPresent: Pulls the image only if it is not present locally.'."\n" + ."\n" + .'- Never: Never pulls the image. Uses the local image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Never'], + 'StdinOnce' => ['description' => 'When standard input is true, the standard input stream remains open across multiple attach sessions. If StdinOnce is set to true, standard input is opened when the container starts and is empty until the first client attaches to standard input. It then remains open to receive data until the client disconnects. At that point, standard input is closed and remains closed until the container restarts.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for the TCP socket check when you use a TCPSocket to set the preStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The path for the HTTP GET request check when you use an HTTP request to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/healthyz'], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval at which the check is performed. The default is 10 seconds. The minimum is 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '3'], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The number of consecutive successful checks required to determine that the check is successful after a failure. The default is 1. The value must be 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'Command' => [ + 'description' => 'The startup command for the container. You can specify up to 20 commands. Each command can be up to 256 characters in length.', + 'type' => 'array', + 'items' => ['description' => 'The startup command for the container. Each command can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'echo'], + 'required' => false, + 'example' => 'echo', + 'maxItems' => 101, + 'title' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when you use an HTTP request to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'hide'], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path for the HttpGet check.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/'], + 'LivenessProbe.Exec.Command' => [ + 'description' => 'The command to run for the check in the container.', + 'type' => 'array', + 'items' => ['description' => 'The command to run for the check in the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'echo'], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for the TCP socket check when you use a TCPSocket to set the postStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request check when you use an HTTP request to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/healthyz'], + 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The command to run in the container when you use the command line to set the postStart callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command to run in the container when you use the command line to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]'], + 'required' => false, + 'example' => 'hide', + 'maxItems' => 101, + 'title' => '', + ], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request check when you use an HTTP request to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/healthyz'], + 'Port' => [ + 'description' => 'The container port. Valid values: 1 to 65535.', + 'type' => 'array', + 'items' => [ + 'description' => 'The container port. Valid values: 1 to 65535.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'TCP/UDP.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TCP'], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '8080'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP GET request when you use an HTTP request to set the preStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + ."\n" + .'- HTTPS', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type for the HTTP GET request when you use an HTTP request for a health check. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + ."\n" + .'- HTTPS', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'], + 'LifecyclePostStartHandlerHttpGetHttpHeaders' => [ + 'description' => 'The collection of valid HTTP request headers in the generated HTTP request.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of valid HTTP request headers in the generated HTTP request.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the request parameter for the HTTP GET request when you use an HTTP request to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + 'Name' => ['description' => 'The request parameter for the HTTP GET request when you use an HTTP request to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testValue'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port for the HttpGet check.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '8080'], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for the TCP socket check when you use a TCP Socket to set the postStart callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10.0.XX.XX'], + 'Gpu' => ['description' => 'The number of GPUs for the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The time when the check starts. The time is calculated from when the container starts.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The command to run in the container when you use the command line to set the preStop callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command to run in the container when you use the command line to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'], + 'required' => false, + 'example' => 'hide', + 'maxItems' => 101, + 'title' => '', + ], + 'Memory' => ['description' => 'The memory size of the container.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '2.0'], + 'Name' => ['description' => 'The name of the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'jenkins'], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when you use an HTTP request to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10.0.XX.XX'], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for the TCP socket check when you use a TCP Socket to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10.0.XX.XX'], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'jenkins'], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port for the HTTP GET request check when you use an HTTP request to set the preStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'LivenessProbe.FailureThreshold' => ['description' => 'The number of consecutive failed checks required to determine that the check has failed after a success. The default is 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '3'], + 'ReadinessProbe.Exec.Command' => [ + 'description' => 'The command to run for the check in the container.', + 'type' => 'array', + 'items' => ['description' => 'The command to run for the check in the container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'echo'], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerHttpGetHttpHeader' => [ + 'description' => 'The generated HTTP request header information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The generated HTTP request header information.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the request parameter for the HTTP GET request when you use an HTTP request to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testValue'], + 'Name' => ['description' => 'The request parameter for the HTTP GET request when you use an HTTP request to set the preStop callback function.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The number of consecutive failed checks required to determine that the check has failed after a success. The default is 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '3'], + 'Cpu' => ['description' => 'The vCPU size of the container.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '1.0'], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port for the HttpGet check.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '8080'], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path for the HttpGet check.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/local/bin'], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout period for the check. The default is 1 second. The minimum is 1 second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'SecurityContext.RunAsUser' => ['description' => 'The UID used to run the entry point of the container process.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1377'], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port for the HTTP GET request check when you use an HTTP request to set the postStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + ], 'required' => false, - 'example' => 'eci-2zelg8vwnlzdhf8hv***', + 'title' => '', + 'example' => '', ], 'required' => false, - 'docRequired' => true, - 'maxItems' => 100, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'InitContainer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are added to the resource.'."\n", + 'description' => 'Specifies the new Init container information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Specifies the new Init container information.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', + 'SecurityContext.Capability.Add' => [ + 'description' => 'Grants specific permissions to processes in the container. Only NET\\_ADMIN and NET\\_RAW are supported.'."\n" + ."\n" + .'> NET\\_RAW is not supported by default. Submit a ticket to request this permission.', + 'type' => 'array', + 'items' => ['description' => 'Grants specific permissions to processes in the container. Only NET\\_ADMIN and NET\\_RAW are supported.'."\n" + ."\n" + .'> NET\\_RAW is not supported by default. To use this permission, submit a ticket.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'NET_ADMIN'], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The container image for the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'nginx'], + 'VolumeMount' => [ + 'description' => 'The list of volume mounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of volumes to mount.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting for the volume. Mount propagation allows a volume mounted by one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: The volume mount does not receive any subsequent mounts that are mounted to this volume or any of its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume mount receives all subsequent mounts that are mounted from the host to this volume or any of its subdirectories.'."\n" + ."\n" + .'- Bidirectional: This setting is similar to HostToContainer. In addition, the volume mount is propagated back to the host and to all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default: None', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'None'], + 'MountPath' => ['description' => 'The mount path for the init container. The volume\'s content overwrites any existing content in this path. Use with caution.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/pod/data'], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. The default value is false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'SubPath' => ['description' => 'The subdirectory within the volume. This lets a pod mount different subdirectories from the same volume to different directories in a container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'data2/'], + 'Name' => ['description' => 'The name of the volume to mount to the init container. The value must be the name of a volume that is defined in the Volume.N.Name parameter for the container group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default-volume1'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'testkey', + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Port' => [ + 'description' => 'The port number. The valid range is 1 to 65535.', + 'type' => 'array', + 'items' => [ + 'description' => 'The port number. The value must be from 1 to 65535.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'TCP or UDP.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TCP'], + 'Port' => ['description' => 'The port of the init container. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '9000'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system of the container is read-only. The only valid value is \\`true\\`.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'EnvironmentVar' => [ + 'description' => 'The environment variables of the container.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of environment variables for the container.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable for the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable for the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/usr/local/bin'], + 'FieldRef.FieldPath' => ['description' => 'The reference to the value of an environment variable. The only supported value is status.podIP.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'status.podIP'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: The image is always pulled.'."\n" + ."\n" + .'- IfNotPresent: The local image is used first. If the image is not available locally, it is pulled.'."\n" + ."\n" + .'- Never: The image is never pulled. Only the local image is used.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'IfNotPresent'], + 'StdinOnce' => ['description' => 'When standard input is enabled, the standard input stream remains open across multiple attach sessions. If you set StdinOnce to true, the standard input is opened when the container starts. The stream is empty until the first client attaches. It then accepts data until the client disconnects. After the client disconnects, the stream is closed and remains closed until the container is restarted.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'Cpu' => ['description' => 'The number of vCPUs for the init container.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '2.0'], + 'Tty' => ['description' => 'Specifies whether to enable interaction. The default value is false. If Command is set to /bin/bash, set this parameter to true.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + 'WorkingDir' => ['description' => 'The working directory of the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/bin/local/'], + 'Command' => [ + 'description' => 'The command for the init container.', + 'type' => 'array', + 'items' => ['description' => 'The command for the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '/bin/sh sleep'], + 'required' => false, + 'example' => '/bin/sh sleep', + 'maxItems' => 101, + 'title' => '', ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', + 'Arg' => [ + 'description' => 'The startup arguments for the init container.', + 'type' => 'array', + 'items' => ['description' => 'The startup parameters for the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10'], 'required' => false, - 'example' => 'testvalue', + 'example' => '10', + 'maxItems' => 101, + 'title' => '', ], + 'SecurityContext.RunAsUser' => ['description' => 'The user ID to run the container.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1000'], + 'Gpu' => ['description' => 'The number of GPUs for the init container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'], + 'Memory' => ['description' => 'The memory size of the init container.', 'type' => 'number', 'format' => 'float', 'required' => false, 'title' => '', 'example' => '4.0'], + 'Stdin' => ['description' => 'Specifies whether to allocate a buffer for the container\'s standard input. If not set, reading from standard input returns an End-of-File (EOF). The default is false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], + 'Name' => ['description' => 'The name of the init container.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'init-nginx'], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceType', + 'name' => 'ImageRegistryCredential', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* ContainerGroup: elastic container instance'."\n" - .'* ImageCache: image cache'."\n" - .'* DataCache: data cache'."\n" - .'* VirtualNode: virtual node'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ContainerGroup', + 'description' => 'A list of image repository credentials.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of credentials for the image repository.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'yourpassword'], + 'Server' => ['description' => 'The address of the image repository without the `http://` or `https://` prefix.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry.cn-shanghai.aliyuncs.com/ecitest/nginx:alpine'], + 'UserName' => ['description' => 'The username for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'yourname'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Limit', + 'name' => 'AcrRegistryInfo', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of entries to return.'."\n", - 'type' => 'string', + 'description' => 'Information about the ACR Enterprise instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the ACR Enterprise instance.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cri-nwj395hgf6f3****'], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'acr-test'], + 'RegionId' => ['description' => 'The region of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-beijing'], + 'Domain' => [ + 'description' => 'The domain names of the ACR Enterprise instance. By default, this includes all domain names for the instance. You can specify one or more domain names, separated by commas.', + 'type' => 'array', + 'items' => ['description' => 'The domain name of the ACR Enterprise instance. By default, all domain names of the instance are used. You can specify one or more domain names. Separate multiple domain names with commas.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-beijing'], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '20', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NextToken', + 'name' => 'UpdateType', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAdDWBF2****'."\n", - ], + 'schema' => ['description' => 'The update type. Valid values:'."\n" + ."\n" + .'- RenewUpdate: A full update. You must specify all related parameters. You cannot update individual items in a list or individual members in a struct.'."\n" + ."\n" + .'- IncrementalUpdate: An incremental update. You can specify only the parameters that you want to update. Unspecified parameters remain unchanged.'."\n" + ."\n" + .'The default is RenewUpdate.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'RenewUpdate'], ], ], 'responses' => [ @@ -13893,194 +8460,260 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => '下一个查询开始Token,NextToken为空说明没有下一个', - 'description' => 'The returned pagination token which can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAAdDWBF2****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1340C38D-6189-54D1-86F6-7D5ECF3E0088', - ], - 'TagResources' => [ - 'title' => '资源列表', - 'description' => 'The queried resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* ContainerGroup: elastic container instance'."\n" - .'* ImageCache: image cache'."\n" - .'* DataCache: data cache'."\n" - .'* VirtualNode: virtual node'."\n", - 'type' => 'string', - 'example' => 'ContainerGroup', - ], - 'TagValue' => [ - 'title' => '标签值', - 'description' => 'The value of the tag that is added to the resource.'."\n", - 'type' => 'string', - 'example' => 'testvalue', - ], - 'ResourceId' => [ - 'title' => '资源ID', - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'eci-2zelg8vwnlzdhf8hv****'."\n", - ], - 'TagKey' => [ - 'title' => '标签键', - 'description' => 'The key of the tag that is added to the resource.'."\n", - 'type' => 'string', - 'example' => 'testkey', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'CB8D2B22-D636-4182-****-1FC9DBDAD66F'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission.Tag', - 'errorMessage' => 'No permissions to operate tags.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The length of tags exceeded limit: 20.', - ], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'InvalidParameter.LengthExceeded', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidParameter.ValueExceeded', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidParam.CpuOrMemorySpec', 'errorMessage' => 'The specified specification is invalid.', 'description' => 'The specified specification is invalid.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'NoNeedUpdate', 'errorMessage' => 'There are no changes to be updated for current resource.', 'description' => 'There are no changes to be updated for current resource.'], + ], + 403 => [ + ['errorCode' => 'InvalidAction', 'errorMessage' => 'The specified action is invalid', 'description' => 'Invalid operation.'], + ], + [ + ['errorCode' => 'InvalidParameter.NotFound', 'errorMessage' => '%s', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'UpdateContainerGroup', + 'summary' => 'This operation updates an instance.', + 'description' => '- You can update only Elastic Container Instance (ECI) instances that are in the Pending or Running state. After the update, the instance status changes to Updating.'."\n" + ."\n" + .'- Updating an ECI instance with a RestartPolicy of Never may cause containers to fail. Proceed with caution.', + 'requestParamsDescription' => '### Parameter descriptions'."\n" + ."\n" + .'**Container and InitContainer**: Both InitContainer and Container support only full updates. An instance restart is required to update an InitContainer. The following update scenarios are supported:'."\n" + ."\n" + .'- An ECI instance has both an InitContainer and a Container, and only the InitContainer is updated.'."\n" + ."\n" + .'- An ECI instance has both an InitContainer and a Container, and only the Container is updated.'."\n" + ."\n" + .'- An ECI instance has both an InitContainer and a Container, and both are updated.'."\n" + ."\n" + .'- An ECI instance has only a Container, and the Container is updated.'."\n" + ."\n" + .'- An ECI instance has only a Container, and an InitContainer is added.'."\n" + ."\n" + .'- An ECI instance has only a Container, an InitContainer is added, and the Container is updated.'."\n" + ."\n" + .'**ImageRegistryCredentials**'."\n" + ."\n" + .'- Only full updates are supported.'."\n" + ."\n" + .'- A restart of the ECI instance is not required if you only update the ImageRegistryCredentials without increasing the number of credentials. In all other cases, a restart is required.'."\n" + ."\n" + .'> Full update: If a parameter is a list, you cannot update its individual items. If a parameter is a struct, you cannot update its individual members.', + 'responseParamsDescription' => "\n" + ."\n\n" + ."\n\n" + ."\n", + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-15T08:42:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-15T08:42:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-28T16:20:17.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"RequestId\\": \\"1340C38D-6189-54D1-86F6-7D5ECF3E0088\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ContainerGroup\\",\\n \\"TagValue\\": \\"testvalue\\",\\n \\"ResourceId\\": \\"eci-2zelg8vwnlzdhf8hv****\\\\n\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagResources', - ], - 'UntagResources' => [ - 'summary' => 'Removes tags from an Elastic Container Instance resource.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainerGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB8D2B22-D636-4182-****-1FC9DBDAD66F\\"\\n}","type":"json"}]', + ], + 'UpdateDataCache' => [ + 'summary' => 'Updates a data cache.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '180519', + 'abilityTreeNodes' => ['FEATUREeciIGQQJ4'], + ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ResourceId', + 'name' => 'DataCacheId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The data cache ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'edc-bp1a7n7uawwwol******'], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'sg-2ze81zoc3yl7a3we****'], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'vsw-2ze23nqzig8inprou****'], + ], + [ + 'name' => 'Bucket', + 'in' => 'query', + 'schema' => ['description' => 'The bucket of the data cache. The default value is default.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'default'], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the data cache.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'test'], + ], + [ + 'name' => 'Size', + 'in' => 'query', + 'schema' => ['description' => 'The size of the data cache.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], + ], + [ + 'name' => 'DataSource', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The IDs of the resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource ID. Enter the resource ID based on the ResourceType value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-2zelg8vwnlzdhf8hv****', + 'description' => 'The information about the data source.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the data source. Valid values:'."\n" + ."\n" + .'- URL'."\n" + ."\n" + .'- NAS'."\n" + ."\n" + .'- OSS'."\n" + ."\n" + .'- SNAPSHOT', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'URL'], + 'Options' => [ + 'description' => 'The configuration parameters of the data source.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['type' => 'string', 'description' => 'The configuration parameters of the data source. The parameters that you must specify vary based on the data source type. For more information about the data source types and their parameters, see [Create a data cache](~~2391456~~).', 'title' => '', 'example' => '{'."\n" + .' "#10#repoSource": "HuggingFace/Model",'."\n" + .' "#6#repoId": "stabilityai/stable-diffusion-2-1"'."\n" + .'}'], + 'title' => '', + 'example' => '', + ], ], - 'required' => true, - 'docRequired' => true, - 'maxItems' => 100, + 'required' => false, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TagKey', + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => ['description' => 'The number of days to retain the data cache. The data cache is cleared after it expires. By default, the data cache does not expire.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmzw2jz2z****'], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The keys of the tags that you want to remove from the resource. You can enter up to 20 tag keys.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'The key of the tag that you want to remove.'."\n", - 'type' => 'string', + 'description' => 'The list of tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testkey'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testvalue'], + ], 'required' => false, - 'example' => 'testkey', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* ContainerGroup: elastic container instance'."\n" - .'* ImageCache: image cache'."\n" - .'* DataCache: data cache'."\n" - .'* VirtualNode: virtual node'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ContainerGroup', - ], + 'schema' => ['description' => 'A client token. You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '2f22dc16-cad0-4d3f-87e5-91e604756547'], ], [ - 'name' => 'All', + 'name' => 'EipInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter is valid only when the `TagKey` parameter is not specified in the request. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The elastic IP address (EIP). If no NAT gateway is configured for the virtual private cloud (VPC), you can attach an EIP to the data cache to pull data from the Internet.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eip-2zedsm5mfl3uhdj2d****'], ], [ - 'name' => 'ClientToken', + 'name' => 'EipCreateParam', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', + 'description' => 'Creates and attaches an EIP.'."\n" + .'If no NAT gateway is configured for the VPC, you can attach an EIP to the data cache to pull data from the Internet.', + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => ['description' => 'The bandwidth of the EIP. Unit: Mbps. The default value is 5.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], + 'CommonBandwidthPackage' => ['description' => 'Specifies an existing Internet Shared Bandwidth package to attach.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cbwp-2zeukbj916scmj51m****'], + 'InternetChargeType' => ['description' => 'The billing method of the EIP. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth'."\n" + ."\n" + .'- PayByTraffic: pay-by-data-transfer', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PayByTraffic'], + 'PublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool.'."\n" + .'The EIP is allocated from the IP address pool.'."\n" + .'By default, the IP address pool feature is unavailable. To use this feature, apply for the privilege in Quota Center.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'pippool-bp187arfugi543y1s****'], + 'ISP' => ['description' => 'The line type of the EIP. Valid values:'."\n" + ."\n" + .'- BGP (default): BGP (Multi-ISP)'."\n" + ."\n" + .'- BGP\\_PRO: BGP (Multi-ISP) Pro', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'BGP'], + ], 'required' => false, - 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx', + 'title' => '', + 'example' => '', ], ], ], @@ -14089,287 +8722,280 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CFC7B', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'BD8BBB43-8E05-5F46-89A9-2512D8A324A2'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'OperationConflict', - 'errorMessage' => 'Request was denied due to conflict with a previous request.', - ], - [ - 'errorCode' => 'NoPermission.Tag', - 'errorMessage' => 'No permissions to operate tags.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The length of tags exceeded limit: 20.', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'ImageCache.IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ImageCacheNotSupport', 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['errorCode' => 'EipAddressPoolIpNotEnough', 'errorMessage' => 'The ip address of specified PublicIpAddressPool is not enough.', 'description' => ''], ], + 403 => [ + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateDataCache', + 'changeSet' => [ + ['createdAt' => '2023-09-01T08:45:58.000Z', 'description' => 'Request parameters changed'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B\\"\\n}","type":"json"}]', - 'title' => 'UntagResources', - ], - 'ListUsage' => [ - 'summary' => 'Queries the used amounts and upper limits of privileges and quotas that you have in a specified region.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD8BBB43-8E05-5F46-89A9-2512D8A324A2\\"\\n}","type":"json"}]', + ], + 'UpdateImageCache' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '17740', - 'abilityTreeNodes' => [ - 'FEATUREeciIGQQJ4', - 'FEATUREeci5NN3BU', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou '], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou '], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89164E78-FC82-4684-BE97-DCDD85D26546', - ], - 'Attributes' => [ - 'description' => 'The information about the used amounts and upper limits of privileges and quotas that you have in the specified region. The information contains the following items:'."\n" - ."\n" - .'* UsedCpu: the number of existing vCPUs.'."\n" - .'* MaxCpu: the upper limit of vCPUs.'."\n" - .'* MaxImageCacheCount: the upper limit of manually created image caches.'."\n" - .'* UsedImageCacheCount: the number of existing image caches that are manually created.'."\n" - .'* MaxAutoImageCacheCount: the upper limit of automatically created image caches.'."\n" - .'* UsedAutoImageCacheCount: the number of existing image caches that are automatically created.'."\n" - .'* MaxDataCacheCount: the upper limit of DataCaches.'."\n" - .'* UsedDataCacheCount: the number of existing DataCaches.'."\n", - 'type' => 'object', - 'example' => '{"UsedCpu": 11,"MaxCpu": 1000,"MaxImageCacheCount": 50,"UsedImageCacheCount": 0}', - ], - ], - 'description' => '', - ], + [ + 'name' => 'ImageCacheId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image cache.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'imc-bp195erqe9o2pb09**** '], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89164E78-FC82-4684-BE97-DCDD85D26546\\",\\n \\"Attributes\\": {\\n \\"UsedAutoImageCacheCount\\": 4,\\n \\"UsedDataCacheCount\\": 3,\\n \\"MaxDataCacheCount\\": 100,\\n \\"UsedCpu\\": 16.5,\\n \\"MaxCpu\\": 1000,\\n \\"MaxAutoImageCacheCount\\": 25,\\n \\"MaxImageCacheCount\\": 500,\\n \\"UsedImageCacheCount\\": 0\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListUsage>\\n <RequestId>89164E78-FC82-4684-BE97-DCDD85D26546</RequestId>\\n <Attributes>\\n <UsedCpu>11</UsedCpu>\\n <MaxCpu>1000</MaxCpu>\\n <MaxImageCacheCount>50</MaxImageCacheCount>\\n <UsedImageCacheCount>0</UsedImageCacheCount>\\n </Attributes>\\n</ListUsage>","errorExample":""}]', - 'title' => 'ListUsage', - 'description' => 'This operation does not support resource group authentication.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeContainerGroupPrice' => [ - 'summary' => 'Queries the price of an elastic container instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'sg-uf66jeqopgqa9hdn**** '], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '17731', - 'abilityTreeNodes' => [ - 'FEATUREeciY9GS39', - 'FEATUREeci5NN3BU', - 'FEATUREeciIT94P2', - 'FEATUREeciCZBDK8', + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'vsw-uf6h3rbwbm90urjwa**** '], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ImageCacheName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance. You can call the [DescribeRegions](~~146965~~) operation to query the most recent region and zone list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the image cache.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'testcache'], ], [ - 'name' => 'RegionId', + 'name' => 'EipInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the instance. You can call the [DescribeRegions](~~146965~~) operation to query the most recent region and zone list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The elastic IP address (EIP). To pull images from the Internet, ensure that the ECI instance has Internet access. Configure an EIP or a NAT Gateway to enable Internet access.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eip-2zedsm5mfl3uhdj2d****'], ], [ - 'name' => 'Cpu', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs. For information about the vCPU and memory specifications that are supported by Elastic Container Instance, see [vCPU and memory specifications](~~114662~~).'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'docRequired' => true, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aekzh43v***** '], ], [ - 'name' => 'Memory', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the memory. Unit: GiB. For information about the vCPU and memory specifications that are supported by Elastic Container Instance, see [vCPU and memory specifications](~~114662~~).'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'docRequired' => true, - 'example' => '4.0', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. Generate a value that is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx'], ], [ - 'name' => 'InstanceType', + 'name' => 'ImageCacheSize', 'in' => 'query', + 'schema' => ['description' => 'The size of the image cache. The default value is 20 GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + 'schema' => ['description' => 'The retention period of the image cache in days. The image cache expires and is cleared after the retention period ends. By default, the image cache never expires.'."\n" + ."\n" + .'> Image caches that failed to be created are retained for only one day.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable reuse of image cache layers. If you enable this feature, the system reuses the image layers of existing image caches to accelerate the creation of image caches. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], + ], + [ + 'name' => 'ImageRegistryCredential', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The instance type of the Elastic Compute Service (ECS) instance that is used to create the elastic container instance. For information about the ECS instance types that are supported by Elastic Container Instance, see [ECS instance types that are supported by Elastic Container Instance](~~114664~~).'."\n" - ."\n" - .'> If you specify this parameter, the specified specifications of vCPUs and memory are ignored. Only the price of the ECS instance type is returned.'."\n", - 'type' => 'string', + 'description' => 'The credentials of the image repository.', + 'type' => 'array', + 'items' => [ + 'description' => 'The credentials of the image repository.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'password'], + 'Server' => ['description' => 'The address of the image repository. Do not include the `http://` or `https://` prefix.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com'], + 'UserName' => ['description' => 'The username for the image repository.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'username'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ecs.c5.large', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SpotStrategy', + 'name' => 'Image', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The bidding policy for the elastic container instance. Valid values:'."\n" + 'description' => 'The list of container images used to create the image cache.'."\n" ."\n" - .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', + .'> If you want to trigger an in-place upgrade of the image cache without updating the image list, you must still pass the image list. Otherwise, the image data is not updated to the latest version. Only the metadata is refreshed.', + 'type' => 'array', + 'items' => ['description' => 'The container image used to create the image cache.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl'], 'required' => false, - 'example' => 'SpotWithPriceLimit', + 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl', + 'maxItems' => 101, + 'title' => '', ], ], [ - 'name' => 'ZoneId', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The zone ID of the instance. You can call the [DescribeRegions](~~146965~~) operation to query the most recent region and zone list.'."\n", - 'type' => 'string', + 'description' => 'The tags to attach to the image cache. You can attach up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags to attach to the image cache. You can attach up to 20 tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'imc'], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-hangzhou-g', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'Flash', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can contain up to three decimal places. If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.2', - ], + 'schema' => ['description' => 'Specifies whether to enable the instant image cache feature. This feature accelerates the creation of image caches. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ - 'name' => 'EphemeralStorage', + 'name' => 'AcrRegistryInfo', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The storage size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The information about the Container Registry (ACR) Enterprise Edition instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the ACR Enterprise Edition instance.', + 'type' => 'object', + 'properties' => [ + 'Domain' => [ + 'description' => 'The domain names of the ACR Enterprise Edition instance. By default, all domain names of the instance are used. You can specify one or more domain names. Separate multiple domain names with commas (,).', + 'type' => 'array', + 'items' => ['description' => 'The domain names of the ACR Enterprise Edition instance. By default, all domain names of the instance are used. You can specify one or more domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test****-registry.cn-hangzhou.cr.aliyuncs.com'], + 'required' => false, + 'example' => 'test****-registry.cn-hangzhou.cr.aliyuncs.com', + 'maxItems' => 100, + 'title' => '', + ], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test****'], + 'InstanceId' => ['description' => 'The ID of the ACR Enterprise Edition instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cri-nwj395hgf6f3**** '], + 'RegionId' => ['description' => 'The region where the ACR Enterprise Edition instance is located.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '20', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SpotDuration', + 'name' => 'StandardCopyCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The protection period of the preemptible instance. Unit: hours. Default value: 1. The value of 0 indicates no protection period.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of standard snapshot replicas. By default, one snapshot is created for one image cache. If the image cache is used to create multiple ECI instances in batches, configure this parameter to create multiple snapshot replicas. We recommend creating one snapshot replica for every 1,000 ECI instances.'."\n" + ."\n" + .'> If the instant image cache feature is disabled (Flash is set to false), only standard snapshots are created when the image cache is being created.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], ], [ - 'name' => 'ComputeCategory', + 'name' => 'FlashCopyCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The computing power type. A value of economy specifies economic instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'economy', - ], + 'schema' => ['description' => 'The number of local snapshot replicas. By default, one snapshot is created for one image cache. If the image cache is used to create multiple ECI instances in batches, configure this parameter to create multiple snapshot replicas. We recommend creating one snapshot replica for every 1,000 ECI instances.'."\n" + ."\n" + .'> If the instant image cache feature is enabled (Flash is set to true), the system first creates local snapshots. After the local snapshots are created, the system starts to create standard snapshots. After the standard snapshots are created, the local snapshots are automatically deleted.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '7'], + ], + [ + 'name' => 'EliminationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The eviction policy for the image cache. By default, the image cache is never evicted.'."\n" + ."\n" + .'Set this parameter to \\`LRU\\` to allow automatic deletion. If you set the policy to \\`LRU\\`, when the number of image caches reaches the quota, the system automatically deletes the least recently used caches.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'LRU'], ], ], 'responses' => [ @@ -14377,643 +9003,2016 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7A872585-33C7-4D69-AB8E-412E81EBA387', - ], - 'PriceInfo' => [ - 'description' => 'The information about the prices and discount rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'SpotPrices' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SpotPrice' => [ - 'description' => 'The information about the prices of preemptible elastic container instances.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'description' => 'The zone ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-i', - ], - 'SpotPrice' => [ - 'description' => 'The prices of preemptible elastic container instances.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.056', - ], - 'InstanceType' => [ - 'description' => 'The ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.c5.large', - ], - 'OriginPrice' => [ - 'description' => 'The original price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.622', - ], - ], - ], - ], - ], - ], - 'Price' => [ - 'description' => 'The price.'."\n", - 'type' => 'object', - 'properties' => [ - 'DiscountPrice' => [ - 'description' => 'The discount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'TradePrice' => [ - 'description' => 'The transaction price, which is equal to the original price minus the discount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.00012252', - ], - 'OriginalPrice' => [ - 'description' => 'The original price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.00012252', - ], - 'DetailInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DetailInfo' => [ - 'description' => 'The information about the price.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Resource' => [ - 'description' => 'The name of the resource.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - 'DiscountPrice' => [ - 'description' => 'The discount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'TradePrice' => [ - 'description' => 'The transaction price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.000098', - ], - 'OriginalPrice' => [ - 'description' => 'The original price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.000098', - ], - 'Rules' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => 'Details about the pricing rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'description' => 'The description of the rule.'."\n", - 'type' => 'string', - 'example' => 'Receive a 15% discount on a 1-year subscription'."\n", - ], - 'RuleId' => [ - 'description' => 'The rule ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123456', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'Currency' => [ - 'description' => 'The currency unit. Valid values:'."\n" - ."\n" - .'* CNY: This value only applies to the China site (aliyun.com).'."\n" - .'* USD: This value only applies to the International site (alibabacloud.com).'."\n", - 'type' => 'string', - 'example' => 'CNY', - ], - ], - ], - 'Rules' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => 'Details about the promotion rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'description' => 'The description of the promotion rule.'."\n", - 'type' => 'string', - 'example' => 'Receive a 15% discount on a 1-year subscription'."\n", - ], - 'RuleId' => [ - 'description' => 'The ID of the promotion rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123456', - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.CpuOrMemorySpec', - 'errorMessage' => 'The specified specification is invalid.', - ], - [ - 'errorCode' => 'TradeBidCommodityNotMatch', - 'errorMessage' => 'The trade ID and the commodity do not match.', - ], - [ - 'errorCode' => 'InvalidSpotCpuMemorySpec', - 'errorMessage' => 'The specified CPU and memory are not allowed. You must create spot ECI using standard ECS specifications for CPU and memory.', - ], - [ - 'errorCode' => 'FeatureBasedConstraintConflict', - 'errorMessage' => 'A conflict occurs in specified feature constraints: [%s].', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'ImageCache.IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ImageCacheNotSupport', 'errorMessage' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['errorCode' => 'OperationConflict', 'errorMessage' => 'Request was denied due to conflict with a previous request.', 'description' => 'Request was denied due to conflict with a previous request.'], + ['errorCode' => 'NoNeedUpdate', 'errorMessage' => 'There are no changes to be updated for current resource.', 'description' => 'There are no changes to be updated for current resource.'], ], 403 => [ - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', - ], - [ - 'errorCode' => 'FeatureAccessRestricted', - 'errorMessage' => 'Access to this feature:[%s] is restricted. Please contact Alibaba Cloud ECI support to request access.', - ], + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again.', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7A872585-33C7-4D69-AB8E-412E81EBA387\\",\\n \\"PriceInfo\\": {\\n \\"SpotPrices\\": {\\n \\"SpotPrice\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-i\\",\\n \\"SpotPrice\\": 0.056,\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"OriginPrice\\": 0.622\\n }\\n ]\\n },\\n \\"Price\\": {\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.00012252,\\n \\"OriginalPrice\\": 0.00012252,\\n \\"DetailInfos\\": {\\n \\"DetailInfo\\": [\\n {\\n \\"Resource\\": \\"cpu\\",\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.000098,\\n \\"OriginalPrice\\": 0.000098,\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"*****\\",\\n \\"RuleId\\": 123456\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Currency\\": \\"CNY\\"\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Description\\": \\"*****\\",\\n \\"RuleId\\": 123456\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeContainerGroupPriceResponse>\\n <RequestId>49BF254A-F5A6-5B71-9F2B-5DB61B4FE12B</RequestId>\\n <PriceInfo>\\n <Price>\\n <OriginalPrice>0.00017222</OriginalPrice>\\n <Currency>CNY</Currency>\\n <DiscountPrice>0.00016949</DiscountPrice>\\n <DetailInfos>\\n <DetailInfo>\\n <OriginalPrice>0.00017222</OriginalPrice>\\n <DiscountPrice>0.00016949</DiscountPrice>\\n <Resource>instance_type</Resource>\\n <TradePrice>0.00000273</TradePrice>\\n <Rules>\\n </Rules>\\n </DetailInfo>\\n </DetailInfos>\\n <TradePrice>0.00000273</TradePrice>\\n </Price>\\n <Rules>\\n <Rule>\\n <Description>买满1年,立享官网价格8.5折优惠</Description>\\n <RuleId>123456</RuleId>\\n </Rule>\\n </Rules>\\n </PriceInfo>\\n</DescribeContainerGroupPriceResponse>","errorExample":""}]', - 'title' => 'DescribeContainerGroupPrice', - 'description' => '* When you call this operation, you cannot use resource groups to control the permissions of a RAM user.'."\n" - ."\n" - .'* You can create an elastic container instance by specifying vCPU and memory resource specifications or by specifying ECS instance types. When you call this operation to query the prices of elastic container instances, pass in specifications of the elastic container instances.'."\n" - ."\n" - .' * [vCPU and memory specifications](~~114662~~).'."\n" - .' * [ECS instance types that are supported by Elastic Container Instance](~~114664~~).'."\n", + 'title' => 'UpdateImageCache', + 'summary' => 'Updates an image cache.', + 'description' => 'You can update only image caches that are in the Ready or UpdateFailed state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAvailableResource' => [ - 'summary' => 'Queries the Elastic Compute Service (ECS) instance families that are available in a specified region and zone.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-09-18T05:57:14.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-28T16:20:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-28T16:20:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-10T07:37:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-08-20T02:58:22.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0E234675-3465-4CC3-9D0F-9A864BC391DD\\"\\n}","type":"json"}]', + ], + 'UpdateVirtualNode' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '103990', - 'abilityTreeNodes' => [ - 'FEATUREeciY9GS39', - 'FEATUREeci5NN3BU', - 'FEATUREeciIT94P2', - 'FEATUREeciCZBDK8', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ECS instance families.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~146965~~) operation to query the most recent list of regions.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ZoneId', + 'name' => 'VirtualNodeId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instance families.'."\n" - ."\n" - .'This parameter is empty by default, which indicates that ECS instance families available in all zones in the specified region are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou-e', - ], + 'schema' => ['description' => 'The name of the virtual node.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vnd-2ze960zkdqrldeaw****'], ], [ - 'name' => 'DestinationResource', + 'name' => 'VirtualNodeName', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The information about the resource that you want to query.'."\n", - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* InstanceTypeFamily: queries instance families. If you use this parameter value, you must also specify the Value parameter.'."\n" - .'* InstanceType: queries instance types. If you use this parameter value, you must also specify the Value, Cores, and Memory parameters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'InstanceTypeFamily', - ], - 'Value' => [ - 'description' => 'Instance families or instance types.'."\n" - ."\n" - .'* If you set Category to InstanceTypeFamily, you must set this parameter to instance families such as ecs.c5.'."\n" - .'* If you set Category to InstanceType, you must set this parameter to instance types such as ecs.c5.large.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs. This parameter is available only when the Category parameter is set to InstanceType.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The size of the memory. Unit: GiB. This parameter is available only when the Category parameter is set to InstanceType.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - ], - 'required' => true, - ], + 'schema' => ['description' => 'The custom resources that the virtual node supports. If an ECI pod requests the custom resources, the pod is scheduled to the virtual node.'."\n" + .'The value must be in the `resource_name=resource_count` format. Use commas (,) to separate multiple resources.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'testNode'], ], [ - 'name' => 'RegionId', + 'name' => 'CustomResources', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ECS instance families.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~146965~~) operation to query the most recent list of regions.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The domain name of the cluster. Kubelet configures all containers to search for this domain name in addition to the search domain of the host.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'example1.com=100,example2.com=200'], ], [ - 'name' => 'SpotResource', + 'name' => 'ClusterDomain', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'The IP address of the DNS server. If the dnsPolicy of an Elastic Container Instance (ECI) pod is set to `ClusterFirst`, the pod uses this IP address for the DNS service.'."\n" + .'You can specify multiple IP addresses. Use commas (,) to separate the IP addresses.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'example.com'], + ], + [ + 'name' => 'ClusterDNS', + 'in' => 'query', + 'schema' => ['description' => 'A client token that you can use to ensure the idempotence of the request. The client generates the token, but you must ensure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '100.1.XX.XX'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The tags for the virtual node.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the preemptible instances that you want to query.'."\n", - 'type' => 'object', - 'properties' => [ - 'SpotStrategy' => [ - 'description' => 'The bidding policy for the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n" - ."\n" - .'> If you set this parameter to SpotWithPriceLimit or SpotAsPriceGo to query preemptible instances, you must set Category to InstanceType. You must also use the Value parameter to specify instance types, or use the Cores and Memory parameters to specify the number of vCPUs and memory size.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotAsPriceGo', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places. If you set SpotStrategy to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '0.2', - ], - 'SpotDuration' => [ - 'description' => 'The protection period of the preemptible instance. Unit: hours. Default value: 1. The value of 0 indicates no protection period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'description' => 'The tags of the virtual node.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the virtual node.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'name'], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6829735A-FF76-58C6-AECB-27CBF135A7AA', - ], - 'AvailableZones' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AvailableZone' => [ - 'description' => 'The zones in which the specified resources are available.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => 'The region ID of the resources.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the resources.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-e', - ], - 'AvailableResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AvailableResource' => [ - 'description' => 'The resources that are available in the specified zone.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* InstanceTypeFamily: instance families.'."\n" - .'* InstanceType: instance types.'."\n", - 'type' => 'string', - 'example' => 'InstanceTypeFamily', - ], - 'SupportedResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportedResource' => [ - 'description' => 'The information about the resources that are available in the zones.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The ECS instance types or instance families that are available in the zones.'."\n" - ."\n" - .'* If the return value of the Type parameter is InstanceTypeFamily, this parameter indicates instance families that are returned.'."\n" - .'* If the return value of the Type parameter is InstanceType, this parameter indicates instance types that are returned.'."\n", - 'type' => 'string', - 'example' => 'ecs.c6', - ], - 'StatusCategory' => [ - 'description' => 'The category of resources based on stock status. Valid values:'."\n" - ."\n" - .'* WithStock: Resources are in sufficient stock.'."\n" - .'* ClosedWithStock: Resources are insufficient. We recommend that you use instance types that are in sufficient stock.'."\n" - .'* WithoutStock: Resources are sold out and will be replenished. We recommend that you use instance types that are in sufficient stock.'."\n" - .'* ClosedWithoutStock: Resources are sold out and will not be replenished. We recommend that you use instance types that are in sufficient stock.'."\n", - 'type' => 'string', - 'example' => 'WithStock', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => '%s', - ], + ['errorCode' => 'Account.Arrearage', 'errorMessage' => 'Your account has an outstanding payment.', 'description' => 'Your account has an outstanding payment.'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ['errorCode' => 'InvalidParameter.CPU.Memory', 'errorMessage' => 'The specified cpu and memory are not allowed', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedName', 'errorMessage' => 'The container group include containers with duplicate names.', 'description' => ''], + ['errorCode' => 'InvalidParameter.DuplicatedVolumeName', 'errorMessage' => 'The container group includes volumes with duplicate names.', 'description' => 'The container group includes volumes with duplicate names.'], + ['errorCode' => 'IncorrectStatus', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ServiceNotEnabled', 'errorMessage' => '%s', 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['errorCode' => 'ImageSnapshot.IncorrectStatus', 'errorMessage' => '%s', 'description' => 'The status of the specified snapshot is invalid.'], + ['errorCode' => 'ImageSnapshot.NotSupport', 'errorMessage' => '%s', 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['errorCode' => 'DiskVolume.NotSupport', 'errorMessage' => 'The disk volume is not supported.', 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['errorCode' => 'RamRole.NotSupport', 'errorMessage' => 'The RAM role is not supported.', 'description' => 'The RAM role is not supported.'], + ['errorCode' => 'DiskNumber.LimitExceed', 'errorMessage' => 'The maximum number of disks in an instance is exceeded.', 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['errorCode' => 'InvalidPaymentMethod.InsufficientBalance', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['errorCode' => 'DiskVolume.NotInSameZone', 'errorMessage' => 'The instance to be created and the disk are not in the same zone.', 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to use the "Product on ECI" feature.', 'description' => ''], + ['errorCode' => 'HighCpuMemConfigRequired', 'errorMessage' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'errorMessage' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'description' => ''], + ['errorCode' => 'LocalDiskAmountNotMatch', 'errorMessage' => 'The number of local volumes does not match the instance type.', 'description' => ''], + ['errorCode' => 'Payfor.CreditPayInsufficientBalance', 'errorMessage' => 'Your payment credit line is insufficient.', 'description' => 'Your payment credit line is insufficient.'], + ['errorCode' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'errorMessage' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['errorCode' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'errorMessage' => 'KMS must be enabled for encrypted disks.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.EncryptedIllegal', 'errorMessage' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['errorCode' => 'Ipv6AddressNotSupportVsw', 'errorMessage' => 'IPv6 is not supported in the specified vSwitch.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'Spot.NotMatched', - 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory.', - ], + ['errorCode' => 'OperationDenied.VswZoneMisMatch', 'errorMessage' => 'The specified VSwitchId is not in the specified Zone.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => '%s quota exceeded.', 'description' => ''], + ['errorCode' => 'Zone.NotOnSale', 'errorMessage' => 'The specified zone is not available for purchase.', 'description' => ''], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'description' => ''], + ['errorCode' => 'Forbidden.SubUser', 'errorMessage' => 'The specified action is not available for you.', 'description' => ''], + ['errorCode' => 'Forbidden.OnlyForInvitedTest', 'errorMessage' => 'Eci create action is only open to invited users during public beta.', 'description' => ''], + ['errorCode' => 'OperationDenied.SecurityGroupMisMatch', 'errorMessage' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'description' => ''], + ['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The specified VSwitch does not have enough IP addresses.', 'description' => ''], + ['errorCode' => 'Forbidden.UserBussinessStatus', 'errorMessage' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'description' => ''], + ['errorCode' => 'Forbidden.UserNotRealNameAuthentication', 'errorMessage' => 'This operation is not allowed, because you have not passed the real-name verification.', 'description' => ''], + ['errorCode' => 'InvalidUser.PassRoleForbidden', 'errorMessage' => 'The RAM user is not authorized to assume a RAM role.', 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['errorCode' => 'NoPermission', 'errorMessage' => 'The RAM role does not belong to ECS.', 'description' => ''], + ['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.Forbidden', 'errorMessage' => 'You are not authorized to access the specified KMSKeyId.', 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['errorCode' => 'Forbidden.AccountClosed', 'errorMessage' => 'The operation is forbidden. Your account has been closed.', 'description' => ''], + ['errorCode' => 'InvalidOperation.ResourceManagedByCloudProduct', 'errorMessage' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'description' => ''], + ['errorCode' => 'Spot.NotMatched', 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory. For more information, see https://help.aliyun.com/document_detail/157290.html', 'description' => ''], + ['errorCode' => 'SecurityRisk.3DVerification', 'errorMessage' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'description' => ''], + ['errorCode' => 'CreateServiceLinkedRole.Denied', 'errorMessage' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ], + [ + ['errorCode' => 'ImageSnapshot.NotFound', 'errorMessage' => 'The specified snapshot does not exist.', 'description' => ''], + ['errorCode' => 'InvalidDiskId.NotFound', 'errorMessage' => 'The specified disk does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.KMS.KeyId.NotFound', 'errorMessage' => 'The specified KMSKeyId does not exist.', 'description' => 'The specified KMSKeyId does not exist.'], ], - [ - [ - 'errorCode' => 'InvalidParameter.NotFound', - 'errorMessage' => '%s', + ], + 'title' => 'UpdateVirtualNode', + 'summary' => 'You can call the UpdateVirtualNode operation to update the properties of a virtual node.', + 'description' => '## API Operations'."\n" + ."\n" + .'You can update only virtual nodes that are in the Ready state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-07-03T01:56:18.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-09-23T06:24:55.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-16T02:01:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-16T02:01:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-06T04:58:46.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6829735A-FF76-58C6-AECB-27CBF135A7AA\\",\\n \\"AvailableZones\\": {\\n \\"AvailableZone\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ZoneId\\": \\"cn-hangzhou-e\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"Type\\": \\"InstanceTypeFamily\\",\\n \\"SupportedResources\\": {\\n \\"SupportedResource\\": [\\n {\\n \\"Value\\": \\"ecs.c6\\",\\n \\"StatusCategory\\": \\"WithStock\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAvailableResourceResponse>\\n <RequestId>6829735A-FF76-58C6-AECB-27CBF135A7AA</RequestId>\\n <AvailableZones>\\n <RegionId>cn-hangzhou</RegionId>\\n <ZoneId>cn-hangzhou-e</ZoneId>\\n <AvailableResources>\\n <Type>InstanceTypeFamily</Type>\\n <SupportedResources>\\n <Value>ecs.c6</Value>\\n <StatusCategory>WithStock</StatusCategory>\\n </SupportedResources>\\n </AvailableResources>\\n </AvailableZones>\\n</DescribeAvailableResourceResponse>","errorExample":""}]', - 'title' => 'DescribeAvailableResource', - 'description' => 'When you call the CreateContainerGroup operation to create an elastic container instance, you can use the InstanceType parameter to specify ECS instance types that fit your specific needs. To ensure that the elastic container instance can be created, you can call the DescribeAvailableResource operation to query which ECS instance types and instance families are available in the specified region and zone before you create the elastic container instance.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CFC7B3\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'eci.cn-wulanchabu.aliyuncs.com', 'vpc' => 'eci-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-beijing.aliyuncs.com', 'endpoint' => 'eci.cn-beijing.aliyuncs.com', 'vpc' => 'eci-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'eci.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'eci-vpc.cn-zhengzhou-jva.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-qingdao.aliyuncs.com', 'endpoint' => 'eci.cn-qingdao.aliyuncs.com', 'vpc' => 'eci-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'eci.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'eci-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-shanghai.aliyuncs.com', 'endpoint' => 'eci.cn-shanghai.aliyuncs.com', 'vpc' => 'eci-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-hongkong.aliyuncs.com', 'endpoint' => 'eci.cn-hongkong.aliyuncs.com', 'vpc' => 'eci-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-heyuan.aliyuncs.com', 'endpoint' => 'eci.cn-heyuan.aliyuncs.com', 'vpc' => 'eci-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'eci.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'eci-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-shenzhen.aliyuncs.com', 'endpoint' => 'eci.cn-shenzhen.aliyuncs.com', 'vpc' => 'eci-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-nanjing.aliyuncs.com', 'endpoint' => 'eci.cn-nanjing.aliyuncs.com', 'vpc' => 'eci-vpc.cn-nanjing.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-northeast-2.aliyuncs.com', 'endpoint' => 'eci.ap-northeast-2.aliyuncs.com', 'vpc' => 'eci-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-northeast-1.aliyuncs.com', 'endpoint' => 'eci.ap-northeast-1.aliyuncs.com', 'vpc' => 'eci-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-fuzhou.aliyuncs.com', 'endpoint' => 'eci.cn-fuzhou.aliyuncs.com', 'vpc' => 'eci-vpc.cn-fuzhou.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-chengdu.aliyuncs.com', 'endpoint' => 'eci.cn-chengdu.aliyuncs.com', 'vpc' => 'eci-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-guangzhou.aliyuncs.com', 'endpoint' => 'eci.cn-guangzhou.aliyuncs.com', 'vpc' => 'eci-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-1.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-1.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-2.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-2.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-3.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-3.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-huhehaote.aliyuncs.com', 'endpoint' => 'eci.cn-huhehaote.aliyuncs.com', 'vpc' => 'eci-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-5.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-5.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-6.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-6.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.ap-southeast-7.aliyuncs.com', 'endpoint' => 'eci.ap-southeast-7.aliyuncs.com', 'vpc' => 'eci-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'eci.cn-hangzhou.aliyuncs.com', 'endpoint' => 'eci.cn-hangzhou.aliyuncs.com', 'vpc' => 'eci-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'eci.us-east-1.aliyuncs.com', 'endpoint' => 'eci.us-east-1.aliyuncs.com', 'vpc' => 'eci-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'eci.eu-west-1.aliyuncs.com', 'endpoint' => 'eci.eu-west-1.aliyuncs.com', 'vpc' => 'eci-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'eci.us-west-1.aliyuncs.com', 'endpoint' => 'eci.us-west-1.aliyuncs.com', 'vpc' => 'eci-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'eci.eu-central-1.aliyuncs.com', 'endpoint' => 'eci.eu-central-1.aliyuncs.com', 'vpc' => 'eci-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'eci.me-east-1.aliyuncs.com', 'endpoint' => 'eci.me-east-1.aliyuncs.com', 'vpc' => 'eci-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'eci.me-central-1.aliyuncs.com', 'endpoint' => 'eci.me-central-1.aliyuncs.com', 'vpc' => 'eci-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'eci.ap-south-1.aliyuncs.com', 'endpoint' => 'eci.ap-south-1.aliyuncs.com', 'vpc' => 'eci-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'eci.cn-shenzhen-finance.aliyuncs.com', 'endpoint' => 'eci.cn-shenzhen-finance.aliyuncs.com', 'vpc' => 'eci-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'eci.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'eci.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'eci-vpc.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'eci.cn-shanghai-finance.aliyuncs.com', 'endpoint' => 'eci.cn-shanghai-finance.aliyuncs.com', 'vpc' => 'eci-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'eci.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'eci.cn-hangzhou-finance.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Account.Arrearage', 'message' => 'Your account has an outstanding payment.', 'http_code' => 400, 'description' => 'Your account has an outstanding payment.'], + ['code' => 'BatchCreateNotSupportExistingCloudDisk', 'message' => 'The batch create API does not support the mounting of existing disks.', 'http_code' => 403, 'description' => ''], + ['code' => 'CloudDisk.NotInSameZone', 'message' => '%s.', 'http_code' => 400, 'description' => 'The specified disks are in different zones.'], + ['code' => 'containerRepositoryAuthorizationFailed', 'message' => 'An error occurred while authenticating the container image repository. Make sure that you have activated ACR, and try again later.', 'http_code' => 503, 'description' => 'An error occurred while authenticating the container image repository. Make sure that you have activated ACR, and try again later.'], + ['code' => 'CorePattern.UpdateFail', 'message' => 'Update coredump settings fail, please try again later.', 'http_code' => 400, 'description' => 'Failed to update Coredump settings, please try again.'], + ['code' => 'CreateServiceLinkedRole.Denied', 'message' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.', 'http_code' => 403, 'description' => 'Please make sure the account has ram:CreateServiceLinkedRole permission.'], + ['code' => 'DedicatedHostQuotaExceeded', 'message' => 'The quota of DedicatedHost is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'Degrade.Api', 'message' => 'The request was denied due to API flow control. The system has been downgraded.', 'http_code' => 400, 'description' => ''], + ['code' => 'DiskNumber.LimitExceed', 'message' => 'The maximum number of disks in an instance is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of disks in an instance is exceeded.'], + ['code' => 'DiskVolume.NotInSameZone', 'message' => 'The instance to be created and the disk are not in the same zone.', 'http_code' => 400, 'description' => 'The instance to be created and the disk are not in the same zone.'], + ['code' => 'DiskVolume.NotSupport', 'message' => 'The disk volume is not supported.', 'http_code' => 400, 'description' => 'Disk volume does not support your structure. If you want to enable this function, contact us.'], + ['code' => 'DryRun.Success', 'message' => 'This request is a dryrun request with successful result.', 'http_code' => 400, 'description' => ''], + ['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'Request validation has been passed with DryRun flag set.'], + ['code' => 'EipAddressPoolIpNotEnough', 'message' => 'The ip address of specified PublicIpAddressPool is not enough.', 'http_code' => 400, 'description' => ''], + ['code' => 'EipPayInsufficientBalance', 'message' => 'Your account does not have enough balance to purchase eip.', 'http_code' => 400, 'description' => ''], + ['code' => 'EipPurchaseFlowControl', 'message' => 'Request was denied due to eip frequent purchase.', 'http_code' => 400, 'description' => ''], + ['code' => 'FeatureAccessRestricted', 'message' => 'Access to this feature:[%s] is restricted. Please contact Alibaba Cloud ECI support to request access.', 'http_code' => 403, 'description' => 'Access to this feature is restricted. Please contact Alibaba Cloud ECI support to request access.'], + ['code' => 'FeatureBasedConstraintConflict', 'message' => 'A conflict occurs in specified feature constraints: [%s].', 'http_code' => 400, 'description' => 'A conflict occurs in specified feature constraints'], + ['code' => 'Forbidden.AccessKeyDisabled', 'message' => 'The Access Key is disabled.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.AccountClosed', 'message' => 'The operation is forbidden. Your account has been closed.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.NotSupportRAM', 'message' => 'This action does not support access in RAM mode.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.OnlyForInvitedTest', 'message' => 'Eci create action is only open to invited users during public beta.', 'http_code' => 400, 'description' => 'Eci create action is only open to invited users during public beta.'], + ['code' => 'Forbidden.RAM', 'message' => 'You are not authorized to operate on the specified resource, or this API does not support RAM mode.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.RamRoleNotExist', 'message' => 'The specified RAM role does not exist.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.RiskControl', 'message' => 'This operation has been identified as an abnormal operation and cannot be processed.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.SubUser', 'message' => 'The specified action is not available for you.', 'http_code' => 400, 'description' => 'The specified action is not available for you.'], + ['code' => 'Forbidden.Unauthorized', 'message' => 'You are not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.UserBussinessStatus', 'message' => 'This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again.', 'http_code' => 403, 'description' => ''], + ['code' => 'Forbidden.UserNotRealNameAuthentication', 'message' => 'This operation is not allowed, because you have not passed the real-name verification.', 'http_code' => 403, 'description' => ''], + ['code' => 'HighCpuMemConfigRequired', 'message' => 'You need to apply to be added to the whitelist of the specified CPU and memory.', 'http_code' => 400, 'description' => 'You need to apply to be added to the whitelist of the specified CPU and memory.'], + ['code' => 'Idempotence.Failed', 'message' => 'An error occurred while processing your request. Use the new Token and try again.', 'http_code' => 400, 'description' => ''], + ['code' => 'Idempotence.Processing', 'message' => 'The request is being processed. Please try again.', 'http_code' => 400, 'description' => ''], + ['code' => 'Idempotence.SignatureMismatch', 'message' => 'The idempotence signature of the specified request does not match the previous request.', 'http_code' => 400, 'description' => ''], + ['code' => 'IdempotentParameterMismatch', 'message' => 'Request uses a client token in a previous request but is not identical to that request.', 'http_code' => 400, 'description' => 'ClientToken does not match with the current request parameters.'], + ['code' => 'ImageCache.IncorrectStatus', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'ImageCacheNotSupport', 'message' => 'Image cache is not available for all users. If you want to enable this function, contact us.', 'http_code' => 400, 'description' => 'Container image cache is currently not available to all users. Submit a ticket if you need to use the feature.'], + ['code' => 'ImageSnapshot.IncorrectStatus', 'message' => '%s', 'http_code' => 400, 'description' => 'The status of the specified snapshot is invalid.'], + ['code' => 'ImageSnapshot.NotFound', 'message' => 'The specified snapshot does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'ImageSnapshot.NotSupport', 'message' => '%s', 'http_code' => 400, 'description' => 'Image caching based on data disk snapshots is not available for all users. If you want to enable this function, contact us.'], + ['code' => 'IncorrectOperation', 'message' => '%s', 'http_code' => 400, 'description' => 'You cannot perform this operation on the specified resource.'], + ['code' => 'IncorrectStatus', 'message' => 'The current status of %s does not support this operation.', 'http_code' => 400, 'description' => 'The current status of %s does not support this operation.'], + ['code' => 'IncorrectStatus', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'IncorrectUserTemplateFormat', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'InstanceTypeNotMatchCpuArch', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InternalError', 'message' => 'An unknown error occurred while processing your request.', 'http_code' => 500, 'description' => ''], + ['code' => 'InvalidAction', 'message' => 'The specified action is invalid', 'http_code' => 403, 'description' => 'Invalid operation.'], + ['code' => 'InvalidCpuMemorySpec', 'message' => 'The specified CPU and memory specifications are invalid.', 'http_code' => 400, 'description' => 'The specified cpu and memory are not allowed.'], + ['code' => 'InvalidDiskId.NotFound', 'message' => 'The specified disk does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The specified InstanceType is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInstanceTypeForEciBuy', 'message' => 'Sales of this current instance type is not supported in eci.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInstanceTypeForEciSpotDurationBuy', 'message' => 'Current instance type does not support spot duration instance.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInstanceTypeForRaid', 'message' => '%s.', 'http_code' => 400, 'description' => 'The current specification does not support Raid.'], + ['code' => 'InvalidOperation.KMS.InstanceTypeNotSupport', 'message' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.', 'http_code' => 400, 'description' => 'The specified instance is invalid. Only I/O optimized instances support KMS key.'], + ['code' => 'InvalidOperation.ResourceManagedByCloudProduct', 'message' => 'The operation is forbidden. The security group has been managed by another cloud product.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidParam.CpuOrMemorySpec', 'message' => 'The specified specification is invalid.', 'http_code' => 400, 'description' => 'The specified specification is invalid.'], + ['code' => 'InvalidParameter', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.CPU.Memory', 'message' => 'The specified CPU and memory are not allowed.', 'http_code' => 400, 'description' => 'The specified cpu and memory are not allowed.'], + ['code' => 'InvalidParameter.DuplicatedName', 'message' => 'The container group include containers with duplicate names.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.DuplicatedName', 'message' => 'The container group includes volumes with duplicate names.', 'http_code' => 400, 'description' => 'The container group includes volumes with duplicate names.'], + ['code' => 'InvalidParameter.DuplicatedVolumeName', 'message' => 'The container group includes volumes with duplicate names.', 'http_code' => 400, 'description' => 'The container group includes volumes with duplicate names.'], + ['code' => 'InvalidParameter.Encrypted.KmsNotEnabled', 'message' => 'KMS must be enabled for encrypted disks.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.KMS.EncryptedIllegal', 'message' => 'After configuring the parameter KmsKeyId, you must enable encryption.', 'http_code' => 400, 'description' => 'After configuring the parameter KmsKeyId, you must enable encryption.'], + ['code' => 'InvalidParameter.KMS.KeyId.Forbidden', 'message' => 'You are not authorized to access the specified KMSKeyId.', 'http_code' => 403, 'description' => 'You are not authorized to access the specified KMSKeyId.'], + ['code' => 'InvalidParameter.KMS.KeyId.NotFound', 'message' => 'The specified KMSKeyId does not exist.', 'http_code' => 404, 'description' => 'The specified KMSKeyId does not exist.'], + ['code' => 'InvalidParameter.LengthExceeded', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.LengthExceeded', 'message' => '%s.', 'http_code' => 400, 'description' => 'The length of the List type parameter exceeds limitation.'], + ['code' => 'InvalidParameter.MismatchInstanceType', 'message' => 'The instanceId mismatch instance type.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.NotFound', 'message' => '%s', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidParameter.ValueExceeded', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.ValueExceeded', 'message' => 'ecs instance type or vcpu quota exceeded.', 'http_code' => 400, 'description' => 'Specifications exceed the specified quota range'], + ['code' => 'InvalidPaymentMethod.InsufficientBalance', 'message' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.', 'http_code' => 400, 'description' => 'No payment method is specified for your account. We recommend that you add a payment method or add funds to the prepayment balance.'], + ['code' => 'InvalidSpotCpuMemorySpec', 'message' => 'The specified CPU and memory are not allowed. You must create spot ECI using standard ECS specifications for CPU and memory.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidUser.PassRoleForbidden', 'message' => 'The RAM user is not authorized to assume a RAM role.', 'http_code' => 403, 'description' => 'The RAM user is not authorized to assume a RAM role.'], + ['code' => 'InvalidVSwitchId.IpNotEnough', 'message' => 'The specified VSwitch %s does not have enough IP addresses.', 'http_code' => 403, 'description' => 'The specified VSwitch %s does not have enough IP addresses.'], + ['code' => 'Ipv6AddressNotSupport', 'message' => 'Ipv6 is not supported in specified region.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ipv6AddressNotSupportInstanceType', 'message' => 'IPv6 is not supported for the specified instance type.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ipv6AddressNotSupportVsw', 'message' => 'IPv6 is not supported in the specified vSwitch.', 'http_code' => 400, 'description' => ''], + ['code' => 'JobInstanceBatchCreateNotSupport', 'message' => 'You cannot create multiple job-optimized elastic container instances at a time.', 'http_code' => 400, 'description' => 'ECI job instance not support batch create.'], + ['code' => 'JobInstanceEcsInstanceTypeNotSupport', 'message' => 'Job-optimized elastic container instances cannot be created by specifying ECS instance types.', 'http_code' => 400, 'description' => ''], + ['code' => 'JobInstanceSpotNotSupport', 'message' => 'Job-optimized elastic container instances cannot be created as preemptible instances.', 'http_code' => 400, 'description' => 'ECI job instance not support spot.'], + ['code' => 'LastTokenProcessing', 'message' => 'The previous token request is being processed.', 'http_code' => 403, 'description' => ''], + ['code' => 'LocalDiskAmountNotMatch', 'message' => 'The number of local volumes does not match the instance type.', 'http_code' => 400, 'description' => ''], + ['code' => 'LocalDiskAmountNotMatch', 'message' => 'The amount of local volume is not matched with instance type.', 'http_code' => 400, 'description' => 'The amount of local volume is not matched with instance type.'], + ['code' => 'MissingParameter', 'message' => '%s', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.Template', 'message' => 'The input parameter template for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Missing key information: Template'], + ['code' => 'NoNeedUpdate', 'message' => 'There are no changes to be updated for current resource.', 'http_code' => 400, 'description' => 'There are no changes to be updated for current resource.'], + ['code' => 'NoPermission', 'message' => 'You are not authorized to use the Product-on-ECI feature.', 'http_code' => 400, 'description' => 'You are not authorized to use the "Product on ECI" feature.'], + ['code' => 'NoPermission.Tag', 'message' => 'No permissions to operate tags.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoPermissionForPorductOnEci', 'message' => 'You have no permission to use [product on eci] feature.', 'http_code' => 400, 'description' => ''], + ['code' => 'NumberExceed.Tags', 'message' => 'The length of tags exceeded limit: 20.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationConflict', 'message' => 'The request was denied. It conflicts with a previous request.', 'http_code' => 409, 'description' => ''], + ['code' => 'OperationConflict', 'message' => 'Request was denied due to conflict with a previous request.', 'http_code' => 400, 'description' => 'Request was denied due to conflict with a previous request.'], + ['code' => 'OperationDenied.NoStock', 'message' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource.', 'http_code' => 403, 'description' => 'Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource.'], + ['code' => 'OperationDenied.NoStock', 'message' => 'Sales of this resource with specified features are temporarily suspended in the specified region; please check the instance type features and try again later.', 'http_code' => 403, 'description' => 'Sales of this resource with specified features are temporarily suspended in the specified region; please check the instance type features and try again later.'], + ['code' => 'OperationDenied.NoStockWithFeatures', 'message' => 'Sales of this resource with specific features are temporarily suspended in the specified region; please check the instance type features and try again later.', 'http_code' => 403, 'description' => 'Sales of this resource with specific features are temporarily suspended in the specified region; please check the instance type features and try again later.'], + ['code' => 'OperationDenied.SecurityGroupMisMatch', 'message' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'http_code' => 403, 'description' => ''], + ['code' => 'OperationDenied.SecurityGroupMisMatch', 'message' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.', 'http_code' => 400, 'description' => 'The specified VSwitchId and SecurityGroupId are not in the same VPC.'], + ['code' => 'OperationDenied.VswZoneMisMatch', 'message' => 'The specified vSwitch is not in the zone.', 'http_code' => 400, 'description' => 'The specified VSwitchId is not in the specified Zone.'], + ['code' => 'OperationFailed.RiskControl', 'message' => '%s.', 'http_code' => 400, 'description' => 'We have detected that your account has security risks. Please contact customer service personnel for details.'], + ['code' => 'Ops.ExecuteTaskFail', 'message' => '%s.', 'http_code' => 400, 'description' => 'Operation and maintenance task execution failed, please try again later.'], + ['code' => 'Payfor.CreditPayInsufficientBalance', 'message' => 'Your payment credit line is insufficient.', 'http_code' => 400, 'description' => 'Your payment credit line is insufficient.'], + ['code' => 'PricingPlanNotFound', 'message' => 'There is no pricing plan for current specification in current region.', 'http_code' => 400, 'description' => 'The price of this specification is not configured for the current region.'], + ['code' => 'PrivateIpAddress.Already.InUse', 'message' => 'The specific PrivateIpAddress already in use.', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded', 'message' => '%s quota exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'RamRole.NotSupport', 'message' => 'The RAM role is not supported.', 'http_code' => 400, 'description' => 'The RAM role is not supported.'], + ['code' => 'RealNameAuthenticationError', 'message' => 'Your account has not passed the real-name authentication yet.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeFamilyNotMatched', 'message' => 'The recommended instance type is unavailable in the current zone. Try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeSoldOut', 'message' => 'The instance type recommended in the current zone is unavailable..', 'http_code' => 400, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeSoldOut', 'message' => 'The recommended instance type is unavailable.', 'http_code' => 400, 'description' => ''], + ['code' => 'RecommendEmpty.PriceNotSatisfied', 'message' => '%s', 'http_code' => 400, 'description' => 'The current price of recommend instanceTypes above user max price.'], + ['code' => 'RegionNotSupport', 'message' => 'The specified Region is not supported.', 'http_code' => 403, 'description' => ''], + ['code' => 'RISK.RISK_CONTROL_REJECTION', 'message' => 'To protect the security of your account, your request has been denied by the risk control system. Please contact Alibaba Cloud Customer Service for details.', 'http_code' => 400, 'description' => 'In order to protect the security of your account, your request was rejected by the wind control system. Please contact customer service for details.'], + ['code' => 'SecurityGroupInstanceLimitExceeded', 'message' => 'The maximum number of IP addresses in the specified security group is exceeded.', 'http_code' => 400, 'description' => 'The ip quota of the specified security group is exceeded.'], + ['code' => 'SecurityGroupIpQuotaExceeded', 'message' => 'The maximum number of IP addresses in the same security group is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'SecurityRisk.3DVerification', 'message' => 'We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email.', 'http_code' => 403, 'description' => ''], + ['code' => 'ServiceNotEnabled', 'message' => '%s', 'http_code' => 400, 'description' => 'The service on which this request depends has not been activated. Please activate and try again.'], + ['code' => 'ServiceUnavailable', 'message' => 'A server error occurred while processing your request.', 'http_code' => 503, 'description' => ''], + ['code' => 'ServiceUnavailable.RegionMaintaining', 'message' => 'System maintenance is in progress on the selected region, please wait a few minutes before trying again.', 'http_code' => 503, 'description' => ''], + ['code' => 'SignatureNonceUsed', 'message' => 'The request signature nonce has been used.', 'http_code' => 400, 'description' => ''], + ['code' => 'Spot.NotMatched', 'message' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory.', 'http_code' => 403, 'description' => 'We recommend that you use the create multi-zone function to avoid insufficient inventory. '], + ['code' => 'Throttling', 'message' => 'You have made too many requests within a short time; your request is denied due to request throttling.', 'http_code' => 400, 'description' => 'You have made too many requests within a short time; your request is denied due to request throttling.'], + ['code' => 'Throttling.Api', 'message' => 'The request was denied due to API flow control.', 'http_code' => 400, 'description' => 'The request was denied due to API flow control.'], + ['code' => 'Throttling.Vcpu.PerDay', 'message' => 'The maximum number of request for the day has been exceeded.', 'http_code' => 403, 'description' => 'The maximum number of request for the day has been exceeded.'], + ['code' => 'TradeBidCommodityNotMatch', 'message' => 'The trade ID and the commodity do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'UnknownError', 'message' => 'An unknown error occurred while processing your request', 'http_code' => 400, 'description' => ''], + ['code' => 'UnsupportedHTTPMethod', 'message' => 'This http method is not supported.', 'http_code' => 403, 'description' => ''], + ['code' => 'VnodeDedicatedHostIdAlreadyExist', 'message' => 'DedicatedHostId:%s of Vnode:%s already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'Zone.NotOnSale', 'message' => 'The specified zone is not available for purchase.', 'http_code' => 403, 'description' => ''], + ['code' => 'ResponseLengthExceeded', 'message' => 'The length of response data exceeded limit.', 'http_code' => 400, 'description' => 'The interface response data length exceeds the limit.'], + ['code' => 'MultiAttachedCloudDiskNotSupport', 'message' => '%s.', 'http_code' => 400, 'description' => 'You cannot mount a cloud disk with the multi-mount function enabled (that is, an NVMe shared disk).'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupMetric'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerLog'], + ['description' => 'Response parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2025-03-28T05:43:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupMetric'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerLog'], + ['description' => 'Response parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2025-03-28T03:48:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2025-01-06T06:30:26.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2024-12-24T11:43:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2024-12-16T03:48:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2024-10-15T11:17:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ], + 'createdAt' => '2024-09-26T09:30:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroups'], + ], + 'createdAt' => '2024-09-26T06:29:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Error codes changed', 'api' => 'DescribeContainerGroups'], + ['description' => 'Error codes changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2024-09-04T07:12:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ResizeContainerGroupVolume'], + ], + 'createdAt' => '2024-07-31T02:46:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ResizeContainerGroupVolume'], + ], + 'createdAt' => '2024-07-08T06:45:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ResizeContainerGroupVolume'], + ], + 'createdAt' => '2024-07-03T16:07:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ResizeContainerGroupVolume'], + ], + 'createdAt' => '2024-07-03T09:49:06.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeleteContainerGroup'], + ], + 'createdAt' => '2024-06-28T06:11:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2024-06-21T05:33:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2024-06-19T09:27:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2024-04-12T08:37:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2024-04-12T08:25:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ListUsage'], + ], + 'createdAt' => '2024-02-29T02:17:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupPrice'], + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroups'], + ], + 'createdAt' => '2023-12-27T06:43:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-12-25T08:49:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateContainerGroup'], + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeContainerGroupPrice'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeContainerGroups'], + ], + 'createdAt' => '2023-12-25T06:03:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-12-13T06:45:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-12-06T02:21:32.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ExecContainerCommand'], + ], + 'createdAt' => '2023-10-12T08:01:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ExecContainerCommand'], + ], + 'createdAt' => '2023-10-12T07:55:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-09-19T02:40:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'UpdateImageCache'], + ], + 'createdAt' => '2023-09-18T05:57:26.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-09-12T08:25:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDataCaches'], + ['description' => 'Response parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2023-09-05T06:04:33.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2023-09-01T08:53:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateDataCache'], + ['description' => 'Request parameters changed', 'api' => 'UpdateDataCache'], + ], + 'createdAt' => '2023-09-01T08:46:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeVirtualNodes'], + ], + 'createdAt' => '2023-08-30T08:46:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-08-07T08:02:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-08-04T08:48:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateImageCache'], + ], + 'createdAt' => '2023-08-02T06:28:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCommitContainerTask'], + ], + 'createdAt' => '2023-08-01T02:38:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CommitContainer'], + ['description' => 'Response parameters changed', 'api' => 'DescribeCommitContainerTask'], + ], + 'createdAt' => '2023-08-01T02:29:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateDataCache'], + ], + 'createdAt' => '2023-07-24T09:23:26.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-07-21T07:49:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateVirtualNode'], + ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'DescribeVirtualNodes'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpdateVirtualNode'], + ], + 'createdAt' => '2023-07-03T01:56:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CommitContainer'], + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ], + 'createdAt' => '2023-06-27T03:46:29.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateVirtualNode'], + ], + 'createdAt' => '2023-06-13T12:09:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-06-12T06:44:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-06-08T02:56:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-06-07T12:52:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ], + 'createdAt' => '2023-06-02T08:20:32.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2023-05-08T07:38:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroups'], + ], + 'createdAt' => '2023-04-17T06:30:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2023-04-17T06:16:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroups'], + ], + 'createdAt' => '2023-04-04T08:02:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-04-03T02:40:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-03-30T07:49:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CommitContainer'], + ], + 'createdAt' => '2023-03-30T06:19:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CommitContainer'], + ], + 'createdAt' => '2023-03-24T08:24:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerLog'], + ], + 'createdAt' => '2023-03-24T08:20:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2023-03-24T08:19:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2023-01-11T08:13:57.000Z', + 'description' => '隐藏eci describeRegions参数osType/cpuArchitecture', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'DescribeVirtualNodes'], + ], + 'createdAt' => '2023-01-11T08:09:05.000Z', + 'description' => 'describe 接口参数优化。', + ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'eci.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2023-01-11T07:34:11.000Z', + 'description' => 'eci DescribeRegions 允许添加os/cpuArch作为过滤条件', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2022-10-24T07:23:01.000Z', + 'description' => '新增一个OperationDenied.NoStock错误码,但拥有和OperationDenied.NoStockWithFeatures一样的错误信息,并且代替OperationDenied.NoStockWithFeatures。精简了错误码,同时错误信息保证了语义清晰。', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateImageCache'], + ['description' => 'Error codes changed', 'api' => 'CreateVirtualNode'], + ], + 'createdAt' => '2022-10-17T02:12:10.000Z', + 'description' => '增加 eip地址池的错误码', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2022-10-14T09:13:18.000Z', + 'description' => '支持ContainerResourceView', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2022-10-09T04:06:49.000Z', + 'description' => '支持分页', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateVirtualNode'], + ], + 'createdAt' => '2022-09-23T06:25:14.000Z', + 'description' => '修改部分参数的docRequire参数', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2022-09-19T07:30:17.000Z', + 'description' => 'DescribeMultiContainerGroupMetric接口新增RegionID必填校验', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateVirtualNode'], + ['description' => 'Request parameters changed', 'api' => 'UpdateVirtualNode'], + ], + 'createdAt' => '2022-09-16T02:02:05.000Z', + 'description' => 'updateVirtualNode将vnodeId修改为必填', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateContainerGroup'], + ['description' => 'Request parameters changed', 'api' => 'UpdateContainerGroup'], + ], + 'createdAt' => '2022-09-15T08:43:03.000Z', + 'description' => '支持acr ee', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ['description' => 'Request parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2022-09-15T08:17:27.000Z', + 'description' => 'MetricAPI Region必须填写', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeleteVirtualNode'], + ], + 'createdAt' => '2022-09-08T09:26:22.000Z', + 'description' => 'DeleteVirtualNode将virtualNodeId设置为必填', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'eci.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2022-09-06T07:28:24.000Z', + 'description' => '对外屏蔽condition', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'eci.cn-zhangjiakou.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerLog'], + ], + 'createdAt' => '2022-09-05T09:48:07.000Z', + 'description' => 'regionId 文档必填', ], [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'eci.cn-zhengzhou-jva.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2022-07-27T08:15:43.000Z', + 'description' => '支持host security context sysctl', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'eci.cn-huhehaote.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2022-07-19T02:36:14.000Z', + 'description' => '增加condition查询', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'eci.cn-wulanchabu.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2022-07-13T09:16:18.000Z', + 'description' => '支持开通ECI的IPv6公网通信能力', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'eci.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2022-07-11T03:53:06.000Z', + 'description' => '内部接口协议变更,对用户是透明的,不需要通知客户', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'eci.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2022-07-11T02:00:52.000Z', + 'description' => '查询规格时,返回值增加StatusCategory,表示库存是否充足。', ], [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'eci.cn-nanjing.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateContainerGroup'], + ], + 'createdAt' => '2022-07-07T07:11:44.000Z', + 'description' => '增加售卖错误码', ], [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'eci.cn-fuzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateInstanceOpsTask'], + ], + 'createdAt' => '2022-06-20T09:28:23.000Z', + 'description' => '修复错误码显示错误', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'eci.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ['description' => 'Response parameters changed', 'api' => 'DescribeImageCaches'], + ['description' => 'Request parameters changed', 'api' => 'UpdateImageCache'], + ], + 'createdAt' => '2022-05-18T06:06:16.000Z', + 'description' => '支持淘汰策略', ], [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'eci.cn-heyuan.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateInstanceOpsTask'], + ], + 'createdAt' => '2022-05-05T05:18:15.000Z', + 'description' => '新增错误码', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'eci.cn-guangzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2022-04-18T03:04:28.000Z', + 'description' => 'DescribeAvailableResource增加spot支持', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'eci.cn-chengdu.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateContainerGroup'], + ], + 'createdAt' => '2022-04-12T05:03:15.000Z', + 'description' => '增量更新', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'eci.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ['description' => 'Request parameters changed', 'api' => 'UpdateImageCache'], + ], + 'createdAt' => '2022-03-18T10:35:48.000Z', + 'description' => '新增副本支持', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'eci.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeMultiContainerGroupMetric'], + ], + 'createdAt' => '2022-02-23T06:08:31.000Z', + 'description' => 'MuiltiMetric接口内部云产品调用相关返回不开放', ], [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'eci.ap-northeast-2.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateVirtualNode'], + ], + 'createdAt' => '2022-01-20T05:16:13.000Z', + 'description' => '创建vnode增加tlsBootstrapEnabled参数', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'eci.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateVirtualNode'], + ], + 'createdAt' => '2022-01-14T03:50:51.000Z', + 'description' => '新增RotateCertificateEnabled参数', ], [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'eci.ap-southeast-2.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateVirtualNode'], + ], + 'createdAt' => '2022-01-13T08:38:58.000Z', + 'description' => 'vnode创建增加RotateCertificateEnabled', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'eci.ap-southeast-3.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'CreateInstanceOpsTask'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeInstanceOpsRecords'], + ], + 'createdAt' => '2021-12-17T02:13:04.000Z', + 'description' => '新增运维相关接口', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'eci.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerLog'], + ], + 'createdAt' => '2021-12-07T15:37:43.000Z', + 'description' => '内部优化,用户使用方式无变化', ], [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'eci.ap-southeast-6.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2021-11-18T05:36:48.000Z', + 'description' => '新增DescribeAvailableResource接口', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'eci.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeContainerGroupPrice'], + ], + 'createdAt' => '2021-10-25T02:27:43.000Z', + 'description' => '新增spot相关错误码', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'eci.us-west-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2021-10-13T09:54:19.000Z', + 'description' => '新增加错误码', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'eci.eu-west-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'ResizeContainerGroupVolume'], + ], + 'createdAt' => '2021-10-13T09:51:29.000Z', + 'description' => '新增OpenAPI:扩容Eci挂载卷的容量', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'eci.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupEvents'], + ['description' => 'Request parameters changed', 'api' => 'DescribeContainerGroupStatus'], + ], + 'createdAt' => '2021-10-13T09:51:12.000Z', + 'description' => '新增DescribeContainerGroupEvents接口', ], [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'eci.ap-south-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2021-09-22T10:09:33.000Z', + 'description' => '支持匹配查询', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'eci.me-east-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ['description' => 'Request parameters changed', 'api' => 'UpdateImageCache'], + ], + 'createdAt' => '2021-09-10T07:37:49.000Z', + 'description' => '支持annotation', ], [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'eci.cn-hangzhou-finance.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'CreateVirtualNode'], + ['description' => 'OpenAPI offline', 'api' => 'DeleteVirtualNode'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeVirtualNodes'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateVirtualNode'], + ], + 'createdAt' => '2021-09-06T08:10:52.000Z', + 'description' => '支持vnode', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'eci.cn-shanghai-finance.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'UpdateImageCache'], + ], + 'createdAt' => '2021-08-20T02:58:50.000Z', + 'description' => '支持imc更新', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ExecContainerCommand'], + ], + 'createdAt' => '2021-08-13T04:08:46.000Z', + 'description' => 'exec接口增加Sync参数和SyncResponse返回', ], [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'eci.cn-shenzhen-finance.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ], + 'createdAt' => '2021-08-13T04:07:54.000Z', + 'description' => 'imc这次企业级acr免密', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'eci.ap-southeast-7.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2021-08-10T06:19:43.000Z', + 'description' => 'imc增加匹配时间', ], [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'eci.cn-beijing-finance-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ['description' => 'Request parameters changed', 'api' => 'CreateImageCache'], + ['description' => 'Response parameters changed', 'api' => 'DescribeImageCaches'], + ['description' => 'Response parameters changed', 'api' => 'DescribeImageCaches'], + ], + 'createdAt' => '2021-06-10T01:41:18.000Z', + 'description' => '支持极速缓存', ], [ - 'regionId' => 'me-central-1', - 'endpoint' => 'eci.me-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeContainerGroupMetric'], + ], + 'createdAt' => '2021-05-24T03:56:46.000Z', + 'description' => 'ECI磁盘监控新增分类信息', ], [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'eci.cn-wuhan-lr.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateContainerGroup'], + ['description' => 'Error codes changed', 'api' => 'CreateImageCache'], + ], + 'createdAt' => '2021-04-27T03:50:41.000Z', + 'description' => '新增错误码CreateServiceLinkedRole.Denied', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupEvents'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteContainerGroup'], + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupStatus'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupMetric'], + ['threshold' => '10000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecContainerCommand'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroupPrice'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMultiContainerGroupMetric'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerGroups'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateImageCache'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeContainerLog'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartContainerGroup'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CommitContainer'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResizeContainerGroupVolume'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateContainerGroup'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateContainerGroup'], + ], + ], + 'ram' => [ + 'productCode' => 'ECI', + 'productName' => 'Elastic Container Instance', + 'ramCodes' => ['eci'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [ + [ + 'name' => 'eci:tag', + 'schema' => ['type' => 'String', 'description' => 'ECI tag information, it is no longer maintained from 2023-01-01, the global conditions acs:RequestTag and acs:ResourceTag are recommended'], + ], + ], + 'ramActions' => [ + [ + 'apiName' => 'DescribeCommitContainerTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeCommitContainerTask', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'CommitContainerTask', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], + [ + 'apiName' => 'UpdateImageCache', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ], + ], + ], + [ + 'apiName' => 'CommitContainer', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CommitContainer', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'CommitContainerTask', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateContainerGroupFromTemplate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateContainerGroupFromTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], + [ + 'apiName' => 'ExportContainerGroupTemplate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:ExportContainerGroupTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateConfigMap', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:UpdateConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RestartContainer', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:RestartContainer', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateLaunchTemplate', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:CreateLaunchTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/*'], + ], + ], + ], + [ + 'apiName' => 'ResizeContainerGroupVolume', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:ResizeContainerGroupVolume', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteContainerGroups', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteContainerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDataCaches', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:DescribeDataCaches', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteDataCache', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateVirtualNode', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeUpdateConfigMapTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'eci:DescribeUpdateConfigMapTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVirtualNodes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeVirtualNodes', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#virtualnodeId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeImageCacheMetrics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'eci:DescribeImageCacheMetrics', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteContainerGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeMultiContainerGroupMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeMultiContainerGroupMetric', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerLog', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerLog', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateImageCache', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ], + ], + ], + [ + 'apiName' => 'UpdateDataCache', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateContainerGroupByTemplate', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:UpdateContainerGroupByTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateSecret', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:UpdateSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ExecContainerCommand', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:ExecContainerCommand', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'CopyDataCache', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CopyDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#datacacheId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeUpdateSecretTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'eci:DescribeUpdateSecretTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateContainerGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:UpdateContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteVirtualNode', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupPrice', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupPrice', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateDataCache', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateDataCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupMetaInfos', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:describeContainerGroupMetaInfos', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RestartContainerGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:RestartContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupEvents', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupEvents', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLaunchTemplates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:DescribeLaunchTemplates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/{#LaunchTemplateId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/*'], + ], + ], + ], + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'eci:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteLaunchTemplate', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'eci:DeleteLaunchTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/{#LaunchTemplateId}'], + ], + ], + ], + [ + 'apiName' => 'CreateVirtualNode', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateVirtualNode', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupEphemeralStorage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupEphemeralStorage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ResizeContainerGroupEphemeralStorage', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'eci:ResizeContainerGroupEphemeralStorage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ], + ], + ], + [ + 'apiName' => 'BatchCreateContainerGroups', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:BatchCreateContainerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeContainerGroupMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeContainerGroupMetric', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteImageCache', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'eci:DeleteImageCache', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ], + ], + ], + [ + 'apiName' => 'CreateContainerGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateContainerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeImageCaches', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeImageCaches', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ['validationType' => 'conditional', 'product' => 'ECI', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#imagecacheId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeInstanceOpsRecords', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:DescribeInstanceOpsRecords', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateInstanceOpsTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'eci:CreateInstanceOpsTask', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'eci:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListUsage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'eci:ListUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RecommendVirtualPool', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'eci:CreateContainerGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ECI', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'CommitContainerTask', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ['validationType' => 'always', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/{#ImageCacheId}'], + ['validationType' => 'always', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#containergroupId}'], + ['validationType' => 'always', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ['validationType' => 'conditional', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/*'], + ['validationType' => 'always', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ContainerGroupId}'], + ['validationType' => 'always', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/{#DataCacheId}'], + ['validationType' => 'always', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/{#VirtualNodeId}'], + ['validationType' => 'always', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/*'], + ['validationType' => 'always', 'resourceType' => 'containergroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ['validationType' => 'always', 'resourceType' => 'ImageCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:imagecache/*'], + ['validationType' => 'always', 'resourceType' => 'DataCache', 'arn' => 'acs:eci:{#regionId}:{#accountId}:datacache/*'], + ['validationType' => 'conditional', 'resourceType' => 'LaunchTemplate', 'arn' => 'acs:eci:{#regionId}:{#accountId}:launchtemplate/{#LaunchTemplateId}'], + ['validationType' => 'always', 'resourceType' => 'VirtualNode', 'arn' => 'acs:eci:{#regionId}:{#accountId}:virtualnode/*'], ], ], ]; |
