diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/eci/2018-08-08 | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/eci/2018-08-08')
| -rw-r--r-- | data/en_us/eci/2018-08-08/api-docs.php | 15019 |
1 files changed, 15019 insertions, 0 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 new file mode 100644 index 0000000..0abb429 --- /dev/null +++ b/data/en_us/eci/2018-08-08/api-docs.php @@ -0,0 +1,15019 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Eci', + 'version' => '2018-08-08', + ], + 'directories' => [ + [ + 'id' => 99743, + 'title' => 'Regions', + 'type' => 'directory', + 'children' => [ + 'DescribeRegions', + ], + ], + [ + 'id' => 99745, + 'title' => 'Container groups', + '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', + 'type' => 'directory', + 'children' => [ + 'CreateImageCache', + 'DeleteImageCache', + 'UpdateImageCache', + 'DescribeImageCaches', + ], + ], + [ + 'id' => 183905, + 'title' => 'Data cache', + 'type' => 'directory', + 'children' => [ + 'CreateDataCache', + 'DescribeDataCaches', + 'UpdateDataCache', + 'CopyDataCache', + 'DeleteDataCache', + ], + ], + [ + 'id' => 99755, + 'title' => 'Virtual nodes', + 'type' => 'directory', + 'children' => [ + 'CreateVirtualNode', + 'DeleteVirtualNode', + 'UpdateVirtualNode', + 'DescribeVirtualNodes', + ], + ], + [ + 'id' => 99765, + 'title' => 'Monitoring', + 'type' => 'directory', + 'children' => [ + 'DescribeContainerGroupMetric', + 'DescribeMultiContainerGroupMetric', + ], + ], + [ + 'id' => 99772, + 'title' => 'Operations and maintenance', + 'type' => 'directory', + 'children' => [ + 'CreateInstanceOpsTask', + 'DescribeInstanceOpsRecords', + ], + ], + [ + 'id' => 193218, + 'title' => 'Tags', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'ListTagResources', + 'UntagResources', + ], + ], + [ + 'id' => 99769, + 'title' => 'Other operations', + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17738', + 'abilityTreeNodes' => [ + 'FEATUREeciWX1P2C', + 'FEATUREeciO4MP7I', + 'FEATUREeciL85GGA', + 'FEATUREeciTLPZOI', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + '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', + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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' => ' ', + ], + 'CreateContainerGroup' => [ + 'summary' => 'Creates an elastic container instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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' => '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', + ], + ], + [ + '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****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'EipInstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the elastic IP address (EIP).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eip-uf66jeqopgqa9hdn****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically match image caches. Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ShareProcessNamespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to use a shared namespace. Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The hostname.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'CpuOptionsNuma', + 'in' => 'query', + 'schema' => [ + 'description' => 'This parameter is not available.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + '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', + ], + ], + [ + '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", + '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", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ImageRegistryCredential', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the logon credentials.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about 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.'."\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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 11, + ], + ], + [ + 'name' => 'Container', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about containers.'."\n", + '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', + ], + '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 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" + ."\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', + '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', + ], + 'EnvironmentVar' => [ + 'description' => 'The environment variables of the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The value of the environment variable for the container.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 241, + ], + '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/', + ], + 'Arg' => [ + 'description' => 'The arguments that are passed to the startup command of the container. You can specify up to 10 arguments.'."\n", + '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', + ], + 'required' => false, + 'maximum' => '65535', + 'example' => '100', + '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 check starts.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'VolumeMount' => [ + 'description' => 'The information about the volume that you want to mount on the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the volumes.'."\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" + .'* 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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + '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', + ], + '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", + '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', + ], + 'required' => false, + 'example' => 'sleep', + 'maxItems' => 101, + ], + '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', + ], + 'LivenessProbe.Exec.Command' => [ + 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', + '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', + ], + 'required' => false, + 'maxItems' => 21, + ], + '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', + ], + 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The commands to be executed in containers when you use a CLI to specify a postStart hook.'."\n", + '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"]', + ], + 'required' => false, + 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', + '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 a preSop hook.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthyz', + ], + '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", + 'type' => 'array', + 'items' => [ + 'description' => 'The port number.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + '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', + ], + 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The commands to be executed in containers when you use a CLI to specify a preStop hook.'."\n", + '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"]', + ], + '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', + ], + 'ReadinessProbe.Exec.Command' => [ + 'description' => 'Command N to be executed in the container when the health check is performed by using the command line.', + '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', + ], + 'required' => false, + 'maxItems' => 20, + ], + 'LifecyclePreStopHandlerHttpGetHttpHeader' => [ + 'description' => 'The HTTP GET request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The HTTP GET request header.'."\n", + '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', + ], + ], + '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' => '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', + ], + 'LifecyclePostStartHandlerHttpGetHttpHeader' => [ + 'description' => 'The HTTP GET request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The HTTP GET request header.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 41, + ], + ], + [ + 'name' => 'Volume', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the volume that you want to mount to the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the volumes.'."\n", + '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', + ], + 'ConfigFileVolume.ConfigFileToPath' => [ + 'description' => 'The information about ConfigFile volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about ConfigFile volumes.'."\n", + '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=', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 90, + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + 'name' => 'InitContainer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init containers.'."\n", + '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" + ."\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' => 100, + ], + 'Image' => [ + 'description' => 'The image of the init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nginx', + ], + 'VolumeMount' => [ + 'description' => 'The information about the volumes that you want to mount to the init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the volume mount.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + 'Port' => [ + 'description' => 'The information about the port.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port number of the init container.'."\n", + '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', + ], + ], + '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', + ], + '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', + ], + 'EnvironmentVar' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variables for the container.'."\n", + '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', + ], + ], + 'required' => false, + ], + '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', + ], + 'Arg' => [ + 'description' => 'The arguments that are passed to the startup command of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The argument that is passed to the startup command of the init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + 'required' => false, + 'maximum' => '65535', + 'example' => '10', + 'maxItems' => 101, + ], + 'Command' => [ + 'description' => 'The startup commands of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The startup command of the init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sleep', + ], + 'required' => false, + 'example' => 'sleep', + 'maxItems' => 101, + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 41, + ], + ], + [ + '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' => '172.10.*.**', + ], + 'required' => false, + 'example' => '172.10.*.**', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DnsConfig.Search', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The search domains of DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The search domain of the DNS server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'svc.local.kubernetes', + ], + 'required' => false, + 'example' => 'svc.local.kubenetes', + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DnsConfig.Option', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Configuration options of the DNS server.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Configuration options of the DNS server.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'HostAliase', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The alias of the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The alias of the elastic container instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => [ + 'description' => 'The IP address of the elastic container instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.1.1.1', + ], + 'Hostname' => [ + 'description' => 'The hostnames of the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The hostname of the elastic container instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hehe.com', + ], + 'required' => false, + 'example' => 'hehe.com', + 'maxItems' => 51, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + 'name' => 'SecurityContext.Sysctl', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Configure a security context to modify safe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Configure a security context to modify sysctls. For more information, see [Configure a security context](~~462313~~)'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + 'name' => 'HostSecurityContext.Sysctl', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Configure a security context to modify unsafe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Configure a security context to modify unsafe sysctls. For more information, see [Configure a security context](~~462313~~).'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + 'name' => 'NtpServer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the NTP server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ntp.cloud.aliyuncs.com', + ], + 'required' => false, + 'example' => 'ntp.cloud.aliyuncs.com', + 'maxItems' => 21, + ], + ], + [ + 'name' => 'AcrRegistryInfo', + '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", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", + '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 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', + ], + 'required' => false, + 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', + 'maxItems' => 100, + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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"', + ], + ], + [ + '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"', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bucket that stores the data cache.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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", + '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', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + '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", + ], + ], + [ + 'name' => 'MaxPendingMinute', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + 'responses' => [ + 200 => [ + '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****', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + 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.', + ], + ], + ], + '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" + ."\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" + ."\n" + .'Both the preceding creation methods support the following features:'."\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" + ."\n" + .'**Images**'."\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" + ."\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" + ."\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" + ."\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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateContainerGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + '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', + ], + ], + [ + '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 that you want to update.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eci-2zelg8vwnlzdhf8hv****', + ], + ], + [ + 'name' => 'RestartPolicy', + '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', + ], + ], + [ + '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 idempotency](~~25693~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'Cpu', + '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', + ], + ], + [ + 'name' => 'Memory', + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-2df3isufhi38**** ', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + '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', + ], + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 61, + ], + ], + [ + 'name' => 'DnsConfig.Search', + '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, + ], + ], + [ + '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', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The configurations of DNS.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of DNS.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Container', + '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, + ], + ], + [ + 'name' => 'InitContainer', + '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, + ], + ], + [ + 'name' => 'ImageRegistryCredential', + '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, + ], + ], + [ + 'name' => 'AcrRegistryInfo', + 'in' => 'query', + 'style' => 'repeatList', + '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, + ], + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB8D2B22-D636-4182-****-1FC9DBDAD66F', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + 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" + ."\n" + .'**ImageRegistryCredentials**'."\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" + ."\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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17732', + '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', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'NextToken', + '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', + ], + ], + [ + 'name' => 'Limit', + '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', + ], + ], + [ + 'name' => 'ContainerGroupIds', + '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****"]', + ], + ], + [ + 'name' => 'ContainerGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the elastic container instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'Running', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzh43v***** ', + ], + ], + [ + 'name' => 'WithEvent', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specify whether to return event information.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag of the instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the instances.'."\n", + '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', + 'required' => false, + 'example' => 'test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ComputeCategory', + 'in' => 'query', + 'schema' => [ + 'description' => 'The compute category of the instance. Valid values:'."\n" + ."\n" + .'* economy'."\n" + .'* general'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'economy', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the security group to which the instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sg-uf66jeqopgqa9hdn****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.MismatchInstanceType', + 'errorMessage' => 'The instanceId mismatch instance type.', + ], + ], + ], + '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" + ."\n" + .'* The metadata of an instance in the final status (Failed, Succeeded, or Expired) is retained based on the following rules:'."\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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeContainerGroupStatus' => [ + 'summary' => 'Queries the statuses of multiple container groups at a time.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '45919', + 'abilityTreeNodes' => [ + 'FEATUREeciO8VNZM', + ], + ], + '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****', + ], + ], + [ + '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', + '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', + ], + ], + [ + 'name' => 'Tag', + '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, + ], + ], + [ + 'name' => 'NextToken', + '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', + ], + ], + [ + 'name' => 'Limit', + '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', + ], + ], + ], + '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', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.MismatchInstanceType', + 'errorMessage' => 'The instanceId mismatch instance type.', + ], + ], + ], + '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', + ], + 'DescribeContainerGroupEvents' => [ + 'summary' => 'Queries event information about multiple container groups at a time.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '48556', + 'abilityTreeNodes' => [ + 'FEATUREeciO8VNZM', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The zone ID.'."\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.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + ], + [ + 'name' => 'ContainerGroupIds', + '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****"]', + ], + ], + [ + 'name' => 'Tag', + '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, + ], + ], + [ + 'name' => 'NextToken', + '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', + ], + ], + [ + 'name' => 'EventSource', + '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', + ], + ], + ], + [ + 'name' => 'SinceSecond', + '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', + ], + ], + [ + 'name' => 'Limit', + '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', + ], + ], + ], + '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', + '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 elastic container instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'eci-2zelg8vwnlzdhf8hv****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + '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', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'VolumeName', + 'in' => 'query', + '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', + ], + ], + [ + 'name' => 'NewSize', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 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 ', + ], + ], + ], + '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" + ."\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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RestartContainerGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + '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', + ], + ], + [ + '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 instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidAction', + 'errorMessage' => 'The specified action is invalid', + ], + ], + ], + '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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteContainerGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + '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', + ], + ], + [ + '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 instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'Force', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'OperationConflict', + 'errorMessage' => '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":"<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' => ' ', + ], + 'ExecContainerCommand' => [ + 'summary' => 'Runs commands in a container.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17739', + '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', + ], + ], + [ + '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"]', + ], + ], + [ + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to read the commands from standard input (stdin). Default value: true.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Sync', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + 'description' => '', + ], + ], + ], + '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', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeContainerLog' => [ + 'summary' => 'Queries the logs of a container in a container group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17733', + 'abilityTreeNodes' => [ + 'FEATUREeciO8VNZM', + ], + ], + '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', + ], + ], + [ + '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', + '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', + ], + ], + [ + 'name' => 'Timestamps', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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' => '{}', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.Unauthorized', + 'errorMessage' => 'You are not authorized to operate on the specified resource.', + ], + ], + 408 => [ + [ + 'errorCode' => 'Request Timeout', + 'errorMessage' => 'Request timed out, please try again later.', + ], + ], + ], + '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', + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '151229', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + '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****', + ], + ], + [ + 'name' => 'ContainerName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the container.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'container-1', + ], + ], + [ + 'name' => 'Image', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The image of the container.'."\n", + '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', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'AcrRegistryInfo', + '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, + ], + ], + [ + 'name' => 'Arn', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The details about the ARN that is required for authorization.'."\n", + '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', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 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 ', + ], + ], + ], + '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", + ], + 'DescribeCommitContainerTask' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '150868', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'TaskStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* Running'."\n" + .'* Succeeded'."\n" + .'* Failed'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'Succeeded' => 'Succeeded', + 'Failed' => 'Failed', + 'Running' => 'Running', + ], + 'example' => 'Running', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the task.'."\n", + '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****', + ], + 'required' => false, + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + 'CommitTasks' => [ + 'description' => 'Details of the task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the task.'."\n", + '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', + ], + 'CommitPhaseInfos' => [ + 'description' => 'The information about the phase that the task arrives.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the phase that the task arrives.'."\n", + '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', + ], + ], + ], + ], + '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', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '17725', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + '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, + ], + ], + [ + '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~~).', + '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~~).', + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'Annotations', + 'in' => 'query', + 'schema' => [ + 'description' => 'Comments.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hide', + ], + ], + [ + 'name' => 'PlainHttpRegistry', + '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"', + ], + ], + [ + 'name' => 'InsecureRegistry', + 'in' => 'query', + 'schema' => [ + 'description' => 'The address of the self-managed image repository.'."\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" + ."\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" + ."\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', + 'required' => false, + 'example' => '7', + ], + ], + [ + 'name' => 'EliminationStrategy', + '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', + ], + ], + [ + 'name' => 'OsType', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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****', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteImageCache' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '17728', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + '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', + ], + ], + [ + 'name' => 'ImageCacheId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'imc-2zebxkiifuyzzlhl****', + ], + ], + [ + 'name' => 'ClientToken', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A218-354284CFC7A2', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateImageCache' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + '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 ', + ], + ], + [ + 'name' => 'ImageCacheId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'imc-bp195erqe9o2pb09**** ', + ], + ], + [ + 'name' => 'SecurityGroupId', + '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**** ', + ], + ], + [ + 'name' => 'VSwitchId', + '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**** ', + ], + ], + [ + 'name' => 'ImageCacheName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the image cache.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'testcache', + ], + ], + [ + 'name' => 'EipInstanceId', + '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****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the image cache belongs.'."\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 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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'RetentionDays', + 'in' => 'query', + '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', + ], + ], + [ + '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'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ImageRegistryCredential', + '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, + ], + ], + [ + 'name' => 'Image', + '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, + ], + ], + [ + 'name' => 'Tag', + '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, + ], + ], + [ + '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' => 'The information about the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n", + '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', + ], + ], + 'required' => false, + ], + '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', + ], + ], + [ + 'name' => 'FlashCopyCount', + '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', + ], + ], + [ + 'name' => 'EliminationStrategy', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0E234675-3465-4CC3-9D0F-9A864BC391DD', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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.', + ], + ], + ], + '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' => ' ', + ], + 'DescribeImageCaches' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17734', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the image caches.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ImageCacheId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the image caches.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'imc-bp195erqe9o2pb09****', + ], + ], + [ + 'name' => 'ImageCacheName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The names of the image caches.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testcache', + ], + ], + [ + 'name' => 'SnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the snapshots that correspond to the image caches.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's-2zec5oj8e1yhxijt****', + ], + ], + [ + 'name' => 'Image', + 'in' => 'query', + 'schema' => [ + 'description' => 'The container images.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nginx', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags to add to the image caches.'."\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 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', + ], + ], + 'required' => false, + ], + '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****', + ], + ], + [ + 'name' => 'ImageFullMatch', + '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', + ], + ], + [ + 'name' => 'ImageMatchCountRequest', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about an image cache.'."\n", + 'type' => 'object', + 'properties' => [ + 'Images' => [ + 'description' => 'The images contained in the image cache.'."\n", + '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', + ], + ], + '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', + ], + 'ContainerGroupId' => [ + 'description' => 'The ID of the elastic container instance.'."\n", + 'type' => 'string', + 'example' => 'eci-bp18oq3m15prd9jb****', + ], + 'Tags' => [ + 'description' => 'The tags of the image cache.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'imc', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'Events' => [ + 'description' => 'The events of pulling an image to create the image cache.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the event.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the event. Valid values:'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'LastTimestamp' => [ + 'description' => 'The time when the event ended.'."\n", + 'type' => 'string', + 'example' => '2021-02-09T02:24:48Z', + ], + 'Message' => [ + 'description' => 'The message about the event.'."\n", + 'type' => 'string', + 'example' => 'Successfully check image cache resource.', + ], + 'Name' => [ + 'description' => 'The name of the event.'."\n", + 'type' => 'string', + 'example' => 'imagetest.1661f31f851a****', + ], + '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-02-09T02:24:48Z', + ], + 'Reason' => [ + 'description' => 'The cause of the event.'."\n", + 'type' => 'string', + 'example' => 'Started', + ], + ], + ], + ], + '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', + ], + ], + ], + ], + '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', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + ], + '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.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateDataCache' => [ + 'summary' => 'Creates a DataCache.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '178965', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + 'tenantRelevance' => 'tenant', + ], + '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', + ], + ], + [ + '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', + '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', + ], + ], + [ + 'name' => 'DataSource', + '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, + ], + ], + [ + 'name' => 'RetentionDays', + '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', + ], + ], + [ + 'name' => 'Tag', + '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, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-2df3isufhi38****', + ], + ], + [ + '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 idempotence](~~25693~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-****-12d3-****-426655440000', + ], + ], + [ + 'name' => 'EipInstanceId', + '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****', + ], + ], + [ + 'name' => 'EipCreateParam', + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + '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******', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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", + ], + 'DescribeDataCaches' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '179701', + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DataCacheId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The data cache IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The data cache ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'edc-bp1a7n7uawwwol******', + ], + 'required' => false, + 'docRequired' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Bucket', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bucket that stores the data cache. Default value: default.'."\n", + 'type' => 'string', + 'required' => false, + '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/', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags that are attached to the data cache.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'B8756BA0-6452-419C-9727-37A6209C85E0', + ], + 'DataCaches' => [ + 'description' => 'The information about the data caches.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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****', + ], + 'Tags' => [ + 'description' => 'The tags that are attached to the data cache.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'testkey', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'testvalue', + ], + ], + ], + ], + 'Events' => [ + 'description' => 'The events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + ], + ], + ], + ], + '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', + ], + 'DataSource' => [ + 'description' => 'The information about the data source.'."\n", + '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" + .'}', + ], + ], + ], + '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/', + ], + ], + ], + ], + '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', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '180519', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + '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' => '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****', + ], + ], + [ + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The data cache name.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'test', + ], + ], + [ + 'name' => 'Size', + 'in' => 'query', + 'schema' => [ + 'description' => 'The data cache size.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'DataSource', + '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, + ], + ], + [ + 'name' => 'RetentionDays', + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource group ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmzw2jz2z****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags that are added to the data cache.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + '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 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', + 'required' => false, + 'example' => '2f22dc16-cad0-4d3f-87e5-91e604756547', + ], + ], + [ + 'name' => 'EipInstanceId', + '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****', + ], + ], + [ + 'name' => 'EipCreateParam', + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD8BBB43-8E05-5F46-89A9-2512D8A324A2', + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD8BBB43-8E05-5F46-89A9-2512D8A324A2\\"\\n}","type":"json"}]', + 'title' => 'UpdateDataCache', + ], + 'CopyDataCache' => [ + 'summary' => 'Copies a DataCache from one region to another region.', + '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 source region of the DataCache.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-beijing', + ], + ], + [ + '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', + ], + ], + [ + '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', + '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 ', + ], + ], + [ + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The destination region of the DataCache.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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", + ], + 'DeleteDataCache' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '179691', + 'abilityTreeNodes' => [ + 'FEATUREeciIGQQJ4', + ], + ], + '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******', + ], + ], + [ + 'name' => 'ClientToken', + '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', + ], + ], + [ + 'name' => 'Bucket', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bucket that stores the DataCache. By default, the bucket is named default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => [ + 'description' => 'The directory in which the virtual host of the DataCache is located.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/data/models/', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C0F8A012-1426-5EB2-96F5-B4416DEB5B78', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0F8A012-1426-5EB2-96F5-B4416DEB5B78\\"\\n}","type":"json"}]', + 'title' => 'DeleteDataCache', + 'summary' => 'Deletes a DataCache.', + ], + 'CreateVirtualNode' => [ + 'summary' => 'Creates a VNode to connect self-managed Kubernetes clusters to elastic container instances.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => [ + 'FEATUREeciOZ73BH', + 'FEATUREeciESSPHI', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the virtual node.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The zone ID of the VNode.', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-b', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'VSwitchId', + '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****', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'KubeConfig', + '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******', + ], + ], + [ + '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 (,).', + '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.', + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + '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 (,).', + 'type' => 'string', + 'required' => false, + 'example' => '100.1.XX.XX', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags to add to the VNode. You can add up to 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the tag.'."\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' => 'test', + ], + ], + 'required' => false, + ], + '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', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + '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.', + ], + ], + 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.', + ], + ], + ], + '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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVirtualNode' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the virtual node.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'VirtualNodeId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the virtual node.', + 'type' => 'string', + 'required' => true, + 'example' => 'vnd-2ze960zkdqrldeaw****', + ], + ], + [ + '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 idempotency of requests](~~25693~~).', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateVirtualNode' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the virtual node.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + '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', + '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 of requests?](~~25693~~)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags to add to the virtual node.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the tag.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A318-353284CFC7B3', + ], + ], + ], + ], + ], + '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' => '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 \\"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' => ' ', + ], + 'DescribeVirtualNodes' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the virtual nodes.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeContainerGroupMetric' => [ + 'summary' => 'Queries the monitoring data of an elastic container instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17730', + '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', + ], + ], + [ + 'name' => 'ContainerGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eci-bp17da5olmkuagfr****', + ], + ], + [ + 'name' => 'StartTime', + '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', + ], + ], + [ + 'name' => 'EndTime', + '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 ', + ], + ], + [ + 'name' => 'Period', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeMultiContainerGroupMetric' => [ + 'summary' => 'Queries the monitoring data of elastic container instances.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17736', + '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', + ], + ], + [ + 'name' => 'ContainerGroupIds', + '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****"]', + ], + ], + [ + 'name' => 'ResourceGroupId', + '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****', + ], + ], + [ + 'name' => 'MetricType', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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****', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateInstanceOpsTask' => [ + 'summary' => 'Creates an operations and maintenance task.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '92950', + 'abilityTreeNodes' => [ + 'FEATUREeciXQE3ZY', + 'FEATUREeciO9KN4L', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the O&M task.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ContainerGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the container group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'eci-bp1dvysdafbh00t7****', + ], + ], + [ + 'name' => 'OpsType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the O&M task. Valid values:'."\n" + ."\n" + .'* coredump'."\n" + .'* tcpdump', + 'type' => 'string', + 'required' => true, + 'example' => 'coredump', + ], + ], + [ + 'name' => 'OpsValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The value of the O\\&M task. You can set this parameter based on the value of OpsType.'."\n" + ."\n" + .'* If OpsType is set to coredump, the valid values of OpsValue are:'."\n" + ."\n" + .' * enable: enables coredump.'."\n" + .' * disable: disables coredump.'."\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" + ."\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", + 'type' => 'string', + 'required' => true, + 'example' => 'enable', + ], + ], + ], + 'responses' => [ + 200 => [ + '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.', + ], + ], + ], + ], + ], + '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', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '105962', + 'abilityTreeNodes' => [ + 'FEATUREeciXQE3ZY', + 'FEATUREeciO9KN4L', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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, + 'example' => 'eci-bp1dvysdafbh00t7****', + ], + ], + [ + 'name' => 'OpsType', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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' => '', + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the resource.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + '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****', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + '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", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + 'required' => false, + 'example' => 'testvalue', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceType', + '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, + '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.', + ], + ], + ], + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the resource.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + '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***', + ], + 'required' => false, + 'docRequired' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags that are added to the resource.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceType', + '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', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'NextToken', + '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", + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission.Tag', + 'errorMessage' => 'No permissions to operate tags.', + ], + [ + 'errorCode' => 'NumberExceed.Tags', + 'errorMessage' => 'The length of tags exceeded limit: 20.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the resource.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + '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****', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'TagKey', + '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", + 'type' => 'array', + 'items' => [ + 'description' => 'The key of the tag that you want to remove.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testkey', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceType', + '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', + ], + ], + [ + 'name' => 'All', + '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', + ], + ], + [ + '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 idempotence](~~25693~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-xxx-xxx-xxxx-42665544xxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A318-353284CFC7B', + ], + ], + '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.', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + '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.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + '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' => '', + ], + ], + ], + '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' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + '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 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', + ], + ], + [ + 'name' => 'RegionId', + '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', + ], + ], + [ + 'name' => 'Cpu', + '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', + ], + ], + [ + 'name' => 'Memory', + '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', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'ecs.c5.large', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bidding policy for the elastic container instance. Valid values:'."\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', + 'required' => false, + 'example' => 'SpotWithPriceLimit', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'SpotPriceLimit', + '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', + ], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage size of the temporary storage space. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SpotDuration', + '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', + ], + ], + [ + 'name' => 'ComputeCategory', + 'in' => 'query', + 'schema' => [ + 'description' => 'The computing power type. A value of economy specifies economic instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'economy', + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + '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].', + ], + ], + 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.', + ], + ], + ], + '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", + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + '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 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', + ], + ], + [ + 'name' => 'ZoneId', + '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', + ], + ], + [ + 'name' => 'DestinationResource', + '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, + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'SpotResource', + 'in' => 'query', + 'style' => 'flat', + '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', + ], + ], + 'required' => false, + ], + ], + ], + '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', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + 403 => [ + [ + 'errorCode' => 'Spot.NotMatched', + 'errorMessage' => '%s. We recommend that you use the create multi-zone function to avoid insufficient inventory.', + ], + ], + [ + [ + 'errorCode' => 'InvalidParameter.NotFound', + 'errorMessage' => '%s', + ], + ], + ], + '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", + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'eci.cn-qingdao.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'eci.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'eci.cn-zhangjiakou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhengzhou-jva', + 'endpoint' => 'eci.cn-zhengzhou-jva.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'eci.cn-huhehaote.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'eci.cn-wulanchabu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'eci.cn-hangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'eci.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nanjing', + 'endpoint' => 'eci.cn-nanjing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-fuzhou', + 'endpoint' => 'eci.cn-fuzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'eci.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'eci.cn-heyuan.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'eci.cn-guangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'eci.cn-chengdu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'eci.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'eci.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2', + 'endpoint' => 'eci.ap-northeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'eci.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'eci.ap-southeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'eci.ap-southeast-3.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'eci.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6', + 'endpoint' => 'eci.ap-southeast-6.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'eci.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'eci.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'eci.eu-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'eci.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'eci.ap-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'eci.me-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-finance', + 'endpoint' => 'eci.cn-hangzhou-finance.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'eci.cn-shanghai-finance.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'eci.cn-shenzhen-finance.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7', + 'endpoint' => 'eci.ap-southeast-7.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'eci.cn-beijing-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'eci.me-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-lr', + 'endpoint' => 'eci.cn-wuhan-lr.aliyuncs.com', + ], + ], +]; |
