diff options
Diffstat (limited to 'data/en_us/ehpc')
| -rw-r--r-- | data/en_us/ehpc/2018-04-12/api-docs.php | 34637 | ||||
| -rw-r--r-- | data/en_us/ehpc/2024-07-30/api-docs.php | 13922 |
2 files changed, 18233 insertions, 30326 deletions
diff --git a/data/en_us/ehpc/2018-04-12/api-docs.php b/data/en_us/ehpc/2018-04-12/api-docs.php index bcdcc2f..f290d28 100644 --- a/data/en_us/ehpc/2018-04-12/api-docs.php +++ b/data/en_us/ehpc/2018-04-12/api-docs.php @@ -1,592 +1,126 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'EHPC', - 'version' => '2018-04-12', - ], + 'info' => ['style' => 'RPC', 'product' => 'EHPC', 'version' => '2018-04-12'], 'directories' => [ [ - 'id' => 181976, - 'title' => 'Clusters', + 'children' => ['AddLocalNodes'], 'type' => 'directory', - 'children' => [ - 'DescribePrice', - 'CreateCluster', - 'DescribeCluster', - 'ModifyClusterAttributes', - 'ListClusters', - 'ListClustersMeta', - 'StartCluster', - 'StopCluster', - 'RecoverCluster', - 'DeleteCluster', - ], + 'title' => 'Hybrid cloud cluster', ], [ - 'id' => 181434, - 'title' => 'Hybrid cloud clusters', + 'children' => ['ListAvailableEcsTypes'], 'type' => 'directory', - 'children' => [ - 'CreateHybridCluster', - 'AddLocalNodes', - 'GetHybridClusterConfig', - 'SyncUsers', - ], + 'title' => 'ECS instance', ], [ - 'id' => 181509, - 'title' => 'ECS instances', + 'children' => ['StartNodes', 'StopNodes', 'ResetNodes', 'DeleteNodes'], 'type' => 'directory', - 'children' => [ - 'ListPreferredEcsTypes', - 'ListAvailableEcsTypes', - 'GetIfEcsTypeSupportHtConfig', - ], + 'title' => 'Node', ], [ - 'id' => 62742, - 'title' => 'Image', + 'children' => ['SetQueue'], 'type' => 'directory', - 'children' => [ - 'ListImages', - 'ListCustomImages', - 'ListCommunityImages', - 'DescribeImagePrice', - ], + 'title' => 'Queue', ], [ - 'id' => 62758, - 'title' => 'User', + 'children' => ['DescribeServerlessJobs'], 'type' => 'directory', - 'children' => [ - 'AddUsers', - 'ListUsers', - 'ListUsersAsync', - 'ModifyUserGroups', - 'ModifyUserPasswords', - 'DeleteUsers', - ], + 'title' => 'Serverless job', ], [ - 'id' => 62714, - 'title' => 'Nodes', + 'children' => ['GetAccountingReport'], 'type' => 'directory', - 'children' => [ - 'AddNodes', - 'ApplyNodes', - 'AddExistedNodes', - 'ListNodes', - 'ListNodesNoPaging', - 'StartNodes', - 'StopNodes', - 'ResetNodes', - 'DeleteNodes', - ], - ], - [ - 'id' => 181435, - 'title' => 'Queues', - 'type' => 'directory', - 'children' => [ - 'AddQueue', - 'ListQueues', - 'UpdateQueueConfig', - 'ListNodesByQueue', - 'SetQueue', - 'DeleteQueue', - ], - ], - [ - 'id' => 181510, - 'title' => 'Schedulers', - 'type' => 'directory', - 'children' => [ - 'SetSchedulerInfo', - 'GetSchedulerInfo', - ], - ], - [ - 'id' => 181437, - 'title' => 'Software', - 'type' => 'directory', - 'children' => [ - 'ListSoftwares', - 'InstallSoftware', - 'ListInstalledSoftware', - 'UninstallSoftware', - ], - ], - [ - 'id' => 62709, - 'title' => 'Storage', - 'type' => 'directory', - 'children' => [ - 'ListFileSystemWithMountTargets', - 'ListCpfsFileSystems', - 'GetClusterVolumes', - 'ListVolumes', - 'UpdateClusterVolumes', - ], - ], - [ - 'id' => 62693, - 'title' => 'Job', - 'type' => 'directory', - 'children' => [ - 'SubmitJob', - 'CreateJobFile', - 'ListJobs', - 'DescribeJob', - 'ListJobsWithFilters', - 'RerunJobs', - 'StopJobs', - 'GetJobLog', - 'DeleteJobs', - ], - ], - [ - 'id' => 190861, - 'title' => 'Serverless Job', - 'type' => 'directory', - 'children' => [ - 'SubmitServerlessJob', - 'ListServerlessJobs', - 'DescribeServerlessJobs', - 'StopServerlessJobs', - ], - ], - [ - 'id' => 62769, - 'title' => 'Job template', - 'type' => 'directory', - 'children' => [ - 'CreateJobTemplate', - 'ListJobTemplates', - 'EditJobTemplate', - 'DeleteJobTemplates', - ], - ], - [ - 'id' => 62737, - 'title' => 'Interactive commands', - 'type' => 'directory', - 'children' => [ - 'InvokeShellCommand', - 'ListCommands', - 'ListInvocationResults', - 'ListInvocationStatus', - ], - ], - [ - 'id' => 181511, - 'title' => 'Post-processing script', - 'type' => 'directory', - 'children' => [ - 'SetPostScripts', - 'GetPostScripts', - ], - ], - [ - 'id' => 62731, - 'title' => 'VNC', - 'type' => 'directory', - 'children' => [ - 'GetVisualServiceStatus', - 'ModifyVisualServicePasswd', - 'StartVisualService', - 'StopVisualService', - ], - ], - [ - 'id' => 62705, - 'title' => 'Autoscaling', - 'type' => 'directory', - 'children' => [ - 'SetAutoScaleConfig', - 'DescribeAutoScaleConfig', - 'GetAutoScaleConfig', - ], - ], - [ - 'id' => 181439, - 'title' => 'Performance management', - 'type' => 'directory', - 'children' => [ - 'RunCloudMetricProfiling', - 'GetCloudMetricProfiling', - 'ListCloudMetricProfilings', - 'GetCloudMetricLogs', - ], - ], - [ - 'id' => 62772, 'title' => 'Report', - 'type' => 'directory', - 'children' => [ - 'GetAccountingReport', - ], - ], - [ - 'id' => 62728, - 'title' => 'Operation log', - 'type' => 'directory', - 'children' => [ - 'ListClusterLogs', - ], - ], - [ - 'id' => 181438, - 'title' => 'Cluster client', - 'type' => 'directory', - 'children' => [ - 'ListCurrentClientVersion', - 'UpgradeClient', - 'ListUpgradeClients', - ], - ], - [ - 'id' => 62726, - 'title' => 'Service pack', - 'type' => 'directory', - 'children' => [ - 'QueryServicePackAndPrice', - ], ], [ - 'id' => 62754, - 'title' => 'Security groups', + 'children' => ['QueryServicePackAndPrice'], 'type' => 'directory', - 'children' => [ - 'AddSecurityGroup', - 'ListSecurityGroups', - 'DeleteSecurityGroup', - ], - ], - [ - 'id' => 181515, - 'title' => 'Tag', - 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'UnTagResources', - ], + 'title' => 'Service plan', ], [ - 'id' => 62673, - 'title' => 'Region', - 'type' => 'directory', 'children' => [ - 'ListRegions', + 'AddExistedNodes', 'AddNodes', 'AddQueue', 'AddSecurityGroup', 'AddUsers', 'ApplyNodes', 'CreateCluster', 'CreateHybridCluster', 'CreateJobFile', 'CreateJobTemplate', 'DeleteCluster', 'DeleteJobTemplates', 'DeleteJobs', 'DeleteQueue', 'DeleteSecurityGroup', 'DeleteUsers', 'DescribeAutoScaleConfig', 'DescribeCluster', 'DescribeImagePrice', 'DescribeJob', + 'DescribePrice', 'EditJobTemplate', 'GetAutoScaleConfig', 'GetCloudMetricLogs', 'GetCloudMetricProfiling', 'GetClusterVolumes', 'GetHybridClusterConfig', 'GetIfEcsTypeSupportHtConfig', 'GetJobLog', 'GetPostScripts', 'GetSchedulerInfo', 'GetVisualServiceStatus', 'InitializeEHPC', 'InstallSoftware', 'InvokeShellCommand', 'ListCloudMetricProfilings', 'ListClusterLogs', 'ListClusters', 'ListClustersMeta', 'ListCommands', + 'ListCommunityImages', 'ListCpfsFileSystems', 'ListCurrentClientVersion', 'ListCustomImages', 'ListFileSystemWithMountTargets', 'ListImages', 'ListInstalledSoftware', 'ListInvocationResults', 'ListInvocationStatus', 'ListJobTemplates', 'ListJobs', 'ListJobsWithFilters', 'ListNodes', 'ListNodesByQueue', 'ListNodesNoPaging', 'ListPreferredEcsTypes', 'ListQueues', 'ListRegions', 'ListSecurityGroups', 'ListServerlessJobs', + 'ListSoftwares', 'ListTagResources', 'ListTasks', 'ListUpgradeClients', 'ListUsers', 'ListUsersAsync', 'ListVolumes', 'ModifyClusterAttributes', 'ModifyUserGroups', 'ModifyUserPasswords', 'ModifyVisualServicePasswd', 'RecoverCluster', 'RerunJobs', 'RunCloudMetricProfiling', 'SetAutoScaleConfig', 'SetPostScripts', 'SetSchedulerInfo', 'StartCluster', 'StartVisualService', 'StopCluster', + 'StopJobs', 'StopServerlessJobs', 'StopVisualService', 'SubmitJob', 'SubmitServerlessJob', 'SyncUsers', 'TagResources', 'UnTagResources', 'UninstallSoftware', 'UpdateClusterVolumes', 'UpdateQueueConfig', 'UpgradeClient', ], - ], - [ - 'id' => 181440, 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'ListTasks', - 'InitializeEHPC', - ], - ], - [ - 'id' => 203958, - 'title' => 'Abandoned', - 'type' => 'directory', - 'children' => [ - [ - 'id' => 181436, - 'title' => 'Container application', - 'type' => 'directory', - 'children' => [], - ], - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribePrice' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddExistedNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'PriceUnit', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing cycle of the Elastic Compute Service (ECS) instances. This parameter takes effect only when the ChargeType parameter is set to PrePaid. Valid values:'."\n" - ."\n" - .'* Month: pay-by-month'."\n" - .'* Year: pay-by-year'."\n" - .'* Hour: pay-by-hour'."\n" - ."\n" - .'Default value: Hour.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Hour', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ChargeType', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the ECS instances. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n" - ."\n" - .'Default value: PostPaid.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - ], + 'schema' => ['description' => 'The ID of the image that is specified for the compute nodes. The image must meet the following requirements:'."\n" + ."\n" + .'* The operating system that is specified for the image must be the same as that of the existing cluster nodes. For example, if the operating system of the cluster nodes is CentOS, you can select only a CentOS image.'."\n" + ."\n" + .'> If you add nodes to a hybrid cloud cluster that supports multiple operating systems, you can select a Windows Server image or a CentOS image when the operating system of the cluster nodes is Windows.'."\n" + ."\n" + .'* The major version of the image specified for the compute nodes that you want to add must be the same as that of the image of the cluster. For example, if the version of the cluster image is CentOS 7.x, the version of the image specified for the compute nodes must be CentOS 7.x.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', 'title' => ''], ], [ - 'name' => 'OrderType', + 'name' => 'JobQueue', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the order. The order can be set only as a purchase order. Valid value: INSTANCE-BUY.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'INSTANCE-BUY', - ], + 'schema' => ['description' => 'The queue in the cluster to which the node is to be added.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], ], [ - 'name' => 'Commodities', + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => ['description' => 'The type of the images. Valid values:'."\n" + ."\n" + .'* system: public image.'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n" + ."\n" + .'Default value: system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'system', 'title' => ''], + ], + [ + 'name' => 'Instance', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the service.'."\n", + 'description' => 'The information about the node that you want to add.'."\n", 'type' => 'array', 'items' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'Amount' => [ - 'description' => 'The node quantity of the type. Valid values: 1 to 1000.'."\n" - ."\n" - .'Default value: 1.'."\n" - ."\n" - .'Valid values of N: 1 to 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2', - ], - 'SystemDiskSize' => [ - 'description' => 'The system disk size of the node. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - 'SystemDiskPerformanceLevel' => [ - 'description' => 'The performance level of the ESSD used as the system disk. This parameter takes effect only when the Commodities.N.SystemDiskCategory parameter is set to cloud_essd. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'Valid values of N: 1 to 10'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'NodeType' => [ - 'description' => 'The type of the node. Valid values:'."\n" - ."\n" - .'* Compute: compute node'."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Compute', - ], - 'SystemDiskCategory' => [ - 'description' => 'The system disk type of the node. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - .'* cloud: basic disk'."\n" - ."\n" - .'Default value: cloud_efficiency'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'InternetChargeType' => [ - 'description' => 'The EIP billing method of the node. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth'."\n" - .'* PayByTraffic: pay-by-traffic'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByBandwidth', - ], - 'NetworkType' => [ - 'description' => 'The network type of the node. Valid value: VPC.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'VPC', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the node.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ecs.n1.tiny', - ], - 'Period' => [ - 'description' => 'The subscription duration of the node. Valid values:'."\n" - ."\n" - .'* If PriceUnit is set to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" - .'* If PriceUnit is set to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" - .'* If PriceUnit is set to Hour, the valid value of the Period parameter is 1.'."\n" - ."\n" - .'Default value: 1.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], - 'InternetMaxBandWidthOut' => [ - 'description' => 'The maximum outbound public bandwidth of the node. Unit: Mbit/s.'."\n" - ."\n" - .'Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'DataDisks' => [ - 'description' => 'The list of data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'size' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n" - ."\n" - .'Valid values of N: 0 to 4.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - 'category' => [ - 'description' => 'The type of the data disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - .'* cloud: basic disk'."\n" - ."\n" - .'Default value: cloud_efficiency.'."\n" - ."\n" - .'Valid values of N: 0 to 4.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'deleteWithInstance' => [ - 'description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n" - ."\n" - .'Valid values of N: 0 to 4.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'performanceLevel' => [ - 'description' => 'The performance level of the ESSD used as the data disk. This parameter takes effect only when the Commodities.N.DataDisks.N.category parameter is set to cloud_essd. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'Valid values of N: 0 to 4.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'encrypted' => [ - 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" - ."\n" - .'* true: encrypts the data disk.'."\n" - .'* false: does not encrypt the data disk.'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'Valid values of N: 0 to 4.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 4, - ], + 'Id' => ['description' => 'The Nth node ID. N starts from 1. Valid values: 1 to 100.'."\n", 'type' => 'string', 'required' => true, 'example' => 'i-bp16mxn6mt3t7ftk****', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => true, - 'maxItems' => 2500, + 'maxItems' => 100, + 'title' => '', ], ], ], @@ -595,137 +129,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalTradePrice' => [ - 'description' => 'The total price.'."\n" - ."\n" - .'Unit: USD.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1258', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '54FF9025-2C2F-42EB-870D-0DF5B0ACF24E', - ], - 'Prices' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PriceInfo' => [ - 'description' => 'The array of cluster prices. If you query the prices of multiple nodes in the cluster, the sequence of the prices in the returned value of PriceInfo is the same as the sequence of the nodes in the request parameters. For example, the first price in the value of PriceInfo is the price of the first node specified in the request parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'OriginalPrice' => [ - 'description' => 'The original price.'."\n" - ."\n" - .'Unit: USD.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1258', - ], - 'NodeType' => [ - 'description' => 'The node type. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'example' => 'Compute', - ], - 'Currency' => [ - 'description' => 'The currency that is used to measure the price. Valid values:'."\n" - ."\n" - .'USD'."\n", - 'type' => 'string', - 'example' => 'USD', - ], - 'TradePrice' => [ - 'description' => 'The final price.'."\n" - ."\n" - .'Unit: USD.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1258', - ], - ], - ], - ], - ], - ], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], + ], + [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'The role does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalTradePrice\\": 1258,\\n \\"RequestId\\": \\"54FF9025-2C2F-42EB-870D-0DF5B0ACF24E\\",\\n \\"Prices\\": {\\n \\"PriceInfo\\": [\\n {\\n \\"OriginalPrice\\": 1258,\\n \\"NodeType\\": \\"Compute\\",\\n \\"Currency\\": \\"<props=\\\\\\"china\\\\\\">CNY</props>\\\\n\\\\n<props=\\\\\\"intl\\\\\\">USD</props>\\",\\n \\"TradePrice\\": 1258\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePriceResponse>\\n <Prices>\\n <PriceInfo>\\n <OriginalPrice>1258</OriginalPrice>\\n <TradePrice>1258</TradePrice>\\n <Currency>CNY</Currency>\\n <NodeType>Compute</NodeType>\\n </PriceInfo>\\n </Prices>\\n <TotalTradePrice>1258</TotalTradePrice>\\n <RequestId>54FF9025-2C2F-42EB-870D-0DF5B0ACF24E</RequestId>\\n</DescribePriceResponse> ","errorExample":""}]', - 'title' => 'DescribePrice', - 'summary' => 'Queries the pricing information of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddExistedNodesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n</AddExistedNodesResponse>","errorExample":""}]', + 'title' => 'AddExistedNodes', + 'summary' => 'Adds one or more existing ECS instances as compute nodes to a specified cluster.', + 'description' => '* The compute nodes to be added are in the Stopped state.'."\n" + .'* After the compute nodes are added to the cluster, the operating systems of the nodes are replaced with the operating system specified by the ImageId parameter.'."\n" + .'* The hosts of the compute nodes must be different from those of the existing compute nodes in the cluster. Otherwise, the add operation fails.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateCluster' => [ - 'summary' => 'Creates a pay-as-you-go or subscription E-HPC cluster.', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddExistedNodes'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddExistedNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'AddLocalNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -733,1083 +214,468 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ZoneId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone in which the resource resides.'."\n" - ."\n" - .'You can call the [ListRegions](~~188593~~) and [DescribeZones](~~25610~~) operations to query the IDs of the zones where E-HPC is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'Nodes', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the E-HPC cluster. The name must be 2 to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'A JSON-formatted string that contains the information about the local compute nodes. The information includes the HostName, IpAddress, CpuCores, and Memory (in MB) of each node.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"HostName":"test-HostName","IpAddress":"192.168.**.**"},{"CpuCores":2,"Memory":1024}]', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'Queue', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the E-HPC cluster. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestDescription', - ], + 'schema' => ['description' => 'The scheduler queue to which the local compute nodes are added.', 'type' => 'string', 'required' => false, 'example' => 'test.q', 'title' => ''], ], - [ - 'name' => 'EhpcVersion', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The version of E-HPC. By default, the parameter is set to the latest version number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'A list of information about the local compute nodes in the cluster.', + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'A list of information about the local compute nodes in the cluster.', 'type' => 'string', 'example' => '[{"HostName":"test-HostName","IpAddress":"192.168.**.**"},{"CpuCores":2,"Memory":1024}]', 'title' => ''], + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ClientVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the E-HPC client. By default, the parameter is set to the latest version number.'."\n" - ."\n" - .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the latest version of the E-HPC client.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.64', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - [ - 'name' => 'OsTag', - 'in' => 'query', - 'schema' => [ - 'description' => 'The operating system tag of the image.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'CentOS_7.2_64', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - 'name' => 'AccountType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the domain account service. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n" - ."\n" - .'Default value: nis.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nis', - 'default' => 'nis', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], - [ - 'name' => 'Domain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name of the on-premises E-HPC cluster.'."\n" - ."\n" - .'This parameter takes effect only when the AccountType parameter is set to Idap.', - 'type' => 'string', - 'required' => false, - 'example' => 'ldap', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - 'name' => 'SchedulerType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n" - ."\n" - .'Default value: pbs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pbs', - 'default' => 'pbs', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the E-HPC cluster belongs.'."\n" - ."\n" - .'You can call the [DescribeSecurityGroups](~~25556~~) operation to query available security groups in the current region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp13n61xsydodfyg****', - ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], - [ - 'name' => 'SecurityGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => 'If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-SecurityGroup', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], - [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) to which the E-HPC cluster belongs.'."\n" - ."\n" - .'You can call the [DescribeVpcs](~~35739~~) operation to query available VPCs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-b3f3edefefeep0760yju****', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch ID. E-HPC supports only VPC networks.'."\n" - ."\n" - .'You can call the [DescribeVSwitches](~~35748~~) operation to query available vSwitches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[{\\\\\\"HostName\\\\\\":\\\\\\"test-HostName\\\\\\",\\\\\\"IpAddress\\\\\\":\\\\\\"192.168.**.**\\\\\\"},{\\\\\\"CpuCores\\\\\\":2,\\\\\\"Memory\\\\\\":1024}]\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'AddLocalNodes', + 'summary' => 'Adds local compute nodes to a hybrid cloud cluster or a cloud cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddLocalNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'VolumeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the shared storage. Set the value to `nas`, which indicates NAS file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nas', - 'default' => 'nas', - ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddLocalNodes'], ], + ], + ], + 'AddNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VolumeId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the NAS file system. If you leave the parameter empty, a Performance NAS file system is created by default.'."\n" - ."\n" - .'You can call the [ListFileSystemWithMountTargets](~~204364~~) operation to query available mount targets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '008b64****', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'VolumeProtocol', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the protocol that is used by the NAS file system. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n" - ."\n" - .'Default value: NFS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NFS', - 'default' => 'nfs', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'VolumeMountpoint', + 'name' => 'ImageOwnerAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Take note of the following information:'."\n" - ."\n" - .'* If the VolumeId parameter is not specified, you can leave the VolumeMountpoint parameter empty. In this case, a mount target is created by default.'."\n" - .'* When the VolumeId parameter is specified, the VolumeMountpoint parameter is required. You can call the [ListFileSystemWithMountTargets](~~204364~~) operation to query available mount targets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', - ], + 'schema' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n" + ."\n" + .'Default value: system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'default' => 'system', 'title' => ''], ], [ - 'name' => 'VolumeMountOption', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount options of the NFS file system that you want to mount by running the mount command.'."\n" - ."\n" - .'For more information, see [Mount an NFS file system on a Linux ECS instance](https://www.alibabacloud.com/help/en/nas/latest/mount-an-nfs-file-system-on-a-linux-ecs-instance#section-jyi-hyd-hbr).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-t nfs -o vers=4', - ], + 'schema' => ['description' => 'The ID of the image that is specified for the compute nodes. The image must meet the following requirements:'."\n" + ."\n" + .'* The operating system that is specified by the image must be the same as that of the existing cluster nodes. For example, if the operating system of the cluster nodes is CentOS, you can select only a CentOS image.'."\n" + ."\n" + .'> If you add nodes to a hybrid cloud cluster that supports multiple operating systems, you can select a Windows Server image or a CentOS image when the operating system of nodes is Windows.'."\n" + ."\n" + .'* The major version of the image specified for the compute nodes that you want to add is the same as that of the image of the cluster. For example, if the version of the cluster image is CentOS 7.x, the version of the image specified for the compute nodes must be CentOS 7.x.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', 'title' => ''], ], [ - 'name' => 'RemoteDirectory', + 'name' => 'Count', 'in' => 'query', - 'schema' => [ - 'description' => 'The remote directory to which the NAS file system is mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NasMountpoint:/RemoteDirectory', - ], + 'schema' => ['description' => 'The number of compute nodes that you want to add. Valid values: 1 to 99. The value of this parameter is greater than that of the MinCount parameter.'."\n" + ."\n" + .'* If the number of available ECS instances is less than the value of the MinCount parameter, the compute nodes cannot be added.'."\n" + .'* If the number of available ECS instances is greater than the value of the MinCount parameter and less than that of the Count parameter, the compute nodes are added based on the value of the MinCount parameter.'."\n" + .'* If the number of available ECS instances is greater than the value of the Count parameter, the compute nodes are added based on the value of the Count parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '10', 'title' => ''], ], [ - 'name' => 'DeployMode', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which the E-HPC cluster is deployed. Valid values:'."\n" - ."\n" - .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Simple: A management node, which consists of an account node and a scheduling node, is deployed, while a logon node and multiple compute nodes are separately deployed.'."\n" - .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n" - ."\n" - .'Default value: Standard.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Simple', - ], + 'schema' => ['description' => 'The instance type of the compute nodes. The default value is the instance type that was specified when you created the E-HPC cluster or the last time when you added compute nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], ], [ - 'name' => 'HaEnable', + 'name' => 'ComputeSpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the high availability feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'> If high availability is enabled, a primary management node and a secondary management node are used.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The preemption policy of the compute nodes. The parameter only takes effect when EcsChargeType is set to PostPaid. Valid values:'."\n" + ."\n" + .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The policy applies to preemptible instances for which a maximum hourly price is specified.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'EcsChargeType', + 'name' => 'ComputeSpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the nodes. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go.'."\n" - .'* PrePaid: subscription.'."\n" - ."\n" - .'If you set the parameter to PrePaid, auto-renewal is enabled by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - 'default' => 'PostPaid', - ], + 'schema' => ['description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter only takes effect when SpotStrategy is set to SpotWithPriceLimit.'."\n", 'type' => 'string', 'required' => false, 'example' => '0.68', 'title' => ''], ], [ - 'name' => 'Password', + 'name' => 'EcsChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. Special characters include:'."\n" - ."\n" - .'`( ) ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? /`'."\n" - ."\n" - .'You must specify either Password or KeyPairName. If both are specified, the Password parameter prevails.'."\n" - ."\n" - .'> We recommend that you use HTTPS to call the API operation to prevent password leakage.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123****', - ], + 'schema' => ['description' => 'The billing method of the compute nodes. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go'."\n" + .'* PrePaid: subscription'."\n" + ."\n" + .'Default value: PostPaid.'."\n" + ."\n" + .'If the parameter is set to PrePaid, auto-renewal is enabled by default. After the E-HPC cluster is released, auto-renewal is disabled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'default' => 'PostPaid', 'title' => ''], ], [ - 'name' => 'KeyPairName', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair.'."\n" - ."\n" - .'> For more information, see [Create an SSH key pair](~~51793~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The duration of the subscription. The unit of the duration is specified by the PeriodUnit parameter. The parameter only takes effect when InstanceChargeType is set to PrePaid. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4.'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ImageOwnerAlias', + 'name' => 'PeriodUnit', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - ."\n" - .'Default value: system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'self', - 'default' => 'system', - ], + 'schema' => ['description' => 'The unit of the subscription period of the resource. Valid values:'."\n" + ."\n" + .'* Week'."\n" + .'* Month'."\n" + ."\n" + .'Default value: Month.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'AutoRenew', 'in' => 'query', - 'schema' => [ - 'description' => 'The image IDs.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the images that are supported by E-HPC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_02_64_20G_alibase_20170818****', - ], + 'schema' => ['description' => 'Specifies whether to enable auto-renewal. The parameter takes effect only when EcsChargeType is set to PrePaid. Valid values:'."\n" + ."\n" + .'* true: enables auto-renewal'."\n" + .'* false: disables auto-renewal'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'string', 'required' => false, 'example' => 'true', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'EcsOrder.Manager.Count', + 'name' => 'AutoRenewPeriod', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the management nodes. Valid values: 1 and 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3.'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'EcsOrder.Manager.InstanceType', + 'name' => 'JobQueue', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The instance type of the management nodes.'."\n" - ."\n" - .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The queue to which the compute nodes are added.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], ], [ - 'name' => 'EcsOrder.Compute.Count', + 'name' => 'CreateMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of compute nodes in the cluster. Valid values: 0 to 99.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => 'The mode in which the compute nodes are added. Valid values:'."\n" + ."\n" + .'* manual: The compute nodes are manually added.'."\n" + .'* autoscale: The compute nodes are automatically added.'."\n" + ."\n" + .'Default value: manual.'."\n", 'type' => 'string', 'required' => false, 'example' => 'manual', 'title' => ''], ], [ - 'name' => 'EcsOrder.Compute.InstanceType', + 'name' => 'SystemDiskType', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the compute nodes.'."\n" - ."\n" - .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The type of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: SSD'."\n" + .'* cloud_essd: enhanced SSD (ESSD)'."\n" + .'* cloud: basic disk. Disks of this type are retired.'."\n" + ."\n" + .'Default value: cloud_efficiency.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], ], [ - 'name' => 'EcsOrder.Login.Count', + 'name' => 'SystemDiskSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the logon nodes. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => 'The size of the system disk. Unit: GiB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], ], [ - 'name' => 'EcsOrder.Login.InstanceType', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the logon nodes.'."\n" - ."\n" - .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ - 'name' => 'SccClusterId', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The Super Computing Cluster (SCC) instance ID.'."\n" - ."\n" - .'If you specify the parameter, the SCC instance is moved to a new SCC cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '00b648b****', - ], + 'schema' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], ], [ - 'name' => 'ComputeSpotStrategy', + 'name' => 'HostNamePrefix', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding method of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The prefix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute', 'title' => ''], ], [ - 'name' => 'ComputeSpotPriceLimit', + 'name' => 'HostNameSuffix', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.034', - ], + 'schema' => ['description' => 'The suffix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], [ 'name' => 'ComputeEnableHt', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable hyper-threading for the compute node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The duration of the subscription. The unit of the duration is specified by the `PeriodUnit` parameter.'."\n" - ."\n" - .'* Valid values if PriceUnit is set to Year: 1, 2, and 3.'."\n" - .'* Valid values if PriceUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" - .'* Valid value if PriceUnit is set to Hour: 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enable hyper-threading for the compute node. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'PeriodUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the subscription duration. Valid values:'."\n" - ."\n" - .'* Year'."\n" - .'* Month'."\n" - .'* Hour'."\n" - ."\n" - .'Default value: Month.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Year', - ], - ], - [ - 'name' => 'AutoRenew', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'AutoRenewPeriod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'InputFileUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the job file that is uploaded to an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://ehpc-tianshui.oss-cn-beijing.aliyuncs.com/test-u****/testlist_ehpc.sh', - ], - ], - [ - 'name' => 'JobQueue', + 'name' => 'AllocatePublicAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'The queue to which the compute nodes are added.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + 'schema' => ['description' => 'Specifies whether to allocate a public IP address to the compute nodes. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'SystemDiskType', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the system disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud: basic disk. Disks of this type are retired.'."\n" - ."\n" - .'Default value: cloud_ssd.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], + 'schema' => ['description' => 'The billing method of the elastic IP address (EIP). Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay-by-bandwidth'."\n" + .'* PayByTraffic: pay-by-traffic'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'default' => 'PayByTraffic', 'title' => ''], ], [ - 'name' => 'SystemDiskSize', + 'name' => 'InternetMaxBandWidthIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The system disk size. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of the parameter are 1 to 10 and the default value is 10.'."\n" + .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the amount of the outbound bandwidth that is purchased.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '10', 'default' => '0', 'title' => ''], ], [ - 'name' => 'RemoteVisEnable', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable Virtual Network Computing (VNC). Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'ResourceGroupId', + 'name' => 'InternetMaxBandWidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n" - ."\n" - .'You can call the [ListResourceGroups](~~158855~~) operation to obtain the ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph****', - ], + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '10', 'default' => '0', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], - ], - [ - 'name' => 'WithoutElasticIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the logon node uses an elastic IP address (EIP). Default value: false.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - 'enum' => [ - 'true', - 'false', - ], - ], + '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 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'SystemDiskLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level of the ESSD to be used as the system disk. Default value: PL1. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD delivers up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'For more information, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The performance level of the ESSD to be used as the system disk. Default value: PL1. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'For more information about ESSD performance parameters, see [ESSD](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], ], [ - 'name' => 'IsComputeEss', + 'name' => 'MinCount', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto scaling. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The minimum number of the compute nodes that you want to add. Valid values: 1 to 99. The value of the parameter is less than that of the Count parameter.'."\n" + ."\n" + .'* If the number of available ECS instances is less than the value of the MinCount parameter, the compute nodes cannot be added.'."\n" + .'* If the number of available ECS instances is greater than the value of the MinCount parameter and less than that of the Count parameter, the compute nodes are added based on the value of the MinCount parameter.'."\n" + .'* If the number of available ECS instances is greater than the value of the Count parameter, the compute nodes are added based on the value of the Count parameter.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'ClusterVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the E-HPC cluster.'."\n" - ."\n" - .'Default value: 1.0.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - ], - ], - [ - 'name' => 'Application', + 'name' => 'Sync', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The application information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Tag' => [ - 'description' => 'The tag of the software.'."\n" - ."\n" - .'Valid values of N: 0 to 100.'."\n" - ."\n" - .'You can call the [ListSoftwares](~~87216~~) operation to query the tag of the software.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OpenMPI_11.1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'Specifies whether to set this operation as a synchronous operation. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'AdditionalVolumes', + 'name' => 'DataDisks', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information of the NAS file system.'."\n", + 'description' => 'The list of data disks.'."\n", 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'JobQueue' => [ - 'description' => 'The queue of the nodes to which the NAS file system is attached.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'high', - ], - 'VolumeId' => [ - 'description' => 'The ID of the NAS file system.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'extreme-00b88****', - ], - 'Roles' => [ - 'description' => 'The node information to which the NAS file system is attached.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The type of the nodes to which the NAS file system is attached.'."\n" - ."\n" - .'Valid values of N in AdditionalVolumes.N.Roles: 1 to 10'."\n" - ."\n" - .'Valid values of N in Roles.N.Name: 0 to 8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["Compute"]', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 8, - ], - 'VolumeMountpoint' => [ - 'description' => 'The mount target of the NAS file system.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0088****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', - ], - 'VolumeMountOption' => [ - 'description' => 'The mount options of the NAS file system.'."\n" - ."\n" - .'You can specify 1 to 10 vCPUs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-t nfs -o vers=4.0', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote directory to which the NAS file system is mounted.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test', - ], - 'VolumeType' => [ - 'description' => 'The type of the additional shared storage. Only NAS file systems are supported.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nas', - ], - 'LocalDirectory' => [ - 'description' => 'The local directory on which the NAS file system is mounted.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/ff', - ], - 'VolumeProtocol' => [ - 'description' => 'The type of the protocol that is used by the NAS file system. Valid value:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n" - ."\n" - .'Default value: NFS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NFS', - ], - 'Location' => [ - 'description' => 'The type of the E-HPC cluster. Set the value to PublicCloud.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PublicCloud', - ], + 'DataDiskSize' => ['description' => 'The size of the data disk. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + 'DataDiskCategory' => ['description' => 'The type of the data disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: SSD'."\n" + .'* cloud_essd: ESSD'."\n" + .'* cloud: basic disk'."\n" + ."\n" + .'Default value: cloud_efficiency.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + 'DataDiskDeleteWithInstance' => ['description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'DataDiskPerformanceLevel' => ['description' => 'The performance level of the ESSD used as the data disk. The parameter only takes effect only when the DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'DataDiskEncrypted' => ['description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'DataDiskKMSKeyId' => ['description' => 'The KMS key ID of the data disk.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', 'title' => ''], ], 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'PostInstallScript', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information of the post-installation script.'."\n", - 'type' => 'array', - 'items' => [ 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Args' => [ - 'description' => 'The parameter that is used to run the script after the cluster is created.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bashfile.sh', - ], - 'Url' => [ - 'description' => 'The URL that is used to download the script after the E-HPC cluster is created.'."\n" - ."\n" - .'Valid values of N: 0 to 16'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/opt/job.sh', - ], - ], - 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 16, + 'title' => '', ], ], [ - 'name' => 'Plugin', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" - ."\n" - .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" - ."\n" - .'* pluginMod: the plug-in mode. The following modes are supported:'."\n" - ."\n" - .' * oss: The plug-in is downloaded and decompressed from OSS to a local path that is specified by the pluginLocalPath parameter.'."\n" - .' * image: By default, the plug-in is stored in a pre-defined local path that is specified by the pluginLocalPath parameter.'."\n" - ."\n" - .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.'."\n" - ."\n" - .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"pluginMod": "oss","pluginLocalPath": "/opt/plugin","pluginOssPath": "https://bucket.oss-cn-hangzhou.aliyuncs.com/plugin/plugin.tgz"}', - ], - ], - [ - 'name' => 'WithoutAgent', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether not to install the agent.'."\n" - ."\n" - .'* true: does not install the agent.'."\n" - .'* false: installs the agent.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'WithoutNas', + 'name' => 'ComputeSpotDuration', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether to use NAS as a shared storage. Valid values:'."\n" - ."\n" - .'* true: does not use NAS.'."\n" - .'* false: use NAS.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false'."\n", - ], + 'schema' => ['title' => '抢占式实例的保留时长,单位为小时。取值范围:0~6。'."\n" + .'- 保留时长2~6正在邀测中,如需开通请提交工单。'."\n" + .'- 取值为0,则为无保护期模式。'."\n" + .'默认值:1。', 'description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 and 1. A value of 0 indicates that the preemptible instance has no protection period.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '6', 'minimum' => '0', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'RamRoleName', + 'name' => 'ComputeSpotInterruptionBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Resource Access Management (RAM) role.'."\n" - ."\n" - .'You can call the [ListRoles](~~28713~~) operation provided by RAM to query the instance RAM roles that you created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testRamRoleName', - ], + 'schema' => ['title' => '抢占实例中断模式。目前仅支持Terminate(默认)直接释放实例。', 'description' => 'The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate, which indicates that the instance is released.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'default' => 'Terminate'], ], [ 'name' => 'NetworkInterfaceTrafficMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The communication model of the ENI. Valid values:'."\n" - ."\n" - .'* Standard: The TCP communication mode is used.'."\n" - .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with the Elastic RDMA Interface (ERI) enabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], - ], - [ - 'name' => 'DeploymentSetId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set in which to deploy the instance. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pzq****', - ], - ], - [ - 'name' => 'RamNodeTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The node of the RAM role.', - 'type' => 'array', - 'items' => [ - 'description' => 'The node of the RAM role.'."\n" - ."\n" - .'Valid values of N: 0 to 4'."\n" - ."\n" - .'* If the DeployMode parameter is set to Standard, the following values are valid: scheduler, account, login, and compute. Separate multiple values with commas (,).'."\n" - .'* If the DeployMode parameter is set to Simple, the following values are valid: manager, login, and compute. Separate multiple values with commas (,).'."\n" - .'* If the DeployMode parameter is set to Tiny, the following values are valid: manager and compute.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'manager', - ], - 'required' => false, - 'example' => 'Standard', - 'maxItems' => 5, - 'minItems' => 0, - ], + 'schema' => ['description' => 'The communication mode of the ENI. Valid values:'."\n" + ."\n" + .'* Standard: uses the TCP communication mode.'."\n" + .'* HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'DnsConfig', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'title' => '标签列表,最多包含20个子项', - 'description' => 'The array of the tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The array of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '标签键', - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'title' => '标签值', - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - 'example' => 'scheduler', - ], - 'required' => false, - 'maxItems' => 20, - 'example' => 'Standard', - ], - ], - [ - 'name' => 'AddOns', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The custom component service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The component name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cromwell', - ], - 'Version' => [ - 'description' => 'The version number of the component.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '85', - ], - 'DeployMode' => [ - 'description' => 'The deployment mode. Valid values: local and ecs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'local', - ], - 'DBType' => [ - 'description' => 'The type of the database engine. Valid values: Mysql, and null.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Mysql', - ], - 'ConfigFile' => [ - 'description' => 'The path to the configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/addon/cromwell/cromwell.conf', - ], - 'Port' => [ - 'description' => 'The access port of the custom component.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '10000', - ], - 'DefaultStart' => [ - 'description' => 'Indicates whether to auto-start the custom component. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The information about Domain Name System (DNS) settings.'."\n", 'type' => 'string', 'required' => false, 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', 'title' => ''], ], ], 'responses' => [ @@ -1817,226 +683,106 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****', - ], - 'TaskId' => [ - 'description' => 'The task ID.'."\n" - ."\n" - .'> CreateCluster is an asynchronous operation. A response is returned if the request succeeds. However, this does not mean that a cluster is created. You can call the [ListTasks](~~268225~~) operation to query the result of the task.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', + 'TaskId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The instance IDs.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'Instance ID. '."\n" + .'> If the AddNodes operation is asynchronous (the Sync parameter in the request is set to False), the result will be returned immediately upon a successful request, without waiting for the instance creation to complete. Therefore, the InstanceIds content will be empty. You can obtain the InstanceId through [ListNodes](~~87161~~).', 'type' => 'string', 'example' => 'null', 'title' => ''], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'OrderError.InsufficientBalance', - 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', - ], - [ - 'errorCode' => 'OrderError.InstHasUnpaidOrder', - 'errorMessage' => 'Your account has an unpaid order.', - ], - [ - 'errorCode' => 'OrderError.Arrearage', - 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', - ], - [ - 'errorCode' => 'OrderError.NoCard', - 'errorMessage' => 'No credit card is bound to your account.', - ], - [ - 'errorCode' => 'OrderError.InvalidPayMethod', - 'errorMessage' => 'No valid default payment method is specified for your account.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameAuthentication', - 'errorMessage' => 'You have not completed the real name authentication.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameRegistration', - 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', - ], - [ - 'errorCode' => 'OrderError.UserProfileIncomplete', - 'errorMessage' => 'You have not completed your user profile.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'The specified VPC is invalid.', - ], - [ - 'errorCode' => 'InvalidVolume', - 'errorMessage' => 'The specified volume is invalid.', - ], - [ - 'errorCode' => 'InvalidSoftware', - 'errorMessage' => 'The specified software is not supported.', - ], - [ - 'errorCode' => 'InvalidVolumeProtocal', - 'errorMessage' => 'The specified volume protocol is invalid.', - ], - [ - 'errorCode' => 'InvalidVolumeMountpoint', - 'errorMessage' => 'The specified volume mount point is invalid.', - ], - [ - 'errorCode' => 'MissingParams', - 'errorMessage' => 'The %s parameter is required.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'InvaildSystemDiskSize', 'errorMessage' => 'The system disk size must be greater than or equal to image size.', 'description' => 'The system disk size must be greater than or equal to image size.'], ], 403 => [ - [ - 'errorCode' => 'TooManyClusters', - 'errorMessage' => 'The number of user clusters exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyLogins', - 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', - ], - [ - 'errorCode' => 'TooManyScc', - 'errorMessage' => 'The maximum number of SCC instances is exceeded.', - ], - [ - 'errorCode' => 'QuotaExceeded.PrivateIpAddress', - 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', - ], - ], - [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'VpcNotFound', - 'errorMessage' => 'The specified VPC does not exist.', - ], - [ - 'errorCode' => 'KeyPairNotFound', - 'errorMessage' => 'The specified KeyPair does not exist.', - ], + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'TooManyLogins', 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['errorCode' => 'TooManyScc', 'errorMessage' => 'The maximum number of SCC instances is exceeded.', 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later.', 'description' => 'The operation is unknown. Please check arguments and try again later.'], + ], + [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], + ['errorCode' => 'KeyPairNotFound', 'errorMessage' => 'The specified KeyPair does not exist.', 'description' => ''], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'NasServiceNotOpen', - 'errorMessage' => 'The NAS service is not activated.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], - [ - 'errorCode' => 'FailToGenId', - 'errorMessage' => 'Generating cluster ID failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AckError', - 'errorMessage' => 'An error occurred while calling the ACK API operation.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'No authorization is granted.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"TaskId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateClusterResponse>\\n <TaskId>F6757FA4-8FED-4602-B7F5-3550C084****</TaskId>\\n <RequestId>F6757FA4-8FED-4602-B7F5-3550C084****</RequestId>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n</CreateClusterResponse>","errorExample":""}]', - 'title' => 'CreateCluster', - 'description' => 'After you create an Elastic High Performance Computing (E-HPC) cluster, you are charged for the cluster resources that you use. We recommend that you learn about the billing methods of E-HPC in advance. For more information, see [Billing overview](~~57844~~).', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"null\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddNodesResponse>\\n<TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n<RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n<InstanceIds>\\n <InstanceId>null</InstanceId>\\n</InstanceIds>\\n</AddNodesResponse>","errorExample":""}]', + 'title' => 'AddNodes', + 'summary' => 'Adds one or more compute nodes to an E-HPC cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCluster' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'translator' => 'machine', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'AddQueue' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '75782', + 'abilityTreeNodes' => ['FEATUREehpcAB36B2'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -2044,13 +790,32 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID. You can call the [ListClusters](~~87116~~) operation to query the list of clusters in a region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-QKKVqO****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'QueueName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the queue. The name must be 1 to 63 characters in length and start with a letter. It can contain letters, digits, and underscores (\\_).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1', 'title' => ''], + ], + [ + 'name' => 'NetworkInterfaceTrafficMode', + 'in' => 'query', + 'schema' => ['description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" + ."\n" + .'* Standard: uses the TCP communication mode.'."\n" + .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The deployment set ID. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pzq****', 'title' => ''], + ], + [ + 'name' => 'UseESS', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use scaling groups of Auto Scaling.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -2058,720 +823,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'ClusterInfo' => [ - 'description' => 'The information about the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" - ."\n" - .'* uninit: The cluster is not initialized.'."\n" - .'* creating: The cluster is being created.'."\n" - .'* init: The cluster is being initialized.'."\n" - .'* running: The cluster is running.'."\n" - .'* exception: The cluster encounters an exception.'."\n" - .'* releasing: The cluster is being released.'."\n", - 'type' => 'string', - 'example' => 'creating', - ], - 'VpcId' => [ - 'description' => 'The VPC ID of the node.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1pxkcvmmz53ki89****', - ], - 'KeyPairName' => [ - 'description' => 'The name of the AccessKey pair.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EcsChargeType' => [ - 'description' => 'The billing method of the nodes in the cluster. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-bp1asugr34gzn****', - ], - 'SccClusterId' => [ - 'description' => 'The ID of the Super Computing Cluster (SCC) instance. If the cluster is not an SCC instance, a null string is returned.'."\n", - 'type' => 'string', - 'example' => '00b648b****', - ], - 'CreateTime' => [ - 'description' => 'The time at which the instance is created.'."\n", - 'type' => 'string', - 'example' => '2020-12-24T03:18:23.000Z', - ], - 'AccountType' => [ - 'description' => 'The server type of the account. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'VolumeProtocol' => [ - 'description' => 'The type of the protocol that is used by the file system. Valid values:'."\n" - ."\n" - .'* nfs'."\n" - .'* smb'."\n", - 'type' => 'string', - 'example' => 'nfs', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster', - ], - 'VolumeId' => [ - 'description' => 'The ID of the File Storage NAS file system. NAS file systems cannot be automatically created.', - 'type' => 'string', - 'example' => '008b64****', - ], - 'HaEnable' => [ - 'description' => 'Specifies whether to enable the high availability feature.'."\n" - ."\n" - .'> If high availability is enabled, each management role in the cluster uses both primary and secondary instances.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'BaseOsTag' => [ - 'description' => 'The image of the cluster.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Name' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'centos_7_02_64_20G_alibase_20170818****', - ], - 'SchedulerType' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - 'SchedulerVersion' => [ - 'description' => 'The version of the scheduler.'."\n", - 'type' => 'string', - 'example' => '18.1.1', - ], - 'DeployMode' => [ - 'description' => 'The mode in which the cluster is deployed. Valid values:'."\n" - ."\n" - .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" - .'* Tiny: The account node, scheduling node, and logon node are deployed on one node. The compute node is separately deployed.'."\n", - 'type' => 'string', - 'example' => 'Simple', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The image type. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'OsTag' => [ - 'description' => 'The operating system tag of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'VolumeMountpoint' => [ - 'description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Mount targets cannot be automatically created for NAS file systems.'."\n", - 'type' => 'string', - 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote directory on which the file system is mounted.'."\n", - 'type' => 'string', - 'example' => 'NasMountpoint:/RemoteDirectory', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID. E-HPC can be deployed only in VPCs.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1e47optm9g58zcu****', - ], - 'ImageName' => [ - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'test_for_Image', - ], - 'VolumeType' => [ - 'description' => 'The type of the network shared storage. Valid value: NAS.'."\n", - 'type' => 'string', - 'example' => 'NAS', - ], - 'Location' => [ - 'description' => 'The location where the cluster is deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The node is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'Id' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp15de54eet1c43f****', - ], - 'ClientVersion' => [ - 'description' => 'The version of the E-HPC client.'."\n", - 'type' => 'string', - 'example' => '1.0.1', - ], - 'ZoneId' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-k', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-aek23szz5i2****', - ], - 'RamRoleName' => [ - 'description' => 'The name of the instance Resource Access Management (RAM) role.'."\n", - 'type' => 'string', - 'example' => 'AliyunEHPCFullAccess', - ], - 'RamNodeTypes' => [ - 'description' => 'The node type details of the instance RAM role.'."\n", - 'type' => 'string', - 'example' => '["manager", "compute"]', - ], - 'Applications' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ApplicationInfo' => [ - 'description' => 'The array of the software in the cluster. The array contains the name and version of the software.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Tag' => [ - 'description' => 'The tag of the software.'."\n", - 'type' => 'string', - 'example' => 'OpenMPI_1.8.7', - ], - 'Name' => [ - 'description' => 'The name of the software.'."\n", - 'type' => 'string', - 'example' => 'openmpi', - ], - 'Version' => [ - 'description' => 'The version of the software.'."\n", - 'type' => 'string', - 'example' => '1.10', - ], - ], - ], - ], - ], - ], - 'PostInstallScripts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PostInstallScriptInfo' => [ - 'description' => 'The list of post-installation scripts'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Url' => [ - 'description' => 'The URL used to download the script.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'Args' => [ - 'description' => 'The parameter used to run the script.'."\n", - 'type' => 'string', - 'example' => 'bash file.sh', - ], - ], - ], - ], - ], - ], - 'EcsInfo' => [ - 'description' => 'The list of ECS instance specifications and quantity.'."\n", - 'type' => 'object', - 'properties' => [ - 'Manager' => [ - 'description' => 'The information of management nodes.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the management nodes.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'Count' => [ - 'description' => 'The number of management nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'Compute' => [ - 'description' => 'The list of compute nodes.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'Count' => [ - 'description' => 'The number of compute nodes in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'Login' => [ - 'description' => 'The list of logon nodes.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the logon nodes.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'Count' => [ - 'description' => 'The number of logon nodes in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'ProxyMgr' => [ - 'description' => 'The list of proxy nodes on the cloud.'."\n" - ."\n" - .'This parameter is returned only when the cluster is deployed across hybrid environments and the hybrid-cloud proxy mode is enabled for the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the proxy node.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'Count' => [ - 'description' => 'The number of proxy nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - ], - ], - 'OnPremiseInfo' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'OnPremiseInfo' => [ - 'description' => 'The list of on-premises management nodes.'."\n" - ."\n" - .'This parameter is returned only when the cluster is deployed across hybrid environments and the hybrid-cloud proxy mode is enabled for the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the management node in the on-premises cluster. Valid values:'."\n" - ."\n" - .'* scheduler'."\n" - .'* account'."\n" - .'* account, scheduler'."\n", - 'type' => 'string', - 'example' => 'scheduler', - ], - 'HostName' => [ - 'description' => 'The hostname of the management node in the on-premises cluster.'."\n", - 'type' => 'string', - 'example' => 'testecs', - ], - 'IP' => [ - 'description' => 'The IP address of the management node in the on-premises cluster.'."\n", - 'type' => 'string', - 'example' => '192.168.*.*', - ], - ], - ], - ], - ], - ], - 'AddOnsInfo' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AddOnsInfo' => [ - 'description' => 'The information about the custom component service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SoftwareId' => [ - 'description' => 'The software ID of the component.'."\n", - 'type' => 'string', - 'example' => 'CROMWELL_85', - ], - 'DeployMode' => [ - 'description' => 'The deployment mode of the custom component. Valid values:'."\n" - ."\n" - .'* local'."\n" - .'* ecs'."\n", - 'type' => 'string', - 'example' => 'local', - ], - 'Port' => [ - 'description' => 'The TCP port number of the custom component.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10000', - ], - 'Status' => [ - 'description' => 'The running status of the custom component. Valid values:'."\n" - ."\n" - .'* running'."\n" - .'* stopped'."\n" - .'* exception'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'URL' => [ - 'description' => 'The URL of the custom component service.'."\n", - 'type' => 'string', - 'example' => 'http://172.16.10.12:10000/', - ], - ], - ], - ], - ], - ], - 'ClusterVersion' => [ - 'description' => 'The version of the E-HPC cluster.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - 'WithoutAgent' => [ - 'description' => 'Specifies whether to not install the agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'false', - ], - 'Plugin' => [ - 'description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" - ."\n" - .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" - ."\n" - .'* pluginMod: the mode of the plug-in. The following modes are supported:'."\n" - ."\n" - .' * oss: The plug-in is downloaded and decompressed from OSS to a local path that is specified by the pluginLocalPath parameter.'."\n" - .' * image: By default, the plug-in is stored in a pre-defined local path that is specified by the pluginLocalPath parameter.'."\n" - ."\n" - .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in the oss mode and a non-shared directory in the image mode.'."\n" - ."\n" - .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only if you set the pluginMod parameter to oss.'."\n", - 'type' => 'string', - 'example' => '{\\"pluginMod\\":\\"image\\",\\"pluginLocalPath\\":\\"/opt/plugin\\"}', - ], - 'SchedulerPreInstall' => [ - 'description' => 'Specifies whether the scheduler is preinstalled for the image. Valid values:'."\n" - ."\n" - .'* true: The scheduler is preinstalled. When you create a node or scale out a cluster, you do not need to install the scheduler.'."\n" - .'* false: The scheduler is not preinstalled. When you create or add a cluster, you must install the scheduler.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'true', - ], - 'Domain' => [ - 'description' => 'The domain name of the on-premises E-HPC cluster.'."\n" - ."\n" - .'This parameter takes effect only when the AccoutType parameter is set to Idap.'."\n", - 'type' => 'string', - 'example' => 'ldap', - ], - 'OpenldapPar' => [ - 'description' => 'The parameter that is used to connect to the OpenLDAP server.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "LdapServerIp": "192.168.XX.XX",'."\n" - .' "BaseDn": "ehpctest",'."\n" - .' "FallbackHomeDir": "/home"'."\n" - .'}', - ], - 'WinAdPar' => [ - 'description' => 'The parameter that is used to connect to the Windows AD server.'."\n", - 'type' => 'string', - 'example' => '{ "AdUser": "Administrator", "AdUserPasswd": "xxxxxx", "AdDc": "ad-hybrid001.ehpcad.com", "AdIp": "192.168.XX.XX"}', - ], - 'Period' => [ - 'description' => 'The duration of the subscription. The unit of the duration is specified by the `PeriodUnit` parameter.'."\n" - ."\n" - .'* If you set PriceUnit to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" - .'* If you set PriceUnit to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" - .'* If you set PriceUnit to Hour, the valid value of the Period parameter is 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PeriodUnit' => [ - 'description' => 'The unit of the subscription duration. Valid value:'."\n" - ."\n" - .'* Year'."\n" - .'* Month'."\n" - .'* Hour'."\n" - ."\n" - .'Default value: Month.'."\n", - 'type' => 'string', - 'example' => 'Month', - ], - 'AutoRenewPeriod' => [ - 'description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n" - ."\n" - .'* If PeriodUnit is set to Week, the valid values of the AutoRenewPeriod parameter are 1, 2, and 3.'."\n" - .'* If PeriodUnit is set to Month, the valid values of the AutoRenewPeriod parameter are 1, 2, 3, 6, and 12.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'AutoRenew' => [ - 'description' => 'Specifies whether to enable auto-renewal. The parameter takes effect only when EcsChargeType is set to PrePaid. Valid values:'."\n" - ."\n" - .'* true: enables auto-renewal.'."\n" - .'* false: disables auto-renewal.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'ComputeSpotStrategy' => [ - 'description' => 'The bidding method of the compute node. 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 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 bidding price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'ComputeSpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'example' => '0.56', - ], - 'Nodes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NodesInfo' => [ - 'description' => 'The information of the on-premises node in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Role' => [ - 'description' => 'The role of the node in the on-premises cluster. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'example' => 'Compute', - ], - 'HostName' => [ - 'description' => 'The hostname of the node in the on-premises cluster.'."\n", - 'type' => 'string', - 'example' => 'compute000', - ], - 'IpAddress' => [ - 'description' => 'The IP address of the node in the on-premises cluster.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'AccountType' => [ - 'description' => 'The service type of the domain account to which the node in the on-premises cluster belongs. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n" - ."\n" - .'Default value: nis.'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'Dir' => [ - 'description' => 'The directory of the node in the on-premises cluster.'."\n", - 'type' => 'string', - 'example' => '/opt/sge/default/', - ], - 'SchedulerType' => [ - 'description' => 'The scheduler type of the node in the on-premises cluster. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n" - ."\n" - .'Default value: pbs.'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - ], - ], - ], - ], - ], - 'InitialImage' => [ - 'description' => 'The image information of the operating systems.'."\n", - 'type' => 'object', - 'properties' => [ - 'OsTag' => [ - 'description' => 'An array of OS images that are supported by E-HPC.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.6_64', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'centos_7_6_x64_20G_alibase_20211130.vhd', - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '7ABFF29F-BD9C-4663-AD5D-E620FA48****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 403 => [ + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ClusterInfo\\": {\\n \\"Status\\": \\"creating\\",\\n \\"VpcId\\": \\"vpc-bp1pxkcvmmz53ki89****\\",\\n \\"KeyPairName\\": \\"test\\",\\n \\"EcsChargeType\\": \\"PostPaid\\",\\n \\"SecurityGroupId\\": \\"sg-bp1asugr34gzn****\\",\\n \\"SccClusterId\\": \\"00b648b****\\",\\n \\"CreateTime\\": \\"2020-12-24T03:18:23.000Z\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"VolumeProtocol\\": \\"nfs\\",\\n \\"Description\\": \\"cluster\\",\\n \\"VolumeId\\": \\"008b64****\\",\\n \\"HaEnable\\": false,\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Name\\": \\"cluster\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"SchedulerVersion\\": \\"18.1.1\\",\\n \\"DeployMode\\": \\"Simple\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"VolumeMountpoint\\": \\"008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"RemoteDirectory\\": \\"NasMountpoint:/RemoteDirectory\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"ImageName\\": \\"test_for_Image\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp15de54eet1c43f****\\",\\n \\"ClientVersion\\": \\"1.0.1\\",\\n \\"ZoneId\\": \\"cn-hangzhou-k\\",\\n \\"ResourceGroupId\\": \\"rg-aek23szz5i2****\\",\\n \\"RamRoleName\\": \\"AliyunEHPCFullAccess\\",\\n \\"RamNodeTypes\\": \\"[\\\\\\"manager\\\\\\", \\\\\\"compute\\\\\\"]\\",\\n \\"Applications\\": {\\n \\"ApplicationInfo\\": [\\n {\\n \\"Tag\\": \\"OpenMPI_1.8.7\\",\\n \\"Name\\": \\"openmpi\\",\\n \\"Version\\": \\"1.10\\"\\n }\\n ]\\n },\\n \\"PostInstallScripts\\": {\\n \\"PostInstallScriptInfo\\": [\\n {\\n \\"Url\\": \\"example.com\\",\\n \\"Args\\": \\"bash file.sh\\"\\n }\\n ]\\n },\\n \\"EcsInfo\\": {\\n \\"Manager\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"Compute\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"Login\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"ProxyMgr\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n }\\n },\\n \\"OnPremiseInfo\\": {\\n \\"OnPremiseInfo\\": [\\n {\\n \\"Type\\": \\"scheduler\\",\\n \\"HostName\\": \\"testecs\\",\\n \\"IP\\": \\"192.168.*.*\\"\\n }\\n ]\\n },\\n \\"AddOnsInfo\\": {\\n \\"AddOnsInfo\\": [\\n {\\n \\"SoftwareId\\": \\"CROMWELL_85\\",\\n \\"DeployMode\\": \\"local\\",\\n \\"Port\\": 10000,\\n \\"Status\\": \\"running\\",\\n \\"URL\\": \\"http://172.16.10.12:10000/\\"\\n }\\n ]\\n },\\n \\"ClusterVersion\\": \\"1.0\\",\\n \\"WithoutAgent\\": 0,\\n \\"Plugin\\": \\"{\\\\\\\\\\\\\\"pluginMod\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"image\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pluginLocalPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/opt/plugin\\\\\\\\\\\\\\"}\\",\\n \\"SchedulerPreInstall\\": 0,\\n \\"Domain\\": \\"ldap\\",\\n \\"OpenldapPar\\": \\"{\\\\n\\\\t\\\\\\"LdapServerIp\\\\\\": \\\\\\"192.168.XX.XX\\\\\\",\\\\n\\\\t\\\\\\"BaseDn\\\\\\": \\\\\\"ehpctest\\\\\\",\\\\n\\\\t\\\\\\"FallbackHomeDir\\\\\\": \\\\\\"/home\\\\\\"\\\\n}\\",\\n \\"WinAdPar\\": \\"{\\\\t\\\\\\"AdUser\\\\\\": \\\\\\"Administrator\\\\\\",\\\\t\\\\\\"AdUserPasswd\\\\\\": \\\\\\"xxxxxx\\\\\\",\\\\t\\\\\\"AdDc\\\\\\": \\\\\\"ad-hybrid001.ehpcad.com\\\\\\",\\\\t\\\\\\"AdIp\\\\\\": \\\\\\"192.168.XX.XX\\\\\\"}\\",\\n \\"Period\\": \\"1\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"AutoRenewPeriod\\": \\"1\\",\\n \\"AutoRenew\\": \\"false\\",\\n \\"ComputeSpotStrategy\\": \\"NoSpot\\",\\n \\"ComputeSpotPriceLimit\\": \\"0.56\\",\\n \\"Nodes\\": {\\n \\"NodesInfo\\": [\\n {\\n \\"Role\\": \\"Compute\\",\\n \\"HostName\\": \\"compute000\\",\\n \\"IpAddress\\": \\"192.168.XX.XX\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Dir\\": \\"/opt/sge/default/\\",\\n \\"SchedulerType\\": \\"pbs\\"\\n }\\n ]\\n },\\n \\"InitialImage\\": {\\n \\"OsTag\\": \\"CentOS_7.6_64\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <ClusterInfo>\\n <Status>creating</Status>\\n <VpcId>vpc-bp1pxkcvmmz53ki89****</VpcId>\\n <KeyPairName>test</KeyPairName>\\n <EcsChargeType>PostPaid</EcsChargeType>\\n <SecurityGroupId>sg-bp1asugr34gzn****</SecurityGroupId>\\n <SccClusterId>00b648b****</SccClusterId>\\n <CreateTime>2020-12-24T03:18:23.000Z</CreateTime>\\n <AccountType>nis</AccountType>\\n <VolumeProtocol>nfs</VolumeProtocol>\\n <Description>cluster</Description>\\n <VolumeId>008b64****</VolumeId>\\n <HaEnable>false</HaEnable>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Name>cluster</Name>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Simple</DeployMode>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <VolumeMountpoint>008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n <RemoteDirectory>NasMountpoint:/RemoteDirectory</RemoteDirectory>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <ImageName>test_for_Image</ImageName>\\n <VolumeType>NAS</VolumeType>\\n <Location>PublicCloud</Location>\\n <Id>i-bp15de54eet1c43f****</Id>\\n <ClientVersion>1.0.1</ClientVersion>\\n <Applications>\\n <Tag>OpenMPI_1.8.7</Tag>\\n <Name>openmpi</Name>\\n <Version>1.10</Version>\\n </Applications>\\n <PostInstallScripts>\\n <Url>example.com</Url>\\n <Args>bash file.sh</Args>\\n </PostInstallScripts>\\n <EcsInfo>\\n <Manager>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Manager>\\n <Compute>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Compute>\\n <Login>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Login>\\n <ProxyMgr>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </ProxyMgr>\\n </EcsInfo>\\n <OnPremiseInfo>\\n <Type>scheduler</Type>\\n <HostName>testecs</HostName>\\n <IP>192.168.*.*</IP>\\n </OnPremiseInfo>\\n </ClusterInfo>\\n</DescribeClusterResponse>","errorExample":""}]', - 'title' => 'DescribeCluster', - 'summary' => 'Queries the details of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7ABFF29F-BD9C-4663-AD5D-E620FA48****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddQueueResponse>\\n <RequestId>7ABFF29F-BD9C-4663-AD5D-E620FA48****</RequestId>\\n</AddQueueResponse>","errorExample":""}]', + 'title' => 'AddQueue', + 'summary' => 'Creates a queue for a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyClusterAttributes' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddQueue'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:AddQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'AddSecurityGroup' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2779,145 +895,26 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75892', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new cluster name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cluster1', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new cluster description.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-description', - ], - ], - [ - 'name' => 'ImageOwnerAlias', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new image type of the cluster. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'self', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_06_64_20G_alibase_2019071****', - ], - ], - [ - 'name' => 'RamRoleName', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance RAM role.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testRamRoleName', - ], + 'schema' => ['description' => 'The security group ID of the instance.'."\n" + ."\n" + .'You can call the [DescribeSecurityGroups](~~25556~~) operation to query available security groups in the current region.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sg-bp13n61xsydodfyg****', 'title' => ''], ], [ - 'name' => 'RamNodeTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The type of the node to which you want to bind the RAM role.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The type of the node to which you want to bind the RAM role.'."\n" - ."\n" - .'* Valid values if the DeployMode parameter is set to Standard: scheduler, account, login, and compute. Separate multiple values with commas (,).'."\n" - .'* Valid values if the DeployMode parameter is set to Simple: manager, login, and compute. Separate multiple values with commas (,).'."\n" - .'* Valid values if the DeployMode parameter is set to Tiny: manager and compute.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'manager,compute', - ], - 'required' => false, - 'maxItems' => 5, - 'minItems' => 0, - ], - ], - [ - 'name' => 'WinAdPar', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The parameters that are used to connect to the Windows AD server.'."\n", - 'type' => 'object', - 'properties' => [ - 'AdUser' => [ - 'description' => 'The Windows AD server administrator.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'administrator', - ], - 'AdUserPasswd' => [ - 'description' => 'The administrator password of the Windows AD server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxxx', - ], - 'AdDc' => [ - 'description' => 'The domain name of the Windows AD server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpcad.com', - ], - 'AdIp' => [ - 'description' => 'The IP address of the Windows AD server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.1.2', - ], - 'FallbackHomeDir' => [ - 'description' => 'The home directory of the Linux server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home', - ], - ], - 'required' => false, - ], + '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 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], ], 'responses' => [ @@ -2925,810 +922,611 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7336', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'InvalidImage', - 'errorMessage' => 'The image ID is invalid.', - ], - [ - 'errorCode' => 'ImageNotMatched', - 'errorMessage' => 'The image is not matched.', - ], + ['errorCode' => 'InvalidSecurityGroup', 'errorMessage' => 'The security group ID is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'SecurityGroupNotSupported', 'errorMessage' => 'The security group is not supported.', 'description' => 'The security group is not supported.'], + ['errorCode' => 'SecurityGroupAlreadyExists', 'errorMessage' => 'The security group already exists.', 'description' => 'The security group already exists.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'ECS api request error', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'Aliyun api service error', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7336\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyClusterAttributesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7336</RequestId>\\r\\n</ModifyClusterAttributesResponse>","errorExample":""}]', - 'title' => 'ModifyClusterAttributes', - 'summary' => 'Modifies the basic information of a cluster, including the name, description, and image.', - 'description' => '## Usage notes'."\n" - ."\n" - .'Before you call this operation, you can call the [DescribeCluster](~~87126~~) operation to query details of the selected cluster.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddSecurityGroupResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</AddSecurityGroupResponse>","errorExample":""}]', + 'title' => 'AddSecurityGroup', + 'summary' => 'Adds a cluster to a security group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListClusters' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'AddUsers' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '75784', + 'abilityTreeNodes' => ['FEATUREehpcG9MMN3'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'User', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + 'description' => 'The users. You can specify 1 to 100 users.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The array of user information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the new user. The password must be 8 to 30 characters in length and must contain at least three of the following character types:'."\n" + ."\n" + .'* Uppercase letter'."\n" + .'* Lowercase letter'."\n" + .'* Digit'."\n" + .'* Special character: `()~!@#$%^&*-_+=|{}[]:;\'/<>,.?/`'."\n" + ."\n" + .'> We recommend that you use HTTPS to call this operation to avoid password leaks.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1@a2****', 'title' => ''], + 'Name' => ['description' => 'The username of the new user. The username must be 6 to 30 characters in length, and can contain letters, digits and periods (.). The username must start with a letter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'user1', 'title' => ''], + 'Group' => ['description' => 'The permission group of the new user. Valid values:'."\n" + ."\n" + .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" + .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'users', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 10000, + 'title' => '', ], ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use asynchronous message links to add the users.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Clusters' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ClusterInfoSimple' => [ - 'description' => 'The list of clusters.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-b3f3edefefeep0760yju****', - ], - 'Status' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" - ."\n" - .'* uninit: The cluster is not initialized.'."\n" - .'* creating: The cluster is being created.'."\n" - .'* init: The cluster is being initialized.'."\n" - .'* running: The cluster is running.'."\n" - .'* exception: The cluster encounters an exception.'."\n" - .'* releasing: The cluster is being released.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'CreateTime' => [ - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'string', - 'example' => '2020-10-30T07:39:20.000Z', - ], - 'IsComputeEss' => [ - 'description' => 'Indicates whether a scaling group was enabled. Valid values:'."\n" - ."\n" - .'* true: A scaling group is enabled.'."\n" - .'* false: No scaling group is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ComputeSpotStrategy' => [ - 'description' => 'The bidding method of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances of the compute node are preemptible instances. These types of instances have a specified maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances of the compute node are preemptible instances. The price of these instances is based on the current market price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'AccountType' => [ - 'description' => 'The server type of the account. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'Count' => [ - 'description' => 'The number of compute nodes in the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'EhpcVersion' => [ - 'description' => 'The version of E-HPC.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'clusterdescription', - ], - 'BaseOsTag' => [ - 'description' => 'The operating system tag of the base image. The tag was used only by the management node.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Name' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'wi_1607_x64_dtc_zh_40G_alibase****', - ], - 'ComputeSpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the ECS instance under the compute node. The return value can be accurate to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.034', - ], - 'SchedulerType' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - 'DeployMode' => [ - 'description' => 'The mode in which the cluster was deployed. Valid values:'."\n" - ."\n" - .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" - .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'NodeSuffix' => [ - 'description' => 'The suffix of the node.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'OsTag' => [ - 'description' => 'The operating system tag of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'NodePrefix' => [ - 'description' => 'The prefix of the node.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'InstanceChargeType' => [ - 'description' => 'The billing method of the nodes in the cluster. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1lfcjbfb099rrjn****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-c', - ], - 'LoginNodes' => [ - 'description' => 'The list of logon nodes.'."\n", - 'type' => 'string', - 'example' => '{"Id": "i-bp13x4is8pvdhws7e****"}', - ], - 'Id' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-jeJki6****', - ], - 'Location' => [ - 'description' => 'The location where the cluster was deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'ClientVersion' => [ - 'description' => 'The version of the client.'."\n", - 'type' => 'string', - 'example' => '1.0.64', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.You can call the ListResourceGroups operation to query the IDs of resource groups.', - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph****', - ], - 'Managers' => [ - 'description' => 'The list of management nodes.'."\n", - 'type' => 'object', - 'properties' => [ - 'OperatingCount' => [ - 'description' => 'The number of nodes that are being used in the queue. This includes those that are being initialized, installed, or released.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExceptionCount' => [ - 'description' => 'The number of abnormal nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'StoppedCount' => [ - 'description' => 'The number of stopped nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Total' => [ - 'description' => 'The total number of management nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NormalCount' => [ - 'description' => 'The number of normal nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'Computes' => [ - 'description' => 'The information about compute nodes.'."\n", - 'type' => 'object', - 'properties' => [ - 'OperatingCount' => [ - 'description' => 'The number of nodes that are being used in the queue. This includes those that are being initialized, installed, or released.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExceptionCount' => [ - 'description' => 'The number of abnormal nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'StoppedCount' => [ - 'description' => 'The number of stopped nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Total' => [ - 'description' => 'The total number of nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NormalCount' => [ - 'description' => 'The number of normal nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'TotalResources' => [ - 'description' => 'The statistics of all resources in the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The number of GPU cards. Unit: cards.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - ], - ], - 'UsedResources' => [ - 'description' => 'The number of consumed resources in the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The number of GPU cards. Unit: cards.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: MiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - ], - ], - 'HasPlugin' => [ - 'description' => 'Indicates whether plug-ins were used in the cluster. Valid values:'."\n" - ."\n" - .'* true: Plug-ins are used.'."\n" - .'* false: Plug-ins are not used.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserAlreadyExist', 'errorMessage' => 'The specified user already exists in domain: %s.', 'description' => 'The user already exists in domain: %s'], + ['errorCode' => 'AgentError.Account.UserAddFailure', 'errorMessage' => 'Failed to add user to domain: %s.', 'description' => 'Failed to add the user to domain: %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'The role does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Clusters\\": {\\n \\"ClusterInfoSimple\\": [\\n {\\n \\"VpcId\\": \\"vpc-b3f3edefefeep0760yju****\\",\\n \\"Status\\": \\"running\\",\\n \\"CreateTime\\": \\"2020-10-30T07:39:20.000Z\\",\\n \\"IsComputeEss\\": false,\\n \\"ComputeSpotStrategy\\": \\"NoSpot\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Count\\": 3,\\n \\"EhpcVersion\\": \\"1.0.0\\",\\n \\"Description\\": \\"clusterdescription\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Name\\": \\"test\\",\\n \\"ImageId\\": \\"wi_1607_x64_dtc_zh_40G_alibase****\\",\\n \\"ComputeSpotPriceLimit\\": 0.034,\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"DeployMode\\": \\"Standard\\",\\n \\"NodeSuffix\\": \\"name\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"NodePrefix\\": \\"test\\",\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"VSwitchId\\": \\"vsw-bp1lfcjbfb099rrjn****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-c\\",\\n \\"LoginNodes\\": \\"{\\\\\\"Id\\\\\\": \\\\\\"i-bp13x4is8pvdhws7e****\\\\\\"}\\",\\n \\"Id\\": \\"ehpc-hz-jeJki6****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"ClientVersion\\": \\"1.0.64\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Managers\\": {\\n \\"OperatingCount\\": 1,\\n \\"ExceptionCount\\": 0,\\n \\"StoppedCount\\": 0,\\n \\"Total\\": 2,\\n \\"NormalCount\\": 1\\n },\\n \\"Computes\\": {\\n \\"OperatingCount\\": 1,\\n \\"ExceptionCount\\": 0,\\n \\"StoppedCount\\": 0,\\n \\"Total\\": 2,\\n \\"NormalCount\\": 1\\n },\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"HasPlugin\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClustersResponse>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Clusters>\\n <VpcId>vpc-b3f3edefefeep0760yju****</VpcId>\\n <Status>running</Status>\\n <CreateTime>2020-10-30T07:39:20.000Z</CreateTime>\\n <IsComputeEss>false</IsComputeEss>\\n <ComputeSpotStrategy>NoSpot</ComputeSpotStrategy>\\n <AccountType>nis</AccountType>\\n <Count>3</Count>\\n <EhpcVersion>1.0.0</EhpcVersion>\\n <Description>clusterdescription</Description>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Name>test</Name>\\n <ImageId>wi_1607_x64_dtc_zh_40G_alibase****</ImageId>\\n <ComputeSpotPriceLimit>0.034</ComputeSpotPriceLimit>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Standard</DeployMode>\\n <NodeSuffix>name</NodeSuffix>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <NodePrefix>test</NodePrefix>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <RegionId>cn-hangzhou</RegionId>\\n <InstanceChargeType>PostPaid</InstanceChargeType>\\n <VSwitchId>vsw-bp1lfcjbfb099rrjn****</VSwitchId>\\n <ZoneId>cn-hangzhou-c</ZoneId>\\n <LoginNodes>{\\"Id\\": \\"i-bp13x4is8pvdhws7e****\\"}</LoginNodes>\\n <Id>ehpc-hz-jeJki6****</Id>\\n <Location>PublicCloud</Location>\\n <ClientVersion>1.0.64</ClientVersion>\\n <Managers>\\n <OperatingCount>1</OperatingCount>\\n <ExceptionCount>0</ExceptionCount>\\n <StoppedCount>0</StoppedCount>\\n <Total>2</Total>\\n <NormalCount>1</NormalCount>\\n </Managers>\\n <Computes>\\n <OperatingCount>1</OperatingCount>\\n <ExceptionCount>0</ExceptionCount>\\n <StoppedCount>0</StoppedCount>\\n <Total>2</Total>\\n <NormalCount>1</NormalCount>\\n </Computes>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </UsedResources>\\n <HasPlugin>false</HasPlugin>\\n </Clusters>\\n</ListClustersResponse>","errorExample":""}]', - 'title' => 'ListClusters', - 'summary' => 'Queries all Elastic High Performance Computing (E-HPC) clusters of the current account in each region.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</AddUsersResponse>","errorExample":""}]', + 'title' => 'AddUsers', + 'summary' => 'Adds users to a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListClustersMeta' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:AddUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ApplyNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87126~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The image ID of the compute nodes to be added. The parameter takes effect only when the TargetImageId parameter is not specified.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n" + ."\n" + .'> If you add multiple compute nodes, the TargetImageId parameter takes effect only on the nodes for which the TargetImageId parameter is specified.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', 'title' => ''], + ], + [ + 'name' => 'ComputeSpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'ComputeSpotPriceLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum hourly price of the compute nodes. The value is a floating-point number that supports up to three decimal places. The parameter takes effect only when ComputeSpotStrategy is set to SpotWithPriceLimit.'."\n" + ."\n" + .'If ComputeSpotPriceLimit and InstanceTypeModel.N.MaxPrice are specified at the same time, compute nodes are created based on the smaller value of the two parameters.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.68', 'title' => ''], + ], + [ + 'name' => 'SystemDiskType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: SSD'."\n" + .'* cloud_essd: enhanced SSD (ESSD)'."\n" + .'* cloud: basic disk. Disks of this type are retired.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system disk. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + ], + [ + 'name' => 'HostNamePrefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute', 'title' => ''], + ], + [ + 'name' => 'HostNameSuffix', 'in' => 'query', + 'schema' => ['description' => 'The suffix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'AllocatePublicAddress', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to allocate a public IP address to the compute nodes. Valid values:'."\n" + ."\n" + .'* true: A public IP address is allocated to the compute nodes.'."\n" + .'* false: A public IP address is not allocated to the compute nodes.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the elastic IP address (EIP). Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay-by-bandwidth'."\n" + .'* PayByTraffic: pay-by-traffic'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'default' => 'PayByTraffic', 'title' => ''], + ], + [ + 'name' => 'InternetMaxBandWidthIn', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of the parameter are 1 to 10 and the default value is 10.'."\n" + .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the amount of the outbound bandwidth that is purchased. The default value is the value of the InternetMaxBandWidthOut parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '10', 'default' => '0', 'title' => ''], + ], + [ + 'name' => 'InternetMaxBandWidthOut', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '10', 'default' => '0', 'title' => ''], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs. The parameter is required when the ResourceAmountType parameter is set to Cores.'."\n" + ."\n" + .'You can set vCPU and Memory to query node specifications. For example, you can query the available compute nodes that have 2 vCPUs and 16 GB of memory by setting vCPU to 2 and Memory to 16. You can also query compute nodes by node specification and zone. Query results are sorted by price. The nodes that have the lowest price are created.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory capacity. The parameter is required when the ResourceAmountType parameter is set to Cores. Unit: GB.'."\n" + ."\n" + .'You can set vCPU and Memory to query node specifications. For example, you can query the available compute nodes that have 2 vCPUs and 16 GB of memory by setting vCPU to 2 and Memory to 16. You can also query compute nodes by node specification and zone. Query results are sorted by price. The nodes that have the lowest price are created.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family. The parameter takes effect only when Cores and Memory are specified. Valid values:'."\n" + ."\n" + .'* EntryLevel'."\n" + .'* EnterpriseLevel'."\n" + .'* CreditEntryLevel For more information, see [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'Default value: EnterpriseLevel.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EntryLevel', 'title' => ''], + ], + [ + 'name' => 'TargetCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The amount of the resource that you want to add. The specific number depends on the value of the ResourceAmountType parameter:'."\n" + ."\n" + .'* If ResourceAmountType is set to Instance, the value range of TargetCapacity is 1 to 200.'."\n" + .'* If ResourceAmountType is set to Cores, the value range of TargetCapacity is 1 to 1,000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'ResourceAmountType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource that you want to add. Valid values:'."\n" + ."\n" + .'* Instances: the ECS instances that are used as compute nodes'."\n" + .'* Cores: vCPU and memory'."\n" + ."\n" + .'Default value: Instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Instances', 'title' => ''], + ], + [ + 'name' => 'PriorityStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The application policy of the preemptible nodes. Valid values:'."\n" + ."\n" + .'* LowPriceResourcePlanning: Preemptible nodes are created based on the unit prices of vCPUs in ascending order. Preemptible nodes are created first when multiple preemptible instance types are specified.'."\n" + .'* CapacityOptResourcePlanning: Preemptible nodes are created based on the prices and release rates in ascending order.'."\n" + .'* CustomizedResourcePlanning: Nodes are added based on the predefined value of the ZoneIds.N parameter. Instances of a zone that has a higher priority are used first.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LowPriceResourcePlanning', 'title' => ''], + ], + [ + 'name' => 'StrictSatisfiedTargetCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to meet the requirements of the TargetCapacity parameter. Valid values:'."\n" + ."\n" + .'* true: If the available resources are fewer than the resources that you want to add, no compute nodes are created and an error is returned. If the available resources are more than the resources that you want to add, the following cases may occur:'."\n" + ."\n" + .' * If StrictResourceProvision is set to true, check the inventory of the resources. Compute nodes are created based on the value of the TargetCapacity parameter only when the available resources are sufficient. Otherwise, no compute nodes are created.'."\n" + .' * If StrictResourceProvision is set to false, check the inventory of the resources. Compute nodes are created only when the available resources are sufficient. However, some compute nodes may fail to be created because resources become insufficient after the inventory query.'."\n" + ."\n" + .'* false: If the available resources are insufficient, compute nodes are created based on the inventory of the resources.'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'SystemDiskLevel', + 'in' => 'query', + 'schema' => ['description' => 'The performance level of the ESSD that you want to use as the system disk. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL0. For more information, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + ], + [ + 'name' => 'StrictResourceProvision', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to strictly meet the requirements of the TargetCapacity parameter. The parameter takes effect only when StrictSatisfiedTargetCapacity is set to true. Valid values:'."\n" + ."\n" + .'* true: Check the inventory of the resources. Compute nodes are created based on the value of the TargetCapacity parameter only when the available resources are sufficient. Otherwise, no compute nodes are created.'."\n" + .'* false: Check the inventory of the resources. Compute nodes are created only when the available resources are sufficient. However, some compute nodes may fail to be created because resources become insufficient after the inventory query.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Round', + 'in' => 'query', + 'schema' => ['description' => 'The total number of batches to create nodes. Valid values: 1 to 10.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between two consecutive batches. Valid values: 60 to 600. Unit: seconds.'."\n" + ."\n" + .'Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '600', 'minimum' => '60', 'example' => '60', 'default' => '60', 'title' => ''], + ], + [ + 'name' => 'ZoneInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The details of the zones. You can specify up to 10 zones.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => ['description' => 'The ID of the vSwitch. Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'vsw-bp1e47optm9g58zcu****', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone to which the node belongs. Valid values of N: 1 to 10.'."\n" + ."\n" + .'> Each zone ID must be unique.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou-b', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 100, + 'title' => '', + ], + ], + [ + 'name' => 'InstanceTypeModel', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The information about the preemptible instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => ['description' => 'The maximum hourly price that you can pay for the preemptible node. The value is a floating-point number that supports up to three decimal places.'."\n" + ."\n" + .'The parameter takes effect only when ComputeSpotStrategy is set to SpotWithPriceLimit.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.034', 'title' => ''], + 'TargetImageId' => ['description' => 'The image ID of the compute node. You must select a Windows image.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'win2016_1607_x64_dtc_zh-cn_40G_alibase_20210516.vhd', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute node. The default value is the instance type that was specified when you created the cluster or the last time you added compute nodes.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => '1', - 'default' => '1', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The details about the tags that are added to the nodes.'."\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. It cannot start with aliyun or acs: and cannot contain http:// or https://.'."\n" + ."\n" + .'Valid values of N: 1 to 20.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + '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: or contain http:// or https://.'."\n" + ."\n" + .'Valid values of N: 1 to 20.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '100', + 'maxItems' => 19, + 'title' => '', ], ], + [ + 'name' => 'JobQueue', + 'in' => 'query', + 'schema' => ['description' => 'The queue to which the compute nodes are added.'."\n" + ."\n" + .'You can call the [ListQueues](~~92176~~) operation to query the queue name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'The user data of the instance. The user data must be Base64-encoded. The raw data can be up to 16 KB in size. Linux operating systems support shell scripts. Windows operating systems support bat and Powershell scripts. Before you perform Base64 encoding, make sure that the content to be encoded includes \\[bat] or \\[powershell] as the first row.'."\n" + ."\n" + .'> We recommend that you do not pass in confidential information, such as passwords or private keys, in plaintext as user data. This is because the system does not encrypt UserData values when API requests are transmitted. If you must pass in confidential information, we recommend that you encrypt and encode the information in Base64, and then decode and decrypt the information in the same way inside the instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh'."\n", 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page. Valid values: 1 to 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DD517102-B314-4665-BDAC-A32DE7834D02', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Clusters' => [ + 'RequestId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'SatisfiedAmount' => ['description' => 'The number of the compute nodes that are created.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TaskId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'Detail' => ['description' => 'The detailed result of the request.'."\n", 'type' => 'string', 'example' => 'Resources Application is satisfied. Creating...', 'title' => ''], + 'InstanceIds' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ClusterInfoSimple' => [ - 'description' => 'The list of clusters.'."\n", + 'InstanceId' => [ + 'description' => 'The instance IDs.'."\n" + ."\n" + .'> AddNodes is an asynchronous API operation. If a request succeeds, a response is immediately generated before ECS instances are created. Therefore, the value of this parameter is null. You can call the [ListNodes](~~87161~~) operation to query the IDs of the ECS instances.'."\n", + 'title' => '', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the cluster. Valid values:'."\n" - ."\n" - .'* uninit: The cluster is not initialized.'."\n" - .'* creating: The cluster is being created.'."\n" - .'* init: The cluster is being initialized.'."\n" - .'* running: The cluster is running.'."\n" - .'* exception: The cluster encounters an exception.'."\n" - .'* releasing: The cluster is being released.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-b3f3edefefeep0760yju****', - ], - 'SchedulerType' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - 'DeployMode' => [ - 'description' => 'The mode in which the cluster is deployed. Valid values:'."\n" - ."\n" - .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" - .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" - .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'IsComputeEss' => [ - 'description' => 'Indicates whether a scaling group is enabled. Valid values:'."\n" - ."\n" - .'* true: A scaling group is enabled.'."\n" - .'* false: No scaling group is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'OsTag' => [ - 'description' => 'The image tag of the operating system.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'AccountType' => [ - 'description' => 'The server type of the account. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'Description' => [ - 'description' => 'The description of the cluster.'."\n", - 'type' => 'string', - 'example' => 'clusterdescription', - ], - 'Name' => [ - 'description' => 'The name of the cluster.'."\n", - 'type' => 'string', - 'example' => 'cluster1', - ], - 'Id' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-jeJki6****', - ], - 'Location' => [ - 'description' => 'The location where the cluster is deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'ClientVersion' => [ - 'description' => 'The version of the client.'."\n", - 'type' => 'string', - 'example' => '1.0.64', - ], - 'HasPlugin' => [ - 'description' => 'Indicates whether the cluster uses a plug-in. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'EhpcVersion' => [ - 'type' => 'string', - 'description' => 'The version of E-HPC.'."\n", - 'example' => '1.0.0', - ], - ], - ], + 'items' => ['description' => 'The instance IDs.'."\n" + ."\n" + .'> AddNodes is an asynchronous API operation. If a request succeeds, a response is immediately generated before ECS instances are created. Therefore, the value of the parameter is null. You can call the [ListNodes](~~87161~~) operation to query the ID of the ECS instance.'."\n", 'type' => 'string', 'example' => 'null', 'title' => ''], ], ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'InvalidVswitch', 'errorMessage' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', 'description' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.'], + ['errorCode' => 'InvalidImage', 'errorMessage' => 'The image ID is invalid.', 'description' => 'The image ID is invalid.'], + ['errorCode' => 'InvaildSystemDiskSize', 'errorMessage' => 'The system disk size must be greater than or equal to image size.', 'description' => 'The system disk size must be greater than or equal to image size.'], + ['errorCode' => 'InvalidInstanceType.NotSupported', 'errorMessage' => 'The instance type is invalid.', 'description' => 'The instance type is invalid.'], + ['errorCode' => 'InvalidZoneId.ValueNotSupported', 'errorMessage' => 'The specified ZoneId is invalid.', 'description' => 'The specified zone ID is invalid.'], + ], + 403 => [ + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'TooManyLogins', 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['errorCode' => 'TooManyScc', 'errorMessage' => 'The maximum number of SCC instances is exceeded.', 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], + ['errorCode' => 'InvalidCapacityNum.ValueNotSupported', 'errorMessage' => 'The specified TargetCapacity is invalid.', 'description' => 'The specified target capacity is invalid.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeSoldOut', 'errorMessage' => 'The resource is out of stock.', 'description' => 'The resource is out of stock.'], + ['errorCode' => 'ResourceTargetAmount.NotSatisfied', 'errorMessage' => 'The resource application is not satisfied.', 'description' => 'The resource application is not satisfied.'], + ['errorCode' => 'RecommendEmpty.PriceNotSatisfied', 'errorMessage' => 'The price limit is not satisfied.', 'description' => 'The price limit is not satisfied.'], + ['errorCode' => 'QuotaExceed.PayasyougoInstance', 'errorMessage' => 'The pay-as-you-go instance exceeds the quota.', 'description' => 'The pay-as-you-go instance exceeds the quota.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeNoStock', 'errorMessage' => 'The instanceTypes are out of usage.', 'description' => 'The instance type is unavailable.'], + ['errorCode' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'errorMessage' => 'The recommend instanceTypes are not authorized.', 'description' => ''], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later.', 'description' => 'The operation is unknown. Please check arguments and try again later.'], + ], + [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], + ['errorCode' => 'VswitchNotFound', 'errorMessage' => 'The specified vSwitch does not exist.', 'description' => 'The specified vSwitch does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DD517102-B314-4665-BDAC-A32DE7834D02\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Clusters\\": {\\n \\"ClusterInfoSimple\\": [\\n {\\n \\"Status\\": \\"running\\",\\n \\"VpcId\\": \\"vpc-b3f3edefefeep0760yju****\\",\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"DeployMode\\": \\"Standard\\",\\n \\"IsComputeEss\\": false,\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Description\\": \\"clusterdescription\\",\\n \\"Name\\": \\"cluster1\\",\\n \\"Id\\": \\"ehpc-hz-jeJki6****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"ClientVersion\\": \\"1.0.64\\",\\n \\"HasPlugin\\": false,\\n \\"EhpcVersion\\": \\"1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClustersMetaResponse>\\n <PageSize>10</PageSize>\\n <RequestId>DD517102-B314-4665-BDAC-A32DE7834D02</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Clusters>\\n <Status>running</Status>\\n <VpcId>vpc-b3f3edefefeep0760yju****</VpcId>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Standard</DeployMode>\\n <IsComputeEss>false</IsComputeEss>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <AccountType>nis</AccountType>\\n <Description>clusterdescription</Description>\\n <Name>cluster1</Name>\\n <Id>ehpc-hz-jeJki6****</Id>\\n <Location>PublicCloud</Location>\\n <ClientVersion>1.0.64</ClientVersion>\\n <HasPlugin>false</HasPlugin>\\n </Clusters>\\n</ListClustersMetaResponse>","errorExample":""}]', - 'title' => 'ListClustersMeta', - 'summary' => 'Queries the list of cluster metadata.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"SatisfiedAmount\\": 10,\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"Detail\\": \\"Resources Application is satisfied. Creating...\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"null\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ApplyNodes>\\n<TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n<SatisfiedAmount>10</SatisfiedAmount>\\n<RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n<InstanceIds>\\n <InstanceId>null</InstanceId>\\n</InstanceIds>\\n<Detail>Resources Application is satisfied. Creating...</Detail>\\n</ApplyNodes>","errorExample":""}]', + 'title' => 'ApplyNodes', + 'summary' => 'Adds pay-as-you-go or preemptible compute nodes to a cluster.', + 'description' => '## [](#)Description'."\n" + ."\n" + .'You can call the ApplyNodes operation to specify the number of compute nodes, the number of vCPUs, and the memory size when you add nodes to a cluster.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartCluster' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ApplyNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3736,589 +1534,666 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster that you want to start.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '76E1ADE7-D15A-457F-AAFD-06C5A5F052D0', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '76E1ADE7-D15A-457F-AAFD-06C5A5F052D0', - ], - ], - ], + 'schema' => ['description' => 'The ID of the zone in which the resource resides.'."\n" + ."\n" + .'You can call the [ListRegions](~~188593~~) and [DescribeZones](~~25610~~) operations to query the IDs of the zones where E-HPC is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the E-HPC cluster. The name must be 2 to 64 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the E-HPC cluster. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestDescription', 'title' => ''], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 'name' => 'EhpcVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of E-HPC. By default, the parameter is set to the latest version number.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + [ + 'name' => 'ClientVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the E-HPC client. By default, the parameter is set to the latest version number.'."\n" + ."\n" + .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the latest version of the E-HPC client.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.64', 'title' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'OsTag', + 'in' => 'query', + 'schema' => ['description' => 'The operating system tag of the image.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'AccountType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the domain account service. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n" + ."\n" + .'Default value: nis.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nis', 'default' => 'nis', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name of the on-premises E-HPC cluster.'."\n" + ."\n" + .'This parameter takes effect only when the AccountType parameter is set to Idap.', 'type' => 'string', 'required' => false, 'example' => 'ldap', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"76E1ADE7-D15A-457F-AAFD-06C5A5F0****\\",\\n \\"RequestId\\": \\"76E1ADE7-D15A-457F-AAFD-06C5A5F0****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartClusterResponse>\\n <TaskId>76E1ADE7-D15A-457F-AAFD-06C5A5F0****</TaskId>\\n <RequestId>76E1ADE7-D15A-457F-AAFD-06C5A5F0****</RequestId>\\n</StartClusterResponse>","errorExample":""}]', - 'title' => 'StartCluster', - 'summary' => 'Starts a cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StopCluster' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SchedulerType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n" + ."\n" + .'Default value: pbs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pbs', 'default' => 'pbs', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75918', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the E-HPC cluster belongs.'."\n" + ."\n" + .'You can call the [DescribeSecurityGroups](~~25556~~) operation to query available security groups in the current region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sg-bp13n61xsydodfyg****', 'title' => ''], ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'SecurityGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the list of clusters in a region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-SecurityGroup', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the E-HPC cluster belongs.'."\n" + ."\n" + .'You can call the [DescribeVpcs](~~35739~~) operation to query available VPCs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-b3f3edefefeep0760yju****', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The vSwitch ID. E-HPC supports only VPC networks.'."\n" + ."\n" + .'You can call the [DescribeVSwitches](~~35748~~) operation to query available vSwitches.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + [ + 'name' => 'VolumeType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the shared storage. Set the value to `nas`, which indicates NAS file system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nas', 'default' => 'nas', 'title' => ''], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 'name' => 'VolumeId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the NAS file system. If you leave the parameter empty, a Performance NAS file system is created by default.'."\n" + ."\n" + .'You can call the [ListFileSystemWithMountTargets](~~204364~~) operation to query available mount targets.'."\n", 'type' => 'string', 'required' => false, 'example' => '008b64****', 'title' => ''], ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + [ + 'name' => 'VolumeProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The type of the protocol that is used by the NAS file system. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n" + ."\n" + .'Default value: NFS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NFS', 'default' => 'nfs', 'title' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'VolumeMountpoint', + 'in' => 'query', + 'schema' => ['description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Take note of the following information:'."\n" + ."\n" + .'* If the VolumeId parameter is not specified, you can leave the VolumeMountpoint parameter empty. In this case, a mount target is created by default.'."\n" + .'* When the VolumeId parameter is specified, the VolumeMountpoint parameter is required. You can call the [ListFileSystemWithMountTargets](~~204364~~) operation to query available mount targets.'."\n", 'type' => 'string', 'required' => false, 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'VolumeMountOption', + 'in' => 'query', + 'schema' => ['description' => 'The mount options of the NFS file system that you want to mount by running the mount command.'."\n" + ."\n" + .'For more information, see [Mount an NFS file system on a Linux ECS instance](https://www.alibabacloud.com/help/en/nas/latest/mount-an-nfs-file-system-on-a-linux-ecs-instance#section-jyi-hyd-hbr).'."\n", 'type' => 'string', 'required' => false, 'example' => '-t nfs -o vers=4', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'RemoteDirectory', + 'in' => 'query', + 'schema' => ['description' => 'The remote directory to which the NAS file system is mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NasMountpoint:/RemoteDirectory', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopClusterResponse>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</StopClusterResponse>","errorExample":""}]', - 'title' => 'StopCluster', - 'summary' => 'Stops a cluster.', - 'description' => 'If you stop a subscription compute node, its billing is not affected. If you stop a pay-as-you-go compute node for which you have enabled the *economical mode*, you are no longer charged for its computing resources. For more information, see [Economical mode](~~63353~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RecoverCluster' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DeployMode', + 'in' => 'query', + 'schema' => ['description' => 'The mode in which the E-HPC cluster is deployed. Valid values:'."\n" + ."\n" + .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Simple: A management node, which consists of an account node and a scheduling node, is deployed, while a logon node and multiple compute nodes are separately deployed.'."\n" + .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n" + ."\n" + .'Default value: Standard.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Simple', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'HaEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID. The cluster must be in the Exception state.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the ID and status of a cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'Specifies whether to enable the high availability feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> If high availability is enabled, a primary management node and a secondary management node are used.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'OsTag', + 'name' => 'EcsChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the system image.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image tags supported by Elastic High Performance Computing (E-HPC).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.2_64', - ], + 'schema' => ['description' => 'The billing method of the nodes. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go.'."\n" + .'* PrePaid: subscription.'."\n" + ."\n" + .'If you set the parameter to PrePaid, auto-renewal is enabled by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'default' => 'PostPaid', 'title' => ''], ], [ - 'name' => 'AccountType', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'The service type of the domain account. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n" - ."\n" - .'Default value: nis.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nis', - ], + 'schema' => ['description' => 'The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. Special characters include:'."\n" + ."\n" + .'`( ) ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? /`'."\n" + ."\n" + .'You must specify either Password or KeyPairName. If both are specified, the Password parameter prevails.'."\n" + ."\n" + .'> We recommend that you use HTTPS to call the API operation to prevent password leakage.'."\n", 'type' => 'string', 'required' => false, 'example' => '123****', 'title' => ''], ], [ - 'name' => 'SchedulerType', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n" - ."\n" - .'Default value: pbs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pbs', - ], + 'schema' => ['description' => 'The name of the key pair.'."\n" + ."\n" + .'> For more information, see [Create an SSH key pair](~~51793~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ImageOwnerAlias', 'in' => 'query', + 'schema' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + ."\n" + .'Default value: system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'self', 'default' => 'system', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The image IDs.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the images that are supported by E-HPC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_02_64_20G_alibase_20170818****', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Manager.Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of the management nodes. Valid values: 1 and 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Manager.InstanceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The instance type of the management nodes.'."\n" + ."\n" + .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Compute.Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of compute nodes in the cluster. Valid values: 0 to 99.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1', 'default' => '0', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Compute.InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The instance type of the compute nodes.'."\n" + ."\n" + .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Login.Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of the logon nodes. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1', 'default' => '0', 'title' => ''], + ], + [ + 'name' => 'EcsOrder.Login.InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The instance type of the logon nodes.'."\n" + ."\n" + .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + [ + 'name' => 'SccClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The Super Computing Cluster (SCC) instance ID.'."\n" + ."\n" + .'If you specify the parameter, the SCC instance is moved to a new SCC cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => '00b648b****', 'title' => ''], + ], + [ + 'name' => 'ComputeSpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The bidding method of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'ComputeSpotPriceLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'string', 'required' => false, 'example' => '0.034', 'title' => ''], + ], + [ + 'name' => 'ComputeEnableHt', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable hyper-threading for the compute node. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The duration of the subscription. The unit of the duration is specified by the `PeriodUnit` parameter.'."\n" + ."\n" + .'* Valid values if PriceUnit is set to Year: 1, 2, and 3.'."\n" + .'* Valid values if PriceUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" + .'* Valid value if PriceUnit is set to Hour: 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PeriodUnit', + 'in' => 'query', + 'schema' => ['description' => 'The unit of the subscription duration. Valid values:'."\n" + ."\n" + .'* Year'."\n" + .'* Month'."\n" + .'* Hour'."\n" + ."\n" + .'Default value: Month.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Year', 'title' => ''], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'query', + 'schema' => ['description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'InputFileUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the job file that is uploaded to an Object Storage Service (OSS) bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://ehpc-tianshui.oss-cn-beijing.aliyuncs.com/test-u****/testlist_ehpc.sh', 'title' => ''], + ], + [ + 'name' => 'JobQueue', + 'in' => 'query', + 'schema' => ['description' => 'The queue to which the compute nodes are added.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], + ], + [ + 'name' => 'SystemDiskType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: standard SSD'."\n" + .'* cloud_essd: enhanced SSD (ESSD)'."\n" + .'* cloud: basic disk. Disks of this type are retired.'."\n" + ."\n" + .'Default value: cloud_ssd.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + ], + [ + 'name' => 'SystemDiskSize', + 'in' => 'query', + 'schema' => ['description' => 'The system disk size. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + ], + [ + 'name' => 'RemoteVisEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable Virtual Network Computing (VNC). Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.'."\n" + ."\n" + .'You can call the [ListResourceGroups](~~158855~~) operation to obtain the ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + ], + [ + 'name' => 'WithoutElasticIp', + 'in' => 'query', 'schema' => [ - 'description' => 'The type of the image. Valid values:'."\n" + 'description' => 'Specifies whether the logon node uses an elastic IP address (EIP). Default value: false.'."\n" ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" + .'Valid values:'."\n" ."\n" - .'Default value: system.'."\n", - 'type' => 'string', + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', 'required' => false, - 'example' => 'system', + 'example' => 'true', + 'default' => 'false', + 'enum' => ['true', 'false'], + 'title' => '', ], ], [ - 'name' => 'ImageId', + 'name' => 'SystemDiskLevel', 'in' => 'query', + 'schema' => ['description' => 'The performance level of the ESSD to be used as the system disk. Default value: PL1. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD delivers up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'For more information, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + ], + [ + 'name' => 'IsComputeEss', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable auto scaling. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ClusterVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the E-HPC cluster.'."\n" + ."\n" + .'Default value: 1.0.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0', 'title' => ''], + ], + [ + 'name' => 'Application', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The image ID.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the images that are supported by E-HPC.'."\n", - 'type' => 'string', + 'description' => 'The application information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Tag' => ['description' => 'The tag of the software.'."\n" + ."\n" + .'Valid values of N: 0 to 100.'."\n" + ."\n" + .'You can call the [ListSoftwares](~~87216~~) operation to query the tag of the software.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OpenMPI_11.1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => 'm-bp18133n0335yq****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'ClientVersion', + 'name' => 'AdditionalVolumes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The version of the E-HPC client. The default value is the latest version of the client.'."\n" - ."\n" - .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the latest version of the E-HPC client.'."\n", - 'type' => 'string', + 'description' => 'The information of the NAS file system.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'JobQueue' => ['description' => 'The queue of the nodes to which the NAS file system is attached.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'high', 'title' => ''], + 'VolumeId' => ['description' => 'The ID of the NAS file system.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'extreme-00b88****', 'title' => ''], + 'Roles' => [ + 'description' => 'The node information to which the NAS file system is attached.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The type of the nodes to which the NAS file system is attached.'."\n" + ."\n" + .'Valid values of N in AdditionalVolumes.N.Roles: 1 to 10'."\n" + ."\n" + .'Valid values of N in Roles.N.Name: 0 to 8.'."\n", 'type' => 'string', 'required' => false, 'example' => '["Compute"]', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 8, + 'title' => '', + ], + 'VolumeMountpoint' => ['description' => 'The mount target of the NAS file system.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => '0088****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', 'title' => ''], + 'VolumeMountOption' => ['description' => 'The mount options of the NAS file system.'."\n" + ."\n" + .'You can specify 1 to 10 vCPUs.'."\n", 'type' => 'string', 'required' => false, 'example' => '-t nfs -o vers=4.0', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote directory to which the NAS file system is mounted.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => '/test', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the additional shared storage. Only NAS file systems are supported.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nas', 'title' => ''], + 'LocalDirectory' => ['description' => 'The local directory on which the NAS file system is mounted.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => '/ff', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The type of the protocol that is used by the NAS file system. Valid value:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n" + ."\n" + .'Default value: NFS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NFS', 'title' => ''], + 'Location' => ['description' => 'The type of the E-HPC cluster. Set the value to PublicCloud.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PublicCloud', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => '1.0.76', + 'maxItems' => 100, + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'PostInstallScript', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => '18FB21E3-F423-4B84-BB63-D8887A29****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '18FB21E3-F423-4B84-BB63-D8887A29****', + 'description' => 'The information of the post-installation script.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Args' => ['description' => 'The parameter that is used to run the script after the cluster is created.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bashfile.sh', 'title' => ''], + 'Url' => ['description' => 'The URL that is used to download the script after the E-HPC cluster is created.'."\n" + ."\n" + .'Valid values of N: 0 to 16'."\n", 'type' => 'string', 'required' => false, 'example' => '/opt/job.sh', 'title' => ''], ], + 'required' => false, + 'title' => '', ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'OrderError.InsufficientBalance', - 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', - ], - [ - 'errorCode' => 'OrderError.InstHasUnpaidOrder', - 'errorMessage' => 'Your account has an unpaid order.', - ], - [ - 'errorCode' => 'OrderError.Arrearage', - 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', - ], - [ - 'errorCode' => 'OrderError.NoCard', - 'errorMessage' => 'No credit card is bound to your account.', - ], - [ - 'errorCode' => 'OrderError.InvalidPayMethod', - 'errorMessage' => 'No valid default payment method is specified for your account.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameAuthentication', - 'errorMessage' => 'You have not completed the real name authentication.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameRegistration', - 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', - ], - [ - 'errorCode' => 'OrderError.UserProfileIncomplete', - 'errorMessage' => 'You have not completed your user profile.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'The specified VPC is invalid.', - ], - [ - 'errorCode' => 'InvalidVolume', - 'errorMessage' => 'The specified volume is invalid.', - ], - [ - 'errorCode' => 'InvalidSoftware', - 'errorMessage' => 'The specified software is not supported.', - ], - [ - 'errorCode' => 'InvalidVolumeProtocal', - 'errorMessage' => 'The specified volume protocol is invalid.', - ], - [ - 'errorCode' => 'InvalidVolumeMountpoint', - 'errorMessage' => 'The specified volume mount point is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'TooManyClusters', - 'errorMessage' => 'The number of user clusters exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyLogins', - 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', - ], - [ - 'errorCode' => 'TooManyScc', - 'errorMessage' => 'The maximum number of SCC instances is exceeded.', - ], - [ - 'errorCode' => 'QuotaExceeded.PrivateIpAddress', - 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', + 'required' => false, + 'maxItems' => 16, + 'title' => '', ], ], [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'VpcNotFound', - 'errorMessage' => 'The specified VPC does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], - [ - 'errorCode' => 'FailToGenId', - 'errorMessage' => 'Generating cluster ID failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + 'name' => 'Plugin', + 'in' => 'query', + 'schema' => ['description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" + ."\n" + .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" + ."\n" + .'* pluginMod: the plug-in mode. The following modes are supported:'."\n" + ."\n" + .' * oss: The plug-in is downloaded and decompressed from OSS to a local path that is specified by the pluginLocalPath parameter.'."\n" + .' * image: By default, the plug-in is stored in a pre-defined local path that is specified by the pluginLocalPath parameter.'."\n" + ."\n" + .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.'."\n" + ."\n" + .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"pluginMod": "oss","pluginLocalPath": "/opt/plugin","pluginOssPath": "https://bucket.oss-cn-hangzhou.aliyuncs.com/plugin/plugin.tgz"}', 'title' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'WithoutAgent', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether not to install the agent.'."\n" + ."\n" + .'* true: does not install the agent.'."\n" + .'* false: installs the agent.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'WithoutNas', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether to use NAS as a shared storage. Valid values:'."\n" + ."\n" + .'* true: does not use NAS.'."\n" + .'* false: use NAS.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'."\n", 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Resource Access Management (RAM) role.'."\n" + ."\n" + .'You can call the [ListRoles](~~28713~~) operation provided by RAM to query the instance RAM roles that you created.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testRamRoleName', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"18FB21E3-F423-4B84-BB63-D8887A29****\\",\\n \\"RequestId\\": \\"18FB21E3-F423-4B84-BB63-D8887A29****\\"\\n}","errorExample":""},{"type":"xml","example":"<RecoverClusterResponse>\\n <TaskId>18FB21E3-F423-4B84-BB63-D8887A29****</TaskId>\\n <RequestId>18FB21E3-F423-4B84-BB63-D8887A29****</RequestId>\\n</RecoverClusterResponse> ","errorExample":""}]', - 'title' => 'RecoverCluster', - 'summary' => 'Resets and restores a cluster.', - 'description' => 'You can call the operation to reset and restore a cluster only when the cluster is in the Exception state. You can call the [ListClusters](~~87116~~) operation to query the ID and status of a cluster. We recommend that you export all job data before you restore a cluster. When you reset and restore a cluster, take note of the following impacts:'."\n" - ."\n" - .'* The system disks of all nodes are changed. By default, new system disks are configured based on the settings that you specified when the cluster was created.'."\n" - .'* The data on the system disks and data disks of all cluster nodes is lost. The data includes user information, job information, scheduler queue information, and configuration data of auto-scaling queues. However, the data on File Storage NAS file systems is retained.'."\n" - .'* The self-managed queues in the cluster are deleted. All nodes are retained and migrated to the default queue of the cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteCluster' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'NetworkInterfaceTrafficMode', + 'in' => 'query', + 'schema' => ['description' => 'The communication model of the ENI. Valid values:'."\n" + ."\n" + .'* Standard: The TCP communication mode is used.'."\n" + .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with the Elastic RDMA Interface (ERI) enabled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '75793', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set in which to deploy the instance. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pzq****', 'title' => ''], ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RamNodeTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" + 'description' => 'The node of the RAM role.', + 'type' => 'array', + 'items' => ['description' => 'The node of the RAM role.'."\n" ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain cluster IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-QKKVqO****', + .'Valid values of N: 0 to 4'."\n" + ."\n" + .'* If the DeployMode parameter is set to Standard, the following values are valid: scheduler, account, login, and compute. Separate multiple values with commas (,).'."\n" + .'* If the DeployMode parameter is set to Simple, the following values are valid: manager, login, and compute. Separate multiple values with commas (,).'."\n" + .'* If the DeployMode parameter is set to Tiny, the following values are valid: manager and compute.'."\n", 'type' => 'string', 'required' => false, 'example' => 'manager', 'title' => ''], + 'required' => false, + 'example' => 'Standard', + 'maxItems' => 5, + 'minItems' => 0, + 'title' => '', ], ], [ - 'name' => 'ReleaseInstance', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to release Elastic Compute Service (ECS) instances that are created by using Elastic High Performance Computing (E-HPC).'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'The array of the tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The array of the tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['title' => '', 'description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['title' => '', 'description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + 'example' => 'scheduler', + 'title' => '', + ], 'required' => false, - 'example' => 'true', - 'enum' => [ - 'true', + 'maxItems' => 20, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'AddOns', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The custom component service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The component name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cromwell', 'title' => ''], + 'Version' => ['description' => 'The version number of the component.'."\n", 'type' => 'string', 'required' => false, 'example' => '85', 'title' => ''], + 'DeployMode' => ['description' => 'The deployment mode. Valid values: local and ecs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'local', 'title' => ''], + 'DBType' => ['description' => 'The type of the database engine. Valid values: Mysql, and null.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Mysql', 'title' => ''], + 'ConfigFile' => ['description' => 'The path to the configuration file.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/addon/cromwell/cromwell.conf', 'title' => ''], + 'Port' => ['description' => 'The access port of the custom component.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '10000', 'title' => ''], + 'DefaultStart' => ['description' => 'Indicates whether to auto-start the custom component. Valid values: true and false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + 'required' => false, + 'title' => '', ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], ], ], @@ -4327,94 +2202,103 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.'."\n" + ."\n" + .'> CreateCluster is an asynchronous operation. A response is returned if the request succeeds. However, this does not mean that a cluster is created. You can call the [ListTasks](~~268225~~) operation to query the result of the task.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'OrderError.InsufficientBalance', 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.InstHasUnpaidOrder', 'errorMessage' => 'Your account has an unpaid order.', 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['errorCode' => 'OrderError.Arrearage', 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.NoCard', 'errorMessage' => 'No credit card is bound to your account.', 'description' => 'You have not bound a card. Please perform binding first.'], + ['errorCode' => 'OrderError.InvalidPayMethod', 'errorMessage' => 'No valid default payment method is specified for your account.', 'description' => 'No valid payment method is found. Please check again.'], + ['errorCode' => 'OrderError.NoRealNameAuthentication', 'errorMessage' => 'You have not completed the real name authentication.', 'description' => 'You must complete the real-name verification first.'], + ['errorCode' => 'OrderError.NoRealNameRegistration', 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['errorCode' => 'OrderError.UserProfileIncomplete', 'errorMessage' => 'You have not completed your user profile.', 'description' => 'The user has not completed personal information on the international site.'], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'The specified VPC is invalid.', 'description' => 'The VPC information is invalid.'], + ['errorCode' => 'InvalidVolume', 'errorMessage' => 'The specified volume is invalid.', 'description' => 'The specified volume is invalid.'], + ['errorCode' => 'InvalidSoftware', 'errorMessage' => 'The specified software is not supported.', 'description' => 'The requested software is not supported.'], + ['errorCode' => 'InvalidVolumeProtocal', 'errorMessage' => 'The specified volume protocol is invalid.', 'description' => 'The storage protocol is invalid.'], + ['errorCode' => 'InvalidVolumeMountpoint', 'errorMessage' => 'The specified volume mount point is invalid.', 'description' => 'The specified volume mount point is invalid.'], + ['errorCode' => 'MissingParams', 'errorMessage' => 'The %s parameter is required.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'TooManyClusters', 'errorMessage' => 'The number of user clusters exceeds the quota.', 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'TooManyLogins', 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['errorCode' => 'TooManyScc', 'errorMessage' => 'The maximum number of SCC instances is exceeded.', 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['errorCode' => 'QuotaExceeded.PrivateIpAddress', 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', 'description' => 'Insufficient private IP addresses in vSwitch: %s.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'], + ['errorCode' => 'KeyPairNotFound', 'errorMessage' => 'The specified KeyPair does not exist.', 'description' => ''], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'NasServiceNotOpen', 'errorMessage' => 'The NAS service is not activated.', 'description' => 'You have not activated NAS.'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], + ['errorCode' => 'FailToGenId', 'errorMessage' => 'Generating cluster ID failed.', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AckError', 'errorMessage' => 'An error occurred while calling the ACK API operation.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'No authorization is granted.', 'description' => 'No authorization is granted.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\",\\n \\"RequestId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteClusterResponse>\\n <TaskId>F1AB6D8D-E185-4D94-859C-7CE7B8B7****</TaskId>\\n <RequestId>F1AB6D8D-E185-4D94-859C-7CE7B8B7****</RequestId>\\n</DeleteClusterResponse>","errorExample":""}]', - 'title' => 'DeleteCluster', - 'summary' => 'Releases a cluster.', - 'description' => 'After a cluster is released, the pay-as-you-go nodes and the subscription nodes that are expired are automatically released. The subscription nodes that are expired are retained. If you need to release subscription nodes that are not expired, change the billing method to pay-as-you-go. Before you release a cluster, make sure that you no longer use the cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"TaskId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateClusterResponse>\\n <TaskId>F6757FA4-8FED-4602-B7F5-3550C084****</TaskId>\\n <RequestId>F6757FA4-8FED-4602-B7F5-3550C084****</RequestId>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n</CreateClusterResponse>","errorExample":""}]', + 'title' => 'CreateCluster', + 'summary' => 'Creates a pay-as-you-go or subscription E-HPC cluster.', + 'description' => 'After you create an Elastic High Performance Computing (E-HPC) cluster, you are charged for the cluster resources that you use. We recommend that you learn about the billing methods of E-HPC in advance. For more information, see [Billing overview](~~57844~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateHybridCluster' => [ - 'summary' => 'Creates a hybrid cloud cluster.', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateHybridCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4422,405 +2306,219 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the cluster. The name must be 2 to 64 characters in length, and can contain only letters, digits, hyphens (-), and underscores (\\_). It must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'hybridcluster', - ], + 'schema' => ['description' => 'The name of the cluster. The name must be 2 to 64 characters in length, and can contain only letters, digits, hyphens (-), and underscores (\\_). It must start with a letter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'hybridcluster', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the E-HPC cluster. The description must be 2 to 256 characters in length and cannot start with `http://` or` https://`.'."\n" - ."\n" - .'This parameter is empty by default.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestDescription', - ], + 'schema' => ['description' => 'The description of the E-HPC cluster. The description must be 2 to 256 characters in length and cannot start with `http://` or` https://`.'."\n" + ."\n" + .'This parameter is empty by default.', 'type' => 'string', 'required' => false, 'example' => 'TestDescription', 'title' => ''], ], [ 'name' => 'EhpcVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of E-HPC. By default, the latest version is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The version of E-HPC. By default, the latest version is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ 'name' => 'ClientVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the client. By default, the latest version is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.64', - ], + 'schema' => ['description' => 'The version of the client. By default, the latest version is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.64', 'title' => ''], ], [ 'name' => 'OsTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The image tag of the operating system. You can call the [ListImages](~~87213~~) operation to query the image tag.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'CentOS_7.2_64', - ], + 'schema' => ['description' => 'The image tag of the operating system. You can call the [ListImages](~~87213~~) operation to query the image tag.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CentOS_7.2_64', 'title' => ''], ], [ 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the domain account service. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n" - ."\n" - .'Default value: nis.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nis', - ], + 'schema' => ['description' => 'The type of the domain account service. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n" + ."\n" + .'Default value: nis.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nis', 'title' => ''], ], [ 'name' => 'Location', 'in' => 'query', - 'schema' => [ - 'description' => 'The location where the cluster resides. Set the value to OnPremise.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OnPremise', - ], + 'schema' => ['description' => 'The location where the cluster resides. Set the value to OnPremise.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OnPremise', 'title' => ''], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'You can select an existing security group by its ID.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify the `SecurityGroupName` parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp13n61xsydodfyg****', - ], + 'schema' => ['description' => 'You can select an existing security group by its ID.'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify the `SecurityGroupName` parameter.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp13n61xsydodfyg****', 'title' => ''], ], [ 'name' => 'SecurityGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify the `SecurityGroupId` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-SecurityGroup', - ], + 'schema' => ['description' => 'If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify the `SecurityGroupId` parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-SecurityGroup', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) to which the E-HPC cluster belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vpc-b3f3edefefeep0760yju****', - ], + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the E-HPC cluster belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-b3f3edefefeep0760yju****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the instance connects to.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', - ], + 'schema' => ['description' => 'The ID of the vSwitch to which the instance connects to.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], ], [ 'name' => 'EcsOrder.Manager.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the management node. Only Proxy Mode is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The instance type of the management node. Only Proxy Mode is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], ], [ 'name' => 'EcsOrder.Compute.InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the compute nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The instance type of the compute nodes.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ecs.n1.tiny', 'title' => ''], ], [ 'name' => 'VolumeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the file system. Only NAS file systems are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NAS', - 'default' => 'nas', - ], + 'schema' => ['description' => 'The type of the file system. Only NAS file systems are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NAS', 'default' => 'nas', 'title' => ''], ], [ 'name' => 'VolumeId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the file system. NAS file systems cannot be automatically created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '008b64****', - ], + 'schema' => ['description' => 'The ID of the file system. NAS file systems cannot be automatically created.'."\n", 'type' => 'string', 'required' => false, 'example' => '008b64****', 'title' => ''], ], [ 'name' => 'VolumeProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the protocol that is used by the NAS file system. Only NFS is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NFS', - 'default' => 'nfs', - ], + 'schema' => ['description' => 'The type of the protocol that is used by the NAS file system. Only NFS is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NFS', 'default' => 'nfs', 'title' => ''], ], [ 'name' => 'VolumeMountpoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Mount targets cannot be automatically created for NAS file systems.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', - ], + 'schema' => ['description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Mount targets cannot be automatically created for NAS file systems.'."\n", 'type' => 'string', 'required' => false, 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], ], [ 'name' => 'RemoteDirectory', 'in' => 'query', - 'schema' => [ - 'description' => 'The remote directory to which the file system is mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/RemoteDirectory', - ], + 'schema' => ['description' => 'The remote directory to which the file system is mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => '/RemoteDirectory', 'title' => ''], ], [ 'name' => 'OnPremiseVolumeProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the protocol that is used by the on-premises file system. Only NFS is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NFS', - ], + 'schema' => ['description' => 'The type of the protocol that is used by the on-premises file system. Only NFS is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NFS', 'title' => ''], ], [ 'name' => 'OnPremiseVolumeMountPoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the on-premises file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RemoteNasDomain.com', - ], + 'schema' => ['description' => 'The mount target of the on-premises file system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'RemoteNasDomain.com', 'title' => ''], ], [ 'name' => 'OnPremiseVolumeRemotePath', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount path of the on-premises file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' /RemoteDirectory', - ], + 'schema' => ['description' => 'The mount path of the on-premises file system.'."\n", 'type' => 'string', 'required' => false, 'example' => ' /RemoteDirectory', 'title' => ''], ], [ 'name' => 'OnPremiseVolumeLocalPath', 'in' => 'query', - 'schema' => [ - 'description' => 'The path in which the on-premises file system is mounted on the nodes on the cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/OnCloudDirectory', - ], + 'schema' => ['description' => 'The path in which the on-premises file system is mounted on the nodes on the cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => '/OnCloudDirectory', 'title' => ''], ], [ 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: `() ~ ! @ # $ % ^ & * - = + | { } [ ] : ; ‘ < > , . ? /`'."\n" - ."\n" - .'> We recommend that you use HTTPS to call the API operation to prevent password leakage.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123****', - ], + 'schema' => ['description' => 'The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: `() ~ ! @ # $ % ^ & * - = + | { } [ ] : ; ‘ < > , . ? /`'."\n" + ."\n" + .'> We recommend that you use HTTPS to call the API operation to prevent password leakage.'."\n", 'type' => 'string', 'required' => false, 'example' => '123****', 'title' => ''], ], [ 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with http:// or https://.[](http://https://。、(:)、(\\_)(-)。)'."\n" - ."\n" - .'> To use an SSH key pair, see [Create an SSH key pair](~~51793~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The name of the key pair. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter and cannot start with http:// or https://.[](http://https://。、(:)、(\\_)(-)。)'."\n" + ."\n" + .'> To use an SSH key pair, see [Create an SSH key pair](~~51793~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'JobQueue', 'in' => 'query', - 'schema' => [ - 'description' => 'The default queue of the scale-out nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + 'schema' => ['description' => 'The default queue of the scale-out nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph****', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'HybridClusterOpMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which the proxy node manages the offline nodes. Valid values:'."\n" - ."\n" - .'* SSH: indicates management via SSH logon.'."\n" - .'* CA: indicates management through Cloud Assistant.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SSH', - ], + 'schema' => ['description' => 'The mode in which the proxy node manages the offline nodes. Valid values:'."\n" + ."\n" + .'* SSH: indicates management via SSH logon.'."\n" + .'* CA: indicates management through Cloud Assistant.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SSH', 'title' => ''], ], [ 'name' => 'SchedulerPreInstall', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the scheduler is preinstalled for the image. Valid values:'."\n" - ."\n" - .'* true: The scheduler is preinstalled. When you create or add a node, you do not need to install the scheduler.'."\n" - .'* false: The scheduler is not preinstalled. When you create or add a cluster, you must install the scheduler.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether the scheduler is preinstalled for the image. Valid values:'."\n" + ."\n" + .'* true: The scheduler is preinstalled. When you create or add a node, you do not need to install the scheduler.'."\n" + .'* false: The scheduler is not preinstalled. When you create or add a cluster, you must install the scheduler.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ComputeSpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\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 bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\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 bidding price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ 'name' => 'ComputeSpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price for the ECS instance under the compute node. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.034', - ], + 'schema' => ['description' => 'The maximum hourly price for the ECS instance under the compute node. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.034', 'title' => ''], ], [ 'name' => 'ImageOwnerAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + 'schema' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wi_1607_x64_dtc_zh_40G_alibase****', - ], + 'schema' => ['description' => 'The IDs of the images.'."\n", 'type' => 'string', 'required' => false, 'example' => 'wi_1607_x64_dtc_zh_40G_alibase****', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + '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 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ 'name' => 'MultiOs', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the cluster supports multiple operating systems. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether the cluster supports multiple operating systems. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Nodes', @@ -4833,63 +2531,35 @@ 'description' => 'The array of node information.'."\n", 'type' => 'object', 'properties' => [ - 'SchedulerType' => [ - 'description' => 'The scheduler type of the on-premises node in the cluster. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n" - ."\n" - .'Default value: pbs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pbs', - ], - 'IpAddress' => [ - 'description' => 'The IP address of the on-premises node in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '00b648b****', - ], - 'HostName' => [ - 'description' => 'The hostname of the on-premises node in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test1', - ], - 'Role' => [ - 'description' => 'The role of the on-premises node in the cluster. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute', - ], - 'AccountType' => [ - 'description' => 'The service type of the domain account to which the on-premises node in the cluster belongs. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n" - ."\n" - .'Default value: nis.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nis', - ], - 'Dir' => [ - 'description' => 'The directory of the on-premises node in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/opt/sge/default/', - ], + 'SchedulerType' => ['description' => 'The scheduler type of the on-premises node in the cluster. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n" + ."\n" + .'Default value: pbs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pbs', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the on-premises node in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => '00b648b****', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the on-premises node in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], + 'Role' => ['description' => 'The role of the on-premises node in the cluster. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'required' => false, 'example' => 'Compute', 'title' => ''], + 'AccountType' => ['description' => 'The service type of the domain account to which the on-premises node in the cluster belongs. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n" + ."\n" + .'Default value: nis.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nis', 'title' => ''], + 'Dir' => ['description' => 'The directory of the on-premises node in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => '/opt/sge/default/', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 100, + 'title' => '', ], ], [ @@ -4903,17 +2573,14 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Tag' => [ - 'description' => 'The tag of the software.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OpenMPI_11.1', - ], + 'Tag' => ['description' => 'The tag of the software.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OpenMPI_11.1', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 100, + 'title' => '', ], ], [ @@ -4927,45 +2594,32 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Args' => [ - 'description' => 'The parameter that is used to run the script after the cluster is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bash file.sh', - ], - 'Url' => [ - 'description' => 'The full path of the post-installation script.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/opt/job.sh', - ], + 'Args' => ['description' => 'The parameter that is used to run the script after the cluster is created.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bash file.sh', 'title' => ''], + 'Url' => ['description' => 'The full path of the post-installation script.'."\n", 'type' => 'string', 'required' => false, 'example' => '/opt/job.sh', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 16, + 'title' => '', ], ], [ 'name' => 'Plugin', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" - ."\n" - .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" - ."\n" - .'* pluginMod: the mode of the plug-in. The following modes are supported:'."\n" - ."\n" - .' * oss: The plug-in is downloaded and decompressed from OSS to a local path. The local path is specified by the pluginLocalPath parameter.'."\n" - .' * image: By default, the plug-in is stored in a pre-defined local path. The local path is specified by the pluginLocalPath parameter.'."\n" - ."\n" - .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.'."\n" - ."\n" - .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"pluginMod": "oss","pluginLocalPath": "/opt/plugin","pluginOssPath": "https://bucket.oss-cn-hangzhou.aliyuncs.com/plugin/plugin.tgz"}', - ], + 'schema' => ['description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" + ."\n" + .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" + ."\n" + .'* pluginMod: the mode of the plug-in. The following modes are supported:'."\n" + ."\n" + .' * oss: The plug-in is downloaded and decompressed from OSS to a local path. The local path is specified by the pluginLocalPath parameter.'."\n" + .' * image: By default, the plug-in is stored in a pre-defined local path. The local path is specified by the pluginLocalPath parameter.'."\n" + ."\n" + .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in oss mode and a non-shared directory in image mode.'."\n" + ."\n" + .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only when the pluginMod parameter is set to oss.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"pluginMod": "oss","pluginLocalPath": "/opt/plugin","pluginOssPath": "https://bucket.oss-cn-hangzhou.aliyuncs.com/plugin/plugin.tgz"}', 'title' => ''], ], [ 'name' => 'OpenldapPar', @@ -4975,26 +2629,12 @@ 'description' => 'The parameter that is used to connect to the OpenLDAP server.'."\n", 'type' => 'object', 'properties' => [ - 'LdapServerIp' => [ - 'description' => 'The IP address of the LDAP server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.1.2', - ], - 'BaseDn' => [ - 'description' => 'The BaseDN of the LDAP server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpctest', - ], - 'FallbackHomeDir' => [ - 'description' => 'The home directory of the Linux server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home', - ], + 'LdapServerIp' => ['description' => 'The IP address of the LDAP server.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.1.2', 'title' => ''], + 'BaseDn' => ['description' => 'The BaseDN of the LDAP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpctest', 'title' => ''], + 'FallbackHomeDir' => ['description' => 'The home directory of the Linux server.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home', 'title' => ''], ], 'required' => false, + 'title' => '', ], ], [ @@ -5005,32 +2645,13 @@ 'description' => 'The parameter that is used to connect to the Windows AD server.'."\n", 'type' => 'object', 'properties' => [ - 'AdUser' => [ - 'description' => 'The AD user.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Administrator', - ], - 'AdUserPasswd' => [ - 'description' => 'The password of the AD user.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], - 'AdDc' => [ - 'description' => 'The name of the AD domain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ad-hybrid001.ehpcad.com', - ], - 'AdIp' => [ - 'description' => 'The IP address of the AD domain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.1.2', - ], + 'AdUser' => ['description' => 'The AD user.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Administrator', 'title' => ''], + 'AdUserPasswd' => ['description' => 'The password of the AD user.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xxxxxx', 'title' => ''], + 'AdDc' => ['description' => 'The name of the AD domain.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ad-hybrid001.ehpcad.com', 'title' => ''], + 'AdIp' => ['description' => 'The IP address of the AD domain.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.1.2', 'title' => ''], ], 'required' => false, + 'title' => '', ], ], ], @@ -5039,203 +2660,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', - ], - 'ClusterId' => [ - 'description' => 'The ID of cluster.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of cluster.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'OrderError.InsufficientBalance', - 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', - ], - [ - 'errorCode' => 'OrderError.InstHasUnpaidOrder', - 'errorMessage' => 'Your account has an unpaid order.', - ], - [ - 'errorCode' => 'OrderError.Arrearage', - 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', - ], - [ - 'errorCode' => 'OrderError.NoCard', - 'errorMessage' => 'No credit card is bound to your account.', - ], - [ - 'errorCode' => 'OrderError.InvalidPayMethod', - 'errorMessage' => 'No valid default payment method is specified for your account.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameAuthentication', - 'errorMessage' => 'You have not completed the real name authentication.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameRegistration', - 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', - ], - [ - 'errorCode' => 'OrderError.UserProfileIncomplete', - 'errorMessage' => 'You have not completed your user profile.', - ], - [ - 'errorCode' => 'InvalidVpc', - 'errorMessage' => 'The specified VPC is invalid.', - ], - [ - 'errorCode' => 'InvalidVolume', - 'errorMessage' => 'The specified volume is invalid.', - ], - [ - 'errorCode' => 'InvalidSoftware', - 'errorMessage' => 'The specified software is not supported.', - ], - [ - 'errorCode' => 'InvalidVolumeProtocal', - 'errorMessage' => 'The specified volume protocol is invalid.', - ], - [ - 'errorCode' => 'InvalidVolumeMountpoint', - 'errorMessage' => 'The specified volume mount point is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'OrderError.InsufficientBalance', 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.InstHasUnpaidOrder', 'errorMessage' => 'Your account has an unpaid order.', 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['errorCode' => 'OrderError.Arrearage', 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.NoCard', 'errorMessage' => 'No credit card is bound to your account.', 'description' => 'You have not bound a card. Please perform binding first.'], + ['errorCode' => 'OrderError.InvalidPayMethod', 'errorMessage' => 'No valid default payment method is specified for your account.', 'description' => 'No valid payment method is found. Please check again.'], + ['errorCode' => 'OrderError.NoRealNameAuthentication', 'errorMessage' => 'You have not completed the real name authentication.', 'description' => 'You must complete the real-name verification first.'], + ['errorCode' => 'OrderError.NoRealNameRegistration', 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['errorCode' => 'OrderError.UserProfileIncomplete', 'errorMessage' => 'You have not completed your user profile.', 'description' => 'The user has not completed personal information on the international site.'], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'The specified VPC is invalid.', 'description' => 'The VPC information is invalid.'], + ['errorCode' => 'InvalidVolume', 'errorMessage' => 'The specified volume is invalid.', 'description' => 'The specified volume is invalid.'], + ['errorCode' => 'InvalidSoftware', 'errorMessage' => 'The specified software is not supported.', 'description' => 'The requested software is not supported.'], + ['errorCode' => 'InvalidVolumeProtocal', 'errorMessage' => 'The specified volume protocol is invalid.', 'description' => 'The storage protocol is invalid.'], + ['errorCode' => 'InvalidVolumeMountpoint', 'errorMessage' => 'The specified volume mount point is invalid.', 'description' => 'The specified volume mount point is invalid.'], ], 403 => [ - [ - 'errorCode' => 'TooManyClusters', - 'errorMessage' => 'The number of user clusters exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyLogins', - 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', - ], - [ - 'errorCode' => 'TooManyScc', - 'errorMessage' => 'The maximum number of SCC instances is exceeded.', - ], - [ - 'errorCode' => 'QuotaExceeded.PrivateIpAddress', - 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', - ], + ['errorCode' => 'TooManyClusters', 'errorMessage' => 'The number of user clusters exceeds the quota.', 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'TooManyLogins', 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['errorCode' => 'TooManyScc', 'errorMessage' => 'The maximum number of SCC instances is exceeded.', 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['errorCode' => 'QuotaExceeded.PrivateIpAddress', 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', 'description' => 'Insufficient private IP addresses in vSwitch: %s.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], ], [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'VpcNotFound', - 'errorMessage' => 'The specified VPC does not exist.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'NasServiceNotOpen', - 'errorMessage' => 'The NAS service is not activated.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], - [ - 'errorCode' => 'FailToGenId', - 'errorMessage' => 'Generating cluster ID failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'NasServiceNotOpen', 'errorMessage' => 'The NAS service is not activated.', 'description' => 'You have not activated NAS.'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], + ['errorCode' => 'FailToGenId', 'errorMessage' => 'Generating cluster ID failed.', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'No authorization is granted.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'No authorization is granted.', 'description' => 'No authorization is granted.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0842122\\",\\n \\"TaskId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0842122\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHybridClusterResponse>\\r\\n <RequestId>F6757FA4-8FED-4602-B7F5-3550C0842122</RequestId>\\r\\n <TaskId>F6757FA4-8FED-4602-B7F5-3550C0842122</TaskId>\\r\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\r\\n</CreateHybridClusterResponse>","errorExample":""}]', 'title' => 'CreateHybridCluster', + 'summary' => 'Creates a hybrid cloud cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddLocalNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateHybridCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateJobFile' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5244,6 +2754,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '75791', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -5251,34 +2764,38 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'Nodes', + 'name' => 'RunasUser', 'in' => 'query', - 'schema' => [ - 'description' => 'The information of the local node. A JSON string that contains the HostName, IpAddress, CpuCores, and Memory (Unit: MB) of the local node.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"HostName":"test-HostName","IpAddress":"192.168.**.**"},{"CpuCores":2,"Memory":1024}]', - ], + 'schema' => ['description' => 'The user to which the job file belongs.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testuser1', 'title' => ''], ], [ - 'name' => 'Queue', + 'name' => 'RunasUserPassword', 'in' => 'query', - 'schema' => [ - 'description' => 'The queue to which to add the local node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test.q', - ], + 'schema' => ['description' => 'The user password.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '!QAZ****', 'title' => ''], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => ['description' => 'The content of the job file. The content is encoded in Base64.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c2xlZXAgMzA=', 'title' => ''], + ], + [ + 'name' => 'TargetFile', + 'in' => 'query', + 'schema' => ['description' => 'The name of the job file.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lammps.pbs', 'title' => ''], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether to use an asynchronous link to submit job files.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -5286,413 +2803,208 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The local nodes in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[{"HostName":"test-HostName","IpAddress":"192.168.**.**"},{"CpuCores":2,"Memory":1024}]', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], + ['errorCode' => 'AgentError.Account.ValidateCredentialFailure', 'errorMessage' => 'Username or password verification failed.', 'description' => 'Username or password verification failed.'], + ['errorCode' => 'UsernameExist', 'errorMessage' => 'The username already exists.', 'description' => 'The username already exists.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[{\\\\\\"HostName\\\\\\":\\\\\\"test-HostName\\\\\\",\\\\\\"IpAddress\\\\\\":\\\\\\"192.168.**.**\\\\\\"},{\\\\\\"CpuCores\\\\\\":2,\\\\\\"Memory\\\\\\":1024}]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddLocalNodesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <InstanceIds>[{\\"HostName\\":\\"test-HostName\\",\\"IpAddress\\":\\"192.168.**.**\\"},{\\"CpuCores\\":2,\\"Memory\\":1024}]</InstanceIds>\\n</AddLocalNodesResponse>","errorExample":""}]', - 'title' => 'AddLocalNodes', - 'summary' => 'Adds local nodes to a specified cluster on hybrid cloud or cluster on the cloud.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobFileResponse>\\n\\t<RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</CreateJobFileResponse>","errorExample":""}]', + 'title' => 'CreateJobFile', + 'summary' => 'Creates a job file.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetHybridClusterConfig' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateJobFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateJobTemplate' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'CommandLine', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The command that is used to run the job.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => './LammpsTest/lammps.pbs', 'title' => ''], ], [ - 'name' => 'Node', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the on-premises compute node. You can call this operation to query the configurations of the on-premises compute node.'."\n" - ."\n" - .'By default, the operation queries the configurations of a cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testNode', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ClusterConfig' => [ - 'description' => 'The configurations returned.'."\n" - ."\n" - .'* If the parameter Node is null, you can obtain the configurations of the hybrid cloud cluster.'."\n" - .'* If the parameter Node is a specified on-premises compute node, you can obtain the configurations of the on-premises compute node.'."\n" - ."\n" - .'This parameter is returned in the ini format. You can use this parameter to configure on-premises cluster nodes.'."\n", - 'type' => 'string', - 'example' => 'ClNjaGcyI6W119Cg****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + 'schema' => ['description' => 'The name of the job template. The name must be 2 to 64 characters in length. It must start with a letter and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'jobtemplate1', 'title' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'RunasUser', + 'in' => 'query', + 'schema' => ['description' => 'The name of the user that runs the job.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user1', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'PackagePath', + 'in' => 'query', + 'schema' => ['description' => 'The path that is used to run the job.'."\n", 'type' => 'string', 'required' => false, 'example' => './jobfolder', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ClusterConfig\\": \\"ClNjaGcyI6W119Cg****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddLocalNodesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <ClusterConfig>ClNjaGcyI6W119Cg****</ClusterConfig>\\r\\n</AddLocalNodesResponse>","errorExample":""}]', - 'title' => 'GetHybridClusterConfig', - 'summary' => 'Queries the configurations of a specified hybrid cloud cluster or a specified compute node.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SyncUsers' => [ - 'summary' => 'Synchronizes local cluster users to a hybrid cloud cluster in hybrid-cloud proxy mode.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'StdoutRedirectPath', + 'in' => 'query', + 'schema' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'required' => false, 'example' => './LammpsTest', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StderrRedirectPath', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n" - ."\n" - .'You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'required' => false, 'example' => './LammpsTest', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'ReRunable', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the list of E-HPC clusters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-gh5WKb****', - ], + 'schema' => ['description' => 'Specifies whether to automatically rerun the job after the job fails. Valid value:'."\n" + ."\n" + .'* true: reruns the job.'."\n" + .'* false: does not rerun the job.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - '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' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - ], - ], + [ + 'name' => 'ArrayRequest', + 'in' => 'query', + 'schema' => ['description' => 'The job array.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1-10:2', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The parameters are invalid.', - ], + [ + 'name' => 'Variables', + 'in' => 'query', + 'schema' => ['description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{Name:,Value:},{Name:,Value:}]', 'title' => ''], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + [ + 'name' => 'Queue', + 'in' => 'query', + 'schema' => ['description' => 'The name of the queue in which the job is run.'."\n" + ."\n" + .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], ], [ - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 'name' => 'ClockTime', + 'in' => 'query', + 'schema' => ['description' => 'The maximum running time of the job. Valid formats:'."\n" + ."\n" + .'* hh:mm:ss'."\n" + .'* mm:ss'."\n" + .'* ss'."\n" + ."\n" + .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", 'type' => 'string', 'required' => false, 'example' => '12:00:00', 'title' => ''], ], - 406 => [ - [ - 'errorCode' => 'AgentError.Account.UserSynFailure', - 'errorMessage' => 'synchronize users failed: %s', - ], + [ + 'name' => 'Node', + 'in' => 'query', + 'schema' => ['description' => 'The number of compute nodes. Valid values: 1 to 500.'."\n" + ."\n" + .'> If you do not specify this parameter, the Task, Thread, Mem, or GPU parameters do not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'example' => '2', 'title' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'Task', + 'in' => 'query', + 'schema' => ['description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '2', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'Thread', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads required by a single compute node. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'Mem', + 'in' => 'query', + 'schema' => ['description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", 'type' => 'string', 'required' => false, 'example' => '1GB', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SyncUsersResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</SyncUsersResponse>","errorExample":""}]', - 'title' => 'SyncUsers', - ], - 'ListPreferredEcsTypes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Gpu', + 'in' => 'query', + 'schema' => ['description' => 'The maximum GPU usage required by a single compute node. Valid values: 1 to 8.'."\n" + ."\n" + .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ZoneId', + 'name' => 'InputFileUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'WithUnzipCmd', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the ECS 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 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 bidding price.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - 'default' => 'NoSpot', - ], + 'schema' => ['description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" + ."\n" + .'* true: decompresses the job file.'."\n" + .'* false: does not decompress the job file.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'UnzipCmd', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the ECS instances. Valid values:'."\n" - ."\n" - .'* PostPaid'."\n" - .'* PrePaid'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - 'default' => 'PostPaid', - ], + 'schema' => ['description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" + ."\n" + .'* tar xzf: decompresses GZIP files.'."\n" + .'* tar xf: decompresses TAR files.'."\n" + .'* unzip: decompresses ZIP files.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tar xzf', 'title' => ''], ], ], 'responses' => [ @@ -5700,225 +3012,106 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SupportSpotInstance' => [ - 'description' => 'Indicates whether preemptible instances are supported.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Series' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SeriesInfo' => [ - 'description' => 'The list of recommended ECS instances. Each SeriesInfo element contains the recommended ECS instance types for various nodes in the E-HPC cluster.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SeriesName' => [ - 'description' => 'The name of the instance series. Valid values:'."\n" - ."\n" - .'* SeriesHighCompute'."\n" - .'* SeriesHighMem'."\n" - .'* SeriesGPU'."\n" - .'* SeriesAll'."\n", - 'type' => 'string', - 'example' => 'SeriesAll', - ], - 'SeriesId' => [ - 'description' => 'The ID of the ECS instance series. Valid values:'."\n" - ."\n" - .'* HighCompute: compute-optimized instance families'."\n" - .'* HighMem: memory-optimized instance families'."\n" - .'* GPU: GPU-accelerated instance families'."\n" - .'* All: all instance families'."\n", - 'type' => 'string', - 'example' => 'All', - ], - 'Roles' => [ - 'description' => 'Recommended instance types for nodes in an E-HPC cluser.'."\n", - 'type' => 'object', - 'properties' => [ - 'Manager' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeId' => [ - 'description' => 'The list of recommended ECS instance types for management nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of recommended ECS instance types for management nodes.'."\n", - 'type' => 'string', - 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', - ], - ], - ], - ], - 'Compute' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeId' => [ - 'description' => 'The list of recommended ECS instance types for compute nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of recommended ECS instance types for compute nodes.'."\n", - 'type' => 'string', - 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', - ], - ], - ], - ], - 'Login' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeId' => [ - 'description' => 'The list of recommended ECS instance types for logon nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of recommended ECS instance types for logon nodes.'."\n", - 'type' => 'string', - 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', - ], - ], - ], - ], - ], - ], - ], - 'description' => 'The list of recommended ECS instances. Each SeriesInfo element contains the recommended ECS instance types for various nodes in the E-HPC cluster.', - ], - ], - ], - ], + 'TemplateId' => ['description' => 'The ID of the job template.'."\n", 'type' => 'string', 'example' => 'ehpc-job-tmpl-6RxO5y****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'TemplateNameExist', 'errorMessage' => 'The template name already exists.', 'description' => 'The template name already exists.'], + ['errorCode' => 'TooMuchTemplates', 'errorMessage' => 'The number of templates exceeds the quota.', 'description' => ''], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SupportSpotInstance\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Series\\": {\\n \\"SeriesInfo\\": [\\n {\\n \\"SeriesName\\": \\"SeriesAll\\",\\n \\"SeriesId\\": \\"All\\",\\n \\"Roles\\": {\\n \\"Manager\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n },\\n \\"Compute\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n },\\n \\"Login\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListPreferredEcsTypesResponse>\\n <SupportSpotInstance>true</SupportSpotInstance>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Series>\\n <SeriesName>SeriesAll</SeriesName>\\n <SeriesId>All</SeriesId>\\n <Roles>\\n <Manager>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Manager>\\n <Compute>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Compute>\\n <Login>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Login>\\n </Roles>\\n </Series>\\n</ListPreferredEcsTypesResponse>","errorExample":""}]', - 'title' => 'ListPreferredEcsTypes', - 'summary' => 'Queries the Elastic Compute Service (ECS) instance types recommended by Elastic High Performance Computing (E-HPC).', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobTemplateResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TemplateId>ehpc-job-tmpl-6RxO5y****</TemplateId>\\r\\n</CreateJobTemplateResponse>","errorExample":""}]', + 'title' => 'CreateJobTemplate', + 'summary' => 'Creates a job template.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListAvailableEcsTypes' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJobTemplate'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateJobTemplate', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '75793', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou-b', - ], - ], - [ - 'name' => 'SpotStrategy', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of the ECS instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The ECS instances are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The ECS instances are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - 'default' => 'NoSpot', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain cluster IDs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-QKKVqO****', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'ReleaseInstance', 'in' => 'query', 'schema' => [ - 'description' => 'The billing method of the ECS instances. Valid values:'."\n" + 'description' => 'Specifies whether to release Elastic Compute Service (ECS) instances that are created by using Elastic High Performance Computing (E-HPC).'."\n" ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n", + .'Default value: true.'."\n", 'type' => 'string', 'required' => false, - 'example' => 'PostPaid', - 'default' => 'PostPaid', - ], - ], - [ - 'name' => 'ShowSoldOut', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the ECS instances are sold out. Valid values:'."\n" - ."\n" - .'* false: available'."\n" - .'* true: sold out'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'example' => 'true', + 'enum' => ['true'], + 'title' => '', ], ], ], @@ -5927,211 +3120,82 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SupportSpotInstance' => [ - 'description' => 'Specifies whether preemptible instances are supported. Valid values:'."\n" - ."\n" - .'* false: not supported'."\n" - .'* true: supported'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D9DD3AF8-1F91-4075-8669-55D10E45****', - ], - 'InstanceTypeFamilies' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeFamilyInfo' => [ - 'description' => 'The instance family to which the instance type belongs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Generation' => [ - 'description' => 'The instance family.'."\n", - 'type' => 'string', - 'example' => 'ecs-3', - ], - 'InstanceTypeFamilyId' => [ - 'description' => 'The ID of the instance family. For more information, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', - 'example' => 'ecs.n4', - ], - 'Types' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TypesInfo' => [ - 'description' => 'The list of instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the ECS instance. Valid values:'."\n" - ."\n" - .'* SoldOut'."\n" - .'* Available'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'InstanceTypeId' => [ - 'description' => 'The ID of the ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.n4.xlarge', - ], - 'InstanceBandwidthRx' => [ - 'description' => 'The maximum inbound internal bandwidth. Unit: Kbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10240000', - ], - 'GPUSpec' => [ - 'description' => 'The GPU type of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'NVIDIA V100', - ], - 'InstanceBandwidthTx' => [ - 'description' => 'The maximum outbound internal bandwidth. Unit: Kbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10240000', - ], - 'InstancePpsRx' => [ - 'description' => 'The inbound packet forwarding rate over the internal network. Unit: pps.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9000000', - ], - 'InstancePpsTx' => [ - 'description' => 'The outbound packet forwarding rate over the internal network. Unit: pps.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9000000', - ], - 'GPUAmount' => [ - 'description' => 'The number of GPUs of an ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CpuCoreCount' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'MemorySize' => [ - 'description' => 'The memory size of the ECS instance. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'EniQuantity' => [ - 'description' => 'The maximum number of elastic network interfaces (ENIs) that can be bound to an ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ZoneIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ZoneId' => [ - 'description' => 'The list of zone IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SupportSpotInstance\\": false,\\n \\"RequestId\\": \\"D9DD3AF8-1F91-4075-8669-55D10E45****\\",\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamilyInfo\\": [\\n {\\n \\"Generation\\": \\"ecs-3\\",\\n \\"InstanceTypeFamilyId\\": \\"ecs.n4\\",\\n \\"Types\\": {\\n \\"TypesInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"InstanceTypeId\\": \\"ecs.n4.xlarge\\",\\n \\"InstanceBandwidthRx\\": 10240000,\\n \\"GPUSpec\\": \\"NVIDIA V100\\",\\n \\"InstanceBandwidthTx\\": 10240000,\\n \\"InstancePpsRx\\": 9000000,\\n \\"InstancePpsTx\\": 9000000,\\n \\"GPUAmount\\": 2,\\n \\"CpuCoreCount\\": 4,\\n \\"MemorySize\\": 8,\\n \\"EniQuantity\\": 2,\\n \\"ZoneIds\\": {\\n \\"ZoneId\\": [\\n \\"cn-hangzhou-b\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListAvailableEcsTypesResponse>\\n<SupportSpotInstance>false</SupportSpotInstance>\\n<RequestId>D9DD3AF8-1F91-4075-8669-55D10E45****</RequestId>\\n<InstanceTypeFamilies>\\n <InstanceTypeFamilyInfo>\\n <InstanceTypeFamilyId>ecs.n4</InstanceTypeFamilyId>\\n <Generation>ecs-3</Generation>\\n <Types>\\n <TypesInfo>\\n <Status>Available</Status>\\n <InstancePpsTx>9000000</InstancePpsTx>\\n <MemorySize>8</MemorySize>\\n <GPUSpec>NVIDIA V100</GPUSpec>\\n <CpuCoreCount>4</CpuCoreCount>\\n <InstancePpsRx>9000000</InstancePpsRx>\\n <InstanceTypeId>ecs.n4.xlarge</InstanceTypeId>\\n <EniQuantity>2</EniQuantity>\\n <InstanceBandwidthRx>10240000</InstanceBandwidthRx>\\n <GPUAmount>2</GPUAmount>\\n <InstanceBandwidthTx>10240000</InstanceBandwidthTx>\\n <ZoneIds>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n </ZoneIds>\\n </TypesInfo>\\n </Types>\\n </InstanceTypeFamilyInfo>\\n</InstanceTypeFamilies>\\n</ListAvailableEcsTypesResponse>","errorExample":""}]', - 'title' => 'ListAvailableEcsTypes', - 'summary' => 'Queries available Elastic Compute Service (ECS) instance types.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\",\\n \\"RequestId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteClusterResponse>\\n <TaskId>F1AB6D8D-E185-4D94-859C-7CE7B8B7****</TaskId>\\n <RequestId>F1AB6D8D-E185-4D94-859C-7CE7B8B7****</RequestId>\\n</DeleteClusterResponse>","errorExample":""}]', + 'title' => 'DeleteCluster', + 'summary' => 'Releases a cluster.', + 'description' => 'After a cluster is released, the pay-as-you-go nodes and the subscription nodes that are expired are automatically released. The subscription nodes that are expired are retained. If you need to release subscription nodes that are not expired, change the billing method to pay-as-you-go. Before you release a cluster, make sure that you no longer use the cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetIfEcsTypeSupportHtConfig' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteJobTemplates' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'InstanceType', + 'name' => 'Templates', 'in' => 'query', - 'schema' => [ - 'description' => 'The Elastic Compute Service (ECS) instance type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ecs.g6.large', - ], + 'schema' => ['description' => 'The IDs of the job templates that you want to delete. You can specify a maximum of 20 job template IDs.'."\n" + ."\n" + .'Format of job template IDs: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple job template IDs with commas (,).'."\n" + ."\n" + .'You can call the [ListJobTemplates](~~87248~~) operation to query job template IDs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"Id":"ehpc-job-tmpl-6RVcMK****"},{"Id": "ehpc-job-tmpl-6RxO5y****"}]', 'title' => ''], ], ], 'responses' => [ @@ -6139,303 +3203,228 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '80CA7A93-7291-4402-B63D-86DF334E0A1F', - ], - 'DefaultHtEnabled' => [ - 'description' => 'Indicates whether Hyper-Threading is enabled by default. Valid values:'."\n" - ."\n" - .'* true: Hyper-Threading is enabled by default.'."\n" - .'* false: Hyper-Threading is disabled by default.'."\n" - ."\n" - .'> By default, Hyper-Threading is not enabled for Super Computing Cluster (SCC) instance families but is enabled for other instance families.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'InstanceType' => [ - 'description' => 'The ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'SupportHtConfig' => [ - 'description' => 'Indicates whether hyper-threading is supported. Valid values:'."\n" - ."\n" - .'* true: Hyper-threading is supported.'."\n" - .'* false: Hyper-threading is not supported.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"80CA7A93-7291-4402-B63D-86DF334E0A1F\\",\\n \\"DefaultHtEnabled\\": true,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"SupportHtConfig\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetIfEcsTypeSupportHtConfigResponse>\\n <RequestId>80CA7A93-7291-4402-B63D-86DF334E0A1F</RequestId> \\n <DefaultHtEnabled>true</DefaultHtEnabled>\\n <SupportHtConfig>true</SupportHtConfig>\\n <InstanceType>ecs.g6.large</InstanceType>\\n</GetIfEcsTypeSupportHtConfigResponse>","errorExample":""}]', - 'title' => 'GetIfEcsTypeSupportHtConfig', - 'summary' => 'Queries whether hyper-threading can be enabled or disabled for an instance type.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobTemplatesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobTemplatesResponse>","errorExample":""}]', + 'title' => 'DeleteJobTemplates', + 'summary' => 'Deletes job templates.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListImages' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DeleteJobTemplates', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteJobs' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '75798', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'BaseOsTag', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.2_64', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'Jobs', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type.'."\n" - ."\n" - .'* If a value is passed to the parameter, the list of images that are supported by the specified instance type is queried.'."\n" - .'* If no value is passed to the parameter, the list of images that are supported by all instance types is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.medium', - ], + 'schema' => ['description' => 'The list of jobs that you want to delete. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" + ."\n" + .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" + ."\n" + .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"Id": "0.sched****"},{"Id": "1.sched****"}]', 'title' => ''], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use an asynchronous link to delete the jobs.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'OsTags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'OsInfo' => [ - 'description' => 'The list of images that are supported by E-HPC.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'description' => 'The version of the operating system.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'BaseOsTag' => [ - 'description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Platform' => [ - 'description' => 'The operating system. Valid values:'."\n" - ."\n" - .'* CentOS'."\n" - .'* windows'."\n", - 'type' => 'string', - 'example' => 'CentOS', - ], - 'OsTag' => [ - 'description' => 'The tag that is added to the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'm-bp1h8aoe73p71iow****', - ], - 'Architecture' => [ - 'description' => 'The architecture of the operating system. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'i386', - ], - 'OSName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'OSNameEn' => [ - 'description' => 'The name of the image in English.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'UsernameExist', 'errorMessage' => 'The username already exists.', 'description' => 'The username already exists.'], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'AgentError.Job.DeleteFailure', 'errorMessage' => 'Failed to delete job: %s', 'description' => 'Failed to delete the job: {}'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"OsTags\\": {\\n \\"OsInfo\\": [\\n {\\n \\"Version\\": \\"7.2\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"ImageId\\": \\"m-bp1h8aoe73p71iow****\\",\\n \\"Architecture\\": \\"i386\\",\\n \\"OSName\\": \\"CentOS_7.2_64\\",\\n \\"OSNameEn\\": \\"CentOS_7.2_64\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListImagesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <OsTags>\\n <Version>7.2</Version>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <ImageId>m-bp1h8aoe73p71iow****</ImageId>\\n <Architecture>i386</Architecture>\\n <OSName>CentOS_7.2_64</OSName>\\n <OSNameEn>CentOS_7.2_64</OSNameEn>\\n </OsTags>\\n</ListImagesResponse>","errorExample":""}]', - 'title' => 'ListImages', - 'summary' => 'Queries the list of images that can be installed in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobsResponse>","errorExample":""}]', + 'title' => 'DeleteJobs', + 'summary' => 'Deletes jobs from a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListCustomImages' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '75800', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ImageOwnerAlias', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The image source. Valid values:'."\n" - ."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'self', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], ], [ - 'name' => 'BaseOsTag', + 'name' => 'ReleaseInstance', 'in' => 'query', - 'schema' => [ - 'description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.2_64', - ], + 'schema' => ['description' => 'Specifies whether to release the nodes that are created by E-HPC.'."\n" + ."\n" + .'Default value: true', 'type' => 'boolean', 'required' => false, 'default' => 'true', 'title' => '', 'example' => 'true'], ], [ - 'name' => 'InstanceType', + 'name' => 'Sync', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the Elastic Compute Service (ECS) instance. If you do not specify the instance type, the community images that are supported by all instance types are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'Specifies whether to delete the nodes immediately. Valid values:'."\n" + ."\n" + .'- true: Yes'."\n" + .'- false: No', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ - 'name' => 'ClusterId', + 'name' => 'Instance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'* If you specify a value for this parameter, all community images in the region where the cluster resides are queried.'."\n" - .'* If you do not specify a value for this parameter, the community images that are supported by all clusters are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + 'description' => 'The information about the nodes to be deleted.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of node information.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the compute node to delete. You can specify up to 100 nodes.'."\n" + ."\n" + .'You can call the [DescribeCluster](~~87126~~) operation to query the IDs of nodes in a specified cluster.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp13p7vlcb1uihfv****'], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -6444,250 +3433,112 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ImageInfo' => [ - 'description' => 'The list of community images, including custom images and shared images.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'PostInstallScript' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'example.sh', - ], - 'Description' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'example' => 'ExampleDescription', - ], - 'Size' => [ - 'description' => 'The size of the image. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n", - 'type' => 'string', - 'example' => 'self', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'CHESS5V5.0.27', - ], - 'SkuCode' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'PricingCycle' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'Month', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'm-bp181x855551ww5yq****', - ], - 'ProductCode' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => 'cmjj028279', - ], - 'Uid' => [ - 'description' => '> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'example' => '127****', - ], - 'BaseOsTag' => [ - 'description' => 'The image tag of the operating system.'."\n", - 'type' => 'object', - 'properties' => [ - 'Platform' => [ - 'description' => 'The OS. Valid values:'."\n" - ."\n" - .'* CentOS'."\n" - .'* windows'."\n", - 'type' => 'string', - 'example' => 'CentOS', - ], - 'OsTag' => [ - 'description' => 'The tags of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Version' => [ - 'description' => 'The version of the operating system.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'Architecture' => [ - 'description' => 'The architecture of the operating system. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'i386', - ], - ], - ], - 'OsTag' => [ - 'description' => 'An array of system images that are supported by E-HPC.'."\n", - 'type' => 'object', - 'properties' => [ - 'Platform' => [ - 'description' => 'The OS.'."\n", - 'type' => 'string', - 'example' => 'CentOS', - ], - 'OsTag' => [ - 'description' => 'The tag of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Version' => [ - 'description' => 'The version of the operating system.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'Architecture' => [ - 'description' => 'The architecture of the operating system. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'BaseOsTag' => [ - 'description' => 'The image tag of the operating system.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - ], - ], - ], - ], - ], - ], - ], + 'TaskId' => ['description' => 'The ID of the task.'."\n" + ."\n" + .'- If you set Sync to true, the operation is synchronous. The value of TaskId is Not Available.'."\n" + .'- If you set Sync to false, the operation is asynchronous. You can call the [ListTasks](~~268225~~) operation to query the result of the task.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidNodeStatus', 'errorMessage' => 'The operation failed due to invalid node status.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Images\\": {\\n \\"ImageInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"PostInstallScript\\": \\"example.sh\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": 40,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageName\\": \\"CHESS5V5.0.27\\",\\n \\"SkuCode\\": \\"ECS\\",\\n \\"PricingCycle\\": \\"Month\\",\\n \\"ImageId\\": \\"m-bp181x855551ww5yq****\\",\\n \\"ProductCode\\": \\"cmjj028279\\",\\n \\"Uid\\": \\"127****\\",\\n \\"BaseOsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"i386\\"\\n },\\n \\"OsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCustomImagesResponse>\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n<Images>\\n <ImageInfo>\\n <Status>Available</Status>\\n <ImageOwnerAlias>self</ImageOwnerAlias>\\n <ImageName>CHESS5V5.0.27</ImageName>\\n <Description>ExampleDescription</Description>\\n <Size>40</Size>\\n <ImageId>m-bp181x855551ww5yq****</ImageId>\\n <BaseOsTag>\\n <Architecture>i386</Architecture>\\n <Platform>CentOS</Platform>\\n <Version>7.2</Version>\\n <OsTag>CentOS_7.2_64</OsTag>\\n </BaseOsTag>\\n <OsTag>\\n <Architecture>x86_64</Architecture>\\n <Platform>CentOS</Platform>\\n <Version>7.2</Version>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n </OsTag>\\n </ImageInfo>\\n</Images>\\n</ListCustomImagesResponse>","errorExample":""}]', - 'title' => 'ListCustomImages', - 'summary' => 'Queries custom images and shared images supported by Elastic High Performance Computing (E-HPC).', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'title' => 'DeleteNodes', + 'summary' => 'Deletes one or more compute nodes from a specified cluster.', + 'description' => '## Description'."\n" + ."\n" + .'To prevent data loss, you must export all job data from the nodes before you delete them.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListCommunityImages' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNodes'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteQueue' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '75801', + 'abilityTreeNodes' => ['FEATUREehpcAB36B2'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'BaseOsTag', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tag of the base operating system (BOS).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.2_64', - ], - ], - [ - 'name' => 'InstanceType', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Elastic Compute Service (ECS) instance. If you do not specify the instance type, the community images that are supported by all instance types are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'QueueName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster. If the cluster supports multiple operating systems, all community images in the region where the cluster resides are queried.'."\n" - ."\n" - .'If you do not specify the cluster ID, the community images that are supported by all clusters are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The name of the queue that you want to delete.'."\n" + ."\n" + .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'workq', 'title' => ''], ], ], 'responses' => [ @@ -6695,318 +3546,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Images' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ImageInfo' => [ - 'description' => 'The list of custom images and shared images that are supported by the E-HPC.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the image. Valid values:'."\n" - ."\n" - .'* UnAvailable'."\n" - .'* Available'."\n" - .'* Creating'."\n" - .'* CreateFailed'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'PostInstallScript' => [ - 'description' => 'The script that is run after the image is installed.'."\n", - 'type' => 'string', - 'example' => 'example.sh', - ], - 'Description' => [ - 'description' => 'The description of the image.'."\n", - 'type' => 'string', - 'example' => 'ExampleDescription', - ], - 'Size' => [ - 'description' => 'The size of the image. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The image type. Valid values:'."\n" - ."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n", - 'type' => 'string', - 'example' => 'self', - ], - 'ImageName' => [ - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0', - ], - 'SkuCode' => [ - 'description' => 'The stock keeping unit (SKU) of the image. Valid values:'."\n" - ."\n" - .'* ECS: pay-as-you-go'."\n" - .'* package: subscription'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'PricingCycle' => [ - 'description' => 'The billing unit of the image. Valid values:'."\n" - ."\n" - .'* Hour'."\n" - .'* Month'."\n" - .'* Year'."\n", - 'type' => 'string', - 'example' => 'Month', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'm-bp181x855551ww5yq****', - ], - 'ProductCode' => [ - 'description' => 'The product code in Alibaba Cloud Marketplace.'."\n", - 'type' => 'string', - 'example' => 'cmjj028279', - ], - 'Uid' => [ - 'description' => 'The owner of the image.'."\n", - 'type' => 'string', - 'example' => '127****', - ], - 'BaseOsTag' => [ - 'description' => 'The tag of the BOS image.'."\n", - 'type' => 'object', - 'properties' => [ - 'Platform' => [ - 'description' => 'The distribution of the operating system. Valid values:'."\n" - ."\n" - .'* CentOS'."\n" - .'* Ubuntu'."\n" - .'* SUSE'."\n" - .'* OpenSUSE'."\n" - .'* Debian'."\n" - .'* CoreOS'."\n" - .'* Aliyun'."\n" - .'* Windows Server 2003'."\n" - .'* Windows Server 2008'."\n" - .'* Windows Server 2012'."\n" - .'* Others Linux'."\n" - .'* Customized Linux'."\n", - 'type' => 'string', - 'example' => 'CentOS', - ], - 'OsTag' => [ - 'description' => 'The operating system tag of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Version' => [ - 'description' => 'The version of the operating system.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'Architecture' => [ - 'description' => 'The architecture of the operating system. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - ], - ], - 'OsTag' => [ - 'description' => 'An array of OS images that are supported by E-HPC.'."\n", - 'type' => 'object', - 'properties' => [ - 'Platform' => [ - 'description' => 'The OS.'."\n", - 'type' => 'string', - 'example' => 'CentOS', - ], - 'OsTag' => [ - 'description' => 'The operating system tag of the image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'Version' => [ - 'description' => 'The version of the operating system.'."\n", - 'type' => 'string', - 'example' => '7.2', - ], - 'Architecture' => [ - 'description' => 'The architecture of the operating system. Valid values:'."\n" - ."\n" - .'* i386'."\n" - .'* x86\\_64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'BaseOsTag' => [ - 'description' => 'The tag of the BOS image.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '464E9919-D04F-4D1D-B375-15989492****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteQueueResponse>\\n <RequestId>464E9919-D04F-4D1D-B375-15989492****</RequestId>\\n</DeleteQueueResponse>","errorExample":""}]', + 'title' => 'DeleteQueue', + 'summary' => 'Deletes a queue in a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Images\\": {\\n \\"ImageInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"PostInstallScript\\": \\"example.sh\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": 40,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageName\\": \\"linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0\\",\\n \\"SkuCode\\": \\"ECS\\",\\n \\"PricingCycle\\": \\"Month\\",\\n \\"ImageId\\": \\"m-bp181x855551ww5yq****\\",\\n \\"ProductCode\\": \\"cmjj028279\\",\\n \\"Uid\\": \\"127****\\",\\n \\"BaseOsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\"\\n },\\n \\"OsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCommunityImagesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Images>\\n <Status>Available</Status>\\n <PostInstallScript>example.sh</PostInstallScript>\\n <Description>ExampleDescription</Description>\\n <Size>40</Size>\\n <ImageOwnerAlias>self</ImageOwnerAlias>\\n <ImageName>linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0</ImageName>\\n <SkuCode>ECS</SkuCode>\\n <PricingCycle>Month</PricingCycle>\\n <ImageId>m-bp181x855551ww5yq****</ImageId>\\n <ProductCode>cmjj028279</ProductCode>\\n <Uid>127****</Uid>\\n <BaseOsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <Version>7.2</Version>\\n <Architecture>x86_64</Architecture>\\n </BaseOsTag>\\n <OsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <Version>7.2</Version>\\n <Architecture>x86_64</Architecture>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n </OsTag>\\n </Images>\\n</ListCommunityImagesResponse>","errorExample":""}]', - 'title' => 'ListCommunityImages', - 'summary' => 'Queries a list of community images.', ], - 'DescribeImagePrice' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteSecurityGroup' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an image.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'm-bp198jigq7l1ga11****', - ], - ], - [ - 'name' => 'PriceUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the subscription duration. Valid values:'."\n" - ."\n" - .'* Day'."\n" - .'* Month'."\n" - .'* Year'."\n" - ."\n" - .'Default value: Day.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Day', - ], - ], - [ - 'name' => 'SkuCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The stock keeping unit (SKU) of the image. Valid value: package.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'package', - ], - ], - [ - 'name' => 'Period', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The subscription duration of the read-only instance. Valid values:'."\n" - ."\n" - .'* If PriceUnit is set to Day, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, and 30.'."\n" - .'* If PriceUnit is set to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" - .'* If PriceUnit is set to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Amount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of images that you want to purchase. Valid values: 1 to 1000.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], - ], - [ - 'name' => 'OrderType', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the order. The order can be set only as a purchase order. Valid value: INSTANCE-BUY.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'INSTANCE-BUY', - ], + 'schema' => ['description' => 'The security group ID of the instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sg-bp13n61xsydodfyg****', 'title' => ''], ], ], 'responses' => [ @@ -7014,106 +3631,66 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Amount' => [ - 'description' => 'The number of instances that are purchased.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '47ca3ac4-2a03-48f1-8bf2-ba6de0f3****', - ], - 'DiscountPrice' => [ - 'description' => 'The discount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'TradePrice' => [ - 'description' => 'The final price of the image.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.8', - ], - 'OriginalPrice' => [ - 'description' => 'The original price of the image.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.8', - ], - 'ImageId' => [ - 'description' => 'The ID of the custom image.'."\n", - 'type' => 'string', - 'example' => 'm-bp198jigq7l1ga11****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'SecurityGroupNotSupported', 'errorMessage' => 'The security group is not supported.', 'description' => 'The security group is not supported.'], + ['errorCode' => 'InvalidSecurityGroup', 'errorMessage' => 'The security group ID is invalid.', 'description' => 'The security group ID is invalid.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'ECS api request error', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'Aliyun api service error', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Amount\\": 1,\\n \\"RequestId\\": \\"47ca3ac4-2a03-48f1-8bf2-ba6de0f3****\\",\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.8,\\n \\"OriginalPrice\\": 0.8,\\n \\"ImageId\\": \\"m-bp198jigq7l1ga11****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeImagePriceResponse>\\n <Amount>1</Amount>\\n <RequestId>47ca3ac4-2a03-48f1-8bf2-ba6de0f3****</RequestId>\\n <DiscountPrice>0</DiscountPrice>\\n <TradePrice>0.8</TradePrice>\\n <OriginalPrice>0.8</OriginalPrice>\\n <ImageId>m-bp198jigq7l1ga11****</ImageId>\\n</DescribeImagePriceResponse>","errorExample":""}]', - 'title' => 'DescribeImagePrice', - 'summary' => 'Queries the price of an Alibaba Cloud Marketplace image.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddSecurityGroupResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</AddSecurityGroupResponse>","errorExample":""}]', + 'title' => 'DeleteSecurityGroup', + 'summary' => 'Removes a cluster from a specified security group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddUsers' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecurityGroup'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DeleteSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteUsers' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7122,11 +3699,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '75784', - 'abilityTreeNodes' => [ - 'FEATUREehpcG9MMN3', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '75803', + 'abilityTreeNodes' => ['FEATUREehpcG9MMN3'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -7134,76 +3709,39 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'User', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The users. You can specify 1 to 100 users.'."\n", + 'description' => 'The information about the user.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The array of user information.'."\n", 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password of the new user. The password must be 8 to 30 characters in length and must contain at least three of the following character types:'."\n" - ."\n" - .'* Uppercase letter'."\n" - .'* Lowercase letter'."\n" - .'* Digit'."\n" - .'* Special character: `()~!@#$%^&*-_+=|{}[]:;\'/<>,.?/`'."\n" - ."\n" - .'> We recommend that you use HTTPS to call this operation to avoid password leaks.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1@a2****', - ], - 'Name' => [ - 'description' => 'The username of the new user. The username must be 6 to 30 characters in length, and can contain letters, digits and periods (.). The username must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'user1', - ], - 'Group' => [ - 'description' => 'The permission group of the new user. Valid values:'."\n" - ."\n" - .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" - .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'users', - ], + 'Name' => ['description' => 'The name of the user N that you want to delete. Valid values of N: 1 to 100.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", 'type' => 'string', 'required' => true, 'example' => 'user1', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => true, 'maxItems' => 10000, + 'title' => '', ], ], [ 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use asynchronous message links to add the users.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable the asynchronous mode for this request.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -7211,112 +3749,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAlreadyExist', - 'errorMessage' => 'The specified user already exists in domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAddFailure', - 'errorMessage' => 'Failed to add user to domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserNotExist', 'errorMessage' => 'The specified user is not found in the domain: %s.', 'description' => 'The user does not exist in the domain: %s.'], + ['errorCode' => 'AgentError.Account.UserDeleteFailure', 'errorMessage' => 'Failed to delete user from domain: %s.', 'description' => 'Failed to remove the user from domain: %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</AddUsersResponse>","errorExample":""}]', - 'title' => 'AddUsers', - 'summary' => 'Adds users to a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteUsersResponse>","errorExample":""}]', + 'title' => 'DeleteUsers', + 'summary' => 'Deletes users from a cluster.', + 'description' => 'If you delete a user, only its information is deleted. The files stored in the /home directory for the user are retained. For example, if you delete a user named user1, the files in the `/home/user1/` directory of the cluster are not deleted. However, a deleted user cannot be recovered. Even if you create another user that has the same name, the data retained for the deleted user is not reused.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUsers' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeAutoScaleConfig' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7324,54 +3820,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -7379,142 +3833,81 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Users' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UserInfo' => [ - 'description' => 'The list of users.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The username of the account.'."\n", - 'type' => 'string', - 'example' => 'user1', - ], - 'AddTime' => [ - 'description' => 'The time when the user was created.'."\n", - 'type' => 'string', - 'example' => '2018-07-18T17:46:47', - ], - 'Group' => [ - 'description' => 'The name of the permission group. Valid values:'."\n" - ."\n" - .'* users: an ordinary permission group. It is applicable to ordinary users that need only to submit and debug jobs.'."\n" - .'* wheel: a sudo permission group. It is applicable to the administrator who needs to manage the cluster. In addition to submitting and debugging jobs, users who have sudo permissions can run sudo commands to install software and restart nodes.'."\n", - 'type' => 'string', - 'example' => 'wheel', - ], - ], - ], - ], - ], - ], + 'MaxNodesInCluster' => ['description' => 'The maximum number of compute nodes in the cluster. This parameter indicates the largest number of nodes that can be added to the cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'GrowTimeoutInMinutes' => ['description' => 'The timeout period before the scale-out nodes were started. Valid values: 10 to 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding method of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instance is created as 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 bidding price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73', 'title' => ''], + 'EnableAutoShrink' => ['description' => 'Specifies whether to enable auto scale-in.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ClusterType' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n", 'type' => 'string', 'example' => 'slurm', 'title' => ''], + 'EnableAutoGrow' => ['description' => 'Specifies whether to enable auto scale-out.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ExcludeNodes' => ['description' => 'The list of nodes on which auto scaling is not enabled.'."\n", 'type' => 'string', 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', 'title' => ''], + 'GrowIntervalInMinutes' => ['description' => 'The interval between two consecutive rounds of scale-in. Valid values: 2 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ShrinkIntervalInMinutes' => ['description' => 'The interval between two consecutive rounds of scale-out. Valid values: 2 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the new ECS instance. The value is accurate to three decimal places. It takes effect only when SpotStrategy is set to SpotWithPriceLimit.'."\n", 'type' => 'string', 'example' => '0.062', 'title' => ''], + 'ShrinkIdleTimes' => ['description' => 'The number of consecutive idle times of a node during the resource shrink check. Valid values: 2 to 5.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'ExtraNodesGrowRatio' => ['description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'GrowRatio' => ['description' => 'The percentage of each round of scale-out. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Uid' => ['description' => 'The user ID.'."\n", 'type' => 'string', 'example' => 'testu****', 'title' => ''], + 'ClusterId' => ['description' => 'The ID of the associated cluster.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], ], [ - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetUserListFailure', - 'errorMessage' => 'Get user list fail: %s', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"Name\\": \\"user1\\",\\n \\"AddTime\\": \\"2018-07-18T17:46:47\\",\\n \\"Group\\": \\"wheel\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>1</PageSize>\\r\\n <Users>\\r\\n <UserInfo>\\r\\n <Name>user1</Name>\\r\\n <Group>users</Group>\\r\\n </UserInfo>\\r\\n <UserInfo>\\r\\n <Name>user2</Name>\\r\\n <Group>wheel</Group>\\r\\n </UserInfo>\\r\\n </Users>\\r\\n</ListUsersResponse>","errorExample":""}]', - 'title' => 'ListUsers', - 'summary' => 'Queries all users of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"MaxNodesInCluster\\": 100,\\n \\"GrowTimeoutInMinutes\\": 20,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73\\",\\n \\"EnableAutoShrink\\": true,\\n \\"ClusterType\\": \\"slurm\\",\\n \\"EnableAutoGrow\\": true,\\n \\"ExcludeNodes\\": \\"i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****\\",\\n \\"GrowIntervalInMinutes\\": 10,\\n \\"ShrinkIntervalInMinutes\\": 2,\\n \\"SpotPriceLimit\\": \\"0.062\\",\\n \\"ShrinkIdleTimes\\": 3,\\n \\"ExtraNodesGrowRatio\\": 0,\\n \\"GrowRatio\\": 1,\\n \\"Uid\\": \\"testu****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeAutoScaleConfigResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73</RequestId>\\n <ClusterType>slurm</ClusterType>\\n <Uid>testu****</Uid>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <ExcludeNodes>i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****</ExcludeNodes>\\n <GrowIntervalInMinutes>10</GrowIntervalInMinutes>\\n <ShrinkIntervalInMinutes>2</ShrinkIntervalInMinutes>\\n <ShrinkIdleTimes>3</ShrinkIdleTimes>\\n <GrowTimeoutInMinutes>20</GrowTimeoutInMinutes>\\n <ExtraNodesGrowRatio>0</ExtraNodesGrowRatio>\\n <MaxNodesInCluster>100</MaxNodesInCluster>\\n <GrowRatio>1</GrowRatio>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <SpotPriceLimit>0</SpotPriceLimit>\\n</DescribeAutoScaleConfigResponse> ","errorExample":""}]', + 'title' => 'DescribeAutoScaleConfig', + 'summary' => 'Queries the auto scaling settings of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUsersAsync' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeAutoScaleConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7522,60 +3915,12 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster. You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-vu7c2WkVGx', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.\\'."\n" - .'Pages start from page 1.\\'."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries returned per page.\\'."\n" - .'Valid values: 1 to 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'AsyncId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the asynchronous task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 't-hz02xltxaex1q80', - ], + 'schema' => ['description' => 'The cluster ID. You can call the [ListClusters](~~87116~~) operation to query the list of clusters in a region.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-QKKVqO****', 'title' => ''], ], ], 'responses' => [ @@ -7583,238 +3928,448 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9A05F620-ED46-4A57-95F1-C67D6D3C5DD2', - ], - 'PageNumber' => [ - 'description' => 'The number of the page returned. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of users.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Users' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'ClusterInfo' => [ + 'description' => 'The information about the cluster.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'UserInfo' => [ - 'description' => 'The list of users.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The username of the account.'."\n", - 'type' => 'string', - 'example' => 'testuser', + 'Status' => ['description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* uninit: The cluster is not initialized.'."\n" + .'* creating: The cluster is being created.'."\n" + .'* init: The cluster is being initialized.'."\n" + .'* running: The cluster is running.'."\n" + .'* exception: The cluster encounters an exception.'."\n" + .'* releasing: The cluster is being released.'."\n", 'type' => 'string', 'example' => 'creating', 'title' => ''], + 'VpcId' => ['description' => 'The VPC ID of the node.'."\n", 'type' => 'string', 'example' => 'vpc-bp1pxkcvmmz53ki89****', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the AccessKey pair.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EcsChargeType' => ['description' => 'The billing method of the nodes in the cluster. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go'."\n" + .'* PrePaid: subscription'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group.'."\n", 'type' => 'string', 'example' => 'sg-bp1asugr34gzn****', 'title' => ''], + 'SccClusterId' => ['description' => 'The ID of the Super Computing Cluster (SCC) instance. If the cluster is not an SCC instance, a null string is returned.'."\n", 'type' => 'string', 'example' => '00b648b****', 'title' => ''], + 'CreateTime' => ['description' => 'The time at which the instance is created.'."\n", 'type' => 'string', 'example' => '2020-12-24T03:18:23.000Z', 'title' => ''], + 'AccountType' => ['description' => 'The server type of the account. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n", 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The type of the protocol that is used by the file system. Valid values:'."\n" + ."\n" + .'* nfs'."\n" + .'* smb'."\n", 'type' => 'string', 'example' => 'nfs', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.'."\n", 'type' => 'string', 'example' => 'cluster', 'title' => ''], + 'VolumeId' => ['description' => 'The ID of the File Storage NAS file system. NAS file systems cannot be automatically created.', 'type' => 'string', 'example' => '008b64****', 'title' => ''], + 'HaEnable' => ['description' => 'Specifies whether to enable the high availability feature.'."\n" + ."\n" + .'> If high availability is enabled, each management role in the cluster uses both primary and secondary instances.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'BaseOsTag' => ['description' => 'The image of the cluster.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Name' => ['description' => 'The name of the cluster.'."\n", 'type' => 'string', 'example' => 'cluster', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'centos_7_02_64_20G_alibase_20170818****', 'title' => ''], + 'SchedulerType' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + 'SchedulerVersion' => ['description' => 'The version of the scheduler.'."\n", 'type' => 'string', 'example' => '18.1.1', 'title' => ''], + 'DeployMode' => ['description' => 'The mode in which the cluster is deployed. Valid values:'."\n" + ."\n" + .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" + .'* Tiny: The account node, scheduling node, and logon node are deployed on one node. The compute node is separately deployed.'."\n", 'type' => 'string', 'example' => 'Simple', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The image type. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'example' => 'system', 'title' => ''], + 'OsTag' => ['description' => 'The operating system tag of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'VolumeMountpoint' => ['description' => 'The mount target of the NAS file system. The mount target is of the VPC type. Mount targets cannot be automatically created for NAS file systems.'."\n", 'type' => 'string', 'example' => '008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote directory on which the file system is mounted.'."\n", 'type' => 'string', 'example' => 'NasMountpoint:/RemoteDirectory', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID. E-HPC can be deployed only in VPCs.'."\n", 'type' => 'string', 'example' => 'vsw-bp1e47optm9g58zcu****', 'title' => ''], + 'ImageName' => ['description' => 'The image name.'."\n", 'type' => 'string', 'example' => 'test_for_Image', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the network shared storage. Valid value: NAS.'."\n", 'type' => 'string', 'example' => 'NAS', 'title' => ''], + 'Location' => ['description' => 'The location where the cluster is deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The node is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'Id' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'example' => 'i-bp15de54eet1c43f****', 'title' => ''], + 'ClientVersion' => ['description' => 'The version of the E-HPC client.'."\n", 'type' => 'string', 'example' => '1.0.1', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-k', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.'."\n", 'type' => 'string', 'example' => 'rg-aek23szz5i2****', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the instance Resource Access Management (RAM) role.'."\n", 'type' => 'string', 'example' => 'AliyunEHPCFullAccess', 'title' => ''], + 'RamNodeTypes' => ['description' => 'The node type details of the instance RAM role.'."\n", 'type' => 'string', 'example' => '["manager", "compute"]', 'title' => ''], + 'Applications' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ApplicationInfo' => [ + 'description' => 'The array of the software in the cluster. The array contains the name and version of the software.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Tag' => ['description' => 'The tag of the software.'."\n", 'type' => 'string', 'example' => 'OpenMPI_1.8.7', 'title' => ''], + 'Name' => ['description' => 'The name of the software.'."\n", 'type' => 'string', 'example' => 'openmpi', 'title' => ''], + 'Version' => ['description' => 'The version of the software.'."\n", 'type' => 'string', 'example' => '1.10', 'title' => ''], + ], + 'title' => '', ], - 'AddTime' => [ - 'description' => 'The time when the user was created.'."\n", - 'type' => 'string', - 'example' => '2022-09-28T09:05:26.000Z', + ], + ], + ], + 'PostInstallScripts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PostInstallScriptInfo' => [ + 'description' => 'The list of post-installation scripts'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Url' => ['description' => 'The URL used to download the script.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'Args' => ['description' => 'The parameter used to run the script.'."\n", 'type' => 'string', 'example' => 'bash file.sh', 'title' => ''], + ], + 'title' => '', ], - 'Group' => [ - 'description' => 'The user groups.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'wheel', + ], + ], + ], + 'EcsInfo' => [ + 'description' => 'The list of ECS instance specifications and quantity.'."\n", + 'type' => 'object', + 'properties' => [ + 'Manager' => [ + 'description' => 'The information of management nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the management nodes.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'Count' => ['description' => 'The number of management nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], - 'UserId' => [ - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'example' => '1000', + 'title' => '', + ], + 'Compute' => [ + 'description' => 'The list of compute nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the compute nodes.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'Count' => ['description' => 'The number of compute nodes in the cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], - 'GroupId' => [ - 'description' => 'The user group ID.'."\n", - 'type' => 'string', - 'example' => '10', + 'title' => '', + ], + 'Login' => [ + 'description' => 'The list of logon nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the logon nodes.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'Count' => ['description' => 'The number of logon nodes in the cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + ], + 'ProxyMgr' => [ + 'description' => 'The list of proxy nodes on the cloud.'."\n" + ."\n" + .'This parameter is returned only when the cluster is deployed across hybrid environments and the hybrid-cloud proxy mode is enabled for the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the proxy node.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'Count' => ['description' => 'The number of proxy nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + ], + ], + 'title' => '', + ], + 'OnPremiseInfo' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OnPremiseInfo' => [ + 'description' => 'The list of on-premises management nodes.'."\n" + ."\n" + .'This parameter is returned only when the cluster is deployed across hybrid environments and the hybrid-cloud proxy mode is enabled for the cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the management node in the on-premises cluster. Valid values:'."\n" + ."\n" + .'* scheduler'."\n" + .'* account'."\n" + .'* account, scheduler'."\n", 'type' => 'string', 'example' => 'scheduler', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the management node in the on-premises cluster.'."\n", 'type' => 'string', 'example' => 'testecs', 'title' => ''], + 'IP' => ['description' => 'The IP address of the management node in the on-premises cluster.'."\n", 'type' => 'string', 'example' => '192.168.*.*', 'title' => ''], + ], + 'title' => '', ], ], ], ], + 'AddOnsInfo' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AddOnsInfo' => [ + 'description' => 'The information about the custom component service.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SoftwareId' => ['description' => 'The software ID of the component.'."\n", 'type' => 'string', 'example' => 'CROMWELL_85', 'title' => ''], + 'DeployMode' => ['description' => 'The deployment mode of the custom component. Valid values:'."\n" + ."\n" + .'* local'."\n" + .'* ecs'."\n", 'type' => 'string', 'example' => 'local', 'title' => ''], + 'Port' => ['description' => 'The TCP port number of the custom component.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10000', 'title' => ''], + 'Status' => ['description' => 'The running status of the custom component. Valid values:'."\n" + ."\n" + .'* running'."\n" + .'* stopped'."\n" + .'* exception'."\n", 'type' => 'string', 'example' => 'running', 'title' => ''], + 'URL' => ['description' => 'The URL of the custom component service.'."\n", 'type' => 'string', 'example' => 'http://172.16.10.12:10000/', 'title' => ''], + ], + 'title' => '', + ], + ], + ], + ], + 'ClusterVersion' => ['description' => 'The version of the E-HPC cluster.'."\n", 'type' => 'string', 'example' => '1.0', 'title' => ''], + 'WithoutAgent' => ['description' => 'Specifies whether to not install the agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'false', 'title' => ''], + 'Plugin' => ['description' => 'The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom.'."\n" + ."\n" + .'The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.'."\n" + ."\n" + .'* pluginMod: the mode of the plug-in. The following modes are supported:'."\n" + ."\n" + .' * oss: The plug-in is downloaded and decompressed from OSS to a local path that is specified by the pluginLocalPath parameter.'."\n" + .' * image: By default, the plug-in is stored in a pre-defined local path that is specified by the pluginLocalPath parameter.'."\n" + ."\n" + .'* pluginLocalPath: the local path where the plug-in is stored. We recommend that you select a shared directory in the oss mode and a non-shared directory in the image mode.'."\n" + ."\n" + .'* pluginOssPath: the remote path where the plug-in is stored in OSS. This parameter takes effect only if you set the pluginMod parameter to oss.'."\n", 'type' => 'string', 'example' => '{\\"pluginMod\\":\\"image\\",\\"pluginLocalPath\\":\\"/opt/plugin\\"}', 'title' => ''], + 'SchedulerPreInstall' => ['description' => 'Specifies whether the scheduler is preinstalled for the image. Valid values:'."\n" + ."\n" + .'* true: The scheduler is preinstalled. When you create a node or scale out a cluster, you do not need to install the scheduler.'."\n" + .'* false: The scheduler is not preinstalled. When you create or add a cluster, you must install the scheduler.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'true', 'title' => ''], + 'Domain' => ['description' => 'The domain name of the on-premises E-HPC cluster.'."\n" + ."\n" + .'This parameter takes effect only when the AccoutType parameter is set to Idap.'."\n", 'type' => 'string', 'example' => 'ldap', 'title' => ''], + 'OpenldapPar' => ['description' => 'The parameter that is used to connect to the OpenLDAP server.'."\n", 'type' => 'string', 'example' => '{'."\n" + .' "LdapServerIp": "192.168.XX.XX",'."\n" + .' "BaseDn": "ehpctest",'."\n" + .' "FallbackHomeDir": "/home"'."\n" + .'}', 'title' => ''], + 'WinAdPar' => ['description' => 'The parameter that is used to connect to the Windows AD server.'."\n", 'type' => 'string', 'example' => '{ "AdUser": "Administrator", "AdUserPasswd": "xxxxxx", "AdDc": "ad-hybrid001.ehpcad.com", "AdIp": "192.168.XX.XX"}', 'title' => ''], + 'Period' => ['description' => 'The duration of the subscription. The unit of the duration is specified by the `PeriodUnit` parameter.'."\n" + ."\n" + .'* If you set PriceUnit to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" + .'* If you set PriceUnit to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" + .'* If you set PriceUnit to Hour, the valid value of the Period parameter is 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'PeriodUnit' => ['description' => 'The unit of the subscription duration. Valid value:'."\n" + ."\n" + .'* Year'."\n" + .'* Month'."\n" + .'* Hour'."\n" + ."\n" + .'Default value: Month.'."\n", 'type' => 'string', 'example' => 'Month', 'title' => ''], + 'AutoRenewPeriod' => ['description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n" + ."\n" + .'* If PeriodUnit is set to Week, the valid values of the AutoRenewPeriod parameter are 1, 2, and 3.'."\n" + .'* If PeriodUnit is set to Month, the valid values of the AutoRenewPeriod parameter are 1, 2, 3, 6, and 12.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'AutoRenew' => ['description' => 'Specifies whether to enable auto-renewal. The parameter takes effect only when EcsChargeType is set to PrePaid. Valid values:'."\n" + ."\n" + .'* true: enables auto-renewal.'."\n" + .'* false: disables auto-renewal.'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], + 'ComputeSpotStrategy' => ['description' => 'The bidding method of the compute node. 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 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 bidding price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'ComputeSpotPriceLimit' => ['description' => 'The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'string', 'example' => '0.56', 'title' => ''], + 'Nodes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NodesInfo' => [ + 'description' => 'The information of the on-premises node in the cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Role' => ['description' => 'The role of the node in the on-premises cluster. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'example' => 'Compute', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the node in the on-premises cluster.'."\n", 'type' => 'string', 'example' => 'compute000', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the node in the on-premises cluster.'."\n", 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'AccountType' => ['description' => 'The service type of the domain account to which the node in the on-premises cluster belongs. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n" + ."\n" + .'Default value: nis.'."\n", 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'Dir' => ['description' => 'The directory of the node in the on-premises cluster.'."\n", 'type' => 'string', 'example' => '/opt/sge/default/', 'title' => ''], + 'SchedulerType' => ['description' => 'The scheduler type of the node in the on-premises cluster. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n" + ."\n" + .'Default value: pbs.'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + ], + 'title' => '', + ], + ], + ], + ], + 'InitialImage' => [ + 'description' => 'The image information of the operating systems.'."\n", + 'type' => 'object', + 'properties' => [ + 'OsTag' => ['description' => 'An array of OS images that are supported by E-HPC.'."\n", 'type' => 'string', 'example' => 'CentOS_7.6_64', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'example' => 'system', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'centos_7_6_x64_20G_alibase_20211130.vhd', 'title' => ''], + ], + 'title' => '', + ], ], - ], - 'AsyncId' => [ - 'description' => 'The ID of the asynchronous task.'."\n", - 'type' => 'string', - 'example' => 't-sh03egi3mls****', - ], - 'AsyncStatus' => [ - 'description' => 'The status of the asynchronous task.'."\n", - 'type' => 'string', - 'example' => 'Success', + 'title' => '', ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetUserListFailure', - 'errorMessage' => 'Get user list fail: %s', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ClusterInfo\\": {\\n \\"Status\\": \\"creating\\",\\n \\"VpcId\\": \\"vpc-bp1pxkcvmmz53ki89****\\",\\n \\"KeyPairName\\": \\"test\\",\\n \\"EcsChargeType\\": \\"PostPaid\\",\\n \\"SecurityGroupId\\": \\"sg-bp1asugr34gzn****\\",\\n \\"SccClusterId\\": \\"00b648b****\\",\\n \\"CreateTime\\": \\"2020-12-24T03:18:23.000Z\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"VolumeProtocol\\": \\"nfs\\",\\n \\"Description\\": \\"cluster\\",\\n \\"VolumeId\\": \\"008b64****\\",\\n \\"HaEnable\\": false,\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Name\\": \\"cluster\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"SchedulerVersion\\": \\"18.1.1\\",\\n \\"DeployMode\\": \\"Simple\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"VolumeMountpoint\\": \\"008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"RemoteDirectory\\": \\"NasMountpoint:/RemoteDirectory\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"ImageName\\": \\"test_for_Image\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp15de54eet1c43f****\\",\\n \\"ClientVersion\\": \\"1.0.1\\",\\n \\"ZoneId\\": \\"cn-hangzhou-k\\",\\n \\"ResourceGroupId\\": \\"rg-aek23szz5i2****\\",\\n \\"RamRoleName\\": \\"AliyunEHPCFullAccess\\",\\n \\"RamNodeTypes\\": \\"[\\\\\\"manager\\\\\\", \\\\\\"compute\\\\\\"]\\",\\n \\"Applications\\": {\\n \\"ApplicationInfo\\": [\\n {\\n \\"Tag\\": \\"OpenMPI_1.8.7\\",\\n \\"Name\\": \\"openmpi\\",\\n \\"Version\\": \\"1.10\\"\\n }\\n ]\\n },\\n \\"PostInstallScripts\\": {\\n \\"PostInstallScriptInfo\\": [\\n {\\n \\"Url\\": \\"example.com\\",\\n \\"Args\\": \\"bash file.sh\\"\\n }\\n ]\\n },\\n \\"EcsInfo\\": {\\n \\"Manager\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"Compute\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"Login\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n },\\n \\"ProxyMgr\\": {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"Count\\": 1\\n }\\n },\\n \\"OnPremiseInfo\\": {\\n \\"OnPremiseInfo\\": [\\n {\\n \\"Type\\": \\"scheduler\\",\\n \\"HostName\\": \\"testecs\\",\\n \\"IP\\": \\"192.168.*.*\\"\\n }\\n ]\\n },\\n \\"AddOnsInfo\\": {\\n \\"AddOnsInfo\\": [\\n {\\n \\"SoftwareId\\": \\"CROMWELL_85\\",\\n \\"DeployMode\\": \\"local\\",\\n \\"Port\\": 10000,\\n \\"Status\\": \\"running\\",\\n \\"URL\\": \\"http://172.16.10.12:10000/\\"\\n }\\n ]\\n },\\n \\"ClusterVersion\\": \\"1.0\\",\\n \\"WithoutAgent\\": 0,\\n \\"Plugin\\": \\"{\\\\\\\\\\\\\\"pluginMod\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"image\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pluginLocalPath\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/opt/plugin\\\\\\\\\\\\\\"}\\",\\n \\"SchedulerPreInstall\\": 0,\\n \\"Domain\\": \\"ldap\\",\\n \\"OpenldapPar\\": \\"{\\\\n\\\\t\\\\\\"LdapServerIp\\\\\\": \\\\\\"192.168.XX.XX\\\\\\",\\\\n\\\\t\\\\\\"BaseDn\\\\\\": \\\\\\"ehpctest\\\\\\",\\\\n\\\\t\\\\\\"FallbackHomeDir\\\\\\": \\\\\\"/home\\\\\\"\\\\n}\\",\\n \\"WinAdPar\\": \\"{\\\\t\\\\\\"AdUser\\\\\\": \\\\\\"Administrator\\\\\\",\\\\t\\\\\\"AdUserPasswd\\\\\\": \\\\\\"xxxxxx\\\\\\",\\\\t\\\\\\"AdDc\\\\\\": \\\\\\"ad-hybrid001.ehpcad.com\\\\\\",\\\\t\\\\\\"AdIp\\\\\\": \\\\\\"192.168.XX.XX\\\\\\"}\\",\\n \\"Period\\": \\"1\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"AutoRenewPeriod\\": \\"1\\",\\n \\"AutoRenew\\": \\"false\\",\\n \\"ComputeSpotStrategy\\": \\"NoSpot\\",\\n \\"ComputeSpotPriceLimit\\": \\"0.56\\",\\n \\"Nodes\\": {\\n \\"NodesInfo\\": [\\n {\\n \\"Role\\": \\"Compute\\",\\n \\"HostName\\": \\"compute000\\",\\n \\"IpAddress\\": \\"192.168.XX.XX\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Dir\\": \\"/opt/sge/default/\\",\\n \\"SchedulerType\\": \\"pbs\\"\\n }\\n ]\\n },\\n \\"InitialImage\\": {\\n \\"OsTag\\": \\"CentOS_7.6_64\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeClusterResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <ClusterInfo>\\n <Status>creating</Status>\\n <VpcId>vpc-bp1pxkcvmmz53ki89****</VpcId>\\n <KeyPairName>test</KeyPairName>\\n <EcsChargeType>PostPaid</EcsChargeType>\\n <SecurityGroupId>sg-bp1asugr34gzn****</SecurityGroupId>\\n <SccClusterId>00b648b****</SccClusterId>\\n <CreateTime>2020-12-24T03:18:23.000Z</CreateTime>\\n <AccountType>nis</AccountType>\\n <VolumeProtocol>nfs</VolumeProtocol>\\n <Description>cluster</Description>\\n <VolumeId>008b64****</VolumeId>\\n <HaEnable>false</HaEnable>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Name>cluster</Name>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Simple</DeployMode>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <VolumeMountpoint>008b648bcb-s****.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n <RemoteDirectory>NasMountpoint:/RemoteDirectory</RemoteDirectory>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <ImageName>test_for_Image</ImageName>\\n <VolumeType>NAS</VolumeType>\\n <Location>PublicCloud</Location>\\n <Id>i-bp15de54eet1c43f****</Id>\\n <ClientVersion>1.0.1</ClientVersion>\\n <Applications>\\n <Tag>OpenMPI_1.8.7</Tag>\\n <Name>openmpi</Name>\\n <Version>1.10</Version>\\n </Applications>\\n <PostInstallScripts>\\n <Url>example.com</Url>\\n <Args>bash file.sh</Args>\\n </PostInstallScripts>\\n <EcsInfo>\\n <Manager>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Manager>\\n <Compute>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Compute>\\n <Login>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </Login>\\n <ProxyMgr>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <Count>1</Count>\\n </ProxyMgr>\\n </EcsInfo>\\n <OnPremiseInfo>\\n <Type>scheduler</Type>\\n <HostName>testecs</HostName>\\n <IP>192.168.*.*</IP>\\n </OnPremiseInfo>\\n </ClusterInfo>\\n</DescribeClusterResponse>","errorExample":""}]', + 'title' => 'DescribeCluster', + 'summary' => 'Queries the details of a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"9A05F620-ED46-4A57-95F1-C67D6D3C5DD2\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"Name\\": \\"testuser\\",\\n \\"AddTime\\": \\"2022-09-28T09:05:26.000Z\\",\\n \\"Group\\": \\"wheel\\",\\n \\"UserId\\": \\"1000\\",\\n \\"GroupId\\": \\"10\\"\\n }\\n ]\\n },\\n \\"AsyncId\\": \\"t-sh03egi3mls****\\",\\n \\"AsyncStatus\\": \\"Success\\"\\n}","errorExample":""},{"type":"xml","example":"<ListUsersAsyncResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>1</PageSize>\\n <RequestId>76CCF155-5F9B-5FC1-8DF8-579A61F69D99</RequestId>\\n <PageNumber>1</PageNumber>\\n <AsyncId>t-sh03egi3mls****</AsyncId>\\n <AsyncStatus>Success</AsyncStatus>\\n <Users>\\n <UserInfo>\\n <Group>wheel</Group>\\n <UserId>1000</UserId>\\n <Name>testuser</Name>\\n <GroupId>10</GroupId>\\n </UserInfo>\\n </Users>\\n</ListUsersAsyncResponse>","errorExample":""}]', - 'title' => 'ListUsersAsync', - 'summary' => 'Queries the users in a cluster.', ], - 'ModifyUserGroups' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeImagePrice' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75895', - 'abilityTreeNodes' => [ - 'FEATUREehpcG9MMN3', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of an image.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'm-bp198jigq7l1ga11****', 'title' => ''], ], [ - 'name' => 'User', + 'name' => 'PriceUnit', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The users. You can specify 1 to 100 users.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The array of user information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The username.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the usernames in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user11', - ], - 'Group' => [ - 'description' => 'The user group to be changed. Valid values:'."\n" - ."\n" - .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" - .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'users', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The unit of the subscription duration. Valid values:'."\n" + ."\n" + .'* Day'."\n" + .'* Month'."\n" + .'* Year'."\n" + ."\n" + .'Default value: Day.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Day', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'SkuCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use asynchronous message links to change the user group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The stock keeping unit (SKU) of the image. Valid value: package.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'package', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The subscription duration of the read-only instance. Valid values:'."\n" + ."\n" + .'* If PriceUnit is set to Day, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, and 30.'."\n" + .'* If PriceUnit is set to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" + .'* If PriceUnit is set to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => ['description' => 'The number of images that you want to purchase. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the order. The order can be set only as a purchase order. Valid value: INSTANCE-BUY.'."\n", 'type' => 'string', 'required' => false, 'example' => 'INSTANCE-BUY', 'title' => ''], ], ], 'responses' => [ @@ -7822,202 +4377,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'Amount' => ['description' => 'The number of instances that are purchased.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '47ca3ac4-2a03-48f1-8bf2-ba6de0f3****', 'title' => ''], + 'DiscountPrice' => ['description' => 'The discount.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''], + 'TradePrice' => ['description' => 'The final price of the image.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.8', 'title' => ''], + 'OriginalPrice' => ['description' => 'The original price of the image.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.8', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the custom image.'."\n", 'type' => 'string', 'example' => 'm-bp198jigq7l1ga11****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAlreadyExist', - 'errorMessage' => 'The specified user already exists in domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAddFailure', - 'errorMessage' => 'Failed to add user to domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserNotExist', - 'errorMessage' => 'The specified user is not found in the domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserModifyGroupFailure', - 'errorMessage' => 'Failed to modify user groups in domain: %s.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyUserGroupsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</ModifyUserGroupsResponse>","errorExample":""}]', - 'title' => 'ModifyUserGroups', - 'summary' => 'Changes the user group to which users belong.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Amount\\": 1,\\n \\"RequestId\\": \\"47ca3ac4-2a03-48f1-8bf2-ba6de0f3****\\",\\n \\"DiscountPrice\\": 0,\\n \\"TradePrice\\": 0.8,\\n \\"OriginalPrice\\": 0.8,\\n \\"ImageId\\": \\"m-bp198jigq7l1ga11****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeImagePriceResponse>\\n <Amount>1</Amount>\\n <RequestId>47ca3ac4-2a03-48f1-8bf2-ba6de0f3****</RequestId>\\n <DiscountPrice>0</DiscountPrice>\\n <TradePrice>0.8</TradePrice>\\n <OriginalPrice>0.8</OriginalPrice>\\n <ImageId>m-bp198jigq7l1ga11****</ImageId>\\n</DescribeImagePriceResponse>","errorExample":""}]', + 'title' => 'DescribeImagePrice', + 'summary' => 'Queries the price of an Alibaba Cloud Marketplace image.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyUserPasswords' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeImagePrice', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75897', - 'abilityTreeNodes' => [ - 'FEATUREehpcG9MMN3', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'User', + 'name' => 'JobId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The users. You can specify 1 to 100 users.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The array of user information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The new password for the user. The password must be 8 to 30 characters in length and contain at least three of the following character types:'."\n" - ."\n" - .'* Uppercase letter'."\n" - .'* Lowercase letter'."\n" - .'* Digit'."\n" - .'* Special character: `()~!@#$%^&*-_+=|{}[]:;\'/<>,.?/`'."\n" - ."\n" - .'> We recommend that you use HTTPS to call this operation to avoid password leaks.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1@a****', - ], - 'Name' => [ - 'description' => 'The username of the user whose password you want to change.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the usernames in the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'user1', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The job ID.'."\n" + ."\n" + .'You can call the [ListJobs](~~87251~~) operation to obtain the job ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1.scheduler****', 'title' => ''], ], [ 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the asynchronous mode for this request.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to use an asynchronous link to stop the job.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -8025,178 +4471,251 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9697AD8D-56FA-4C8E-B46C-00AC9***', 'title' => ''], + 'Message' => [ + 'description' => 'The list of returned job information.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobInfo' => ['description' => 'The details of the job.'."\n", 'type' => 'string', 'example' => '{"2.scheduler": {"egroup": "users","Stageout_status": 1,"Keep_Files": "n","server": "scheduler","queue": "workq"}}', 'title' => ''], + ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserNotExist', - 'errorMessage' => 'The specified user is not found in the domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserChangePasswordFailure', - 'errorMessage' => 'Failed to modify user password in domain: %s.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9697AD8D-56FA-4C8E-B46C-00AC9***\\",\\n \\"Message\\": {\\n \\"JobInfo\\": \\"{\\\\\\"2.scheduler\\\\\\": {\\\\\\"egroup\\\\\\": \\\\\\"users\\\\\\",\\\\\\"Stageout_status\\\\\\": 1,\\\\\\"Keep_Files\\\\\\": \\\\\\"n\\\\\\",\\\\\\"server\\\\\\": \\\\\\"scheduler\\\\\\",\\\\\\"queue\\\\\\": \\\\\\"workq\\\\\\"}}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobResponse>\\n <RequestId>9697AD8D-56FA-4C8E-B46C-00AC9***</RequestId>\\n <Message>\\n <JobInfo>{\\"2.scheduler\\": {\\"egroup\\": \\"users\\",\\"Stageout_status\\": 1,\\"Keep_Files\\": \\"n\\",\\"server\\": \\"scheduler\\",\\"queue\\": \\"workq\\"}}</JobInfo>\\n </Message>\\n</DescribeJobResponse>","errorExample":""}]', + 'title' => 'DescribeJob', + 'summary' => 'Queries the information about a job in an E-HPC cluster.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeJob', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyUserPasswordsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</ModifyUserPasswordsResponse>","errorExample":""}]', - 'title' => 'ModifyUserPasswords', - 'summary' => 'Changes the passwords of users.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteUsers' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribePrice' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '75803', - 'abilityTreeNodes' => [ - 'FEATUREehpcG9MMN3', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PriceUnit', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The billing cycle of the Elastic Compute Service (ECS) instances. This parameter takes effect only when the ChargeType parameter is set to PrePaid. Valid values:'."\n" + ."\n" + .'* Month: pay-by-month'."\n" + .'* Year: pay-by-year'."\n" + .'* Hour: pay-by-hour'."\n" + ."\n" + .'Default value: Hour.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Hour', 'title' => ''], ], [ - 'name' => 'User', + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the ECS instances. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go'."\n" + .'* PrePaid: subscription'."\n" + ."\n" + .'Default value: PostPaid.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the order. The order can be set only as a purchase order. Valid value: INSTANCE-BUY.'."\n", 'type' => 'string', 'required' => false, 'example' => 'INSTANCE-BUY', 'title' => ''], + ], + [ + 'name' => 'Commodities', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the user.'."\n", + 'description' => 'The information about the service.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The array of user information.'."\n", 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the user N that you want to delete. Valid values of N: 1 to 100.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'user1', + 'Amount' => ['description' => 'The node quantity of the type. Valid values: 1 to 1000.'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'Valid values of N: 1 to 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The system disk size of the node. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + 'SystemDiskPerformanceLevel' => ['description' => 'The performance level of the ESSD used as the system disk. This parameter takes effect only when the Commodities.N.SystemDiskCategory parameter is set to cloud_essd. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'Valid values of N: 1 to 10'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'NodeType' => ['description' => 'The type of the node. Valid values:'."\n" + ."\n" + .'* Compute: compute node'."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Compute', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The system disk type of the node. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: standard SSD'."\n" + .'* cloud_essd: ESSD'."\n" + .'* cloud: basic disk'."\n" + ."\n" + .'Default value: cloud_efficiency'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'InternetChargeType' => ['description' => 'The EIP billing method of the node. Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay-by-bandwidth'."\n" + .'* PayByTraffic: pay-by-traffic'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], + 'NetworkType' => ['description' => 'The network type of the node. Valid value: VPC.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the node.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ecs.n1.tiny', 'title' => ''], + 'Period' => ['description' => 'The subscription duration of the node. Valid values:'."\n" + ."\n" + .'* If PriceUnit is set to Year, the valid values of the Period parameter are 1, 2, and 3.'."\n" + .'* If PriceUnit is set to Month, the valid values of the Period parameter are 1, 2, 3, 4, 5, 6, 7, 8, and 9.'."\n" + .'* If PriceUnit is set to Hour, the valid value of the Period parameter is 1.'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + 'InternetMaxBandWidthOut' => ['description' => 'The maximum outbound public bandwidth of the node. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'DataDisks' => [ + 'description' => 'The list of data disks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'size' => ['description' => 'The size of the data disk. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n" + ."\n" + .'Valid values of N: 0 to 4.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + 'category' => ['description' => 'The type of the data disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: standard SSD'."\n" + .'* cloud_essd: ESSD'."\n" + .'* cloud: basic disk'."\n" + ."\n" + .'Default value: cloud_efficiency.'."\n" + ."\n" + .'Valid values of N: 0 to 4.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + 'deleteWithInstance' => ['description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n" + ."\n" + .'Valid values of N: 0 to 4.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'performanceLevel' => ['description' => 'The performance level of the ESSD used as the data disk. This parameter takes effect only when the Commodities.N.DataDisks.N.category parameter is set to cloud_essd. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'Valid values of N: 0 to 4.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'encrypted' => ['description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'* true: encrypts the data disk.'."\n" + .'* false: does not encrypt the data disk.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'Valid values of N: 0 to 4.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 4, + 'title' => '', ], ], 'required' => false, + 'description' => '', + 'title' => '', ], 'required' => true, - 'maxItems' => 10000, - ], - ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the asynchronous mode for this request.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'maxItems' => 2500, + 'title' => '', ], ], ], @@ -8205,684 +4724,1101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE****', + 'TotalTradePrice' => ['description' => 'The total price.'."\n" + ."\n" + .'Unit: USD.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1258', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '54FF9025-2C2F-42EB-870D-0DF5B0ACF24E', 'title' => ''], + 'Prices' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PriceInfo' => [ + 'description' => 'The array of cluster prices. If you query the prices of multiple nodes in the cluster, the sequence of the prices in the returned value of PriceInfo is the same as the sequence of the nodes in the request parameters. For example, the first price in the value of PriceInfo is the price of the first node specified in the request parameters.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OriginalPrice' => ['description' => 'The original price.'."\n" + ."\n" + .'Unit: USD.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1258', 'title' => ''], + 'NodeType' => ['description' => 'The node type. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'example' => 'Compute', 'title' => ''], + 'Currency' => ['description' => 'The currency that is used to measure the price. Valid values:'."\n" + ."\n" + .'USD'."\n", 'type' => 'string', 'example' => 'USD', 'title' => ''], + 'TradePrice' => ['description' => 'The final price.'."\n" + ."\n" + .'Unit: USD.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1258', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserNotExist', - 'errorMessage' => 'The specified user is not found in the domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserDeleteFailure', - 'errorMessage' => 'Failed to delete user from domain: %s.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'The role does not exist.', 'description' => 'The role does not exist.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteUsersResponse>","errorExample":""}]', - 'title' => 'DeleteUsers', - 'summary' => 'Deletes users from a cluster.', - 'description' => 'If you delete a user, only its information is deleted. The files stored in the /home directory for the user are retained. For example, if you delete a user named user1, the files in the `/home/user1/` directory of the cluster are not deleted. However, a deleted user cannot be recovered. Even if you create another user that has the same name, the data retained for the deleted user is not reused.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalTradePrice\\": 1258,\\n \\"RequestId\\": \\"54FF9025-2C2F-42EB-870D-0DF5B0ACF24E\\",\\n \\"Prices\\": {\\n \\"PriceInfo\\": [\\n {\\n \\"OriginalPrice\\": 1258,\\n \\"NodeType\\": \\"Compute\\",\\n \\"Currency\\": \\"USD\\",\\n \\"TradePrice\\": 1258\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePriceResponse>\\n <Prices>\\n <PriceInfo>\\n <OriginalPrice>1258</OriginalPrice>\\n <TradePrice>1258</TradePrice>\\n <Currency>CNY</Currency>\\n <NodeType>Compute</NodeType>\\n </PriceInfo>\\n </Prices>\\n <TotalTradePrice>1258</TotalTradePrice>\\n <RequestId>54FF9025-2C2F-42EB-870D-0DF5B0ACF24E</RequestId>\\n</DescribePriceResponse> ","errorExample":""}]', + 'title' => 'DescribePrice', + 'summary' => 'Queries the pricing information of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddNodes' => [ - 'summary' => 'Adds one or more compute nodes to an E-HPC cluster.', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePrice'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribePrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeServerlessJobs' => [ + 'summary' => 'You can query detailed information about Serverless jobs by specifying a job ID or a subtask ID (for array jobs). Specify only one job ID or one subtask ID at a time.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'ImageOwnerAlias', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n" - ."\n" - .'Default value: system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'Get the cluster ID by calling [ListClusters](~~87116~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is specified for the compute nodes. The image must meet the following requirements:'."\n" - ."\n" - .'* The operating system that is specified by the image must be the same as that of the existing cluster nodes. For example, if the operating system of the cluster nodes is CentOS, you can select only a CentOS image.'."\n" - ."\n" - .'> If you add nodes to a hybrid cloud cluster that supports multiple operating systems, you can select a Windows Server image or a CentOS image when the operating system of nodes is Windows.'."\n" - ."\n" - .'* The major version of the image specified for the compute nodes that you want to add is the same as that of the image of the cluster. For example, if the version of the cluster image is CentOS 7.x, the version of the image specified for the compute nodes must be CentOS 7.x.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', - ], - ], - [ - 'name' => 'Count', + 'name' => 'JobIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The number of compute nodes that you want to add. Valid values: 1 to 99. The value of this parameter is greater than that of the MinCount parameter.'."\n" + 'description' => 'A list of Serverless job IDs or subtask IDs (for array jobs).'."\n" ."\n" - .'* If the number of available ECS instances is less than the value of the MinCount parameter, the compute nodes cannot be added.'."\n" - .'* If the number of available ECS instances is greater than the value of the MinCount parameter and less than that of the Count parameter, the compute nodes are added based on the value of the MinCount parameter.'."\n" - .'* If the number of available ECS instances is greater than the value of the Count parameter, the compute nodes are added based on the value of the Count parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> - For array jobs, specify only the subtask ID. The subtask ID format is \\<array job ID>\\_\\<subtask index>. For example, 10\\_3 refers to the subtask with index 3 in the array job with ID 10.'."\n" + .'>'."\n" + .'> - The list supports only one element.', + 'type' => 'array', + 'items' => ['description' => 'A Serverless job ID or subtask ID (for array jobs).', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => '10', + 'maxItems' => 1, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The instance type of the compute nodes. The default value is the instance type that was specified when you created the E-HPC cluster or the last time when you added compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total number of entries that match the request conditions.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'JobInfos' => [ + 'description' => 'A list of detailed Serverless job information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The Serverless job ID or subtask ID (for array jobs).', 'type' => 'string', 'example' => '5', 'title' => ''], + 'JobName' => ['description' => 'The Serverless job name.', 'type' => 'string', 'example' => 'testjob', 'title' => ''], + 'State' => ['description' => 'The Serverless job state. Valid values:'."\n" + ."\n" + .'- Pending: Queued'."\n" + ."\n" + .'- Initing: Initializing'."\n" + ."\n" + .'- Running: Running'."\n" + ."\n" + .'- Succeeded: Completed'."\n" + ."\n" + .'- Canceled: Canceled'."\n" + ."\n" + .'- Failed: Failed', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Priority' => ['description' => 'The scheduling priority of the Serverless job.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'Queue' => ['description' => 'The queue name for running the Serverless job.', 'type' => 'string', 'example' => 'comp', 'title' => ''], + 'User' => ['description' => 'The username for running the Serverless job.', 'type' => 'string', 'example' => 'testuser', 'title' => ''], + 'SubmitTime' => ['description' => 'The timestamp when the Serverless job was submitted.', 'type' => 'integer', 'format' => 'int64', 'example' => '1647423718', 'title' => ''], + 'StartTime' => ['description' => 'The timestamp when the Serverless job started.', 'type' => 'integer', 'format' => 'int64', 'example' => '1647427667', 'title' => ''], + 'EndTime' => ['description' => 'The timestamp when the Serverless job ended.', 'type' => 'integer', 'format' => 'int64', 'example' => '1662016121', 'title' => ''], + 'LastModifyTime' => ['description' => 'The timestamp when the Serverless job was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '1663831441000', 'title' => ''], + 'IsArrayJob' => ['description' => 'Indicates whether the job is an array job.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ArrayProperties' => [ + 'description' => 'The properties of the array job.', + 'type' => 'object', + 'properties' => [ + 'IndexStart' => ['description' => 'The start index of the array job.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'IndexEnd' => ['description' => 'The end index of the array job.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'IndexStep' => ['description' => 'The step size between array job indices.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ContainerGroups' => [ + 'description' => 'A list of container group instance information for the Serverless job.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ContainerGroupId' => ['description' => 'The container group instance ID.', 'type' => 'string', 'example' => 'eci-bp1jrgfqqy54kg5hc****', 'title' => ''], + 'ContainerGroupName' => ['description' => 'The container group instance name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Status' => ['description' => 'The instance status. Valid values:'."\n" + ."\n" + .'- Pending: Starting'."\n" + ."\n" + .'- Running: Running'."\n" + ."\n" + .'- Succeeded: Succeeded'."\n" + ."\n" + .'- Failed: Failed'."\n" + ."\n" + .'- Scheduling: Creating'."\n" + ."\n" + .'- ScheduleFailed: Creation failed'."\n" + ."\n" + .'- Restarting: Restarting'."\n" + ."\n" + .'- Updating: Updating'."\n" + ."\n" + .'- Terminating: Terminating'."\n" + ."\n" + .'- Expired: Expired', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'InstanceType' => ['description' => 'The specified ECS instance type.', 'type' => 'string', 'example' => 'ecs.g5.large', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot (default): Pay-as-you-go node.'."\n" + ."\n" + .'- SpotWithPriceLimit: Spot node with a maximum hourly price.'."\n" + ."\n" + .'- SpotAsPriceGo: System automatically bids based on current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for a spot instance.'."\n" + ."\n" + .'Returned only when SpotStrategy is SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + 'Cpu' => ['description' => 'The vCPU size for the container.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4.0', 'title' => ''], + 'Containers' => [ + 'description' => 'A list of containers in the container group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Args' => [ + 'description' => 'Container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'Container startup arguments.', 'type' => 'string', 'example' => 'hello.py', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Commands' => [ + 'description' => 'Container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'Container startup commands.', 'type' => 'string', 'example' => '/usr/bin/python', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Cpu' => ['description' => 'The vCPU size for the container.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'CurrentState' => [ + 'description' => 'The current container state.', + 'type' => 'object', + 'properties' => [ + 'DetailStatus' => ['description' => 'Detailed container status.', 'type' => 'string', 'example' => 'working', 'title' => ''], + 'ExitCode' => ['description' => 'The container exit code.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FinishTime' => ['description' => 'The container finish time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'Message' => ['description' => 'Container status message.', 'type' => 'string', 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)', 'title' => ''], + 'Reason' => ['description' => 'Container status reason.', 'type' => 'string', 'example' => 'Started', 'title' => ''], + 'Signal' => ['description' => 'Container status signal.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'StartTime' => ['description' => 'The container start time.', 'type' => 'string', 'example' => '2019-12-19T12:05:02Z'."\n", 'title' => ''], + 'State' => ['description' => 'Job state. Valid values:'."\n" + ."\n" + .'- Waiting'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Terminated', 'type' => 'string', 'example' => 'Terminated'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'Environment variables.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'Environment variable name.', 'type' => 'string', 'example' => 'PATH'."\n", 'title' => ''], + 'Value' => ['description' => 'Environment variable value.', 'type' => 'string', 'example' => '/usr/bin/'."\n", 'title' => ''], + 'ValueFrom' => [ + 'description' => 'The source of the environment variable value. Cannot be used if the value is not empty.', + 'type' => 'object', + 'properties' => [ + 'FieldRef' => [ + 'description' => 'Specifies a field.', + 'type' => 'object', + 'properties' => [ + 'FieldPath' => ['description' => 'The path to the field.', 'type' => 'string', 'example' => 'status.podIP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'HPL', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: Always pull the image.'."\n" + ."\n" + .'- IfNotPresent: Pull the image only if it is not present locally.'."\n" + ."\n" + .'- Never: Never pull the image. Use only local images.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'LivenessProbe' => [ + 'description' => 'Liveness probe.', + 'type' => 'object', + 'properties' => [ + 'Execs' => [ + 'description' => 'Command to execute.', + 'type' => 'array', + 'items' => ['description' => 'Command to execute.', 'type' => 'string', 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'FailureThreshold' => ['description' => 'The minimum consecutive failures required to consider the probe as failed after a previous success. Default is 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'HttpGet' => [ + 'description' => 'HttpGet.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The path for HttpGet probing.', 'type' => 'string', 'example' => '/usr/nginx/'."\n", 'title' => ''], + 'Port' => ['description' => 'The port for HttpGet probing.', 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''], + 'Scheme' => ['description' => 'HTTP or HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'InitialDelaySeconds' => ['description' => 'The number of seconds to wait before starting the probe, measured from when the container starts.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'PeriodSeconds' => ['description' => 'The probe execution period in seconds. Default is 10. Minimum is 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'SuccessThreshold' => ['description' => 'The minimum consecutive successes required to consider the probe as successful after a previous failure. Default is 1. Must be 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TcpSocket' => [ + 'description' => 'TcpSocket.', + 'type' => 'object', + 'properties' => [ + 'Host' => ['description' => 'The hostname.', 'type' => 'string', 'example' => '1.2.3.4'."\n", 'title' => ''], + 'Port' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'TimeoutSeconds' => ['description' => 'The probe timeout in seconds. Default is 1. Minimum is 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Memory' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'example' => 'HPL', 'title' => ''], + 'Ports' => [ + 'description' => 'Exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'example' => '8080', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + ], + 'description' => 'The exposed ports and protocols of the container.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PreviousState' => [ + 'description' => 'The previous state.', + 'type' => 'object', + 'properties' => [ + 'DetailStatus' => ['description' => 'Detailed status.', 'type' => 'string', 'example' => 'working', 'title' => ''], + 'ExitCode' => ['description' => 'The container exit code.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FinishTime' => ['description' => 'The container finish time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'Message' => ['description' => 'Container status message.', 'type' => 'string', 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)', 'title' => ''], + 'Reason' => ['description' => 'Container status reason.', 'type' => 'string', 'example' => 'Completed', 'title' => ''], + 'Signal' => ['description' => 'Container status signal.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'StartTime' => ['description' => 'The container start time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'State' => ['description' => 'Container state. Valid values:'."\n" + ."\n" + .'- Waiting: Starting'."\n" + ."\n" + .'- Running: Running'."\n" + ."\n" + .'- Terminated: Terminated', 'type' => 'string', 'example' => 'Terminated', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe' => [ + 'description' => 'Readiness probe checks whether the container is ready to serve requests.', + 'type' => 'object', + 'properties' => [ + 'Execs' => [ + 'description' => 'The command to run inside the container for health checks using the command line.', + 'type' => 'array', + 'items' => ['description' => 'The command to run inside the container for health checks using the command line.', 'type' => 'string', 'example' => '['."\n" + .' "/bin/sh",'."\n" + .' "-c",'."\n" + .' "echo Hello world > /usr/share/message"'."\n" + .']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'FailureThreshold' => ['description' => 'The minimum consecutive failures required to consider the probe as failed after a previous success. Default is 3.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'HttpGet' => [ + 'description' => 'Health check using an HTTP request.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The path for HttpGet probing.', 'type' => 'string', 'example' => '/usr/local', 'title' => ''], + 'Port' => ['description' => 'The port number for HttpGet probing.', 'type' => 'integer', 'format' => 'int64', 'example' => '8080', 'title' => ''], + 'Scheme' => ['description' => 'HTTP or HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'InitialDelaySeconds' => ['description' => 'The number of seconds to wait before starting the probe, measured from when the container starts.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'PeriodSeconds' => ['description' => 'The probe execution period in seconds. Default is 10. Minimum is 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'SuccessThreshold' => ['description' => 'The minimum consecutive successes required to consider the probe as successful after a previous failure. Default is 1. Must be 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TcpSocket' => [ + 'description' => 'Health check using a TCP socket.', + 'type' => 'object', + 'properties' => [ + 'Host' => ['description' => 'Host.', 'type' => 'string', 'example' => '1.2.3.4', 'title' => ''], + 'Port' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int64', 'example' => '8888', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'TimeoutSeconds' => ['description' => 'The probe timeout in seconds. Default is 1. Minimum is 1.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Ready' => ['description' => 'Indicates whether the container has passed its readiness probe.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RestartCount' => ['description' => 'The number of restarts.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SecurityContext' => [ + 'description' => 'The security context for the container runtime.', + 'type' => 'object', + 'properties' => [ + 'Capability' => [ + 'description' => 'Specific permissions granted to processes within the container.', + 'type' => 'object', + 'properties' => [ + 'Adds' => [ + 'description' => 'Specific permissions granted to processes within the container.', + 'type' => 'array', + 'items' => ['description' => 'Specific permissions granted to processes within the container.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root filesystem is read-only. Only true is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RunAsUser' => ['description' => 'The UID used to run the container process entry point.', 'type' => 'integer', 'format' => 'int64', 'example' => '1558', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Stdin' => ['description' => 'Indicates whether the container allocates a buffer for stdin during runtime. If not set, reads from stdin return EOF. Default is false.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'StdinOnce' => ['description' => 'When Stdin is true, the stdin stream remains open across multiple attach sessions. If StdinOnce is true, stdin opens when the container starts, stays empty until the first client attaches, then remains open to receive data until the client disconnects. After disconnection, stdin closes and stays closed until the container restarts.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Tty' => ['description' => 'Indicates whether interactive mode is enabled. Default is false. For example, set to true when Command is /bin/bash.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'VolumeMounts' => [ + 'description' => 'Information about mounted volumes.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about mounted volumes.', + 'type' => 'object', + 'properties' => [ + 'MountPath' => ['description' => 'The mount directory. Content in this directory is overwritten by the volume content.', 'type' => 'string', 'example' => '/usr/share/', 'title' => ''], + 'MountPropagation' => ['description' => 'Mount propagation settings. Mount propagation allows sharing a volume mounted in one container with other containers in the same pod or even with pods on the same node. Valid values:'."\n" + ."\n" + .'- None: The volume does not detect subsequent mount operations on itself or its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume detects subsequent mount operations on itself or its subdirectories.'."\n" + ."\n" + .'- Bidirectional: Similar to HostToContainer but also propagates back to the host and all containers using the same volume.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Name' => ['description' => 'The volume name.', 'type' => 'string', 'example' => 'test-empty', 'title' => ''], + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory within the volume. This lets you mount different directories from the same volume to different paths in the container.', 'type' => 'string', 'example' => '/usr/sub', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'example' => '/usr/local/nginx', 'title' => ''], + ], + 'description' => 'The list of containers in the container group.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Volumes' => [ + 'description' => 'Volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Volume information.', + 'type' => 'object', + 'properties' => [ + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'A list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Content' => ['description' => 'Configuration file content (32 KB).', 'type' => 'string', 'example' => 'hello world', 'title' => ''], + 'Path' => ['description' => 'The relative file path.', 'type' => 'string', 'example' => '/usr/bin/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DiskVolumeDiskId' => ['description' => 'The DiskVolume ID.', 'type' => 'string', 'example' => 'd-xxxx', 'title' => ''], + 'DiskVolumeFsType' => ['description' => 'The volume type.', 'type' => 'string', 'example' => 'xfs', 'title' => ''], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium for the EmptyDir volume. Default is empty, which uses the node\'s file system. Supported values:'."\n" + ."\n" + .'- Memory: Uses memory.'."\n" + ."\n" + .'- LocalRaid0: Combines local disks into RAID 0. This applies only when creating instances with local disks. For more information, see [Create instances with local disks](~~114664~~).', 'type' => 'string', 'example' => 'Memory', 'title' => ''], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The size of the EmptyDir volume. Include a unit such as Gi or Mi.', 'type' => 'string', 'example' => '256Mi', 'title' => ''], + 'FlexVolumeDriver' => ['description' => 'The driver name for FlexVolume.', 'type' => 'string', 'example' => 'flexvolume', 'title' => ''], + 'FlexVolumeFsType' => ['description' => 'The file system type for mounting. Default depends on the FlexVolume script.', 'type' => 'string', 'example' => 'ntfs', 'title' => ''], + 'FlexVolumeOptions' => ['description' => 'A list of FlexVolume options.', 'type' => 'string', 'example' => '[nolock,tcp,noresvport]', 'title' => ''], + 'NFSVolumePath' => ['description' => 'The NFS volume path.', 'type' => 'string', 'example' => '/eci', 'title' => ''], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the volume is read-only.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'NFSVolumeServer' => ['description' => 'The NFS server address.', 'type' => 'string', 'example' => '0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'Name' => ['description' => 'The volume name.', 'type' => 'string', 'example' => 'test-empty', 'title' => ''], + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume'."\n" + ."\n" + .'- NFSVolume'."\n" + ."\n" + .'- ConfigFileVolume'."\n" + ."\n" + .'- FlexVolume', 'type' => 'string', 'example' => 'EmptyDirVolume', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Events' => [ + 'description' => 'Event information. Maximum of 50 events.', + 'type' => 'array', + 'items' => [ + 'description' => 'Event information. Maximum of 50 events.', + 'type' => 'object', + 'properties' => [ + 'Count' => ['description' => 'The number of events.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'FirstTimestamp' => ['description' => 'The event start time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'LastTimestamp' => ['description' => 'The event end time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z'."\n", 'title' => ''], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'example' => 'Started container', 'title' => ''], + 'Name' => ['description' => 'The name of the object to which the event belongs.', 'type' => 'string', 'example' => 'test-xxx', 'title' => ''], + 'Reason' => ['description' => 'The event name.', 'type' => 'string', 'example' => 'Created', 'title' => ''], + 'Type' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- Normal'."\n" + ."\n" + .'- Warning', 'type' => 'string', 'example' => 'Normal', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CreationTime' => ['description' => 'The system creation time after receiving the request. UTC time in RFC3339 format.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'SucceededTime' => ['description' => 'The time when all containers succeeded. UTC time in RFC3339 format.', 'type' => 'string', 'example' => '2019-12-11T04:33:42Z', 'title' => ''], + 'ExpiredTime' => ['description' => 'The time when the instance failed due to overdue payment. UTC time in RFC3339 format.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'FailedTime' => ['description' => 'The time when the instance failed. UTC time in RFC3339 format.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'Discount' => ['description' => 'The discount.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'DnsConfig' => [ + 'description' => 'DNS configuration information.', + 'type' => 'object', + 'properties' => [ + 'NameServers' => [ + 'description' => 'A list of DNS server IP addresses.', + 'type' => 'array', + 'items' => ['description' => 'IP address.', 'type' => 'string', 'example' => '[10.2.*.*]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Options' => [ + 'description' => 'A list of options. Each option consists of Name and optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of options. Each option consists of Name and optional Value.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The option name.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The option value.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Searches' => [ + 'description' => 'A list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'DNS search domain.', 'type' => 'string', 'example' => 'svc.local.kubenetes', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'EciSecurityContext' => [ + 'description' => 'The security context for the container group runtime.', + 'type' => 'object', + 'properties' => [ + 'Sysctls' => [ + 'description' => 'Sysctl parameters.', + 'type' => 'array', + 'items' => [ + 'description' => 'Sysctl parameters.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The sysctl parameter name.', 'type' => 'string', 'example' => 'kernel.msgmax', 'title' => ''], + 'Value' => ['description' => 'The sysctl parameter value.', 'type' => 'string', 'example' => '65536', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'EniInstanceId' => ['description' => 'The elastic network interface ID.', 'type' => 'string', 'example' => 'eni-bp14rzqi6fd8satm****', 'title' => ''], + 'EphemeralStorage' => ['description' => 'The size of temporary storage space. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'HostAliases' => [ + 'description' => 'Custom hostname mappings for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'Custom hostname mappings for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Hostnames' => [ + 'description' => 'Host information.', + 'type' => 'array', + 'items' => ['description' => 'Hostname.', 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Ip' => ['description' => 'IP address.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainers' => [ + 'description' => 'A list of init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of init containers.', + 'type' => 'object', + 'properties' => [ + 'Args' => [ + 'description' => 'Startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'Startup arguments.', 'type' => 'string', 'example' => '[\'hello world\']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Command' => [ + 'description' => 'Startup command.', + 'type' => 'array', + 'items' => ['description' => 'Startup command.', 'type' => 'string', 'example' => '[/bin/sh echo]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Cpu' => ['description' => 'vCPU size.', 'type' => 'integer', 'format' => 'int64', 'example' => '1.0', 'title' => ''], + 'CurrentState' => [ + 'description' => 'Current state.', + 'type' => 'object', + 'properties' => [ + 'DetailStatus' => ['description' => 'Detailed status.', 'type' => 'string', 'example' => 'working', 'title' => ''], + 'ExitCode' => ['description' => 'Container exit code.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FinishTime' => ['description' => 'The container finish time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'Message' => ['description' => 'Event message.', 'type' => 'string', 'example' => 'Created container', 'title' => ''], + 'Reason' => ['description' => 'Container status reason.', 'type' => 'string', 'example' => 'Started', 'title' => ''], + 'Signal' => ['description' => 'Container status signal.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'StartTime' => ['description' => 'The container start time.', 'type' => 'string', 'example' => '2018-08-02T15:00:00Z', 'title' => ''], + 'State' => ['description' => 'Container state. Valid values:'."\n" + ."\n" + .'- Waiting'."\n" + ."\n" + .'- Running'."\n" + ."\n" + .'- Terminated', 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'Environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'Environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'Environment variable name.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'Environment variable value.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''], + 'ValueFrom' => [ + 'description' => 'The source of the environment variable value. Cannot be used if the value is not empty.', + 'type' => 'object', + 'properties' => [ + 'FieldRef' => [ + 'description' => 'Specifies a field.', + 'type' => 'object', + 'properties' => [ + 'FieldPath' => ['description' => 'The path to select a field in the specified version. Currently supports only `status.podIP`.', 'type' => 'string', 'example' => 'status.podIP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Image' => ['description' => 'The image.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'Memory' => ['description' => 'Init container memory size. Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '2.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'example' => 'Init-xxx', 'title' => ''], + 'Ports' => [ + 'description' => 'Exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'Exposed ports and protocols.', + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int64', 'example' => '8888', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PreviousState' => [ + 'description' => 'The previous state.', + 'type' => 'object', + 'properties' => [ + 'DetailStatus' => ['description' => 'Detailed status.', 'type' => 'string', 'example' => 'working', 'title' => ''], + 'ExitCode' => ['description' => 'The container exit code.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FinishTime' => ['description' => 'The container finish time.', 'type' => 'string', 'example' => '2019-12-24T05:35:44Z', 'title' => ''], + 'Message' => ['description' => 'Container status message.', 'type' => 'string', 'example' => 'Started container', 'title' => ''], + 'Reason' => ['description' => 'Container status reason.', 'type' => 'string', 'example' => 'completed', 'title' => ''], + 'Signal' => ['description' => 'Container status signal.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'StartTime' => ['description' => 'The container start time.', 'type' => 'string', 'example' => '2019-12-24T05:35:44Z', 'title' => ''], + 'State' => ['description' => 'Container state. Valid values: Waiting, Running, Terminated.', 'type' => 'string', 'example' => 'Terminated', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Ready' => ['description' => 'Indicates whether the container has passed its readiness probe.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RestartCount' => ['description' => 'The number of restarts.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'SecurityContext' => [ + 'description' => 'The security context for the container runtime.', + 'type' => 'object', + 'properties' => [ + 'Capability' => [ + 'description' => 'Specific permissions granted to processes within the container.', + 'type' => 'object', + 'properties' => [ + 'Adds' => [ + 'description' => 'Specific permissions granted to processes within the container.', + 'type' => 'array', + 'items' => ['description' => 'Specific permissions granted to processes within the container.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root filesystem is read-only. Only true is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RunAsUser' => ['description' => 'The UID used to run the container process entry point.', 'type' => 'integer', 'format' => 'int64', 'example' => '1557', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'VolumeMounts' => [ + 'description' => 'Volume mount information for init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'Volume mount information for init containers.', + 'type' => 'object', + 'properties' => [ + 'MountPath' => ['description' => 'The mount directory. Content in this directory is overwritten by the volume content.', 'type' => 'string', 'example' => '/usr/share/', 'title' => ''], + 'MountPropagation' => ['description' => 'Mount propagation settings. Mount propagation allows sharing a volume mounted in one container with other containers in the same pod or even with pods on the same node. Valid values:'."\n" + ."\n" + .'- None: The volume does not detect subsequent mount operations on itself or its subdirectories.'."\n" + ."\n" + .'- HostToContainer: The volume detects subsequent mount operations on itself or its subdirectories.'."\n" + ."\n" + .'- Bidirectional: Similar to HostToContainer but also propagates back to the host and all containers using the same volume.'."\n" + ."\n" + .'Default: None.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Name' => ['description' => 'The volume name. Must match the Name in Volumes.', 'type' => 'string', 'example' => 'test-empty', 'title' => ''], + 'ReadOnly' => ['description' => 'Default is false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'example' => '/usr/test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InternetIp' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], + 'IntranetIp' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '172.16.XX.XX', 'title' => ''], + 'Ipv6Address' => ['description' => 'The IPv6 address.', 'type' => 'string', 'example' => '2001:XXXX:4:4:4:4:4:4', 'title' => ''], + 'RamRoleName' => ['description' => 'The RAM role name for the instance. ECI shares RAM roles with ECS. For more information, see [Instance RAM roles](~~61175~~).', 'type' => 'string', 'example' => 'ram:PassRole', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID of the instance. If no resource group is specified when creating the instance, it is automatically added to the default resource group of the account.', 'type' => 'string', 'example' => 'rg-aekzh43v*****', 'title' => ''], + 'RestartPolicy' => ['description' => 'The instance restart policy. Valid values:'."\n" + ."\n" + .'- Always: Always restart'."\n" + ."\n" + .'- Never: Never restart'."\n" + ."\n" + .'- OnFailure: Restart on failure', 'type' => 'string', 'example' => 'Never', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-bp12ujq5zpxuyjfo3o8r', 'title' => ''], + 'Tags' => [ + 'description' => 'Instance tag information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Instance tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test-xh', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TenantEniInstanceId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'example' => 'i-xxx', 'title' => ''], + 'TenantEniIp' => ['description' => 'This parameter is not available.', 'type' => 'string', 'example' => '10.10.XX.XX', 'title' => ''], + 'TenantSecurityGroupId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'example' => 'sg-xxx', 'title' => ''], + 'TenantVSwitchId' => ['description' => 'This parameter is not available.', 'type' => 'string', 'example' => 'vsw-xxx', 'title' => ''], + 'VSwitchId' => ['description' => 'The virtual switch ID.', 'type' => 'string', 'example' => 'vsw-bp1vzjjflab6wvjox****', 'title' => ''], + 'VpcId' => ['description' => 'The VPC ID of the instance.', 'type' => 'string', 'example' => 'vpc-1vzjjflab6wvjox****', 'title' => ''], + 'ZoneId' => ['description' => 'The zone of the instance.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], + ], + 'description' => 'The information of the container groups that are used to run the serverless job.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The list of detailed information about the serverless job.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ComputeSpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of the compute nodes. The parameter only takes effect when EcsChargeType is set to PostPaid. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The policy applies to preemptible instances for which a maximum hourly price is specified.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - 'name' => 'ComputeSpotPriceLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter only takes effect when SpotStrategy is set to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0.68', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], - [ - 'name' => 'EcsChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the compute nodes. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n" - ."\n" - .'Default value: PostPaid.'."\n" - ."\n" - .'If the parameter is set to PrePaid, auto-renewal is enabled by default. After the E-HPC cluster is released, auto-renewal is disabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PostPaid', - 'default' => 'PostPaid', - ], + 406 => [ + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The duration of the subscription. The unit of the duration is specified by the PeriodUnit parameter. The parameter only takes effect when InstanceChargeType is set to PrePaid. Valid values:'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4.'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'PeriodUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unit of the subscription period of the resource. Valid values:'."\n" - ."\n" - .'* Week'."\n" - .'* Month'."\n" - ."\n" - .'Default value: Month.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Month', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], - [ - 'name' => 'AutoRenew', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto-renewal. The parameter takes effect only when EcsChargeType is set to PrePaid. Valid values:'."\n" - ."\n" - .'* true: enables auto-renewal'."\n" - .'* false: disables auto-renewal'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"JobInfos\\": [\\n {\\n \\"JobId\\": \\"5\\",\\n \\"JobName\\": \\"testjob\\",\\n \\"State\\": \\"Running\\",\\n \\"Priority\\": 9,\\n \\"Queue\\": \\"comp\\",\\n \\"User\\": \\"testuser\\",\\n \\"SubmitTime\\": 1647423718,\\n \\"StartTime\\": 1647427667,\\n \\"EndTime\\": 1662016121,\\n \\"LastModifyTime\\": 1663831441000,\\n \\"IsArrayJob\\": false,\\n \\"ArrayProperties\\": {\\n \\"IndexStart\\": 1,\\n \\"IndexEnd\\": 5,\\n \\"IndexStep\\": 2\\n },\\n \\"ContainerGroups\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"Cpu\\": 2,\\n \\"Memory\\": 4,\\n \\"Containers\\": [\\n {\\n \\"Args\\": [\\n \\"hello.py\\"\\n ],\\n \\"Commands\\": [\\n \\"/usr/bin/python\\"\\n ],\\n \\"Cpu\\": 2,\\n \\"CurrentState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Reason\\": \\"Started\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2019-12-19T12:05:02Z\\\\n\\",\\n \\"State\\": \\"Terminated\\\\n\\"\\n },\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\\\n\\",\\n \\"Value\\": \\"/usr/bin/\\\\n\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"Gpu\\": 1,\\n \\"Image\\": \\"HPL\\",\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"LivenessProbe\\": {\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\\\n\\"\\n ],\\n \\"FailureThreshold\\": 3,\\n \\"HttpGet\\": {\\n \\"Path\\": \\"/usr/nginx/\\\\n\\",\\n \\"Port\\": 80,\\n \\"Scheme\\": \\"HTTP\\"\\n },\\n \\"InitialDelaySeconds\\": 10,\\n \\"PeriodSeconds\\": 5,\\n \\"SuccessThreshold\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\\\n\\",\\n \\"Port\\": 80\\n },\\n \\"TimeoutSeconds\\": 10\\n },\\n \\"Memory\\": 4,\\n \\"Name\\": \\"HPL\\",\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8080,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"PreviousState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Reason\\": \\"Completed\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"State\\": \\"Terminated\\"\\n },\\n \\"ReadinessProbe\\": {\\n \\"Execs\\": [\\n \\"[\\\\n \\\\\\"/bin/sh\\\\\\",\\\\n \\\\\\"-c\\\\\\",\\\\n \\\\\\"echo Hello world > /usr/share/message\\\\\\"\\\\n]\\"\\n ],\\n \\"FailureThreshold\\": 3,\\n \\"HttpGet\\": {\\n \\"Path\\": \\"/usr/local\\",\\n \\"Port\\": 8080,\\n \\"Scheme\\": \\"HTTP\\"\\n },\\n \\"InitialDelaySeconds\\": 10,\\n \\"PeriodSeconds\\": 5,\\n \\"SuccessThreshold\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 8888\\n },\\n \\"TimeoutSeconds\\": 1\\n },\\n \\"Ready\\": true,\\n \\"RestartCount\\": 5,\\n \\"SecurityContext\\": {\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n },\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1558\\n },\\n \\"Stdin\\": true,\\n \\"StdinOnce\\": true,\\n \\"Tty\\": false,\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub\\"\\n }\\n ],\\n \\"WorkingDir\\": \\"/usr/local/nginx\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Content\\": \\"hello world\\",\\n \\"Path\\": \\"/usr/bin/\\"\\n }\\n ],\\n \\"DiskVolumeDiskId\\": \\"d-xxxx\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"Memory\\",\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeFsType\\": \\"ntfs\\",\\n \\"FlexVolumeOptions\\": \\"[nolock,tcp,noresvport]\\",\\n \\"NFSVolumePath\\": \\"/eci\\",\\n \\"NFSVolumeReadOnly\\": false,\\n \\"NFSVolumeServer\\": \\"0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"Type\\": \\"EmptyDirVolume\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Count\\": 20,\\n \\"FirstTimestamp\\": \\"2018-08-02T15:00:00Z\\",\\n \\"LastTimestamp\\": \\"2018-08-02T15:00:00Z\\\\n\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Name\\": \\"test-xxx\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"SucceededTime\\": \\"2019-12-11T04:33:42Z\\",\\n \\"ExpiredTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"FailedTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Discount\\": 9,\\n \\"DnsConfig\\": {\\n \\"NameServers\\": [\\n \\"[10.2.*.*]\\"\\n ],\\n \\"Options\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"Searches\\": [\\n \\"svc.local.kubenetes\\"\\n ]\\n },\\n \\"EciSecurityContext\\": {\\n \\"Sysctls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ]\\n },\\n \\"EniInstanceId\\": \\"eni-bp14rzqi6fd8satm****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"HostAliases\\": [\\n {\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ],\\n \\"Ip\\": \\"192.0.XX.XX\\"\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"Args\\": [\\n \\"[\'hello world\']\\"\\n ],\\n \\"Command\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"Cpu\\": 1,\\n \\"CurrentState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Created container\\",\\n \\"Reason\\": \\"Started\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"State\\": \\"Running\\"\\n },\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"Gpu\\": 1,\\n \\"Image\\": \\"nginx\\",\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"Memory\\": 2,\\n \\"Name\\": \\"Init-xxx\\",\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"PreviousState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2019-12-24T05:35:44Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Reason\\": \\"completed\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2019-12-24T05:35:44Z\\",\\n \\"State\\": \\"Terminated\\"\\n },\\n \\"Ready\\": true,\\n \\"RestartCount\\": 5,\\n \\"SecurityContext\\": {\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n },\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1557\\n },\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"ReadOnly\\": false\\n }\\n ],\\n \\"WorkingDir\\": \\"/usr/test\\"\\n }\\n ],\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"IntranetIp\\": \\"172.16.XX.XX\\",\\n \\"Ipv6Address\\": \\"2001:XXXX:4:4:4:4:4:4\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-aekzh43v*****\\",\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SecurityGroupId\\": \\"sg-bp12ujq5zpxuyjfo3o8r\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test-xh\\"\\n }\\n ],\\n \\"TenantEniInstanceId\\": \\"i-xxx\\",\\n \\"TenantEniIp\\": \\"10.10.XX.XX\\",\\n \\"TenantSecurityGroupId\\": \\"sg-xxx\\",\\n \\"TenantVSwitchId\\": \\"vsw-xxx\\",\\n \\"VSwitchId\\": \\"vsw-bp1vzjjflab6wvjox****\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeServerlessJobs', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerlessJobs'], ], + ], + 'ramActions' => [ [ - 'name' => 'AutoRenewPeriod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3.'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, and 12.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'EditJobTemplate' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'JobQueue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The queue to which the compute nodes are added.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'CreateMode', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which the compute nodes are added. Valid values:'."\n" - ."\n" - .'* manual: The compute nodes are manually added.'."\n" - .'* autoscale: The compute nodes are automatically added.'."\n" - ."\n" - .'Default value: manual.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'manual', - ], + 'schema' => ['description' => 'The ID of the job template.'."\n" + ."\n" + .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-job-tmpl-6RxO5y****', 'title' => ''], ], [ - 'name' => 'SystemDiskType', + 'name' => 'CommandLine', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the system disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud: basic disk. Disks of this type are retired.'."\n" - ."\n" - .'Default value: cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], + 'schema' => ['description' => 'The command that is used to run the job.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => './LammpsTest/lammps.pbs', 'title' => ''], ], [ - 'name' => 'SystemDiskSize', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], + 'schema' => ['description' => 'The name of the job template.'."\n" + ."\n" + .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template name.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'jobTemapleteName', 'title' => ''], ], [ - 'name' => 'ZoneId', + 'name' => 'RunasUser', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The name of the user that runs the job.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'Priority', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', - ], + 'schema' => ['description' => 'The priority of the job. Valid values: 0 to 9. A large value indicates a high priority.'."\n" + ."\n" + .'Default value: 0'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'HostNamePrefix', + 'name' => 'PackagePath', 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', - ], + 'schema' => ['description' => 'The path that is used to run the job.'."\n", 'type' => 'string', 'required' => false, 'example' => './packageFolder', 'title' => ''], ], [ - 'name' => 'HostNameSuffix', + 'name' => 'StdoutRedirectPath', 'in' => 'query', - 'schema' => [ - 'description' => 'The suffix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'required' => false, 'example' => './LammpsTest', 'title' => ''], ], [ - 'name' => 'ComputeEnableHt', + 'name' => 'StderrRedirectPath', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable hyper-threading for the compute node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'required' => false, 'example' => './Lammps', 'title' => ''], ], [ - 'name' => 'AllocatePublicAddress', + 'name' => 'ReRunable', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allocate a public IP address to the compute nodes. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether the job can be rerun. Valid values:'."\n" + ."\n" + .'* true: The job can be rerun.'."\n" + .'* false: The job cannot be rerun.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'ArrayRequest', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the elastic IP address (EIP). Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth'."\n" - .'* PayByTraffic: pay-by-traffic'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - 'default' => 'PayByTraffic', - ], + 'schema' => ['description' => 'The job array.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1-10:2', 'title' => ''], ], [ - 'name' => 'InternetMaxBandWidthIn', + 'name' => 'Variables', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of the parameter are 1 to 10 and the default value is 10.'."\n" - .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the amount of the outbound bandwidth that is purchased.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '10', - 'default' => '0', - ], + 'schema' => ['description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{Name:,Value:},{Name:,Value:}]', 'title' => ''], ], [ - 'name' => 'InternetMaxBandWidthOut', + 'name' => 'Queue', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '10', - 'default' => '0', - ], + 'schema' => ['description' => 'The name of the queue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ClockTime', '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 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'The maximum running time of the job. Valid formats:'."\n" + ."\n" + .'* hh:mm:ss'."\n" + .'* mm:ss'."\n" + .'* ss'."\n" + ."\n" + .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", 'type' => 'string', 'required' => false, 'example' => '12:00:00', 'title' => ''], ], [ - 'name' => 'SystemDiskLevel', + 'name' => 'Node', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level of the ESSD to be used as the system disk. Default value: PL1. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'For more information about ESSD performance parameters, see [ESSD](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The number of the compute nodes. Valid values: 1 to 500.'."\n" + ."\n" + .'> If the parameter is not specified, the Task, Thread, Mem, and Gpu parameters become invalid.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'example' => '2', 'title' => ''], ], [ - 'name' => 'MinCount', + 'name' => 'Task', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of the compute nodes that you want to add. Valid values: 1 to 99. The value of the parameter is less than that of the Count parameter.'."\n" - ."\n" - .'* If the number of available ECS instances is less than the value of the MinCount parameter, the compute nodes cannot be added.'."\n" - .'* If the number of available ECS instances is greater than the value of the MinCount parameter and less than that of the Count parameter, the compute nodes are added based on the value of the MinCount parameter.'."\n" - .'* If the number of available ECS instances is greater than the value of the Count parameter, the compute nodes are added based on the value of the Count parameter.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '2', 'title' => ''], ], [ - 'name' => 'Sync', + 'name' => 'Thread', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to set this operation as a synchronous operation. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The number of threads required by a single compute node. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'DataDisks', + 'name' => 'Mem', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DataDiskSize' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - 'DataDiskCategory' => [ - 'description' => 'The type of the data disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: SSD'."\n" - .'* cloud_essd: ESSD'."\n" - .'* cloud: basic disk'."\n" - ."\n" - .'Default value: cloud_efficiency.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'DataDiskDeleteWithInstance' => [ - 'description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'DataDiskPerformanceLevel' => [ - 'description' => 'The performance level of the ESSD used as the data disk. The parameter only takes effect only when the DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'DataDiskEncrypted' => [ - 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'DataDiskKMSKeyId' => [ - 'description' => 'The KMS key ID of the data disk.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 16, - ], + 'schema' => ['description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", 'type' => 'string', 'required' => false, 'example' => '1GB', 'title' => ''], ], [ - 'name' => 'ComputeSpotDuration', + 'name' => 'Gpu', 'in' => 'query', - 'schema' => [ - 'title' => '抢占式实例的保留时长,单位为小时。取值范围:0~6。'."\n" - .'- 保留时长2~6正在邀测中,如需开通请提交工单。'."\n" - .'- 取值为0,则为无保护期模式。'."\n" - .'默认值:1。', - 'description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 and 1. A value of 0 indicates that the preemptible instance has no protection period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '6', - 'minimum' => '0', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The maximum GPU usage required by a single compute node. Valid values: 1 to 8.'."\n" + ."\n" + .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'ComputeSpotInterruptionBehavior', + 'name' => 'InputFileUrl', 'in' => 'query', - 'schema' => [ - 'title' => '抢占实例中断模式。目前仅支持Terminate(默认)直接释放实例。', - 'description' => 'The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate, which indicates that the instance is released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - 'default' => 'Terminate', - ], + 'schema' => ['description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', 'title' => ''], ], [ - 'name' => 'NetworkInterfaceTrafficMode', + 'name' => 'WithUnzipCmd', 'in' => 'query', - 'schema' => [ - 'description' => 'The communication mode of the ENI. Valid values:'."\n" - ."\n" - .'* Standard: uses the TCP communication mode.'."\n" - .'* HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], + 'schema' => ['description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" + ."\n" + .'* true: The job files are decompressed.'."\n" + .'* false: The job files are not decompressed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'DnsConfig', + 'name' => 'UnzipCmd', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about Domain Name System (DNS) settings.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', - ], + 'schema' => ['description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" + ."\n" + .'* tar xzf: decompresses GZIP files.'."\n" + .'* tar xf: decompresses TAR files.'."\n" + .'* unzip: decompresses ZIP files.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tar xzf', 'title' => ''], ], ], 'responses' => [ @@ -8890,657 +5826,147 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Instance ID. '."\n" - .'> If the AddNodes operation is asynchronous (the Sync parameter in the request is set to False), the result will be returned immediately upon a successful request, without waiting for the instance creation to complete. Therefore, the InstanceIds content will be empty. You can obtain the InstanceId through [ListNodes](~~87161~~).', - 'type' => 'string', - 'example' => 'null', - ], - ], - ], - ], + 'TemplateId' => ['description' => 'The ID of the job template.'."\n", 'type' => 'string', 'example' => 'ehpc-job-tmpl-6RxO5y****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'InvaildSystemDiskSize', - 'errorMessage' => 'The system disk size must be greater than or equal to image size.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyLogins', - 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', - ], - [ - 'errorCode' => 'TooManyScc', - 'errorMessage' => 'The maximum number of SCC instances is exceeded.', - ], - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'TemplateNameExist', 'errorMessage' => 'The template name already exists.', 'description' => 'The template name already exists.'], + ['errorCode' => 'TooMuchTemplates', 'errorMessage' => 'The number of templates exceeds the quota.', 'description' => ''], ], [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], - [ - 'errorCode' => 'KeyPairNotFound', - 'errorMessage' => 'The specified KeyPair does not exist.', - ], + ['errorCode' => 'TemplateNotExist', 'errorMessage' => 'The template ID does not exist.', 'description' => 'The template ID does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"null\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddNodesResponse>\\n<TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n<RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n<InstanceIds>\\n <InstanceId>null</InstanceId>\\n</InstanceIds>\\n</AddNodesResponse>","errorExample":""}]', - 'title' => 'AddNodes', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<EditJobTemplateResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TemplateId>ehpc-job-tmpl-6RxO5y****</TemplateId>\\r\\n</EditJobTemplateResponse>","errorExample":""}]', + 'title' => 'EditJobTemplate', + 'summary' => 'Modifies a job template.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'ApplyNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:EditJobTemplate', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetAccountingReport' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87126~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The image ID of the compute nodes to be added. The parameter takes effect only when the TargetImageId parameter is not specified.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n" - ."\n" - .'> If you add multiple compute nodes, the TargetImageId parameter takes effect only on the nodes for which the TargetImageId parameter is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', - ], - ], - [ - 'name' => 'ComputeSpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], - ], - [ - 'name' => 'ComputeSpotPriceLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value is a floating-point number that supports up to three decimal places. The parameter takes effect only when ComputeSpotStrategy is set to SpotWithPriceLimit.'."\n" - ."\n" - .'If ComputeSpotPriceLimit and InstanceTypeModel.N.MaxPrice are specified at the same time, compute nodes are created based on the smaller value of the two parameters.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.68', - ], - ], - [ - 'name' => 'SystemDiskType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the system disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud: basic disk. Disks of this type are retired.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - ], - [ - 'name' => 'SystemDiskSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - ], - [ - 'name' => 'HostNamePrefix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', - ], - ], - [ - 'name' => 'HostNameSuffix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The suffix of the hostname. You can specify the parameter to manage the compute nodes in an efficient manner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], - ], - [ - 'name' => 'AllocatePublicAddress', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allocate a public IP address to the compute nodes. Valid values:'."\n" - ."\n" - .'* true: A public IP address is allocated to the compute nodes.'."\n" - .'* false: A public IP address is not allocated to the compute nodes.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the elastic IP address (EIP). Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth'."\n" - .'* PayByTraffic: pay-by-traffic'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - 'default' => 'PayByTraffic', - ], - ], - [ - 'name' => 'InternetMaxBandWidthIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of the parameter are 1 to 10 and the default value is 10.'."\n" - .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the amount of the outbound bandwidth that is purchased. The default value is the value of the InternetMaxBandWidthOut parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '10', - 'default' => '0', - ], - ], - [ - 'name' => 'InternetMaxBandWidthOut', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '0', - 'example' => '10', - 'default' => '0', - ], - ], - [ - 'name' => 'Cores', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs. The parameter is required when the ResourceAmountType parameter is set to Cores.'."\n" - ."\n" - .'You can set vCPU and Memory to query node specifications. For example, you can query the available compute nodes that have 2 vCPUs and 16 GB of memory by setting vCPU to 2 and Memory to 16. You can also query compute nodes by node specification and zone. Query results are sorted by price. The nodes that have the lowest price are created.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The memory capacity. The parameter is required when the ResourceAmountType parameter is set to Cores. Unit: GB.'."\n" - ."\n" - .'You can set vCPU and Memory to query node specifications. For example, you can query the available compute nodes that have 2 vCPUs and 16 GB of memory by setting vCPU to 2 and Memory to 16. You can also query compute nodes by node specification and zone. Query results are sorted by price. The nodes that have the lowest price are created.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], - ], - [ - 'name' => 'InstanceFamilyLevel', - 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance family. The parameter takes effect only when Cores and Memory are specified. Valid values:'."\n" - ."\n" - .'* EntryLevel'."\n" - .'* EnterpriseLevel'."\n" - .'* CreditEntryLevel For more information, see [Overview of burstable instances](~~59977~~).'."\n" - ."\n" - .'Default value: EnterpriseLevel.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EntryLevel', - ], - ], - [ - 'name' => 'TargetCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of the resource that you want to add. The specific number depends on the value of the ResourceAmountType parameter:'."\n" - ."\n" - .'* If ResourceAmountType is set to Instance, the value range of TargetCapacity is 1 to 200.'."\n" - .'* If ResourceAmountType is set to Cores, the value range of TargetCapacity is 1 to 1,000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '20', - ], - ], - [ - 'name' => 'ResourceAmountType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource that you want to add. Valid values:'."\n" - ."\n" - .'* Instances: the ECS instances that are used as compute nodes'."\n" - .'* Cores: vCPU and memory'."\n" - ."\n" - .'Default value: Instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Instances', - ], - ], - [ - 'name' => 'PriorityStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application policy of the preemptible nodes. Valid values:'."\n" - ."\n" - .'* LowPriceResourcePlanning: Preemptible nodes are created based on the unit prices of vCPUs in ascending order. Preemptible nodes are created first when multiple preemptible instance types are specified.'."\n" - .'* CapacityOptResourcePlanning: Preemptible nodes are created based on the prices and release rates in ascending order.'."\n" - .'* CustomizedResourcePlanning: Nodes are added based on the predefined value of the ZoneIds.N parameter. Instances of a zone that has a higher priority are used first.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'LowPriceResourcePlanning', - ], - ], - [ - 'name' => 'StrictSatisfiedTargetCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to meet the requirements of the TargetCapacity parameter. Valid values:'."\n" - ."\n" - .'* true: If the available resources are fewer than the resources that you want to add, no compute nodes are created and an error is returned. If the available resources are more than the resources that you want to add, the following cases may occur:'."\n" - ."\n" - .' * If StrictResourceProvision is set to true, check the inventory of the resources. Compute nodes are created based on the value of the TargetCapacity parameter only when the available resources are sufficient. Otherwise, no compute nodes are created.'."\n" - .' * If StrictResourceProvision is set to false, check the inventory of the resources. Compute nodes are created only when the available resources are sufficient. However, some compute nodes may fail to be created because resources become insufficient after the inventory query.'."\n" - ."\n" - .'* false: If the available resources are insufficient, compute nodes are created based on the inventory of the resources.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'SystemDiskLevel', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level of the ESSD that you want to use as the system disk. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: A single ESSD can deliver up to 50,000 IOPS of random read/write.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL0. For more information, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The start time of the query. This is a UNIX timestamp, which is the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'example' => '1576922873', 'title' => ''], ], [ - 'name' => 'StrictResourceProvision', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to strictly meet the requirements of the TargetCapacity parameter. The parameter takes effect only when StrictSatisfiedTargetCapacity is set to true. Valid values:'."\n" - ."\n" - .'* true: Check the inventory of the resources. Compute nodes are created based on the value of the TargetCapacity parameter only when the available resources are sufficient. Otherwise, no compute nodes are created.'."\n" - .'* false: Check the inventory of the resources. Compute nodes are created only when the available resources are sufficient. However, some compute nodes may fail to be created because resources become insufficient after the inventory query.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The end time of the query. This is a UNIX timestamp, which is the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => true, 'example' => '1577441873', 'title' => ''], ], [ - 'name' => 'Round', + 'name' => 'ReportType', 'in' => 'query', - 'schema' => [ - 'description' => 'The total number of batches to create nodes. Valid values: 1 to 10.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The type of the report. Valid values:'."\n" + ."\n" + .'- total\\_report: Queries the number of core-hours by dimension.'."\n" + ."\n" + .'- job\\_report: Gathers historical data of nodes.'."\n" + ."\n" + .'- number\\_report: Queries job information by dimension.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'job_report', 'title' => ''], ], [ - 'name' => 'Interval', + 'name' => 'FilterValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive batches. Valid values: 60 to 600. Unit: seconds.'."\n" - ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '600', - 'minimum' => '60', - 'example' => '60', - 'default' => '60', - ], + 'schema' => ['description' => 'The name of the dimension to query. Valid values:'."\n" + ."\n" + .'- If Dim is set to user, FilterValue is the name of a specific user.'."\n" + ."\n" + .'- If Dim is set to queue, FilterValue is the name of a specific queue.'."\n" + ."\n" + .'- If Dim is set to instance, FilterValue is the name of the instance.', 'type' => 'string', 'required' => false, 'example' => 'userNo1', 'title' => ''], ], [ - 'name' => 'ZoneInfos', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The details of the zones. You can specify up to 10 zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch. Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'vsw-bp1e47optm9g58zcu****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone to which the node belongs. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> Each zone ID must be unique.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou-b', - ], - ], - 'required' => false, - ], - 'required' => true, - 'docRequired' => true, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'InstanceTypeModel', + 'name' => 'Dim', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the preemptible instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MaxPrice' => [ - 'description' => 'The maximum hourly price that you can pay for the preemptible node. The value is a floating-point number that supports up to three decimal places.'."\n" - ."\n" - .'The parameter takes effect only when ComputeSpotStrategy is set to SpotWithPriceLimit.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.034', - ], - 'TargetImageId' => [ - 'description' => 'The image ID of the compute node. You must select a Windows image.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'win2016_1607_x64_dtc_zh-cn_40G_alibase_20210516.vhd', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute node. The default value is the instance type that was specified when you created the cluster or the last time you added compute nodes.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The dimension to query. Valid values:'."\n" + ."\n" + .'- user: Queries by user.'."\n" + ."\n" + .'- queue: Queries by queue.'."\n" + ."\n" + .'- instance: Queries by instance.', 'type' => 'string', 'required' => false, 'example' => 'user', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'JobId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The details about the tags that are added to the nodes.'."\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. It cannot start with aliyun or acs: and cannot contain http:// or https://.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\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. It cannot start with acs: or contain http:// or https://.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 19, - ], + 'schema' => ['description' => 'The job ID.', 'type' => 'string', 'required' => false, 'example' => '[{Id: 1.scheduler}]', 'title' => ''], ], [ - 'name' => 'JobQueue', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The queue to which the compute nodes are added.'."\n" - ."\n" - .'You can call the [ListQueues](~~92176~~) operation to query the queue name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + 'schema' => ['description' => 'The page number. The value must be greater than or equal to 1. The default value is 1.'."\n" + ."\n" + .'The minimum value is 1.'."\n" + ."\n" + .'The default value is 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'UserData', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the instance. The user data must be Base64-encoded. The raw data can be up to 16 KB in size. Linux operating systems support shell scripts. Windows operating systems support bat and Powershell scripts. Before you perform Base64 encoding, make sure that the content to be encoded includes \\[bat] or \\[powershell] as the first row.'."\n" - ."\n" - .'> We recommend that you do not pass in confidential information, such as passwords or private keys, in plaintext as user data. This is because the system does not encrypt UserData values when API requests are transmitted. If you must pass in confidential information, we recommend that you encrypt and encode the information in Base64, and then decode and decrypt the information in the same way inside the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBoZWxsbyBlY3Mh'."\n", - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -9548,326 +5974,108 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'SatisfiedAmount' => [ - 'description' => 'The number of the compute nodes that are created.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TaskId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'Detail' => [ - 'description' => 'The detailed result of the request.'."\n", - 'type' => 'string', - 'example' => 'Resources Application is satisfied. Creating...', - ], - 'InstanceIds' => [ + 'TotalCoreTime' => ['description' => 'The total core-hours of the cluster.', 'type' => 'integer', 'format' => 'int32', 'example' => '261300', 'title' => ''], + 'Metrics' => ['description' => 'A JSON-serialized list that contains the column names for each record in Data.', 'type' => 'string', 'example' => '[\\"user\\",\\"coreTime\\",\\"usedMem\\"]', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B1DCB399-9333-4B38-A35A-0BDFABC71881', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance IDs.'."\n" - ."\n" - .'> AddNodes is an asynchronous API operation. If a request succeeds, a response is immediately generated before ECS instances are created. Therefore, the value of this parameter is null. You can call the [ListNodes](~~87161~~) operation to query the IDs of the ECS instances.'."\n", + 'Data' => [ + 'description' => 'A JSON-serialized list that contains multiple records.', + 'title' => '', 'type' => 'array', - 'items' => [ - 'description' => 'The instance IDs.'."\n" - ."\n" - .'> AddNodes is an asynchronous API operation. If a request succeeds, a response is immediately generated before ECS instances are created. Therefore, the value of the parameter is null. You can call the [ListNodes](~~87161~~) operation to query the ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'null', - ], + 'items' => ['description' => 'A JSON-serialized list that contains multiple records.', 'type' => 'string', 'example' => '[[\\"userNo1\\",49856,7062192],[\\"userNo2\\",29904,4317280]]', 'title' => ''], + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'InvalidVswitch', - 'errorMessage' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', - ], - [ - 'errorCode' => 'InvalidImage', - 'errorMessage' => 'The image ID is invalid.', - ], - [ - 'errorCode' => 'InvaildSystemDiskSize', - 'errorMessage' => 'The system disk size must be greater than or equal to image size.', - ], - [ - 'errorCode' => 'InvalidInstanceType.NotSupported', - 'errorMessage' => 'The instance type is invalid.', - ], - [ - 'errorCode' => 'InvalidZoneId.ValueNotSupported', - 'errorMessage' => 'The specified ZoneId is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'Cluster.NotSupported', 'errorMessage' => 'Current cluster does not support this operation.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'TooManyLogins', - 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', - ], - [ - 'errorCode' => 'TooManyScc', - 'errorMessage' => 'The maximum number of SCC instances is exceeded.', - ], - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', - ], - [ - 'errorCode' => 'InvalidCapacityNum.ValueNotSupported', - 'errorMessage' => 'The specified TargetCapacity is invalid.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeSoldOut', - 'errorMessage' => 'The resource is out of stock.', - ], - [ - 'errorCode' => 'ResourceTargetAmount.NotSatisfied', - 'errorMessage' => 'The resource application is not satisfied.', - ], - [ - 'errorCode' => 'RecommendEmpty.PriceNotSatisfied', - 'errorMessage' => 'The price limit is not satisfied.', - ], - [ - 'errorCode' => 'QuotaExceed.PayasyougoInstance', - 'errorMessage' => 'The pay-as-you-go instance exceeds the quota.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeNoStock', - 'errorMessage' => 'The instanceTypes are out of usage.', - ], - [ - 'errorCode' => 'RecommendEmpty.InstanceTypeNotAuthorized', - 'errorMessage' => 'The recommend instanceTypes are not authorized.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], - [ - 'errorCode' => 'VswitchNotFound', - 'errorMessage' => 'The specified vSwitch does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'SlsError', 'errorMessage' => 'SLS API request failed.', 'description' => 'Failed to request the SLS interface.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"SatisfiedAmount\\": 10,\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"Detail\\": \\"Resources Application is satisfied. Creating...\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"null\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ApplyNodes>\\n<TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n<SatisfiedAmount>10</SatisfiedAmount>\\n<RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n<InstanceIds>\\n <InstanceId>null</InstanceId>\\n</InstanceIds>\\n<Detail>Resources Application is satisfied. Creating...</Detail>\\n</ApplyNodes>","errorExample":""}]', - 'title' => 'ApplyNodes', - 'summary' => 'Adds pay-as-you-go or preemptible compute nodes to a cluster.', - 'description' => '## [](#)Description'."\n" - ."\n" - .'You can call the ApplyNodes operation to specify the number of compute nodes, the number of vCPUs, and the memory size when you add nodes to a cluster.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCoreTime\\": 261300,\\n \\"Metrics\\": \\"[\\\\\\\\\\\\\\"user\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"coreTime\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"usedMem\\\\\\\\\\\\\\"]\\",\\n \\"RequestId\\": \\"B1DCB399-9333-4B38-A35A-0BDFABC71881\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Data\\": {\\n \\"Data\\": [\\n \\"[[\\\\\\\\\\\\\\"userNo1\\\\\\\\\\\\\\",49856,7062192],[\\\\\\\\\\\\\\"userNo2\\\\\\\\\\\\\\",29904,4317280]]\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetAccountingReport', + 'summary' => 'Obtains the resource report for a specified cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddExistedNodes' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAccountingReport'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetAccountingReport', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetAutoScaleConfig' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is specified for the compute nodes. The image must meet the following requirements:'."\n" - ."\n" - .'* The operating system that is specified for the image must be the same as that of the existing cluster nodes. For example, if the operating system of the cluster nodes is CentOS, you can select only a CentOS image.'."\n" - ."\n" - .'> If you add nodes to a hybrid cloud cluster that supports multiple operating systems, you can select a Windows Server image or a CentOS image when the operating system of the cluster nodes is Windows.'."\n" - ."\n" - .'* The major version of the image specified for the compute nodes that you want to add must be the same as that of the image of the cluster. For example, if the version of the cluster image is CentOS 7.x, the version of the image specified for the compute nodes must be CentOS 7.x.'."\n" - ."\n" - .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', - ], - ], - [ - 'name' => 'JobQueue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The queue in the cluster to which the node is to be added.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], - ], - [ - 'name' => 'ImageOwnerAlias', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the images. Valid values:'."\n" - ."\n" - .'* system: public image.'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n" - ."\n" - .'Default value: system.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'system', - ], - ], - [ - 'name' => 'Instance', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the node that you want to add.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The Nth node ID. N starts from 1. Valid values: 1 to 100.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp16mxn6mt3t7ftk****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -9875,137 +6083,242 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'MaxNodesInCluster' => ['description' => 'The interval between two consecutive rounds of scale-in. Unit: minutes. Valid values: 2 to 10.'."\n" + ."\n" + .'> An interval may exist during multiple rounds of a scale-out task or between two consecutive scale-out tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'GrowTimeoutInMinutes' => ['description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'SpotStrategy' => ['description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n" + ."\n" + .'If you need to add 100 compute nodes and the value of the ExtraNodesGrowRatio parameter is 2, 102 compute nodes are added.'."\n", 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => ''], + 'EnableAutoShrink' => ['description' => 'The number of consecutive times that a compute node is idle during the resource scale-in check. Valid values: 2 to 5.'."\n" + ."\n" + .'If the parameter is set to 3, a compute node is idle for more than three consecutive times. In this case, the node is released.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The image ID of the compute nodes in the queue.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'EnableAutoGrow' => ['description' => 'The percentage of each round of scale-out. Valid values: 1 to 100.'."\n" + ."\n" + .'If you set GrowRatio to 50, the scale-out has two rounds. Each round completes half of the scale-out.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ClusterType' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + 'ExcludeNodes' => ['description' => 'The ID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', 'title' => ''], + 'ShrinkIntervalInMinutes' => ['description' => 'The auto scaling configuration of the queue.'."\n" + ."\n" + .'> If auto scaling is enabled for the cluster and queue at the same time, the queue settings prevail.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'GrowIntervalInMinutes' => ['description' => 'The image ID of the compute nodes in the queue.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The type of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk'."\n" + .'* cloud_ssd: SSD'."\n" + .'* cloud_essd: ESSD'."\n" + .'* cloud: basic disk'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.062', 'title' => ''], + 'ExtraNodesGrowRatio' => ['description' => 'The instance type of the compute nodes that were automatically added in the queue.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ShrinkIdleTimes' => ['description' => 'The suffix of the queue name. You can query queues that have a specified suffix.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'ImageId' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", 'type' => 'string', 'example' => 'm-bp10txryr4mhrrt1****', 'title' => ''], + 'GrowRatio' => ['description' => 'The minimum number of compute nodes that can be retained in a queue. Valid values: 0 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'ClusterId' => ['description' => 'The prefix of the queue name. You can query queues that have a specified prefix.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + 'Uid' => ['description' => 'The size of the system disk. Unit: GB. Valid values: 40 to 500.'."\n", 'type' => 'string', 'example' => '129845258050****', 'title' => ''], + 'Queues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'QueueInfo' => [ + 'description' => 'The auto scaling configuration of the queue.'."\n" + ."\n" + .'> If auto scaling is enabled for the cluster and queue at the same time, the queue settings prevail.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'QueueImageId' => ['description' => 'The image ID of the compute node in the queue.'."\n", 'type' => 'string', 'example' => 'centos_7_06_64_20G_alibase_2019071****', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk.'."\n" + .'* cloud_ssd: standard SSD.'."\n" + .'* cloud_essd: enhanced SSD (ESSD).'."\n" + .'* cloud: basic disk.'."\n", 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute nodes that are automatically added to the queue.'."\n", 'type' => 'string', 'example' => 'ecs.sn1ne.large', 'title' => ''], + 'HostNameSuffix' => ['description' => 'The suffix of the queue name. You can query queues that have a specified suffix.'."\n", 'type' => 'string', 'example' => '000', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'MinNodesInQueue' => ['description' => 'The minimum number of compute nodes that can be retained in a queue. Valid values: 0 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'HostNamePrefix' => ['description' => 'The prefix of the queue name. You can query queues that have a specified prefix.'."\n", 'type' => 'string', 'example' => 'compute', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The system disk size. Unit: GB. Valid values: 40 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'MaxNodesInQueue' => ['description' => 'The maximum number of compute nodes that can be added to a queue. Valid values: 0 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'EnableAutoShrink' => ['description' => 'Indicates whether the queue enabled the auto scale-in. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'QueueName' => ['description' => 'The name of the queue.'."\n", 'type' => 'string', 'example' => 'workq', 'title' => ''], + 'EnableAutoGrow' => ['description' => 'Indicates whether the queue enabled the auto scale-out. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SystemDiskLevel' => ['description' => 'The performance level of the system disk. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n", 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the compute nodes belong.'."\n", 'type' => 'string', 'example' => 'rg-acfmxp7uc24****', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.062', 'title' => ''], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeInfo' => [ + 'description' => 'The specification information of the compute nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HostNamePrefix' => ['description' => 'The prefix of the hostname. You can query compute nodes that have a specified prefix.'."\n", 'type' => 'string', 'example' => 'compute', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.062', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute nodes.'."\n", 'type' => 'string', 'example' => 'ecs.sn1ne.large', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding method of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'SpotDuration' => ['description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 to 1. Default value: 1. A value of 0 means no protection period is specified.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'SpotInterruptionBehavior' => ['title' => 'The maximum number of compute nodes that can be added in each round of an auto scale-out task. Valid values: 0 to 99.'."\n" + ."\n" + .'Default value: 0.', 'description' => 'The interruption event of the preemptible instance. The value can only be Terminate, which specifies that the instance is released.'."\n", 'type' => 'string', 'example' => 'Terminate'], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + ], + 'DataDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisksInfo' => [ + 'description' => 'The list of data disks.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DataDiskCategory' => ['description' => 'The type of the data disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk.'."\n" + .'* cloud_ssd: standard SSD.'."\n" + .'* cloud_essd: ESSD.'."\n" + .'* cloud: basic disk.'."\n", 'type' => 'string', 'example' => 'cloud_efficiency', 'title' => ''], + 'DataDiskSize' => ['description' => 'The capacity of the data disk. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'DataDiskDeleteWithInstance' => ['description' => 'Indicates whether the data disk is released when the node is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'DataDiskPerformanceLevel' => ['description' => 'The performance level of the ESSD used as the data disk. The parameter is returned only when the DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n", 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'DataDiskEncrypted' => ['description' => 'Indicates whether the data disk is encrypted. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DataDiskKMSKeyId' => ['description' => 'The ID of the KMS key that is used by the data disk.'."\n", 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + ], + 'MaxNodesPerCycle' => ['description' => 'The maximum number of compute nodes that can be added in each round of scale-out. Valid values: 0 to 99.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'MinNodesPerCycle' => ['description' => 'The minimum number of compute nodes that can be added in each round of scale-out. Valid values: 1 to 99'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'If the compute nodes that you want to add in a round is less than the minimum compute nodes that can be added, the value of this parameter is automatically changed to the number of compute nodes that you want to add. This ensures that compute nodes can be added as expected.'."\n" + ."\n" + .'> The configuration takes effect only for the minimum compute nodes that can be added in the current round.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'AutoMinNodesPerCycle' => ['description' => 'Indicates whether the minimum node number for each scale-out is automatically set. If this parameter is set to true, the minimum number of nodes for each scale-out is equal to the number of nodes required by the job. The maximum number is 99.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SortedByInventory' => ['description' => 'Indicates whether the instances are unordered. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> If this parameter is set to true, the system selects instance types in descending order based on the number of instances in stock during auto scaling.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], + 'ComputeEnableHt' => ['description' => 'Specifies whether to enable hyper-threading for the ECS instance that is used as the compute node.'."\n" + ."\n" + .'> You can only disable hyper-threading for some instance types. The hyper-threading is enabled for ECS instances by default. For more information, see [Specify and view CPU options](~~145895~~).', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'DnsConfig' => ['description' => 'The configurations of DNS.'."\n", 'type' => 'string', 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'ImageNotSupported', - 'errorMessage' => 'The specified image is not supported.', - ], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], ], [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddExistedNodesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n</AddExistedNodesResponse>","errorExample":""}]', - 'title' => 'AddExistedNodes', - 'summary' => 'Adds one or more existing ECS instances as compute nodes to a specified cluster.', - 'description' => '* The compute nodes to be added are in the Stopped state.'."\n" - .'* After the compute nodes are added to the cluster, the operating systems of the nodes are replaced with the operating system specified by the ImageId parameter.'."\n" - .'* The hosts of the compute nodes must be different from those of the existing compute nodes in the cluster. Otherwise, the add operation fails.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"MaxNodesInCluster\\": 300,\\n \\"GrowTimeoutInMinutes\\": 20,\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"EnableAutoShrink\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EnableAutoGrow\\": true,\\n \\"ClusterType\\": \\"pbs\\",\\n \\"ExcludeNodes\\": \\"i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****\\",\\n \\"ShrinkIntervalInMinutes\\": 2,\\n \\"GrowIntervalInMinutes\\": 2,\\n \\"SpotPriceLimit\\": 0.062,\\n \\"ExtraNodesGrowRatio\\": 2,\\n \\"ShrinkIdleTimes\\": 3,\\n \\"ImageId\\": \\"m-bp10txryr4mhrrt1****\\",\\n \\"GrowRatio\\": 100,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"Uid\\": \\"129845258050****\\",\\n \\"Queues\\": {\\n \\"QueueInfo\\": [\\n {\\n \\"QueueImageId\\": \\"centos_7_06_64_20G_alibase_2019071****\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"HostNameSuffix\\": \\"000\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"MinNodesInQueue\\": 10,\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"SystemDiskSize\\": 40,\\n \\"MaxNodesInQueue\\": 100,\\n \\"EnableAutoShrink\\": true,\\n \\"QueueName\\": \\"workq\\",\\n \\"EnableAutoGrow\\": true,\\n \\"SystemDiskLevel\\": \\"PL1\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxp7uc24****\\",\\n \\"SpotPriceLimit\\": 0.062,\\n \\"InstanceTypes\\": {\\n \\"InstanceTypeInfo\\": [\\n {\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"VSwitchId\\": \\"vsw-bp1lfcjbfb099rrjn****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"SpotPriceLimit\\": 0.062,\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotDuration\\": 0,\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\"\\n }\\n ]\\n },\\n \\"DataDisks\\": {\\n \\"DataDisksInfo\\": [\\n {\\n \\"DataDiskCategory\\": \\"cloud_efficiency\\",\\n \\"DataDiskSize\\": 40,\\n \\"DataDiskDeleteWithInstance\\": true,\\n \\"DataDiskPerformanceLevel\\": \\"PL1\\",\\n \\"DataDiskEncrypted\\": false,\\n \\"DataDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40826X\\"\\n }\\n ]\\n },\\n \\"MaxNodesPerCycle\\": 20,\\n \\"MinNodesPerCycle\\": 5,\\n \\"AutoMinNodesPerCycle\\": false,\\n \\"SortedByInventory\\": false\\n }\\n ]\\n },\\n \\"ComputeEnableHt\\": true,\\n \\"DnsConfig\\": \\"\\\\\\"{\\\\\\\\\\\\\\"DnsType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PrivateZone\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"DnsName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"xxxxx\\\\\\\\\\\\\\"}\\\\\\"\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAutoScaleConfigResponse>\\n <MaxNodesInCluster>300</MaxNodesInCluster>\\n <GrowTimeoutInMinutes>20</GrowTimeoutInMinutes>\\n <SpotStrategy>SpotWithPriceLimit</SpotStrategy>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <ClusterType>pbs</ClusterType>\\n <ExcludeNodes>i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****</ExcludeNodes>\\n <ShrinkIntervalInMinutes>2</ShrinkIntervalInMinutes>\\n <GrowIntervalInMinutes>2</GrowIntervalInMinutes>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <ExtraNodesGrowRatio>2</ExtraNodesGrowRatio>\\n <ShrinkIdleTimes>3</ShrinkIdleTimes>\\n <ImageId>m-bp10txryr4mhrrt1****</ImageId>\\n <GrowRatio>100</GrowRatio>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <Uid>129845258050****</Uid>\\n <Queues>\\n <QueueImageId>centos_7_06_64_20G_alibase_2019071****</QueueImageId>\\n <SystemDiskCategory>cloud_efficiency</SystemDiskCategory>\\n <InstanceType>ecs.sn1ne.large</InstanceType>\\n <HostNameSuffix>000</HostNameSuffix>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <MinNodesInQueue>10</MinNodesInQueue>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <SystemDiskSize>40</SystemDiskSize>\\n <MaxNodesInQueue>100</MaxNodesInQueue>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <QueueName>workq</QueueName>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <SystemDiskLevel>PL1</SystemDiskLevel>\\n <ResourceGroupId>rg-acfmxp7uc24****</ResourceGroupId>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <InstanceTypes>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <VSwitchId>vsw-bp1lfcjbfb099rrjn****</VSwitchId>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <InstanceType>ecs.sn1ne.large</InstanceType>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n </InstanceTypes>\\n <DataDisks>\\n <DataDiskCategory>cloud_efficiency</DataDiskCategory>\\n <DataDiskSize>40</DataDiskSize>\\n <DataDiskDeleteWithInstance>true</DataDiskDeleteWithInstance>\\n <DataDiskPerformanceLevel>PL1</DataDiskPerformanceLevel>\\n <DataDiskEncrypted>false</DataDiskEncrypted>\\n <DataDiskKMSKeyId>0e478b7a-4262-4802-b8cb-00d3fb40826X</DataDiskKMSKeyId>\\n </DataDisks>\\n </Queues>\\n</GetAutoScaleConfigResponse>","errorExample":""}]', + 'title' => 'GetAutoScaleConfig', + 'summary' => 'Obtains the auto scaling settings of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetAutoScaleConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetCloudMetricLogs' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10013,155 +6326,76 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'Role', + 'name' => 'From', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the node. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Manager', - 'default' => 'Compute', - ], + 'schema' => ['description' => 'The beginning of the time range to query. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1583907780', 'title' => ''], ], [ - 'name' => 'HostName', + 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the node. You can perform a fuzzy search. MySQL regular expressions are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-HostName', - ], + 'schema' => ['description' => 'The end of the time range to query. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1583907790', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Reverse', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'Specifies whether to return logs in reverse order of timestamps. Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'AggregationType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The data aggregation type. Valid values:'."\n" + ."\n" + .'* sum: the sum of the data'."\n" + .'* avg: the average value'."\n" + .'* max: the maximum value'."\n" + .'* min: the minimum value'."\n" + ."\n" + .'Aggregation is disabled by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'avg', 'title' => ''], ], [ - 'name' => 'Sequence', + 'name' => 'AggregationInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting method of the node list. Valid values:'."\n" - ."\n" - .'* Forward: sorts the nodes in chronological order.'."\n" - .'* Backward: sorts the nodes in reverse chronological order.'."\n" - ."\n" - .'Default value: Forward.'."\n" - ."\n" - .'> This parameter is used together with the SortBy parameter. If you set SortBy to AddedTime and set Sequence to Forward, nodes are queried in ascending order of time that they are added.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'The data aggregation interval. Unit: seconds.'."\n" + ."\n" + .'Valid values: 1, 10, 60, 600, and 3600.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'SortBy', + 'name' => 'MetricScope', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting method of the node list. Valid values:'."\n" - ."\n" - .'* AddedTime: sorts the nodes by the time that they are added.'."\n" - .'* HostName: sorts the nodes by their host names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AddedTime', - ], + 'schema' => ['description' => 'The dimensions of the performance metric. Valid values:'."\n" + ."\n" + .'* machine'."\n" + .'* process'."\n" + .'* network'."\n" + .'* disk'."\n", 'type' => 'string', 'required' => false, 'example' => 'network', 'title' => ''], ], [ 'name' => 'Filter', 'in' => 'query', - 'schema' => [ - 'description' => 'The filter options of the node list.'."\n" - ."\n" - .'Format: {"status":"node_status"}. Replace node_status with the node status. Valid values of node_status:'."\n" - ."\n" - .'* uninit: The node is being installed.'."\n" - .'* exception: An exception occurred on the node.'."\n" - .'* running: The node is running.'."\n" - .'* initing: The node is being initialized.'."\n" - .'* releasing: The node is being released.'."\n" - .'* untracking: The node is not added to the cluster.'."\n" - .'* stopped: The node is stopped.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"status":"running"}', - ], + 'schema' => ['description' => 'The filter conditions. A JSON-formatted string that contains several key-value pairs. Valid values of the key:'."\n" + ."\n" + .'* InstanceId: the ID of the node'."\n" + .'* Hostname: the hostname of the node'."\n" + .'* NetworkInterface: the name of the network interface'."\n" + .'* DiskDevice: the name of the disk'."\n", 'type' => 'string', 'required' => false, 'example' => '{"Hostname":"compute000"}', 'title' => ''], ], [ - 'name' => 'PrivateIpAddress', - 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.16.**.**', - ], - ], - [ - 'name' => 'HostNamePrefix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the hostname. You can query nodes that have a specified prefix.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', - ], - ], - [ - 'name' => 'HostNameSuffix', + 'name' => 'MetricCategories', 'in' => 'query', - 'schema' => [ - 'description' => 'The suffix of the hostname. You can query nodes that have a specified suffix.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The category of the output performance metrics. Separate multiple metrics with commas (,). Valid values:'."\n" + ."\n" + .'* cpu'."\n" + .'* memory'."\n", 'type' => 'string', 'required' => false, 'example' => 'cpu', 'title' => ''], ], ], 'responses' => [ @@ -10169,351 +6403,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', - ], - 'PageNumber' => [ - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Nodes' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '015C2C4D-1884-4EB7-BCD3-C5BB8D7E56DB', 'title' => ''], + 'MetricLogs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'NodeInfo' => [ - 'description' => 'The list of nodes.'."\n", + 'MetricLog' => [ + 'description' => 'The queried performance metric data.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The VPC ID of the node.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1gnu8br4ay7beb2w****', - ], - 'Status' => [ - 'description' => 'The status of the node. Valid values:'."\n" - ."\n" - .'* uninit: The node is being installed.'."\n" - .'* exception: An exception occurred on the node.'."\n" - .'* running: The node is running.'."\n" - .'* initing: The node is being initialized.'."\n" - .'* releasing: The node is being released.'."\n" - .'* untracking: The node is not added to the cluster.'."\n" - .'* stopped: The node is stopped.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'HtEnabled' => [ - 'description' => 'Indicates whether hyper-threading is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Expired' => [ - 'description' => 'Indicates whether the subscription node expired. For a pay-as-you-go node, false is returned.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'LockReason' => [ - 'description' => 'The reason why the node is locked. Valid values:'."\n" - ."\n" - .'* financial: The instance is locked due to overdue payments.'."\n" - .'* security: The node is locked for security reasons.'."\n" - .'* recycling: The preemptible instance is locked and pending release.'."\n" - .'* dedicatedhostfinancial: The ECS instance is locked due to overdue payments of the dedicated host.'."\n" - ."\n" - .'By default, an empty string is returned.'."\n", - 'type' => 'string', - 'example' => 'financial', - ], - 'HostName' => [ - 'description' => 'The name of the task node.'."\n", - 'type' => 'string', - 'example' => 'test-HostName', - ], - 'InstanceType' => [ - 'description' => 'The instance types of the node.'."\n", - 'type' => 'string', - 'example' => 'ecs.c5.large', - ], - 'PublicIpAddress' => [ - 'description' => 'The public IP address of the server.'."\n", - 'type' => 'string', - 'example' => '172.16.**.**', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding method of the compute nodes.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'CreatedByEhpc' => [ - 'description' => 'Indicates whether the node is created by using E-HPC.'."\n" - ."\n" - .'* true: The node is created by using E-HPC.'."\n" - .'* false: The node is not created by using E-HPC.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1e47optm9g58zcu****', - ], - 'IpAddress' => [ - 'description' => 'The IP address of the node.'."\n", - 'type' => 'string', - 'example' => '172.16.**.**', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the subscription node expires. For a pay-as-you-go node, a null value is returned.'."\n", - 'type' => 'string', - 'example' => '2020-06-09T06:22:02.000Z', - ], - 'Version' => [ - 'description' => 'The version of the client that is used for the cluster.'."\n", - 'type' => 'string', - 'example' => '1.0.78', - ], - 'ZoneId' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'AddTime' => [ - 'description' => 'The time when the node is added to the cluster.'."\n", - 'type' => 'string', - 'example' => '2020-06-09T06:22:02.000Z', - ], - 'ImageId' => [ - 'description' => 'The ID of the custom image.'."\n", - 'type' => 'string', - 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', - ], - 'Location' => [ - 'description' => 'The location where the node is deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The node is deployed on your data center.'."\n" - .'* PublicCloud: The node is deployed on the public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'Id' => [ - 'description' => 'The node ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp15707mys2rsy0j****', - ], - 'CreateMode' => [ - 'description' => 'The mode in which the compute nodes are added. Valid values:'."\n" - ."\n" - .'* manual: The node is manually added.'."\n" - .'* autoscale: The node is automatically added.'."\n", - 'type' => 'string', - 'example' => 'manual', - ], - 'Roles' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Role' => [ - 'description' => 'The type of the node. Valid values:'."\n" - ."\n" - .'* Scheduler: primary scheduling node'."\n" - .'* SchedulerBackup: secondary scheduling node'."\n" - .'* Account: primary domain server node'."\n" - .'* AccountBackup: secondary domain server node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n" - ."\n" - .'Scheduling nodes and domain server nodes are management nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The type of the node. Valid values:'."\n" - ."\n" - .'* Scheduler: primary scheduling node'."\n" - .'* SchedulerBackup: secondary scheduling node'."\n" - .'* Account: primary domain server node'."\n" - .'* AccountBackup: secondary domain server node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n" - ."\n" - .'Scheduling nodes and domain server nodes are management nodes.'."\n", - 'type' => 'string', - 'example' => '[“Compute”]', - ], - ], - ], - ], - 'TotalResources' => [ - 'description' => 'The statistics of the resources used by the node.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory capacity. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - ], - ], - 'UsedResources' => [ - 'description' => 'The usage of the compute nodes in the cluster. For other types of nodes, an empty value is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Memory' => [ - 'description' => 'The memory capacity. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - 'StateInSched' => [ - 'description' => 'The status of the node displayed on the scheduler. The status varies with the scheduler.'."\n", - 'type' => 'string', - 'example' => 'active', - ], + 'Time' => ['description' => 'The timestamp of the log. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1583907780', 'title' => ''], + 'DiskDevice' => ['description' => 'The name of the disk.'."\n", 'type' => 'string', 'example' => 'vda1', 'title' => ''], + 'NetworkInterface' => ['description' => 'The name of the network interface.'."\n", 'type' => 'string', 'example' => 'eth1', 'title' => ''], + 'MetricData' => ['description' => 'A JSON-formatted serialized string that contains performance metric data of multiple categories.'."\n", 'type' => 'string', 'example' => '{\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,******}', 'title' => ''], + 'Hostname' => ['description' => 'The hostname of the node.'."\n", 'type' => 'string', 'example' => 'compute000', 'title' => ''], + 'InstanceId' => ['description' => 'The node ID.'."\n", 'type' => 'string', 'example' => 'i-bp132g97g7zwnvta****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'SlsError', 'errorMessage' => 'SLS API request failed.', 'description' => 'Failed to request the SLS interface.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"running\\",\\n \\"HtEnabled\\": true,\\n \\"Expired\\": false,\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LockReason\\": \\"financial\\",\\n \\"HostName\\": \\"test-HostName\\",\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"PublicIpAddress\\": \\"172.16.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"CreatedByEhpc\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.16.**.**\\",\\n \\"ExpiredTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"Version\\": \\"1.0.78\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20190711.vhd\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp15707mys2rsy0j****\\",\\n \\"CreateMode\\": \\"manual\\",\\n \\"Roles\\": {\\n \\"Role\\": [\\n \\"[“Compute”]\\"\\n ]\\n },\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 0,\\n \\"Memory\\": 0\\n },\\n \\"StateInSched\\": \\"active\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesResponse>\\n <PageSize>1</PageSize>\\n <RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Nodes>\\n <VpcId>vpc-bp1gnu8br4ay7beb2w****</VpcId>\\n <Status>running</Status>\\n <HtEnabled>true</HtEnabled>\\n <Expired>false</Expired>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <LockReason>financial</LockReason>\\n <HostName>test-HostName</HostName>\\n <InstanceType>ecs.c5.large</InstanceType>\\n <PublicIpAddress>172.16.**.**</PublicIpAddress>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <CreatedByEhpc>true</CreatedByEhpc>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <IpAddress>172.16.**.**</IpAddress>\\n <ExpiredTime>2020-06-09T06:22:02.000Z</ExpiredTime>\\n <Version>1.0.78</Version>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <AddTime>2020-06-09T06:22:02.000Z</AddTime>\\n <ImageId>centos_7_06_64_20G_alibase_20190711.vhd</ImageId>\\n <Location>PublicCloud</Location>\\n <Id>i-bp15707mys2rsy0j****</Id>\\n <CreateMode>manual</CreateMode>\\n <Roles>[“Compute”]</Roles>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>0</Cpu>\\n <Memory>0</Memory>\\n </UsedResources>\\n <StateInSched>active</StateInSched>\\n </Nodes>\\n</ListNodesResponse>","errorExample":""}]', - 'title' => 'ListNodes', - 'summary' => 'Queries the list of nodes in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"015C2C4D-1884-4EB7-BCD3-C5BB8D7E56DB\\",\\n \\"MetricLogs\\": {\\n \\"MetricLog\\": [\\n {\\n \\"Time\\": 1583907780,\\n \\"DiskDevice\\": \\"vda1\\",\\n \\"NetworkInterface\\": \\"eth1\\",\\n \\"MetricData\\": \\"{\\\\\\\\\\\\\\"process|cpusage\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"process|cpuser\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"process|cpusys\\\\\\\\\\\\\\":0,******}\\",\\n \\"Hostname\\": \\"compute000\\",\\n \\"InstanceId\\": \\"i-bp132g97g7zwnvta****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCloudMetricLogsResponse>\\n <RequestId>DD186204-A3D6-533C-B57E-576466E92C92</RequestId>\\n <MetricLogs>\\n <MetricLog>\\n <InstanceId>i-uf69kb5o3mz68wpmvadg</InstanceId>\\n <Hostname>account</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"edac-poller\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":28,\\"process|vss\\":0,\\"process|rss\\":0,\\"network|recv_rate\\":0.6191,\\"network|sent_rate\\":3.5137,\\"network|max_bw\\":4.1328,\\"disk_usage|max_usage\\":0.1016,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"cputil|idle\\":1,\\"cputil|user\\":0,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0,\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\",\\"memory|memusage\\":0.0612,\\"memory|memcached\\":0.7073,\\"memory|swapusage\\":0}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf6bbo03kfnm1ld3st4p</InstanceId>\\n <Hostname>scheduler</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"process|cpusage\\":0.005,\\"process|cpuser\\":0.005,\\"process|cpusys\\":0,\\"process|memusage\\":0.0113,\\"process|procName\\":\\"\\\\\\"AliYunDun\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":16246,\\"process|vss\\":172457984,\\"process|rss\\":10527,\\"network|recv_rate\\":0.959,\\"network|sent_rate\\":4.3711,\\"network|max_bw\\":5.3301,\\"memory|memusage\\":0.0815,\\"memory|memcached\\":0.7892,\\"memory|swapusage\\":0,\\"cputil|idle\\":0.995,\\"cputil|user\\":0.005,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0.005,\\"disk_usage|max_usage\\":0.1074,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf609tfkmu7wct642ob2</InstanceId>\\n <Hostname>compute000</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"memory|memusage\\":0.058,\\"memory|memcached\\":0.5132,\\"memory|swapusage\\":0,\\"disk_usage|max_usage\\":0.0918,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"watchdogd\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":29,\\"process|vss\\":0,\\"process|rss\\":0,\\"network|recv_rate\\":0.6602,\\"network|sent_rate\\":3.5166,\\"network|max_bw\\":4.1768,\\"cputil|idle\\":1,\\"cputil|user\\":0,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0,\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf6275hb357f2r0zz8iy</InstanceId>\\n <Hostname>login0</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"memory|memusage\\":0.2802,\\"memory|memcached\\":0.6,\\"memory|swapusage\\":0,\\"disk_usage|max_usage\\":0.1609,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"network|recv_rate\\":0.9404,\\"network|sent_rate\\":5.2568,\\"network|max_bw\\":6.1973,\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"rpciod\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":2590,\\"process|vss\\":0,\\"process|rss\\":0,\\"cputil|idle\\":0.9949,\\"cputil|user\\":0,\\"cputil|sys\\":0.0051,\\"cputil|iowait\\":0,\\"cputil|usage\\":0.0051,\\"disk_bw|max_bw\\":4,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n </MetricLogs>\\n</GetCloudMetricLogsResponse>","errorExample":""}]', + 'title' => 'GetCloudMetricLogs', + 'summary' => 'Reads performance metrics (CloudMetrics) logs of E-HPC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListNodesNoPaging' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetCloudMetricLogs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetCloudMetricProfiling' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10521,65 +6495,22 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Role', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the node. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n" - ."\n" - .'Default value: Compute.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute', - 'default' => 'Compute', - ], - ], - [ - 'name' => 'HostName', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the node. You can perform a fuzzy search. MySQL regular expressions are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute0', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'Sequence', + 'name' => 'ProfilingId', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting method of the node list. Valid values:'."\n" - ."\n" - .'* Forward: sorts the nodes in chronological order.'."\n" - .'* Backward: sorts the nodes in reverse chronological order.'."\n" - ."\n" - .'Default value: Forward.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'The profiling ID. You can call the [ListCloudMetricProfilings](~~188711~~) operation to obtain the profiling ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40', 'title' => ''], ], ], 'responses' => [ @@ -10587,213 +6518,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Nodes' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0DD6F715-85EE-4EA6-BDC4-48A75B719068', 'title' => ''], + 'SvgUrls' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'NodeInfo' => [ - 'description' => 'The list of nodes.'."\n", + 'SvgInfo' => [ + 'description' => 'The list of profiling results.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the node. Valid values:'."\n" - ."\n" - .'* uninit: The node is being installed.'."\n" - .'* exception: An exception occurred on the node.'."\n" - .'* running: The node is running.'."\n" - .'* initing: The node is being initialized.'."\n" - .'* releasing: The node is being released.'."\n" - .'* untracking: The node is not added to the cluster.'."\n" - .'* stopped: The node is stopped.'."\n", - 'type' => 'string', - 'example' => 'untracking', - ], - 'HostName' => [ - 'description' => 'The node name.'."\n", - 'type' => 'string', - 'example' => 'compute0', - ], - 'InstanceType' => [ - 'description' => 'The node type.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'centos_7_02_64_20G_alibase_20170818****', - ], - 'Id' => [ - 'description' => 'The node ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp13p7vlcb1uihfv****', - ], + 'Type' => ['description' => 'The type of the SVG file.'."\n", 'type' => 'string', 'example' => 'file', 'title' => ''], + 'Url' => ['description' => 'The URL of the Object Storage Service (OSS) bucket where the scalable vector graphics (SVG) file is stored.'."\n", 'type' => 'string', 'example' => 'https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****', 'title' => ''], + 'Name' => ['description' => 'The name of the SVG file that contains the profiling results.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.bottomup.svg', 'title' => ''], + 'Size' => ['description' => 'The size of the SVG file. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '648', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], + ], + 407 => [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"Status\\": \\"untracking\\",\\n \\"HostName\\": \\"compute0\\",\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"Id\\": \\"i-bp13p7vlcb1uihfv****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesNoPagingResponse>\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n<Nodes>\\n <NodeInfo>\\n <Status>untracking</Status>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <Id>i-bp13p7vlcb1uihfv****</Id>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <HostName>compute0</HostName>\\n </NodeInfo>\\n</Nodes>\\n</ListNodesNoPagingResponse>","errorExample":""}]', - 'title' => 'ListNodesNoPaging', - 'summary' => 'Queries the information of all nodes in a specified cluster on one page.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0DD6F715-85EE-4EA6-BDC4-48A75B719068\\",\\n \\"SvgUrls\\": {\\n \\"SvgInfo\\": [\\n {\\n \\"Type\\": \\"file\\",\\n \\"Url\\": \\"https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****\\",\\n \\"Name\\": \\"ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.bottomup.svg\\",\\n \\"Size\\": 648\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCloudMetricProfilingResponse>\\n <RequestId>0DD6F715-85EE-4EA6-BDC4-48A75B719068</RequestId>\\n <SvgUrls>\\n <SvgInfo>\\n <Name>ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.svg</Name>\\n <Size>648</Size>\\n <Type>file</Type>\\n <Url>https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****</Url>\\n </SvgInfo>\\n </SvgUrls>\\n</GetCloudMetricProfilingResponse>","errorExample":""}]', + 'title' => 'GetCloudMetricProfiling', + 'summary' => 'Queries the profiling result of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetCloudMetricProfiling', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetClusterVolumes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75916', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'Role', - 'in' => 'query', - 'schema' => [ - 'description' => 'The role of the node. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n" - ."\n" - .'Default value: Compute'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute', - 'default' => 'Compute', - ], - ], - [ - 'name' => 'Instance', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the Nth node. Valid values of N: 1 to 100.'."\n" - ."\n" - .'Make sure that the node is in the Stopped state. You can call the [ListNodes](~~87161~~) operation to query the status of the node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp13p7vlcb1uihfv****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-gh5WKb****', 'title' => ''], ], ], 'responses' => [ @@ -10801,194 +6617,138 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8BCFD52E-0336-4490-AE7D-F560F106****', 'title' => ''], + 'Volumes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VolumeInfo' => [ + 'description' => 'The array of the file system mounted to the E-HPC cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobQueue' => ['description' => 'The queue of the job.'."\n", 'type' => 'string', 'example' => 'workq', 'title' => ''], + 'VolumeId' => ['description' => 'The ID of the file system.', 'type' => 'string', 'example' => '0e754****', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote mount directory.'."\n", 'type' => 'string', 'example' => '/test', 'title' => ''], + 'VolumeMountpoint' => ['description' => 'The address of the mount target.'."\n", 'type' => 'string', 'example' => '0e754****-kal90.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'LocalDirectory' => ['description' => 'The local mount directory.'."\n", 'type' => 'string', 'example' => '/ehpcdata', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the file system. Valid values:'."\n" + ."\n" + .'* NAS'."\n", 'type' => 'string', 'example' => 'NAS', 'title' => ''], + 'MustKeep' => ['description' => 'Indicates whether the resource can be unmounted.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Location' => ['description' => 'The type of cluster. Valid values:'."\n" + ."\n" + .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The storage protocol type of the file system. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''], + 'Roles' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RoleInfo' => [ + 'description' => 'The array of the node on which the file system is mounted.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The type of the node on which the file system is mounted. Valid values:'."\n" + ."\n" + .'* Compute: compute node'."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n", 'type' => 'string', 'example' => 'Compute', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + ], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidNodeStatus', - 'errorMessage' => 'The operation failed due to invalid node status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartNodesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n</StartNodesResponse>","errorExample":""}]', - 'title' => 'StartNodes', - 'summary' => 'Starts one or more nodes in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"8BCFD52E-0336-4490-AE7D-F560F106****\\",\\n \\"Volumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"JobQueue\\": \\"workq\\",\\n \\"VolumeId\\": \\"0e754****\\",\\n \\"RemoteDirectory\\": \\"/test\\",\\n \\"VolumeMountpoint\\": \\"0e754****-kal90.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"LocalDirectory\\": \\"/ehpcdata\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"MustKeep\\": true,\\n \\"Location\\": \\"PublicCloud\\",\\n \\"VolumeProtocol\\": \\"NFS\\",\\n \\"Roles\\": {\\n \\"RoleInfo\\": [\\n {\\n \\"Name\\": \\"Compute\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetClusterVolumesResponse>\\n <Volumes>\\n <VolumeInfo>\\n <VolumeProtocol>NFS</VolumeProtocol>\\n <LocalDirectory>/ehpcdata</LocalDirectory>\\n <RemoteDirectory>/</RemoteDirectory>\\n <VolumeId>0e754****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <JobQueue>workq</JobQueue>\\n <MustKeep>true</MustKeep>\\n <VolumeMountpoint>0e754****-kal90.cn-hangzhou.nas.aliyuncs.com<</VolumeMountpoint>\\n <Location>PublicCloud</Location>\\n </VolumeInfo>\\n <VolumeInfo>\\n <Roles>\\n <RoleInfo>\\n <Name>Compute</Name>\\n </RoleInfo>\\n </Roles>\\n </VolumeInfo>\\n </Volumes>\\n <RequestId>8BCFD52E-0336-4490-AE7D-F560F1065F9B</RequestId>\\n <RegionId>cn-hangzhou</RegionId>\\n</GetClusterVolumesResponse>","errorExample":""}]', + 'title' => 'GetClusterVolumes', + 'summary' => 'Queries the information of the NAS file system mounted to a specified cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetClusterVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetHybridClusterConfig' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75921', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Role', + 'name' => 'Node', 'in' => 'query', - 'schema' => [ - 'description' => 'The role of the node. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n" - ."\n" - .'Default value: Compute'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute', - 'default' => 'Compute', - ], - ], - [ - 'name' => 'Instance', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the Nth node that you want to stop. Valid values of N: 1 to 100'."\n" - ."\n" - .'You can call the [ListNodes](~~87161~~) operation to query the IDs of the compute nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'i-bp13p7vlcb1uihf****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The name of the on-premises compute node. You can call this operation to query the configurations of the on-premises compute node.'."\n" + ."\n" + .'By default, the operation queries the configurations of a cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testNode', 'title' => ''], ], ], 'responses' => [ @@ -10996,176 +6756,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'ClusterConfig' => ['description' => 'The configurations returned.'."\n" + ."\n" + .'* If the parameter Node is null, you can obtain the configurations of the hybrid cloud cluster.'."\n" + .'* If the parameter Node is a specified on-premises compute node, you can obtain the configurations of the on-premises compute node.'."\n" + ."\n" + .'This parameter is returned in the ini format. You can use this parameter to configure on-premises cluster nodes.'."\n", 'type' => 'string', 'example' => 'ClNjaGcyI6W119Cg****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidNodeStatus', - 'errorMessage' => 'The operation failed due to invalid node status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartNodesResponse>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</StartNodesResponse>","errorExample":""}]', - 'title' => 'StopNodes', - 'summary' => 'Stops one or more nodes in an Elastic High Performance Computing (E-HPC) cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ClusterConfig\\": \\"ClNjaGcyI6W119Cg****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddLocalNodesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <ClusterConfig>ClNjaGcyI6W119Cg****</ClusterConfig>\\r\\n</AddLocalNodesResponse>","errorExample":""}]', + 'title' => 'GetHybridClusterConfig', + 'summary' => 'Queries the configurations of a specified hybrid cloud cluster or a specified compute node.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ResetNodes' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetHybridClusterConfig'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetHybridClusterConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetIfEcsTypeSupportHtConfig' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75904', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'Instance', + 'name' => 'InstanceType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the compute node that you want to reset. Valid values of N: 1 to 100'."\n" - ."\n" - .'You can call the [ListNodes](~~87161~~) operation to query the IDs of the compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp13p7vlcb1uihfv****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The Elastic Compute Service (ECS) instance type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ecs.g6.large', 'title' => ''], ], ], 'responses' => [ @@ -11173,515 +6840,262 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '80CA7A93-7291-4402-B63D-86DF334E0A1F', 'title' => ''], + 'DefaultHtEnabled' => ['description' => 'Indicates whether Hyper-Threading is enabled by default. Valid values:'."\n" + ."\n" + .'* true: Hyper-Threading is enabled by default.'."\n" + .'* false: Hyper-Threading is disabled by default.'."\n" + ."\n" + .'> By default, Hyper-Threading is not enabled for Super Computing Cluster (SCC) instance families but is enabled for other instance families.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'InstanceType' => ['description' => 'The ECS instance type.'."\n", 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'SupportHtConfig' => ['description' => 'Indicates whether hyper-threading is supported. Valid values:'."\n" + ."\n" + .'* true: Hyper-threading is supported.'."\n" + .'* false: Hyper-threading is not supported.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidNodeStatus', - 'errorMessage' => 'The operation failed due to invalid node status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], - [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], - ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetNodesResponse>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</ResetNodesResponse>","errorExample":""}]', - 'title' => 'ResetNodes', - 'summary' => 'Resets one or more compute nodes.', - 'description' => 'After a node is reset, the operating system and software return to their initial states. To ensure that jobs run as expected, we recommend that you do not reset running nodes unless you need to perform crash recovery.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"80CA7A93-7291-4402-B63D-86DF334E0A1F\\",\\n \\"DefaultHtEnabled\\": true,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"SupportHtConfig\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetIfEcsTypeSupportHtConfigResponse>\\n <RequestId>80CA7A93-7291-4402-B63D-86DF334E0A1F</RequestId> \\n <DefaultHtEnabled>true</DefaultHtEnabled>\\n <SupportHtConfig>true</SupportHtConfig>\\n <InstanceType>ecs.g6.large</InstanceType>\\n</GetIfEcsTypeSupportHtConfigResponse>","errorExample":""}]', + 'title' => 'GetIfEcsTypeSupportHtConfig', + 'summary' => 'Queries whether hyper-threading can be enabled or disabled for an instance type.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteNodes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetIfEcsTypeSupportHtConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetJobLog' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '75800', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'ReleaseInstance', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to release the instances that are created by using E-HPC.'."\n" - ."\n" - .'Default value: true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => 'The ID of the job.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1.scheduler****', 'title' => ''], ], [ - 'name' => 'Sync', + 'name' => 'ExecHost', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to directly delete the node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The node on which the job runs.'."\n" + ."\n" + .'* If the job is completed, you do not need to specify the parameter.'."\n" + .'* If the job is running, you must specify the parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute000', 'title' => ''], ], [ - 'name' => 'Instance', + 'name' => 'Size', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the compute node that you want to delete. Valid values of N: 1 to 100.'."\n" - ."\n" - .'You can call the [DescribeCluster](~~87126~~) operation to query the IDs of the nodes in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp13p7vlcb1uihfv****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'schema' => ['description' => 'The maximum size of logs that you can read in a single request.'."\n" + ."\n" + .'Unit: bits'."\n" + ."\n" + .'Default value: 1024'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024', 'title' => ''], + ], + [ + 'name' => 'Offset', + 'in' => 'query', + 'schema' => ['description' => 'The position where logs start to be read.'."\n" + ."\n" + .'Unit: bits'."\n" + ."\n" + .'Default value: 0'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n" - ."\n" - .'* If you set the Sync parameter to true, the DeleteNodes operation is synchronous. Valid value: Not Available.'."\n" - .'* If you set the Sync parameter to false, the DeleteNodes operation is asynchronous. You can call the [ListTasks](~~268225~~) operation to query the result of the task.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'JobId' => ['description' => 'The ID of the job.'."\n", 'type' => 'string', 'example' => '1.scheduler****', 'title' => ''], + 'OutputLog' => ['description' => 'The content of the output logs. The content is encoded in Base64.'."\n", 'type' => 'string', 'example' => 'c2xlZXAgMzA=', 'title' => ''], + 'ErrorLog' => ['description' => 'The content of the error logs. The content is encoded in Base64.'."\n", 'type' => 'string', 'example' => 'c2xlZXAgMzA=', 'title' => ''], ], + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidNodeStatus', - 'errorMessage' => 'The operation failed due to invalid node status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'EipError', - 'errorMessage' => 'The EIP API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteNodesResponse>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</DeleteNodesResponse>","errorExample":""}]', - 'title' => 'DeleteNodes', - 'summary' => 'Deletes one or more compute nodes from a cluster.', - 'description' => 'Before you delete a compute node, we recommend that you export all job data from the node to prevent data loss.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AddQueue' => [ - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"JobId\\": \\"1.scheduler****\\",\\n \\"OutputLog\\": \\"c2xlZXAgMzA=\\",\\n \\"ErrorLog\\": \\"c2xlZXAgMzA=\\"\\n}","errorExample":""},{"type":"xml","example":"<GetJobLogResponse>\\n <RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n <JobId>1.scheduler****</JobId>\\n <OutputLog>c2xlZXAgMzA=</OutputLog>\\n <ErrorLog>c2xlZXAgMzA=</ErrorLog>\\n</GetJobLogResponse>","errorExample":""}]', + 'title' => 'GetJobLog', + 'summary' => 'Queries the output logs of a job.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJobLog'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetJobLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetPostScripts' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '75782', - 'abilityTreeNodes' => [ - 'FEATUREehpcAB36B2', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'QueueName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue. The name must be 1 to 63 characters in length and start with a letter. It can contain letters, digits, and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], - ], - [ - 'name' => 'NetworkInterfaceTrafficMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" - ."\n" - .'* Standard: uses the TCP communication mode.'."\n" - .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], - ], - [ - 'name' => 'DeploymentSetId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment set ID. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pzq****', - ], + 'schema' => ['description' => 'The ID of the region where the cluster resides.'."\n" + ."\n" + .'You can call the [ListRegions](~~188593~~) operation to query the latest region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'UseESS', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use scaling groups of Auto Scaling.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-sh-EnjshUxn', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7ABFF29F-BD9C-4663-AD5D-E620FA48****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****'], + 'PostInstallScripts' => [ + 'description' => 'The post-installation scripts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Args' => ['description' => 'The parameter that is used to run the post-installation script.'."\n", 'type' => 'string', 'example' => '-h', 'title' => ''], + 'Url' => ['description' => 'The URL that is used to download the post-installation script.'."\n", 'type' => 'string', 'example' => 'https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', ], ], - 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"PostInstallScripts\\": [\\n {\\n \\"Args\\": \\"-h\\",\\n \\"Url\\": \\"https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetPostScriptsResponse>\\n <PostInstallScripts>\\n <Args>-h</Args>\\n <Url>https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh</Url>\\n </PostInstallScripts>\\n</GetPostScriptsResponse>","errorExample":""}]', + 'title' => 'GetPostScripts', + 'summary' => 'Queries the post-processing scripts of a cluster.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetPostScripts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7ABFF29F-BD9C-4663-AD5D-E620FA48****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddQueueResponse>\\n <RequestId>7ABFF29F-BD9C-4663-AD5D-E620FA48****</RequestId>\\n</AddQueueResponse>","errorExample":""}]', - 'title' => 'AddQueue', - 'summary' => 'Creates a queue for a cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ListQueues' => [ - 'summary' => 'Queries the queues of a specified cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetSchedulerInfo' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11689,30 +7103,45 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'Scheduler', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable asynchronous query.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'description' => 'The detailed settings of the scheduler.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SchedName' => ['description' => 'The scheduler name. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* pbs19'."\n" + .'* slurm'."\n" + .'* slurm19'."\n" + .'* slurm20'."\n" + ."\n" + .'Valid values of N: 0 to 100.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'pbs', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 1000, + 'title' => '', ], ], ], @@ -11721,309 +7150,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C6E5005C-00B0-4F27-98BB-95AB88016C22', - ], - 'Queues' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'QueueInfo' => [ - 'description' => 'The queried cluster queues.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the queue.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of queue. Valid values:'."\n" - ."\n" - .'* Execution: Queues in which jobs can be executed.'."\n" - .'* Router: Queues in which jobs cannot be executed. The received jobs in the queues must be forwarded to the bound Execution queues for execution.'."\n", - 'type' => 'string', - 'example' => 'Execution', - ], - 'HostNamePrefix' => [ - 'description' => 'The prefix of the hostname.'."\n", - 'type' => 'string', - 'example' => 'compute', - ], - 'QueueName' => [ - 'description' => 'The name of the queue.'."\n", - 'type' => 'string', - 'example' => 'workq', - ], - 'EnableAutoGrow' => [ - 'description' => 'Indicates whether auto scale-out is enabled for the queue. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the queue belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxp7uc24****', - ], - 'ImageId' => [ - 'description' => 'The ID of the image.'."\n", - 'type' => 'string', - 'example' => 'centos_7_06_64_20G_alibase_20****.vhd', - ], - 'HostNameSuffix' => [ - 'description' => 'The suffix of the hostname.'."\n", - 'type' => 'string', - 'example' => '01', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance for which you specify the 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', - ], - 'SpotInstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Instance' => [ - 'description' => 'The information about the preemptible instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the preemptible instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the preemptible instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.tiny', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the instance. The price can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.062', - ], - ], - ], - ], - ], - ], - 'ComputeInstanceType' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type of compute node.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7.xlarge', - ], - ], - ], - ], - 'DeploymentSetId' => [ - 'description' => 'The ID of the deployment set to which to deploy the instance. You can call the [DescribeDeploymentSets](~~91313~~) operation to query the deployment set ID. Only the deployment sets that use low latency policies are supported.'."\n", - 'type' => 'string', - 'example' => 'ds-bp1frxuzdg87zh4pzq****', - ], - 'UseESS' => [ - 'description' => 'Specifies whether to use scaling groups of Auto Scaling.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'NetworkInterfaceTrafficMode' => [ - 'description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" - ."\n" - .'* Standard: The TCP communication mode is used.'."\n" - .'* HighPerformance: The Elastic RDMA Interface (ERI) is enabled and the remote direct memory access (RDMA) communication mode is used.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****', 'title' => ''], + 'SchedInfo' => [ + 'description' => 'The settings of the scheduler.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Configuration' => ['description' => 'The detailed settings of the scheduler.'."\n", 'type' => 'string', 'example' => '{"AclInfo":[{"AclEnable": false,"UntrackUser": [],"User": [],"QueueName": "workq"}],"JobHistory": "","SchedIteration": "60","QueueResource": [{"UntrackUser": [],"User": [],"QueueName": "workq"}]}', 'title' => ''], + 'SchedName' => ['description' => 'The type of the scheduler.'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], ], + 'title' => '', ], + 'title' => '', ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'No authorization is granted.', 'description' => 'No authorization is granted.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C6E5005C-00B0-4F27-98BB-95AB88016C22\\",\\n \\"Queues\\": {\\n \\"QueueInfo\\": [\\n {\\n \\"Type\\": \\"Execution\\",\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"QueueName\\": \\"workq\\",\\n \\"EnableAutoGrow\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmxp7uc24****\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20****.vhd\\",\\n \\"HostNameSuffix\\": \\"01\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotInstanceTypes\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"SpotPriceLimit\\": 0.062\\n }\\n ]\\n },\\n \\"ComputeInstanceType\\": {\\n \\"InstanceType\\": [\\n \\"ecs.c7.xlarge\\"\\n ]\\n },\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4pzq****\\",\\n \\"UseESS\\": false,\\n \\"NetworkInterfaceTrafficMode\\": \\"Standard\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueuesResponse>\\n <RequestId>C6E5005C-00B0-4F27-98BB-95AB88016C22</RequestId>\\n <Queues>\\n <QueueInfo>\\n <HostNameSuffix>01</HostNameSuffix>\\n <EnableAutoGrow>false</EnableAutoGrow>\\n <SpotInstanceTypes>\\n </SpotInstanceTypes>\\n <ImageId>centos_7_06_64_20G_alibase_20****.vhd</ImageId>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <QueueName>workq</QueueName>\\n <ResourceGroupId>rg-acfmxp7uc24****</ResourceGroupId>\\n <SpotStrategy>SpotWithPriceLimit</SpotStrategy>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <Type>Execution</Type>\\n <ComputeInstanceType>\\n <InstanceType>ecs.n1.small</InstanceType>\\n </ComputeInstanceType>\\n </QueueInfo>\\n </Queues>\\n</ListQueuesResponse>","errorExample":""}]', - 'title' => 'ListQueues', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\",\\n \\"SchedInfo\\": [\\n {\\n \\"Configuration\\": \\"{\\\\\\"AclInfo\\\\\\":[{\\\\\\"AclEnable\\\\\\": false,\\\\\\"UntrackUser\\\\\\": [],\\\\\\"User\\\\\\": [],\\\\\\"QueueName\\\\\\": \\\\\\"workq\\\\\\"}],\\\\\\"JobHistory\\\\\\": \\\\\\"\\\\\\",\\\\\\"SchedIteration\\\\\\": \\\\\\"60\\\\\\",\\\\\\"QueueResource\\\\\\": [{\\\\\\"UntrackUser\\\\\\": [],\\\\\\"User\\\\\\": [],\\\\\\"QueueName\\\\\\": \\\\\\"workq\\\\\\"}]}\\",\\n \\"SchedName\\": \\"pbs\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetSchedulerInfoResponse>\\n<RequestId>193120A7-3216-4DD7-9FE3-13DC77BD****</RequestId>\\n<SchedInfo>\\n <Configuration>\\n <AclInfo>\\n <AclEnable>false</AclEnable>\\n <QueueName>workq</QueueName>\\n </AclInfo>\\n <JobHistory/>\\n <SchedIteration>60</SchedIteration>\\n <QueueResource>\\n <QueueName>workq</QueueName>\\n </QueueResource>\\n </Configuration>\\n <SchedName>pbs</SchedName>\\n</SchedInfo>\\n</GetSchedulerInfoResponse>","errorExample":""}]', + 'title' => 'GetSchedulerInfo', + 'summary' => 'Queries the scheduler settings of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateQueueConfig' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetSchedulerInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetVisualServiceStatus' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'QueueName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'workq', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n" - ."\n" - .'You can call the [ListResourceGroups](~~158855~~) operation to query the IDs of resource groups.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'rg-acfmxazb4ph****', - ], - ], - [ - 'name' => 'ComputeInstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the node.'."\n" - ."\n" - .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], - ], - [ - 'name' => 'DeploymentSetId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pzq****', - ], - ], - [ - 'name' => 'NetworkInterfaceTrafficMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" - ."\n" - .'* Standard: uses the TCP communication mode.'."\n" - .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.', - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - 'enum' => [ - 'Standard', - 'HighPerformance', - ], - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], ], 'responses' => [ @@ -12031,161 +7240,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '5198C3E8-85F5-4280-8547-687C1710****', - ], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'inactive (dead) , ws service is not running.', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '896D338C-E4F4-41EC-A154-D605E5DE****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidClientVersion', - 'errorMessage' => 'The client version is invalid.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => ''], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5198C3E8-85F5-4280-8547-687C1710****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeGWSClustersResponse>\\r\\n <requestId>5198C3E8-85F5-4280-8547-687C1710****</requestId>\\r\\n</DescribeGWSClustersResponse>","errorExample":""}]', - 'title' => 'UpdateQueueConfig', - 'summary' => 'Updates the resource group information and the instance types of compute nodes for a queue of a cluster.', - 'description' => 'After you update the resource group, the nodes that you add by scaling out the cluster are automatically included in the resource group.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"inactive (dead) , ws service is not running.\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetVisualServiceStatusResponse>\\r\\n <Message>\\r\\n <Msg>inactive (dead) , ws service is not running.</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</GetVisualServiceStatusResponse>","errorExample":""}]', + 'title' => 'GetVisualServiceStatus', + 'summary' => 'Queries the status of the VNC service in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListNodesByQueue' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetVisualServiceStatus', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InitializeEHPC' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'QueueName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'workq', - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The ID of the region where the service-linked role is created.'."\n" + ."\n" + .'You can call the [ListRegions](~~188593~~) operation to obtain the IDs of regions supported by E-HPC.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ServiceName', 'in' => 'query', 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + 'description' => 'The name of the service for which you must create a service-linked role. Valid values:'."\n" ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable asynchronous query.'."\n", - 'type' => 'boolean', + .'* E-HPC: You must create the AliyunServiceRoleForEHPC service-linked role.'."\n" + .'* E-HPC Instant: You must create the AliyunServiceRoleForEHPCManagedNetwork service-linked role.'."\n" + ."\n" + .'> This parameter is not publicly available.'."\n", + 'type' => 'string', 'required' => false, - 'example' => 'false', + 'example' => 'E-HPC', + 'enum' => ['E-HPC', 'E-HPC Instant'], + 'title' => '', ], ], ], @@ -12194,313 +7343,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B405FF19-2D5F-4489-A84C-BC15CC1B24BD', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Nodes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NodeInfo' => [ - 'description' => 'The list of nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The VPC ID of the node.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1gnu8br4ay7beb2w****', - ], - 'Status' => [ - 'description' => 'The status of the node. Valid values:'."\n" - ."\n" - .'* uninit: The node is not initialized.'."\n" - .'* init: The node is being initialized.'."\n" - .'* ready: The node is ready.'."\n" - .'* running: The cluster is running.'."\n" - .'* exception: An exception occurred on the node.'."\n" - .'* untracking: The node is not added to the cluster.'."\n", - 'type' => 'string', - 'example' => 'untracking', - ], - 'HtEnabled' => [ - 'description' => 'Indicates whether Hyper-Threading (HT) is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Expired' => [ - 'description' => 'Indicates whether the subscription node has expired. If the node is a pay-as-you-go node, false is returned.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The type of the image. Valid values:'."\n" - ."\n" - .'* system: public image'."\n" - .'* self: custom image'."\n" - .'* others: shared image'."\n" - .'* marketplace: Alibaba Cloud Marketplace image'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'LockReason' => [ - 'description' => 'The reason why the node is locked. Valid values:'."\n" - ."\n" - .'* financial: The instance is locked due to overdue payments.'."\n" - .'* security: The node is locked for security reasons.'."\n" - .'* recycling: The preemptible instance is locked and pending release.'."\n" - .'* dedicatedhostfinancial: The ECS instance is locked due to overdue payments of the dedicated host.'."\n" - ."\n" - .'By default, an empty string is returned.'."\n", - 'type' => 'string', - 'example' => 'financial', - ], - 'HostName' => [ - 'description' => 'The node name.'."\n", - 'type' => 'string', - 'example' => 'compute0', - ], - 'PublicIpAddress' => [ - 'description' => 'The public IP address of the node.'."\n", - 'type' => 'string', - 'example' => '10.34.**.**', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy of 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 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", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'CreatedByEhpc' => [ - 'description' => 'Indicates whether the node was created by using E-HPC.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1e47optm9g58zcu****', - ], - 'IpAddress' => [ - 'description' => 'The private IP address of the node.'."\n", - 'type' => 'string', - 'example' => '172.168.**.**', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the subscription instance expires. If the node is a pay-as-you-go node, a null value is returned.'."\n", - 'type' => 'string', - 'example' => '2020-09-18T13:24:29.000Z', - ], - 'Version' => [ - 'description' => 'The version of the E-HPC client.'."\n", - 'type' => 'string', - 'example' => '1.0.64', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'AddTime' => [ - 'description' => 'The time when the node was added to the cluster.'."\n", - 'type' => 'string', - 'example' => '2019-09-18T13:24:29.000Z', - ], - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'centos_7_02_64_20G_alibase_20170818****', - ], - 'Location' => [ - 'description' => 'The location where the node is deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'Id' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'i-bp13p7vlcb1uihfv****', - ], - 'CreateMode' => [ - 'description' => 'The mode in which the node is created. Valid values:'."\n" - ."\n" - .'* manual: The node is manually added.'."\n" - .'* autoscale: The node is automatically added.'."\n", - 'type' => 'string', - 'example' => 'manual', - ], - 'TotalResources' => [ - 'description' => 'The number of all resources in the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The total number of GPU cards. Unit: cards.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory capacity. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - ], - ], - 'UsedResources' => [ - 'description' => 'The usage of the compute nodes in the cluster. For other types of nodes, an empty value is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Gpu' => [ - 'description' => 'The total number of GPU cards. Unit: cards.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores. Unit: cores.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory capacity. Unit: GB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'StateInSched' => [ - 'description' => 'The status of the node displayed on the scheduler. The status varies with the scheduler.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + 500 => [ + ['errorCode' => 'EntityAlreadyExists.RoleError', 'errorMessage' => 'AliyunServiceRoleForEHPC already exists.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"B405FF19-2D5F-4489-A84C-BC15CC1B24BD\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"untracking\\",\\n \\"HtEnabled\\": true,\\n \\"Expired\\": false,\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LockReason\\": \\"financial\\",\\n \\"HostName\\": \\"compute0\\",\\n \\"PublicIpAddress\\": \\"10.34.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"CreatedByEhpc\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.168.**.**\\",\\n \\"ExpiredTime\\": \\"2020-09-18T13:24:29.000Z\\",\\n \\"Version\\": \\"1.0.64\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2019-09-18T13:24:29.000Z\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp13p7vlcb1uihfv****\\",\\n \\"CreateMode\\": \\"manual\\",\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1\\n },\\n \\"StateInSched\\": \\"active\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesByQueueResponse>\\n <PageSize>1</PageSize>\\n <RequestId>B405FF19-2D5F-4489-A84C-BC15CC1B24BD</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Nodes>\\n <VpcId>vpc-bp1gnu8br4ay7beb2w****</VpcId>\\n <Status>untracking</Status>\\n <HtEnabled>true</HtEnabled>\\n <Expired>false</Expired>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <LockReason>financial</LockReason>\\n <HostName>compute0</HostName>\\n <PublicIpAddress>10.34.**.**</PublicIpAddress>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <CreatedByEhpc>true</CreatedByEhpc>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <IpAddress>172.168.**.**</IpAddress>\\n <ExpiredTime>2020-09-18T13:24:29.000Z</ExpiredTime>\\n <Version>1.0.64</Version>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <AddTime>2019-09-18T13:24:29.000Z</AddTime>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <Location>PublicCloud</Location>\\n <Id>i-bp13p7vlcb1uihfv****</Id>\\n <CreateMode>manual</CreateMode>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1</Memory>\\n </UsedResources>\\n <StateInSched>active</StateInSched>\\n </Nodes>\\n</ListNodesByQueueResponse>","errorExample":""}]', - 'title' => 'ListNodesByQueue', - 'summary' => 'Queries the node information of a single cluster within an Alibaba Cloud account by queue.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<InitializeEHPCResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n </InitializeEHPCResponse> ","errorExample":""}]', + 'title' => 'InitializeEHPC', + 'summary' => 'Creates a service-linked role for Elastic High Performance Computing (E-HPC). A service-linked role is required for you to use E-HPC.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetQueue' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InitializeEHPC'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:InitializeEHPC', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InstallSoftware' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12510,10 +7399,8 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '75912', - 'abilityTreeNodes' => [ - 'FEATUREehpcAB36B2', - ], + 'abilityTreeCode' => '75861', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -12521,55 +7408,16 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'QueueName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the destination queue.'."\n" - ."\n" - .'You can call the [ListQueues](~~92176~~) operation to query the queue name.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'work', - ], - ], - [ - 'name' => 'Node', + 'name' => 'Application', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the compute node that you want to move. Valid values of N: 1 to 100.'."\n" - ."\n" - .'You can call the [ListNodes](~~87161~~) operation to query the names of the compute nodes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'compute1', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 1000, - ], + 'schema' => ['description' => 'The name of the software that you want to install.'."\n" + ."\n" + .'You can call the [ListSoftwares](~~87216~~) operation to query the software that can be installed.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ABYSS_2.1.5', 'title' => ''], ], ], 'responses' => [ @@ -12577,98 +7425,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DFC3EAA9-F11F-4ED0-836F-4FFCB279E700', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '896D338C-E4F4-41EC-A154-D605E5DE****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 403 => [ - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DFC3EAA9-F11F-4ED0-836F-4FFCB279E700\\"\\n}","errorExample":""},{"type":"xml","example":"<SetQueueResponse>\\n <RequestId>DFC3EAA9-F11F-4ED0-836F-4FFCB279E700</RequestId>\\n</SetQueueResponse>","errorExample":""}]', - 'title' => 'SetQueue', - 'summary' => 'Moves compute nodes from a queue to another queue.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<InstallSoftwareResponse>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</InstallSoftwareResponse>","errorExample":""}]', + 'title' => 'InstallSoftware', + 'summary' => 'Installs software in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteQueue' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallSoftware'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:InstallSoftware', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InvokeShellCommand' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12677,11 +7500,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '75801', - 'abilityTreeNodes' => [ - 'FEATUREehpcAB36B2', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '75862', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -12689,27 +7510,48 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'QueueName', + 'name' => 'Command', + 'in' => 'query', + 'schema' => ['description' => 'The content of the command. The content must be 2 to 2,048 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'echo "hello world"', 'title' => ''], + ], + [ + 'name' => 'WorkingDir', 'in' => 'query', + 'schema' => ['description' => 'The working directory of the command. Default value: `/root`.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home', 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period. If a command times out, the command process will be terminated. Unit: seconds.'."\n" + ."\n" + .'Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3600', 'title' => ''], + ], + [ + 'name' => 'Instance', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the queue that you want to delete.'."\n" - ."\n" - .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'workq', + 'description' => 'The information of nodes on which the command is run.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the Nth node instance on which the command is run.'."\n" + ."\n" + .'> This parameter specifies the node on which the command is run. If it is not specified, the command will be run on all nodes of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp1in9hmw3ur52x0****', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -12718,350 +7560,122 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '464E9919-D04F-4D1D-B375-15989492****', + 'CommandId' => ['description' => 'The ID of the command. It is used to query the execution status of the command.'."\n", 'type' => 'string', 'example' => 'c-hz01v8vudql****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The list of IDs of the instances on which you want to run the command.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The list of IDs of the instances on which you want to run the command.', 'type' => 'string', 'example' => '[ "i-uf68t1zu3jkhs8w****", "i-uf6abz34m2714bp****", "i-uf65bh2113hlqvyx****", "i-uf68t1zu3jkhs8wx****", "i-uf6b0mtpx166fxxi****", "i-uf6faknz4dy1bit7****" ]', 'title' => ''], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteQueueResponse>\\n <RequestId>464E9919-D04F-4D1D-B375-15989492****</RequestId>\\n</DeleteQueueResponse>","errorExample":""}]', - 'title' => 'DeleteQueue', - 'summary' => 'Deletes a queue in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CommandId\\": \\"c-hz01v8vudql****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[ \\\\\\"i-uf68t1zu3jkhs8w****\\\\\\", \\\\\\"i-uf6abz34m2714bp****\\\\\\", \\\\\\"i-uf65bh2113hlqvyx****\\\\\\", \\\\\\"i-uf68t1zu3jkhs8wx****\\\\\\", \\\\\\"i-uf6b0mtpx166fxxi****\\\\\\", \\\\\\"i-uf6faknz4dy1bit7****\\\\\\" ]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<InvokeShellCommandResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <CommandId>c-hz01v8vudql****</CommandId>\\r\\n <InstanceIds>\\r\\n <InstanceId>i-uf68t1zu3jkhs8w****</InstanceId>\\r\\n <InstanceId>i-uf6abz34m2714bp****</InstanceId>\\r\\n <InstanceId>i-uf65bh2113hlqvyx****</InstanceId>\\r\\n <InstanceId>i-uf68t1zu3jkhs8wx****</InstanceId>\\r\\n <InstanceId>i-uf6b0mtpx166fxxi****</InstanceId>\\r\\n <InstanceId>i-uf6faknz4dy1bit7****</InstanceId>\\r\\n </InstanceIds>\\r\\n</InvokeShellCommandResponse>","errorExample":""}]', + 'title' => 'InvokeShellCommand', + 'summary' => 'Runs interactive commands in a cluster node.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetSchedulerInfo' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:InvokeShellCommand', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAvailableEcsTypes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n" - ."\n" - .'You can call the [ListRegions](~~188593~~) operation to obtain the IDs of regions supported by Elastic High Performance Computing (E-HPC).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the zone.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cn-hangzhou-b'], ], [ - 'name' => 'ClusterId', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The preemption policy for the ECS instance. Valid values:'."\n" + ."\n" + .'- NoSpot: The instance is a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: The instance is a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: The instance is a spot instance for which the system automatically bids based on the current market price.', 'type' => 'string', 'required' => false, 'default' => 'NoSpot', 'title' => '', 'example' => 'NoSpot'], ], [ - 'name' => 'PbsInfo', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about PBS schedulers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AclLimit' => [ - 'description' => 'The information about limits on the queue.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Queue' => [ - 'description' => 'AclLimit specifies the queue that has limits when it is used. Valid values of N: 0 to 100.'."\n" - ."\n" - .'If you set `PbsInfo.N.AclLimit.N.Queue` to `workq` and `PbsInfo.N.AclLimit.N.AclUsers` to `user1,user2`, workq can be used only by user1 and user2.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], - 'AclUsers' => [ - 'description' => 'The user that can use the queue. Separate multiple users with commas (`,`).'."\n" - ."\n" - .'If you specify users, you must specify the PbsInfo.N.AclLimit.N.Queue parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user1,user2', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ResourceLimit' => [ - 'description' => 'The information about the nodes that are used by cluster users.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'The maximum number of nodes that can be used in a queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'Cpus' => [ - 'description' => 'The maximum number of vCPUs that can be used for nodes in a queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'User' => [ - 'description' => 'The name of the user that runs jobs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user1', - ], - 'Queue' => [ - 'description' => 'PbsInfo specifies the number of PBS schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" - ."\n" - .'ResourceLimit specifies the maximum number of queue resources that can be used. Valid values of N: 0 to 100.'."\n" - ."\n" - .'Queue specifies the name of the queue that is used to run jobs.'."\n" - ."\n" - .'If one of the User, Cpus, Nodes, and Mem parameters is set in ResourceLimit, you must specify the Queue parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], - 'Mem' => [ - 'description' => 'The maximum memory resources that can be used in a queue. Units:'."\n" - ."\n" - .'* gb'."\n" - .'* mb'."\n" - .'* kb'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2gb', - ], - 'MaxJobs' => [ - 'description' => 'The maximum number of jobs that can be submitted to the cluster. If the total number of running jobs and queuing jobs exceeds the value, no more jobs can be submitted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'JobHistoryDuration' => [ - 'description' => 'The retention period of jobs. After the retention period is exceeded, job data is deleted. Unit: days.\\'."\n" - .'Valid values: 1 to 30.\\'."\n" - .'Default value: 14.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '14', - ], - 'SchedInterval' => [ - 'description' => 'PbsInfo specifies the number of PBS schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" - ."\n" - .'SchedInterval specifies the scheduling period. Unit: seconds.'."\n" - ."\n" - .'A scheduling period is the interval between two consecutive running jobs. If you set SchedInterval to 60, another job can be run 60 seconds after a job starts running.'."\n" - ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - 'SchedMaxJobs' => [ - 'description' => 'The maximum number of jobs that can be scheduled in the cluster. If the total number of running jobs and queuing jobs exceeds the value, no more jobs can be submitted. Default value: 20000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20000', - ], - 'SchedMaxQueuedJobs' => [ - 'description' => 'The maximum number of queuing jobs that can be scheduled in the cluster. If the number of queuing jobs exceeds the value, no more jobs can be submitted. Default value: 10000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10000', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'SlurmInfo', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about Slurm schedulers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'BackfillInterval' => [ - 'description' => 'The backfill scheduling period. Unit: seconds.'."\n" - ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - 'SchedInterval' => [ - 'description' => 'SlurmInfo specifies the number of Slurm schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" - ."\n" - .'SchedInterval specifies the scheduling period. Unit: seconds.'."\n" - ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 1000, - ], + 'schema' => ['description' => 'The billing method of the ECS instance. Valid values:'."\n" + ."\n" + .'- PostPaid: pay-as-you-go'."\n" + .'- PrePaid: subscription', 'type' => 'string', 'required' => false, 'default' => 'PostPaid', 'title' => '', 'example' => 'PostPaid'], ], [ - 'name' => 'Scheduler', + 'name' => 'ShowSoldOut', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The scheduler information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SchedName' => [ - 'description' => 'The name of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* pbs19'."\n" - .'* slurm'."\n" - .'* slurm19'."\n" - .'* slurm20'."\n" - ."\n" - .'> If you set Scheduler.N.SchedName to pbs or pbs19, you must specify at least one of the PbsInfo.N.SchedInterval, PbsInfo.N.JobHistoryDuration, PbsInfo.N.ResourceLimit, and PbsInfo.N.AclLimit parameters. If you set Scheduler.N.SchedName to slurm, slurm19, or slurm20, you must specify at least one of the SlurmInfo.N.SchedInterval and SlurmInfo.N.BackfillInterval parameters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'pbs', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 1000, - ], + 'schema' => ['description' => 'Specifies whether to display sold-out ECS instance types. Valid values:'."\n" + ."\n" + .'- false: The instance type is not sold out.'."\n" + .'- true: The instance type is sold out.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'], ], ], 'responses' => [ @@ -13069,82 +7683,133 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The data returned.'."\n", - 'type' => 'string', - 'example' => 'pbs: scheduler setting successfully.', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****', + 'SupportSpotInstance' => ['description' => 'Indicates whether spot instances are supported. Possible values:'."\n" + ."\n" + .'- false: Not supported.'."\n" + .'- true: Supported.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'D9DD3AF8-1F91-4075-8669-55D10E45****'], + 'InstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeFamilyInfo' => [ + 'description' => 'The instance family to which the instance type belongs.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Generation' => ['description' => 'The generation of the instance family.', 'type' => 'string', 'title' => '', 'example' => 'ecs-3'], + 'InstanceTypeFamilyId' => ['description' => 'The ID of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'title' => '', 'example' => 'ecs.n4'], + 'Types' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TypesInfo' => [ + 'description' => 'A list of instance types.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the ECS instance type. Possible values:'."\n" + ."\n" + .'- SoldOut: The resource is sold out.'."\n" + .'- Available: The resource is available.', 'type' => 'string', 'title' => '', 'example' => 'Available'], + 'InstanceTypeId' => ['description' => 'The ID of the ECS instance type.', 'type' => 'string', 'title' => '', 'example' => 'ecs.n4.xlarge'], + 'InstanceBandwidthRx' => ['description' => 'The maximum inbound internal bandwidth. Unit: kbit/s.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10240000'], + 'GPUSpec' => ['description' => 'The GPU type of the ECS instance.', 'type' => 'string', 'title' => '', 'example' => 'NVIDIA V100'], + 'InstanceBandwidthTx' => ['description' => 'The maximum outbound internal bandwidth. Unit: kbit/s.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10240000'], + 'InstancePpsRx' => ['description' => 'The inbound packet forwarding rate over the internal network. Unit: pps.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '9000000'], + 'InstancePpsTx' => ['description' => 'The outbound packet forwarding rate over the internal network. Unit: pps.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '9000000'], + 'GPUAmount' => ['description' => 'The number of GPUs for the ECS instance.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'CpuCoreCount' => ['description' => 'The number of vCPU cores.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '4'], + 'MemorySize' => ['description' => 'The memory size of the ECS instance. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8'], + 'EniQuantity' => ['description' => 'The maximum number of elastic network interfaces (ENIs) that can be attached to the ECS instance.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], + 'ZoneIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ZoneId' => [ + 'description' => 'A list of zone IDs.', + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The ID of the zone.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou-b'], + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + 'description' => '', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + 'description' => '', + 'title' => '', ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The target cluster is not found.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'No authorization is granted.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"pbs: scheduler setting successfully.\\",\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetSchedulerInfoResponse>\\n<Message>pbs: scheduler setting successfully.</Message>\\n<RequestId>BBC2F93D-003A-49C4-850C-B826EECF****</RequestId>\\n</SetSchedulerInfoResponse>","errorExample":""}]', - 'title' => 'SetSchedulerInfo', - 'summary' => 'Configures the scheduler settings of a cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SupportSpotInstance\\": false,\\n \\"RequestId\\": \\"D9DD3AF8-1F91-4075-8669-55D10E45****\\",\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamilyInfo\\": [\\n {\\n \\"Generation\\": \\"ecs-3\\",\\n \\"InstanceTypeFamilyId\\": \\"ecs.n4\\",\\n \\"Types\\": {\\n \\"TypesInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"InstanceTypeId\\": \\"ecs.n4.xlarge\\",\\n \\"InstanceBandwidthRx\\": 10240000,\\n \\"GPUSpec\\": \\"NVIDIA V100\\",\\n \\"InstanceBandwidthTx\\": 10240000,\\n \\"InstancePpsRx\\": 9000000,\\n \\"InstancePpsTx\\": 9000000,\\n \\"GPUAmount\\": 2,\\n \\"CpuCoreCount\\": 4,\\n \\"MemorySize\\": 8,\\n \\"EniQuantity\\": 2,\\n \\"ZoneIds\\": {\\n \\"ZoneId\\": [\\n \\"cn-hangzhou-b\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListAvailableEcsTypes', + 'summary' => 'You can call ListAvailableEcsTypes to query available ECS instance types.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetSchedulerInfo' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableEcsTypes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableEcsTypes'], + ], ], + ], + 'ListCloudMetricProfilings' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13152,65 +7817,33 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The detailed settings of the scheduler.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SchedName' => [ - 'description' => 'The scheduler name. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* pbs19'."\n" - .'* slurm'."\n" - .'* slurm19'."\n" - .'* slurm20'."\n" - ."\n" - .'Valid values of N: 0 to 100.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'pbs', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 1000, - ], + 'schema' => ['description' => 'The page number.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -13218,101 +7851,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****', - ], - 'SchedInfo' => [ - 'description' => 'The settings of the scheduler.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Configuration' => [ - 'description' => 'The detailed settings of the scheduler.'."\n", - 'type' => 'string', - 'example' => '{"AclInfo":[{"AclEnable": false,"UntrackUser": [],"User": [],"QueueName": "workq"}],"JobHistory": "","SchedIteration": "60","QueueResource": [{"UntrackUser": [],"User": [],"QueueName": "workq"}]}', - ], - 'SchedName' => [ - 'description' => 'The type of the scheduler.'."\n", - 'type' => 'string', - 'example' => 'pbs', + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9A05F620-ED46-4A57-95F1-C67D6D3C5DD2', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Profilings' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ProfilingInfo' => [ + 'description' => 'The profiling information of the cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProfilingId' => ['description' => 'The ID of the profiling process.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40', 'title' => ''], + 'TriggerTime' => ['description' => 'The time when the profiling was triggered.'."\n", 'type' => 'string', 'example' => '2019-09-09 02:37:40', 'title' => ''], + 'Pid' => ['description' => 'The progress ID.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '21687', 'title' => ''], + 'HostName' => ['description' => 'The name of the host.'."\n", 'type' => 'string', 'example' => 'compute5', 'title' => ''], + 'Duration' => ['description' => 'The duration of the profiling process. Unit: seconds.'."\n" + ."\n" + .'Valid values: 10 to 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'example' => 'i-bp1j76z8dlukzqgl0****', 'title' => ''], + 'Freq' => ['description' => 'The frequency of the profiling process. Unit: Hz.'."\n" + ."\n" + .'Valid values: 1 to 2000'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'No authorization is granted.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], + ], + 407 => [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\",\\n \\"SchedInfo\\": [\\n {\\n \\"Configuration\\": \\"{\\\\\\"AclInfo\\\\\\":[{\\\\\\"AclEnable\\\\\\":false,\\\\\\"UntrackUser\\\\\\":[],\\\\\\"User\\\\\\":[],\\\\\\"QueueName\\\\\\":\\\\\\"workq\\\\\\"}],\\\\\\"JobHistory\\\\\\":\\\\\\"\\\\\\",\\\\\\"SchedIteration\\\\\\":\\\\\\"60\\\\\\",\\\\\\"QueueResource\\\\\\":[{\\\\\\"UntrackUser\\\\\\":[],\\\\\\"User\\\\\\":[],\\\\\\"QueueName\\\\\\":\\\\\\"workq\\\\\\"}]}\\",\\n \\"SchedName\\": \\"pbs\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetSchedulerInfoResponse>\\n<RequestId>193120A7-3216-4DD7-9FE3-13DC77BD****</RequestId>\\n<SchedInfo>\\n <Configuration>\\n <AclInfo>\\n <AclEnable>false</AclEnable>\\n <QueueName>workq</QueueName>\\n </AclInfo>\\n <JobHistory/>\\n <SchedIteration>60</SchedIteration>\\n <QueueResource>\\n <QueueName>workq</QueueName>\\n </QueueResource>\\n </Configuration>\\n <SchedName>pbs</SchedName>\\n</SchedInfo>\\n</GetSchedulerInfoResponse>","errorExample":""}]', - 'title' => 'GetSchedulerInfo', - 'summary' => 'Queries the scheduler settings of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"9A05F620-ED46-4A57-95F1-C67D6D3C5DD2\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Profilings\\": {\\n \\"ProfilingInfo\\": [\\n {\\n \\"ProfilingId\\": \\"ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40\\",\\n \\"TriggerTime\\": \\"2019-09-09 02:37:40\\",\\n \\"Pid\\": 21687,\\n \\"HostName\\": \\"compute5\\",\\n \\"Duration\\": 30,\\n \\"InstanceId\\": \\"i-bp1j76z8dlukzqgl0****\\",\\n \\"Freq\\": 2000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCloudMetricProfilingsResponse>\\r\\n <PageNumber>1</PageNumber>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageSize>10</PageSize>\\r\\n <RequestId>9A05F620-ED46-4A57-95F1-C67D6D3C5DD2</RequestId>\\r\\n <Profilings>\\r\\n <ProfilingInfo>\\r\\n <InstanceId>i-bp1j76z8dlukzqgl****</InstanceId>\\r\\n <Duration>30</Duration>\\r\\n <TriggerTime>2019-09-09 02:37:40</TriggerTime>\\r\\n <ProfilingId>ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40</ProfilingId>\\r\\n <Freq>2000</Freq>\\r\\n <Pid>21687</Pid>\\r\\n <HostName>compute5</HostName>\\r\\n </ProfilingInfo>\\r\\n </Profilings>\\r\\n</ListCloudMetricProfilingsResponse>","errorExample":""}]', + 'title' => 'ListCloudMetricProfilings', + 'summary' => 'Queries the profiling history of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListSoftwares' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCloudMetricProfilings', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListClusterLogs' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13320,34 +7945,26 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'EhpcVersion', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the E-HPC client.'."\n" - ."\n" - .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the E-HPC client version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'OsTag', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The image tag of the cluster.'."\n" - ."\n" - .'You can use the [ListImages](~~87213~~) to query the image tag of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.2_64', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'example' => '10', 'default' => '20', 'title' => ''], ], ], 'responses' => [ @@ -13355,201 +7972,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Softwares' => [ + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF6667', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + 'Logs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'SoftwareInfo' => [ - 'description' => 'The list of the information about the software installed in the cluster.'."\n", + 'LogInfo' => [ + 'description' => 'The queried operations logs.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'SchedulerType' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* pbs19'."\n" - .'* slurm'."\n" - .'* slurm19'."\n" - .'* slurm20'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n" - .'* gridengine'."\n" - .'* cube'."\n" - .'* custom'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - 'OsTag' => [ - 'description' => 'The image tag of the cluster.'."\n", - 'type' => 'string', - 'example' => 'CentOS_7.2_64', - ], - 'SchedulerVersion' => [ - 'description' => 'The version of the scheduler.'."\n", - 'type' => 'string', - 'example' => '18.1.1', - ], - 'AccountVersion' => [ - 'description' => 'The version of the domain account service.'."\n", - 'type' => 'string', - 'example' => '2.31', - ], - 'AccountType' => [ - 'description' => 'The service type of the domain account. Valid values:'."\n" - ."\n" - .'* nis'."\n" - .'* ldap'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'EhpcVersion' => [ - 'description' => 'The version of the E-HPC client.', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'Applications' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ApplicationInfo' => [ - 'description' => 'The list of the software in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Required' => [ - 'description' => 'Indicates whether the software is required. Valid values:'."\n" - ."\n" - .'* false: optional'."\n" - .'* true: required'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Tag' => [ - 'description' => 'The tag of the software.'."\n", - 'type' => 'string', - 'example' => 'CUDNN_9.0', - ], - 'Name' => [ - 'description' => 'The name of the software.'."\n", - 'type' => 'string', - 'example' => 'cudnnt', - ], - 'Version' => [ - 'description' => 'The version of the software.'."\n", - 'type' => 'string', - 'example' => '9.0', - ], - ], - ], - ], - ], - ], + 'Operation' => ['description' => 'The type of the operation. Valid values:'."\n" + ."\n" + .'* CreateCluster'."\n" + .'* StartCluster'."\n" + .'* StopCluster'."\n" + .'* DeleteCluster'."\n" + .'* AddNodes'."\n" + .'* StartNodes'."\n" + .'* ResetNodes'."\n" + .'* StopNodes'."\n" + .'* DeleteNodes'."\n", 'type' => 'string', 'example' => 'CreateCluster', 'title' => ''], + 'Message' => ['description' => 'The content of the log.'."\n", 'type' => 'string', 'example' => 'Begin to create cluster', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the log was created.'."\n", 'type' => 'string', 'example' => '2019-09-18T13:24:13.000', 'title' => ''], + 'Level' => ['description' => 'The level of the log entry. Valid values:'."\n" + ."\n" + .'* warn'."\n" + .'* error'."\n" + .'* info', 'type' => 'string', 'example' => 'info', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Softwares\\": {\\n \\"SoftwareInfo\\": [\\n {\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"SchedulerVersion\\": \\"18.1.1\\",\\n \\"AccountVersion\\": \\"2.31\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"EhpcVersion\\": \\"1.0.0\\",\\n \\"Applications\\": {\\n \\"ApplicationInfo\\": [\\n {\\n \\"Required\\": true,\\n \\"Tag\\": \\"CUDNN_9.0\\",\\n \\"Name\\": \\"cudnnt\\",\\n \\"Version\\": \\"9.0\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListSoftwaresResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <Softwares>\\n <SchedulerType>pbs</SchedulerType>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <SchedulerVersion>18.1.1</SchedulerVersion>\\n <AccountVersion>2.31</AccountVersion>\\n <AccountType>nis</AccountType>\\n <EhpcVersion>1.0.0</EhpcVersion>\\n <Applications>\\n <Required>true</Required>\\n <Tag>CUDNN_9.0</Tag>\\n <Name>cudnnt</Name>\\n <Version>9.0</Version>\\n </Applications>\\n </Softwares>\\n</ListSoftwaresResponse>","errorExample":""}]', - 'title' => 'ListSoftwares', - 'summary' => 'Queries the list of software that can be installed in a cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InstallSoftware' => [ - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF6667\\",\\n \\"TotalCount\\": 2,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"Logs\\": {\\n \\"LogInfo\\": [\\n {\\n \\"Operation\\": \\"CreateCluster\\",\\n \\"Message\\": \\"Begin to create cluster\\",\\n \\"CreateTime\\": \\"2019-09-18T13:24:13.000\\",\\n \\"Level\\": \\"info\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClusterLogsResponse>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<Logs>\\r\\n\\t\\t<LogInfo>\\r\\n\\t\\t\\t<Operation>CreateCluster</Operation>\\r\\n\\t\\t\\t<Message>Begin to create cluster</Message>\\r\\n\\t\\t\\t<CreateTime>2019-09-18T13:24:13.000Z</CreateTime>\\r\\n\\t\\t\\t<Level>info</Level>\\r\\n\\t\\t</LogInfo>\\r\\n\\t</Logs>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<ClusterId>ehpc-hz-FYUr32****</ClusterId>\\r\\n\\t<PageSize>20</PageSize>\\r\\n\\t<RequestId>BBC2F93D-003A-49C4-850C-B826EECF6667</RequestId>\\r\\n</ListClusterLogsResponse>","errorExample":""}]', + 'title' => 'ListClusterLogs', + 'summary' => 'Queries the operation logs of a cluster within the last three days.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterLogs'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClusterLogs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListClusters' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '75861', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'Application', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the software that you want to install.'."\n" - ."\n" - .'You can call the [ListSoftwares](~~87216~~) operation to query the software that can be installed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ABYSS_2.1.5', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -13557,101 +8092,199 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '896D338C-E4F4-41EC-A154-D605E5DE****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Clusters' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ClusterInfoSimple' => [ + 'description' => 'The list of clusters.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'example' => 'vpc-b3f3edefefeep0760yju****', 'title' => ''], + 'Status' => ['description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* uninit: The cluster is not initialized.'."\n" + .'* creating: The cluster is being created.'."\n" + .'* init: The cluster is being initialized.'."\n" + .'* running: The cluster is running.'."\n" + .'* exception: The cluster encounters an exception.'."\n" + .'* releasing: The cluster is being released.'."\n", 'type' => 'string', 'example' => 'running', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the instance was created.'."\n", 'type' => 'string', 'example' => '2020-10-30T07:39:20.000Z', 'title' => ''], + 'IsComputeEss' => ['description' => 'Indicates whether a scaling group was enabled. Valid values:'."\n" + ."\n" + .'* true: A scaling group is enabled.'."\n" + .'* false: No scaling group is enabled.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ComputeSpotStrategy' => ['description' => 'The bidding method of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances of the compute node are preemptible instances. These types of instances have a specified maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances of the compute node are preemptible instances. The price of these instances is based on the current market price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'AccountType' => ['description' => 'The server type of the account. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n", 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'Count' => ['description' => 'The number of compute nodes in the cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'EhpcVersion' => ['description' => 'The version of E-HPC.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.'."\n", 'type' => 'string', 'example' => 'clusterdescription', 'title' => ''], + 'BaseOsTag' => ['description' => 'The operating system tag of the base image. The tag was used only by the management node.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Name' => ['description' => 'The name of the cluster.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.'."\n", 'type' => 'string', 'example' => 'wi_1607_x64_dtc_zh_40G_alibase****', 'title' => ''], + 'ComputeSpotPriceLimit' => ['description' => 'The maximum hourly price for the ECS instance under the compute node. The return value can be accurate to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.034', 'title' => ''], + 'SchedulerType' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + 'DeployMode' => ['description' => 'The mode in which the cluster was deployed. Valid values:'."\n" + ."\n" + .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" + .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n", 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'NodeSuffix' => ['description' => 'The suffix of the node.'."\n", 'type' => 'string', 'example' => 'name', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'example' => 'system', 'title' => ''], + 'OsTag' => ['description' => 'The operating system tag of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'NodePrefix' => ['description' => 'The prefix of the node.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute nodes.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the nodes in the cluster. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go'."\n" + .'* PrePaid: subscription'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-c', 'title' => ''], + 'LoginNodes' => ['description' => 'The list of logon nodes.'."\n", 'type' => 'string', 'example' => '{"Id": "i-bp13x4is8pvdhws7e****"}', 'title' => ''], + 'Id' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], + 'Location' => ['description' => 'The location where the cluster was deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'ClientVersion' => ['description' => 'The version of the client.'."\n", 'type' => 'string', 'example' => '1.0.64', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.You can call the ListResourceGroups operation to query the IDs of resource groups.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], + 'Managers' => [ + 'description' => 'The list of management nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'OperatingCount' => ['description' => 'The number of nodes that are being used in the queue. This includes those that are being initialized, installed, or released.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ExceptionCount' => ['description' => 'The number of abnormal nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StoppedCount' => ['description' => 'The number of stopped nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Total' => ['description' => 'The total number of management nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'NormalCount' => ['description' => 'The number of normal nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + ], + 'Computes' => [ + 'description' => 'The information about compute nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'OperatingCount' => ['description' => 'The number of nodes that are being used in the queue. This includes those that are being initialized, installed, or released.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ExceptionCount' => ['description' => 'The number of abnormal nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StoppedCount' => ['description' => 'The number of stopped nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Total' => ['description' => 'The total number of nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'NormalCount' => ['description' => 'The number of normal nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + ], + 'TotalResources' => [ + 'description' => 'The statistics of all resources in the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The number of GPU cards. Unit: cards.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores. Unit: cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: MiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + ], + 'title' => '', + ], + 'UsedResources' => [ + 'description' => 'The number of consumed resources in the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The number of GPU cards. Unit: cards.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores. Unit: cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: MiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + ], + 'title' => '', + ], + 'HasPlugin' => ['description' => 'Indicates whether plug-ins were used in the cluster. Valid values:'."\n" + ."\n" + .'* true: Plug-ins are used.'."\n" + .'* false: Plug-ins are not used.'."\n" + ."\n" + .'Default value: false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'The role does not exist.', 'description' => 'The role does not exist.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<InstallSoftwareResponse>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</InstallSoftwareResponse>","errorExample":""}]', - 'title' => 'InstallSoftware', - 'summary' => 'Installs software in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Clusters\\": {\\n \\"ClusterInfoSimple\\": [\\n {\\n \\"VpcId\\": \\"vpc-b3f3edefefeep0760yju****\\",\\n \\"Status\\": \\"running\\",\\n \\"CreateTime\\": \\"2020-10-30T07:39:20.000Z\\",\\n \\"IsComputeEss\\": false,\\n \\"ComputeSpotStrategy\\": \\"NoSpot\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Count\\": 3,\\n \\"EhpcVersion\\": \\"1.0.0\\",\\n \\"Description\\": \\"clusterdescription\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Name\\": \\"test\\",\\n \\"ImageId\\": \\"wi_1607_x64_dtc_zh_40G_alibase****\\",\\n \\"ComputeSpotPriceLimit\\": 0.034,\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"DeployMode\\": \\"Standard\\",\\n \\"NodeSuffix\\": \\"name\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"NodePrefix\\": \\"test\\",\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"VSwitchId\\": \\"vsw-bp1lfcjbfb099rrjn****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-c\\",\\n \\"LoginNodes\\": \\"{\\\\\\"Id\\\\\\": \\\\\\"i-bp13x4is8pvdhws7e****\\\\\\"}\\",\\n \\"Id\\": \\"ehpc-hz-jeJki6****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"ClientVersion\\": \\"1.0.64\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Managers\\": {\\n \\"OperatingCount\\": 1,\\n \\"ExceptionCount\\": 0,\\n \\"StoppedCount\\": 0,\\n \\"Total\\": 2,\\n \\"NormalCount\\": 1\\n },\\n \\"Computes\\": {\\n \\"OperatingCount\\": 1,\\n \\"ExceptionCount\\": 0,\\n \\"StoppedCount\\": 0,\\n \\"Total\\": 2,\\n \\"NormalCount\\": 1\\n },\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"HasPlugin\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClustersResponse>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Clusters>\\n <VpcId>vpc-b3f3edefefeep0760yju****</VpcId>\\n <Status>running</Status>\\n <CreateTime>2020-10-30T07:39:20.000Z</CreateTime>\\n <IsComputeEss>false</IsComputeEss>\\n <ComputeSpotStrategy>NoSpot</ComputeSpotStrategy>\\n <AccountType>nis</AccountType>\\n <Count>3</Count>\\n <EhpcVersion>1.0.0</EhpcVersion>\\n <Description>clusterdescription</Description>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Name>test</Name>\\n <ImageId>wi_1607_x64_dtc_zh_40G_alibase****</ImageId>\\n <ComputeSpotPriceLimit>0.034</ComputeSpotPriceLimit>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Standard</DeployMode>\\n <NodeSuffix>name</NodeSuffix>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <NodePrefix>test</NodePrefix>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <RegionId>cn-hangzhou</RegionId>\\n <InstanceChargeType>PostPaid</InstanceChargeType>\\n <VSwitchId>vsw-bp1lfcjbfb099rrjn****</VSwitchId>\\n <ZoneId>cn-hangzhou-c</ZoneId>\\n <LoginNodes>{\\"Id\\": \\"i-bp13x4is8pvdhws7e****\\"}</LoginNodes>\\n <Id>ehpc-hz-jeJki6****</Id>\\n <Location>PublicCloud</Location>\\n <ClientVersion>1.0.64</ClientVersion>\\n <Managers>\\n <OperatingCount>1</OperatingCount>\\n <ExceptionCount>0</ExceptionCount>\\n <StoppedCount>0</StoppedCount>\\n <Total>2</Total>\\n <NormalCount>1</NormalCount>\\n </Managers>\\n <Computes>\\n <OperatingCount>1</OperatingCount>\\n <ExceptionCount>0</ExceptionCount>\\n <StoppedCount>0</StoppedCount>\\n <Total>2</Total>\\n <NormalCount>1</NormalCount>\\n </Computes>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </UsedResources>\\n <HasPlugin>false</HasPlugin>\\n </Clusters>\\n</ListClustersResponse>","errorExample":""}]', + 'title' => 'ListClusters', + 'summary' => 'Queries all Elastic High Performance Computing (E-HPC) clusters of the current account in each region.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListInstalledSoftware' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClusters', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListClustersMeta' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13659,23 +8292,19 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'example' => '10', 'default' => '100', 'title' => ''], ], ], 'responses' => [ @@ -13683,149 +8312,159 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'DDCA0E7B-03E7-430D-810C-0D508539****', - ], - 'SoftwareList' => [ + 'PageSize' => ['description' => 'The number of entries returned per page. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DD517102-B314-4665-BDAC-A32DE7834D02', 'title' => ''], + 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Clusters' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'SoftwareList' => [ - 'description' => 'The installed software.'."\n", + 'ClusterInfoSimple' => [ + 'description' => 'The list of clusters.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'SoftwareId' => [ - 'description' => 'The software ID.'."\n", - 'type' => 'string', - 'example' => 'MPICH_3.2', - ], - 'SoftwareStatus' => [ - 'description' => 'The status of the software. Valid values:'."\n" - ."\n" - .'* Installing: The software is being installed.'."\n" - .'* Installed: The software is installed.'."\n", - 'type' => 'string', - 'example' => 'Installing', - ], - 'SoftwareVersion' => [ - 'description' => 'The version of the software.'."\n", - 'type' => 'string', - 'example' => '3.2', - ], - 'SoftwareName' => [ - 'description' => 'The name of the software.'."\n", - 'type' => 'string', - 'example' => 'mpich', - ], + 'Status' => ['description' => 'The status of the cluster. Valid values:'."\n" + ."\n" + .'* uninit: The cluster is not initialized.'."\n" + .'* creating: The cluster is being created.'."\n" + .'* init: The cluster is being initialized.'."\n" + .'* running: The cluster is running.'."\n" + .'* exception: The cluster encounters an exception.'."\n" + .'* releasing: The cluster is being released.'."\n", 'type' => 'string', 'example' => 'running', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'example' => 'vpc-b3f3edefefeep0760yju****', 'title' => ''], + 'SchedulerType' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + 'DeployMode' => ['description' => 'The mode in which the cluster is deployed. Valid values:'."\n" + ."\n" + .'* Standard: An account node, a scheduling node, a logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Advanced: Two high availability (HA) account nodes, two HA scheduler nodes, one logon node, and multiple compute nodes are separately deployed.'."\n" + .'* Simple: A management node, a logon node, and multiple compute nodes are deployed. The management node consists of an account node and a scheduling node. The logon node and compute nodes are separately deployed.'."\n" + .'* Tiny: A management node and multiple compute nodes are deployed. The management node consists of an account node, a scheduling node, and a logon node. The compute nodes are separately deployed.'."\n", 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'IsComputeEss' => ['description' => 'Indicates whether a scaling group is enabled. Valid values:'."\n" + ."\n" + .'* true: A scaling group is enabled.'."\n" + .'* false: No scaling group is enabled.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'OsTag' => ['description' => 'The image tag of the operating system.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'AccountType' => ['description' => 'The server type of the account. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n", 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'Description' => ['description' => 'The description of the cluster.'."\n", 'type' => 'string', 'example' => 'clusterdescription', 'title' => ''], + 'Name' => ['description' => 'The name of the cluster.'."\n", 'type' => 'string', 'example' => 'cluster1', 'title' => ''], + 'Id' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], + 'Location' => ['description' => 'The location where the cluster is deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'ClientVersion' => ['description' => 'The version of the client.'."\n", 'type' => 'string', 'example' => '1.0.64', 'title' => ''], + 'HasPlugin' => ['description' => 'Indicates whether the cluster uses a plug-in. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EhpcVersion' => ['type' => 'string', 'description' => 'The version of E-HPC.'."\n", 'example' => '1.0.0', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DDCA0E7B-03E7-430D-810C-0D508539****\\",\\n \\"SoftwareList\\": {\\n \\"SoftwareList\\": [\\n {\\n \\"SoftwareId\\": \\"MPICH_3.2\\",\\n \\"SoftwareStatus\\": \\"Installing\\",\\n \\"SoftwareVersion\\": \\"3.2\\",\\n \\"SoftwareName\\": \\"mpich\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInstalledSoftwareResponse>\\r\\n <code>200</code>\\r\\n <data>\\r\\n <SoftwareList>\\r\\n <SoftwareList>\\r\\n <SoftwareVersion>3.2</SoftwareVersion>\\r\\n <SoftwareStatus>Installing</SoftwareStatus>\\r\\n <SoftwareId>MPICH_3.2</SoftwareId>\\r\\n <SoftwareName>mpich</SoftwareName>\\r\\n </SoftwareList>\\r\\n </SoftwareList>\\r\\n </data>\\r\\n <requestId>DDCA0E7B-03E7-430D-810C-0D508539****</requestId>\\r\\n <successResponse>true</successResponse>\\r\\n</ListInstalledSoftwareResponse>","errorExample":""}]', - 'title' => 'ListInstalledSoftware', - 'summary' => 'Queries the software that is installed in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DD517102-B314-4665-BDAC-A32DE7834D02\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Clusters\\": {\\n \\"ClusterInfoSimple\\": [\\n {\\n \\"Status\\": \\"running\\",\\n \\"VpcId\\": \\"vpc-b3f3edefefeep0760yju****\\",\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"DeployMode\\": \\"Standard\\",\\n \\"IsComputeEss\\": false,\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"Description\\": \\"clusterdescription\\",\\n \\"Name\\": \\"cluster1\\",\\n \\"Id\\": \\"ehpc-hz-jeJki6****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"ClientVersion\\": \\"1.0.64\\",\\n \\"HasPlugin\\": false,\\n \\"EhpcVersion\\": \\"1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClustersMetaResponse>\\n <PageSize>10</PageSize>\\n <RequestId>DD517102-B314-4665-BDAC-A32DE7834D02</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Clusters>\\n <Status>running</Status>\\n <VpcId>vpc-b3f3edefefeep0760yju****</VpcId>\\n <SchedulerType>pbs</SchedulerType>\\n <DeployMode>Standard</DeployMode>\\n <IsComputeEss>false</IsComputeEss>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <AccountType>nis</AccountType>\\n <Description>clusterdescription</Description>\\n <Name>cluster1</Name>\\n <Id>ehpc-hz-jeJki6****</Id>\\n <Location>PublicCloud</Location>\\n <ClientVersion>1.0.64</ClientVersion>\\n <HasPlugin>false</HasPlugin>\\n </Clusters>\\n</ListClustersMetaResponse>","errorExample":""}]', + 'title' => 'ListClustersMeta', + 'summary' => 'Queries the list of cluster metadata.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UninstallSoftware' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClustersMeta', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListCommands' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Application', + 'name' => 'CommandId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the software that you want to uninstall.'."\n" - ."\n" - .'You can call the [ListInstalledSoftware](~~188591~~) operation to query the software that is installed in the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ABYSS_2.1.5', - ], + 'schema' => ['description' => 'The ID of the command.'."\n", 'type' => 'string', 'required' => false, 'example' => 'c-hz01v8vudql****', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Page number starts from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.\\'."\n" + .'Valid values: 1 to 50.\\'."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -13833,101 +8472,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C84FB8EF-5580-4B82-9BDE-6657814C****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Commands' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Command' => [ + 'description' => 'The list of commands.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Timeout' => ['description' => 'The timeout period. Unit: seconds.'."\n", 'type' => 'string', 'example' => '60', 'title' => ''], + 'CommandId' => ['description' => 'The ID of the command.'."\n", 'type' => 'string', 'example' => 'c-hz01v8vudql****', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the command.'."\n", 'type' => 'string', 'example' => '/home', 'title' => ''], + 'CommandContent' => ['description' => 'The content of the command.'."\n", 'type' => 'string', 'example' => 'echo "hello world"', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C84FB8EF-5580-4B82-9BDE-6657814C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UninstallSoftwareResponse>\\n <RequestId>C84FB8EF-5580-4B82-9BDE-6657814C****</RequestId>\\n</UninstallSoftwareResponse>","errorExample":""}]', - 'title' => 'UninstallSoftware', - 'summary' => 'Uninstalls software from a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Commands\\": {\\n \\"Command\\": [\\n {\\n \\"Timeout\\": \\"60\\",\\n \\"CommandId\\": \\"c-hz01v8vudql****\\",\\n \\"WorkingDir\\": \\"/home\\",\\n \\"CommandContent\\": \\"echo \\\\\\"hello world\\\\\\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCommandsResponse>\\n <PageSize>10</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Commands>\\n <Timeout>60</Timeout>\\n <CommandId>c-hz01v8vudql****</CommandId>\\n <WorkingDir>/home</WorkingDir>\\n <CommandContent>echo \\"hello world\\"</CommandContent>\\n </Commands>\\n</ListCommandsResponse>","errorExample":""}]', + 'title' => 'ListCommands', + 'summary' => 'Queries the interactive commands in a specified cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListFileSystemWithMountTargets' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommands'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCommands', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListCommunityImages' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13935,35 +8572,24 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'BaseOsTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The tag of the base operating system (BOS).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The type of the Elastic Compute Service (ECS) instance. If you do not specify the instance type, the community images that are supported by all instance types are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster. If the cluster supports multiple operating systems, all community images in the region where the cluster resides are queried.'."\n" + ."\n" + .'If you do not specify the cluster ID, the community images that are supported by all clusters are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -13971,268 +8597,138 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '25638B77-2F19-5DC5-B578-7790CE92052B', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FileSystemList' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'Images' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'FileSystems' => [ - 'description' => 'The queried file systems.'."\n", + 'ImageInfo' => [ + 'description' => 'The list of custom images and shared images that are supported by the E-HPC.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the file system. Valid values:'."\n" - ."\n" - .'* Pending: The file system is being created or modified.'."\n" - .'* Running: The file system is available.'."\n" - .'* Stopped: The file system is unavailable.'."\n" - .'* Extending: The file system is being scaled up.'."\n" - .'* Stopping: The file system is being disabled.'."\n" - .'* Deleting: The file system is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Capacity' => [ - 'description' => 'The capacity of the file system. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5120', - ], - 'CreateTime' => [ - 'description' => 'The time when the file system was created.'."\n", - 'type' => 'string', - 'example' => '2018-07-26 16:36:27', - ], - 'StorageType' => [ - 'description' => 'The storage type of the file system.'."\n" - ."\n" - .'* Valid values if FileSystemType is set to standard: Capacity and Performance.'."\n" - .'* Valid values if FileSystemType is set to extreme: standard and advance.'."\n", - 'type' => 'string', - 'example' => 'Performance', - ], - 'BandWidth' => [ - 'description' => 'The bandwidth of the file system. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '150', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'FileSystemId' => [ - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => '088b****', - ], - 'FileSystemType' => [ - 'description' => 'The type of the file system. Valid value:'."\n" - ."\n" - .'* standard: general-purpose network-attached storage (NAS) file systems.'."\n" - .'* extreme: extreme NAS file systems.'."\n", - 'type' => 'string', - 'example' => 'standard', - ], - 'MeteredSize' => [ - 'description' => 'The used capacity of the NAS file system. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1216816455', - ], - 'EncryptType' => [ - 'description' => 'Indicates whether data in the file system is encrypted.'."\n" - ."\n" - .'You can use keys that are managed by Key Management Service (KMS) to encrypt the data in a file system. When you read and write the encrypted data, the data is automatically decrypted.'."\n" - ."\n" - .'Default value: 0. Valid values:'."\n" - ."\n" - .'* 0: The data in the file system is not encrypted.'."\n" - .'* 1: The data in the file system is encrypted by using a NAS-managed key. This parameter is valid if FileSystemType is set to standard or extreme.'."\n" - .'* 2: The data in the file system is encrypted by using a KMS-managed key. This parameter is valid only if FileSystemType is set to extreme.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ProtocolType' => [ - 'description' => 'The protocol type of the file system. Valid values:'."\n" - ."\n" - .'* NFS- SMB'."\n", - 'type' => 'string', - 'example' => 'NFS', - ], - 'Destription' => [ - 'description' => 'The description of the file system.'."\n", - 'type' => 'string', - 'example' => 'FilesDescription', - ], - 'PackageList' => [ + 'Status' => ['description' => 'The state of the image. Valid values:'."\n" + ."\n" + .'* UnAvailable'."\n" + .'* Available'."\n" + .'* Creating'."\n" + .'* CreateFailed'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'PostInstallScript' => ['description' => 'The script that is run after the image is installed.'."\n", 'type' => 'string', 'example' => 'example.sh', 'title' => ''], + 'Description' => ['description' => 'The description of the image.'."\n", 'type' => 'string', 'example' => 'ExampleDescription', 'title' => ''], + 'Size' => ['description' => 'The size of the image. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The image type. Valid values:'."\n" + ."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n", 'type' => 'string', 'example' => 'self', 'title' => ''], + 'ImageName' => ['description' => 'The image name.'."\n", 'type' => 'string', 'example' => 'linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0', 'title' => ''], + 'SkuCode' => ['description' => 'The stock keeping unit (SKU) of the image. Valid values:'."\n" + ."\n" + .'* ECS: pay-as-you-go'."\n" + .'* package: subscription'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'PricingCycle' => ['description' => 'The billing unit of the image. Valid values:'."\n" + ."\n" + .'* Hour'."\n" + .'* Month'."\n" + .'* Year'."\n", 'type' => 'string', 'example' => 'Month', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'm-bp181x855551ww5yq****', 'title' => ''], + 'ProductCode' => ['description' => 'The product code in Alibaba Cloud Marketplace.'."\n", 'type' => 'string', 'example' => 'cmjj028279', 'title' => ''], + 'Uid' => ['description' => 'The owner of the image.'."\n", 'type' => 'string', 'example' => '127****', 'title' => ''], + 'BaseOsTag' => [ + 'description' => 'The tag of the BOS image.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'Packages' => [ - 'description' => 'The list of storage plans.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PackageId' => [ - 'description' => 'The ID of the storage plan.'."\n", - 'type' => 'string', - 'example' => 'naspackage-0be9c4b624-37****', - ], - ], - ], - ], + 'Platform' => ['description' => 'The distribution of the operating system. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* Ubuntu'."\n" + .'* SUSE'."\n" + .'* OpenSUSE'."\n" + .'* Debian'."\n" + .'* CoreOS'."\n" + .'* Aliyun'."\n" + .'* Windows Server 2003'."\n" + .'* Windows Server 2008'."\n" + .'* Windows Server 2012'."\n" + .'* Others Linux'."\n" + .'* Customized Linux'."\n", 'type' => 'string', 'example' => 'CentOS', 'title' => ''], + 'OsTag' => ['description' => 'The operating system tag of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Version' => ['description' => 'The version of the operating system.'."\n", 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'Architecture' => ['description' => 'The architecture of the operating system. Valid values:'."\n" + ."\n" + .'* i386'."\n" + .'* x86\\_64'."\n", 'type' => 'string', 'example' => 'x86_64', 'title' => ''], ], + 'title' => '', ], - 'MountTargetList' => [ + 'OsTag' => [ + 'description' => 'An array of OS images that are supported by E-HPC.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'MountTargets' => [ - 'description' => 'The list of mount targets.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the mount target. Valid values:'."\n" - ."\n" - .'* Active: The mount target is available.'."\n" - .'* Inactive: The mount target is unavailable.'."\n" - .'* Pending: The mount target is being created or modified.'."\n" - .'* Deleting: The mount target is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', - ], - 'MountTargetDomain' => [ - 'description' => 'The domain in which the mount target resides.'."\n", - 'type' => 'string', - 'example' => '088b****-lj2.cn-hangzhou.nas.aliyuncs.com', - ], - 'AccessGroup' => [ - 'description' => 'Indicates whether the permission group is the default permission group of the user.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: The permission group is the default permission group. In this case, all IP addresses are allowed to access the permission group, and the user cannot delete the permission group and permission rules in the permission group.'."\n" - .'* false: The permission group is not the default permission group.'."\n", - 'type' => 'string', - 'example' => 'DEFAULT_VPC_GROUP_NAME', - ], - 'VswId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-8vb34rtyh6xb3zrehs1****', - ], - 'NetworkType' => [ - 'description' => 'The network type. Valid values:'."\n" - ."\n" - .'* vpc'."\n" - .'* classic'."\n", - 'type' => 'string', - 'example' => 'vpc', - ], - ], - ], - ], + 'Platform' => ['description' => 'The OS.'."\n", 'type' => 'string', 'example' => 'CentOS', 'title' => ''], + 'OsTag' => ['description' => 'The operating system tag of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Version' => ['description' => 'The version of the operating system.'."\n", 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'Architecture' => ['description' => 'The architecture of the operating system. Valid values:'."\n" + ."\n" + .'* i386'."\n" + .'* x86\\_64'."\n", 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'BaseOsTag' => ['description' => 'The tag of the BOS image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], ], - ], - 'VpcId' => [ - 'description' => 'The ID of the VPC.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp132kgui8n0targbn1cm', + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ], 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'The role does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Images\\": {\\n \\"ImageInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"PostInstallScript\\": \\"example.sh\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": 40,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageName\\": \\"linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0\\",\\n \\"SkuCode\\": \\"ECS\\",\\n \\"PricingCycle\\": \\"Month\\",\\n \\"ImageId\\": \\"m-bp181x855551ww5yq****\\",\\n \\"ProductCode\\": \\"cmjj028279\\",\\n \\"Uid\\": \\"127****\\",\\n \\"BaseOsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\"\\n },\\n \\"OsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCommunityImagesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Images>\\n <Status>Available</Status>\\n <PostInstallScript>example.sh</PostInstallScript>\\n <Description>ExampleDescription</Description>\\n <Size>40</Size>\\n <ImageOwnerAlias>self</ImageOwnerAlias>\\n <ImageName>linux_CentOS7.2_OceanBase_OBD_1ECS-3OB_3.0</ImageName>\\n <SkuCode>ECS</SkuCode>\\n <PricingCycle>Month</PricingCycle>\\n <ImageId>m-bp181x855551ww5yq****</ImageId>\\n <ProductCode>cmjj028279</ProductCode>\\n <Uid>127****</Uid>\\n <BaseOsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <Version>7.2</Version>\\n <Architecture>x86_64</Architecture>\\n </BaseOsTag>\\n <OsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <Version>7.2</Version>\\n <Architecture>x86_64</Architecture>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n </OsTag>\\n </Images>\\n</ListCommunityImagesResponse>","errorExample":""}]', + 'title' => 'ListCommunityImages', + 'summary' => 'Queries a list of community images.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCommunityImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"25638B77-2F19-5DC5-B578-7790CE92052B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"FileSystemList\\": {\\n \\"FileSystems\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"Capacity\\": 5120,\\n \\"CreateTime\\": \\"2018-07-26 16:36:27\\",\\n \\"StorageType\\": \\"Performance\\",\\n \\"BandWidth\\": 150,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FileSystemId\\": \\"088b****\\",\\n \\"FileSystemType\\": \\"standard\\",\\n \\"MeteredSize\\": 1216816455,\\n \\"EncryptType\\": 0,\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Destription\\": \\"FilesDescription\\",\\n \\"PackageList\\": {\\n \\"Packages\\": [\\n {\\n \\"PackageId\\": \\"naspackage-0be9c4b624-37****\\"\\n }\\n ]\\n },\\n \\"MountTargetList\\": {\\n \\"MountTargets\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-8vbvb34rtyh6xb3zrehs1****\\",\\n \\"MountTargetDomain\\": \\"088b****-lj2.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"AccessGroup\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"VswId\\": \\"vsw-8vb34rtyh6xb3zrehs1****\\",\\n \\"NetworkType\\": \\"vpc\\"\\n }\\n ]\\n },\\n \\"VpcId\\": \\"vpc-bp132kgui8n0targbn1cm\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListFileSystemWithMountTargets', - 'summary' => 'Queries file systems and mount targets.', ], 'ListCpfsFileSystems' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14240,53 +8736,30 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'FileSystemId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the file system.'."\n" - ."\n" - .'By default, the information about all CPFSs and their mount targets within your account are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '096751****', - ], + 'schema' => ['description' => 'The ID of the file system.'."\n" + ."\n" + .'By default, the information about all CPFSs and their mount targets within your account are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => '096751****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -14294,160 +8767,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2B900AFE-C938-4551-86E9-97E231BBC876', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2B900AFE-C938-4551-86E9-97E231BBC876', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'FileSystemList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FileSystems' => [ 'description' => 'The queried file systems.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'FileSystemId' => [ - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => '096751****', - ], - 'Capacity' => [ - 'description' => 'The capacity of the file system. Unit: GiB'."\n", - 'type' => 'string', - 'example' => '5120', - ], - 'CreateTime' => [ - 'description' => 'The time when the file system was created.'."\n", - 'type' => 'string', - 'example' => '2018-07-26 16:36:27', - ], - 'ZoneId' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'ProtocolType' => [ - 'description' => 'The protocol type that is applied to the mounted file system. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'example' => 'NFS', - ], - 'Destription' => [ - 'description' => 'The description of the file system.'."\n", - 'type' => 'string', - 'example' => 'FilsDestription', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], + 'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '096751****', 'title' => ''], + 'Capacity' => ['description' => 'The capacity of the file system. Unit: GiB'."\n", 'type' => 'string', 'example' => '5120', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the file system was created.'."\n", 'type' => 'string', 'example' => '2018-07-26 16:36:27', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'ProtocolType' => ['description' => 'The protocol type that is applied to the mounted file system. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''], + 'Destription' => ['description' => 'The description of the file system.'."\n", 'type' => 'string', 'example' => 'FilsDestription', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'MountTargetList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'MountTargets' => [ 'description' => 'The mount targets of the file systems.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', - ], - 'Status' => [ - 'description' => 'The status of the mount target. Valid values:'."\n" - ."\n" - .'* Active: The mount target is available.'."\n" - .'* Inactive: The mount target is unavailable.'."\n" - .'* Pending: The mount target is being mounted.'."\n" - .'* Deleting: The mount target is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'VswId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-8vb34rtyh6xb3zrehs1****', - ], - 'NetworkType' => [ - 'description' => 'The network type.'."\n", - 'type' => 'string', - 'example' => 'VPC', - ], - 'MountTargetDomain' => [ - 'description' => 'The domain in which the mount target resides.'."\n", - 'type' => 'string', - 'example' => 'c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com', - ], + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', 'title' => ''], + 'Status' => ['description' => 'The status of the mount target. Valid values:'."\n" + ."\n" + .'* Active: The mount target is available.'."\n" + .'* Inactive: The mount target is unavailable.'."\n" + .'* Pending: The mount target is being mounted.'."\n" + .'* Deleting: The mount target is being deleted.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'VswId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-8vb34rtyh6xb3zrehs1****', 'title' => ''], + 'NetworkType' => ['description' => 'The network type.'."\n", 'type' => 'string', 'example' => 'VPC', 'title' => ''], + 'MountTargetDomain' => ['description' => 'The domain in which the mount target resides.'."\n", 'type' => 'string', 'example' => 'c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"2B900AFE-C938-4551-86E9-97E231BBC876\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"FileSystemList\\": {\\n \\"FileSystems\\": [\\n {\\n \\"FileSystemId\\": \\"096751****\\",\\n \\"Capacity\\": \\"5120\\",\\n \\"CreateTime\\": \\"2018-07-26 16:36:27\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Destription\\": \\"FilsDestription\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"MountTargetList\\": {\\n \\"MountTargets\\": [\\n {\\n \\"VpcId\\": \\"vpc-8vbvb34rtyh6xb3zrehs1****\\",\\n \\"Status\\": \\"Active\\",\\n \\"VswId\\": \\"vsw-8vb34rtyh6xb3zrehs1****\\",\\n \\"NetworkType\\": \\"VPC\\",\\n \\"MountTargetDomain\\": \\"c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCpfsFileSystemsResponse>\\r\\n <PageNumber>1</PageNumber>\\r\\n <TotalCount>10</TotalCount>\\r\\n <FileSystemList>\\r\\n <FileSystems>\\r\\n <FileSystemId>096751****</FileSystemId>\\r\\n <MountTargetList>\\r\\n <MountTargets>\\r\\n <Status>Active</Status>\\r\\n <NetworkType>Vpc</NetworkType>\\r\\n <VswId>vsw-8vb34rtyh6xb3zrehs1****</VswId>\\r\\n <MountTargetDomain>c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com </MountTargetDomain>\\r\\n <VpcId>vpc-8vbvb34rtyh6xb3zrehs1****</VpcId>\\r\\n </MountTargets>\\r\\n </MountTargetList>\\r\\n <ProtocolType>NFS</ProtocolType>\\r\\n <RegionId>cn-hangzhou</RegionId>\\r\\n <CreateTime>2018-07-26 16:36:27</CreateTime>\\r\\n <ZoneId>cn-hangzhou-a</ZoneId>\\r\\n <Capacity>5120</Capacity>\\r\\n </FileSystems>\\r\\n </FileSystemList>\\r\\n <PageSize>10</PageSize>\\r\\n <RequestId>2B900AFE-C938-4551-86E9-97E231BBC876</RequestId>\\r\\n</ListCpfsFileSystemsResponse>","errorExample":""}]', @@ -14456,15 +8854,29 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetClusterVolumes' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCpfsFileSystems'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCpfsFileSystems', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListCurrentClientVersion' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14472,23 +8884,93 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ClientVersion' => ['description' => 'The latest version number of ehpcutil.'."\n", 'type' => 'string', 'example' => '1.1.1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], ], + 'errorCodes' => [ + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ClientVersion\\": \\"1.1.1\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<ListCurrentClientVersionResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <ClientVersion>1.0.24</ClientVersion>\\r\\n</ListCurrentClientVersionResponse>","errorExample":""}]', + 'title' => 'ListCurrentClientVersion', + 'summary' => 'Query the latest version number of the cluster client (ehpcutil).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCurrentClientVersion', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListCustomImages' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => ['description' => 'The image source. Valid values:'."\n" + ."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n", 'type' => 'string', 'required' => false, 'example' => 'self', 'title' => ''], + ], + [ + 'name' => 'BaseOsTag', + 'in' => 'query', + 'schema' => ['description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => ['description' => 'The instance type of the Elastic Compute Service (ECS) instance. If you do not specify the instance type, the community images that are supported by all instance types are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + ], + [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-gh5WKb****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'* If you specify a value for this parameter, all community images in the region where the cluster resides are queried.'."\n" + .'* If you do not specify a value for this parameter, the community images that are supported by all clusters are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -14496,173 +8978,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8BCFD52E-0336-4490-AE7D-F560F106****', - ], - 'Volumes' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'Images' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'VolumeInfo' => [ - 'description' => 'The array of the file system mounted to the E-HPC cluster.'."\n", + 'ImageInfo' => [ + 'description' => 'The list of community images, including custom images and shared images.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'JobQueue' => [ - 'description' => 'The queue of the job.'."\n", - 'type' => 'string', - 'example' => 'workq', - ], - 'VolumeId' => [ - 'description' => 'The ID of the file system.', - 'type' => 'string', - 'example' => '0e754****', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote mount directory.'."\n", - 'type' => 'string', - 'example' => '/test', - ], - 'VolumeMountpoint' => [ - 'description' => 'The address of the mount target.'."\n", - 'type' => 'string', - 'example' => '0e754****-kal90.cn-hangzhou.nas.aliyuncs.com', - ], - 'LocalDirectory' => [ - 'description' => 'The local mount directory.'."\n", - 'type' => 'string', - 'example' => '/ehpcdata', - ], - 'VolumeType' => [ - 'description' => 'The type of the file system. Valid values:'."\n" - ."\n" - .'* NAS'."\n", - 'type' => 'string', - 'example' => 'NAS', - ], - 'MustKeep' => [ - 'description' => 'Indicates whether the resource can be unmounted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Location' => [ - 'description' => 'The type of cluster. Valid values:'."\n" - ."\n" - .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'VolumeProtocol' => [ - 'description' => 'The storage protocol type of the file system. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'example' => 'NFS', + 'Status' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'PostInstallScript' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => 'example.sh', 'title' => ''], + 'Description' => ['description' => 'The description of the image.'."\n", 'type' => 'string', 'example' => 'ExampleDescription', 'title' => ''], + 'Size' => ['description' => 'The size of the image. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n", 'type' => 'string', 'example' => 'self', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image.'."\n", 'type' => 'string', 'example' => 'CHESS5V5.0.27', 'title' => ''], + 'SkuCode' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'PricingCycle' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => 'Month', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'm-bp181x855551ww5yq****', 'title' => ''], + 'ProductCode' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => 'cmjj028279', 'title' => ''], + 'Uid' => ['description' => '> This parameter is not publicly available.'."\n", 'type' => 'string', 'example' => '127****', 'title' => ''], + 'BaseOsTag' => [ + 'description' => 'The image tag of the operating system.'."\n", + 'type' => 'object', + 'properties' => [ + 'Platform' => ['description' => 'The OS. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* windows'."\n", 'type' => 'string', 'example' => 'CentOS', 'title' => ''], + 'OsTag' => ['description' => 'The tags of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Version' => ['description' => 'The version of the operating system.'."\n", 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'Architecture' => ['description' => 'The architecture of the operating system. Valid values:'."\n" + ."\n" + .'* i386'."\n" + .'* x86\\_64'."\n", 'type' => 'string', 'example' => 'i386', 'title' => ''], + ], + 'title' => '', ], - 'Roles' => [ + 'OsTag' => [ + 'description' => 'An array of system images that are supported by E-HPC.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'RoleInfo' => [ - 'description' => 'The array of the node on which the file system is mounted.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The type of the node on which the file system is mounted. Valid values:'."\n" - ."\n" - .'* Compute: compute node'."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n", - 'type' => 'string', - 'example' => 'Compute', - ], - ], - ], - ], + 'Platform' => ['description' => 'The OS.'."\n", 'type' => 'string', 'example' => 'CentOS', 'title' => ''], + 'OsTag' => ['description' => 'The tag of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Version' => ['description' => 'The version of the operating system.'."\n", 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'Architecture' => ['description' => 'The architecture of the operating system. Valid values:'."\n" + ."\n" + .'* i386'."\n" + .'* x86\\_64'."\n", 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'BaseOsTag' => ['description' => 'The image tag of the operating system.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"8BCFD52E-0336-4490-AE7D-F560F106****\\",\\n \\"Volumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"JobQueue\\": \\"workq\\",\\n \\"VolumeId\\": \\"0e754****\\",\\n \\"RemoteDirectory\\": \\"/test\\",\\n \\"VolumeMountpoint\\": \\"0e754****-kal90.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"LocalDirectory\\": \\"/ehpcdata\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"MustKeep\\": true,\\n \\"Location\\": \\"PublicCloud\\",\\n \\"VolumeProtocol\\": \\"NFS\\",\\n \\"Roles\\": {\\n \\"RoleInfo\\": [\\n {\\n \\"Name\\": \\"Compute\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetClusterVolumesResponse>\\n <Volumes>\\n <VolumeInfo>\\n <VolumeProtocol>NFS</VolumeProtocol>\\n <LocalDirectory>/ehpcdata</LocalDirectory>\\n <RemoteDirectory>/</RemoteDirectory>\\n <VolumeId>0e754****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <JobQueue>workq</JobQueue>\\n <MustKeep>true</MustKeep>\\n <VolumeMountpoint>0e754****-kal90.cn-hangzhou.nas.aliyuncs.com<</VolumeMountpoint>\\n <Location>PublicCloud</Location>\\n </VolumeInfo>\\n <VolumeInfo>\\n <Roles>\\n <RoleInfo>\\n <Name>Compute</Name>\\n </RoleInfo>\\n </Roles>\\n </VolumeInfo>\\n </Volumes>\\n <RequestId>8BCFD52E-0336-4490-AE7D-F560F1065F9B</RequestId>\\n <RegionId>cn-hangzhou</RegionId>\\n</GetClusterVolumesResponse>","errorExample":""}]', - 'title' => 'GetClusterVolumes', - 'summary' => 'Queries the information of the NAS file system mounted to a specified cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Images\\": {\\n \\"ImageInfo\\": [\\n {\\n \\"Status\\": \\"Available\\",\\n \\"PostInstallScript\\": \\"example.sh\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": 40,\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"ImageName\\": \\"CHESS5V5.0.27\\",\\n \\"SkuCode\\": \\"ECS\\",\\n \\"PricingCycle\\": \\"Month\\",\\n \\"ImageId\\": \\"m-bp181x855551ww5yq****\\",\\n \\"ProductCode\\": \\"cmjj028279\\",\\n \\"Uid\\": \\"127****\\",\\n \\"BaseOsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"i386\\"\\n },\\n \\"OsTag\\": {\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"Version\\": \\"7.2\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCustomImagesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PricingCycle>Month</PricingCycle>\\n <Status>Available</Status>\\n <ImageId>m-bp1h8aoe73p71iow****</ImageId>\\n <Description/>\\n <ImageName>CHESS5V5.0.27</ImageName>\\n <ProductCode>cmjj028279</ProductCode>\\n <ImageOwnerAlias>marketplace</ImageOwnerAlias>\\n <Uid>127****</Uid>\\n <Size>40</Size>\\n <SkuCode>ECS</SkuCode>\\n <BaseOsTag>\\n <Architecture>x86_64</Architecture>\\n <Version>7.2</Version>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n </BaseOsTag>\\n <OsTag>\\n <Architecture>x86_64</Architecture>\\n <Version>7.2</Version>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n </OsTag>\\n</ListCustomImagesResponse>","errorExample":""}]', + 'title' => 'ListCustomImages', + 'summary' => 'Queries custom images and shared images supported by Elastic High Performance Computing (E-HPC).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListVolumes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCustomImages', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListFileSystemWithMountTargets' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14670,41 +9098,17 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -14712,731 +9116,568 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Volumes' => [ + 'PageSize' => ['description' => 'The number of entries returned per page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '25638B77-2F19-5DC5-B578-7790CE92052B', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'FileSystemList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'VolumeInfo' => [ - 'description' => 'The information of file systems that are mounted on E-HPC clusters.'."\n", + 'FileSystems' => [ + 'description' => 'The queried file systems.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'VolumeId' => [ - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => 'bc8a****', - ], - 'ClusterName' => [ - 'description' => 'The instance name.'."\n", - 'type' => 'string', - 'example' => 'cluster1', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote directory on which the file system is mounted.'."\n", - 'type' => 'string', - 'example' => '/test1', - ], - 'VolumeMountpoint' => [ - 'description' => 'The domain name of the mount target.'."\n", - 'type' => 'string', - 'example' => 'bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com', - ], - 'VolumeType' => [ - 'description' => 'The type of the file system that is mounted on the cluster. Only NAS is supported.'."\n", - 'type' => 'string', - 'example' => 'NAS', - ], - 'VolumeProtocol' => [ - 'description' => 'The type of the storage protocol. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'example' => 'NFS', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', + 'Status' => ['description' => 'The status of the file system. Valid values:'."\n" + ."\n" + .'* Pending: The file system is being created or modified.'."\n" + .'* Running: The file system is available.'."\n" + .'* Stopped: The file system is unavailable.'."\n" + .'* Extending: The file system is being scaled up.'."\n" + .'* Stopping: The file system is being disabled.'."\n" + .'* Deleting: The file system is being deleted.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Capacity' => ['description' => 'The capacity of the file system. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5120', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the file system was created.'."\n", 'type' => 'string', 'example' => '2018-07-26 16:36:27', 'title' => ''], + 'StorageType' => ['description' => 'The storage type of the file system.'."\n" + ."\n" + .'* Valid values if FileSystemType is set to standard: Capacity and Performance.'."\n" + .'* Valid values if FileSystemType is set to extreme: standard and advance.'."\n", 'type' => 'string', 'example' => 'Performance', 'title' => ''], + 'BandWidth' => ['description' => 'The bandwidth of the file system. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '150', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '088b****', 'title' => ''], + 'FileSystemType' => ['description' => 'The type of the file system. Valid value:'."\n" + ."\n" + .'* standard: general-purpose network-attached storage (NAS) file systems.'."\n" + .'* extreme: extreme NAS file systems.'."\n", 'type' => 'string', 'example' => 'standard', 'title' => ''], + 'MeteredSize' => ['description' => 'The used capacity of the NAS file system. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1216816455', 'title' => ''], + 'EncryptType' => ['description' => 'Indicates whether data in the file system is encrypted.'."\n" + ."\n" + .'You can use keys that are managed by Key Management Service (KMS) to encrypt the data in a file system. When you read and write the encrypted data, the data is automatically decrypted.'."\n" + ."\n" + .'Default value: 0. Valid values:'."\n" + ."\n" + .'* 0: The data in the file system is not encrypted.'."\n" + .'* 1: The data in the file system is encrypted by using a NAS-managed key. This parameter is valid if FileSystemType is set to standard or extreme.'."\n" + .'* 2: The data in the file system is encrypted by using a KMS-managed key. This parameter is valid only if FileSystemType is set to extreme.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ProtocolType' => ['description' => 'The protocol type of the file system. Valid values:'."\n" + ."\n" + .'* NFS- SMB'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''], + 'Destription' => ['description' => 'The description of the file system.'."\n", 'type' => 'string', 'example' => 'FilesDescription', 'title' => ''], + 'PackageList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Packages' => [ + 'description' => 'The list of storage plans.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'PackageId' => ['description' => 'The ID of the storage plan.'."\n", 'type' => 'string', 'example' => 'naspackage-0be9c4b624-37****', 'title' => ''], + ], + 'title' => '', + ], + ], + ], ], - 'AdditionalVolumes' => [ + 'MountTargetList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'VolumeInfo' => [ - 'description' => 'The information of additional file systems mounted on E-HPC clusters.'."\n", + 'MountTargets' => [ + 'description' => 'The list of mount targets.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'JobQueue' => [ - 'description' => 'The queue to which the job belongs.'."\n", - 'type' => 'string', - 'example' => 'all.q', - ], - 'VolumeId' => [ - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => '86y3****', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote directory on which the file system is mounted.'."\n", - 'type' => 'string', - 'example' => '/test', - ], - 'VolumeMountpoint' => [ - 'description' => 'The domain name of the mount target.'."\n", - 'type' => 'string', - 'example' => '86y3****-rgd51.cn-hangzhou.nas.aliyuncs.com', - ], - 'Role' => [ - 'description' => 'The type of the node on which the file system is mounted. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'example' => 'Compute', - ], - 'LocalDirectory' => [ - 'description' => 'The local mount directory.'."\n", - 'type' => 'string', - 'example' => '/testopt', - ], - 'VolumeType' => [ - 'description' => 'The type of the additional file system. Only NAS is supported.'."\n", - 'type' => 'string', - 'example' => 'NAS', - ], - 'Location' => [ - 'description' => 'The location where the cluster is deployed. Valid values:'."\n" - ."\n" - .'* OnPremise: The node is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", - 'type' => 'string', - 'example' => 'PublicCloud', - ], - 'VolumeProtocol' => [ - 'description' => 'The type of the storage protocol. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'example' => 'NFS', - ], + 'Status' => ['description' => 'The status of the mount target. Valid values:'."\n" + ."\n" + .'* Active: The mount target is available.'."\n" + .'* Inactive: The mount target is unavailable.'."\n" + .'* Pending: The mount target is being created or modified.'."\n" + .'* Deleting: The mount target is being deleted.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n", 'type' => 'string', 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', 'title' => ''], + 'MountTargetDomain' => ['description' => 'The domain in which the mount target resides.'."\n", 'type' => 'string', 'example' => '088b****-lj2.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'AccessGroup' => ['description' => 'Indicates whether the permission group is the default permission group of the user.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* true: The permission group is the default permission group. In this case, all IP addresses are allowed to access the permission group, and the user cannot delete the permission group and permission rules in the permission group.'."\n" + .'* false: The permission group is not the default permission group.'."\n", 'type' => 'string', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''], + 'VswId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-8vb34rtyh6xb3zrehs1****', 'title' => ''], + 'NetworkType' => ['description' => 'The network type. Valid values:'."\n" + ."\n" + .'* vpc'."\n" + .'* classic'."\n", 'type' => 'string', 'example' => 'vpc', 'title' => ''], ], + 'title' => '', ], ], ], ], + 'VpcId' => ['description' => 'The ID of the VPC.'."\n", 'type' => 'string', 'example' => 'vpc-bp132kgui8n0targbn1cm', 'title' => ''], ], + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'The role does not exist.', 'description' => 'The role does not exist.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"25638B77-2F19-5DC5-B578-7790CE92052B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"FileSystemList\\": {\\n \\"FileSystems\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"Capacity\\": 5120,\\n \\"CreateTime\\": \\"2018-07-26 16:36:27\\",\\n \\"StorageType\\": \\"Performance\\",\\n \\"BandWidth\\": 150,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FileSystemId\\": \\"088b****\\",\\n \\"FileSystemType\\": \\"standard\\",\\n \\"MeteredSize\\": 1216816455,\\n \\"EncryptType\\": 0,\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Destription\\": \\"FilesDescription\\",\\n \\"PackageList\\": {\\n \\"Packages\\": [\\n {\\n \\"PackageId\\": \\"naspackage-0be9c4b624-37****\\"\\n }\\n ]\\n },\\n \\"MountTargetList\\": {\\n \\"MountTargets\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-8vbvb34rtyh6xb3zrehs1****\\",\\n \\"MountTargetDomain\\": \\"088b****-lj2.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"AccessGroup\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"VswId\\": \\"vsw-8vb34rtyh6xb3zrehs1****\\",\\n \\"NetworkType\\": \\"vpc\\"\\n }\\n ]\\n },\\n \\"VpcId\\": \\"vpc-bp132kgui8n0targbn1cm\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListFileSystemWithMountTargets', + 'summary' => 'Queries file systems and mount targets.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListFileSystemWithMountTargets', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Volumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"VolumeId\\": \\"bc8a****\\",\\n \\"ClusterName\\": \\"cluster1\\",\\n \\"RemoteDirectory\\": \\"/test1\\",\\n \\"VolumeMountpoint\\": \\"bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"VolumeProtocol\\": \\"NFS\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"AdditionalVolumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"JobQueue\\": \\"all.q\\",\\n \\"VolumeId\\": \\"86y3****\\",\\n \\"RemoteDirectory\\": \\"/test\\",\\n \\"VolumeMountpoint\\": \\"86y3****-rgd51.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"Role\\": \\"Compute\\",\\n \\"LocalDirectory\\": \\"/testopt\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"VolumeProtocol\\": \\"NFS\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListVolumesResponse>\\n <TotalCount>1</TotalCount>\\n <Volumes>\\n <VolumeInfo>\\n <VolumeProtocol>nfs</VolumeProtocol>\\n <RemoteDirectory>/test1</RemoteDirectory>\\n <VolumeId>bc8a****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <ClusterName>cluster1</ClusterName>\\n <RegionId>cn-hangzhou</RegionId>\\n <VolumeMountpoint>bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n </VolumeInfo>\\n <VolumeInfo>\\n <AdditionalVolumes>\\n <VolumeInfo>\\n <Role>Compute</Role>\\n <VolumeProtocol>NFS</VolumeProtocol>\\n <LocalDirectory>/testopt</LocalDirectory>\\n <RemoteDirectory>/</RemoteDirectory>\\n <VolumeId>bc8a****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <JobQueue>all.q</JobQueue>\\n <VolumeMountpoint>bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n <Location> </Location>\\n </VolumeInfo>\\n </AdditionalVolumes>\\n </VolumeInfo>\\n </Volumes>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PageNumber>1</PageNumber>\\n</ListVolumesResponse>","errorExample":""}]', - 'title' => 'ListVolumes', - 'summary' => 'Queries the file systems mounted on Elastic High Performance Computing (E-HPC) clusters.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'UpdateClusterVolumes' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListImages' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'BaseOsTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], ], [ - 'name' => 'AdditionalVolumes', + 'name' => 'InstanceType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The file systems that you want to mount.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobQueue' => [ - 'description' => 'The queue name of the file system to be mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'work', - ], - 'VolumeId' => [ - 'description' => 'The ID of the file system to be mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'extreme-00b88****', - ], - 'Roles' => [ - 'description' => 'The array of the nodes to which the file system is mounted.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The type of the node to which the file system is mounted. Valid values:'."\n" - ."\n" - .'* Manager: management node'."\n" - .'* Login: logon node'."\n" - .'* Compute: compute node'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["Compute"]', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 8, - ], - 'VolumeMountpoint' => [ - 'description' => 'The endpoint of the mount target of the file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0088****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', - ], - 'RemoteDirectory' => [ - 'description' => 'The remote directory to which the file system is mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test', - ], - 'VolumeType' => [ - 'description' => 'The type of the file system to be mounted. Set the value to NAS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NAS', - ], - 'LocalDirectory' => [ - 'description' => 'The on-premises mount directory of the file system to be mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/ff', - ], - 'VolumeProtocol' => [ - 'description' => 'The protocol type of the file system to be mounted. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NFS', - ], - 'Location' => [ - 'description' => 'The storage location of the file system to be mounted. Valid values:'."\n" - ."\n" - .'* OnPremise: The file system is stored in a hybrid cloud.'."\n" - .'* PublicCloud: The file system cluster is stored in a public cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PublicCloud', - ], - 'VolumeMountOption' => [ - 'description' => 'The mount option of the file system to be mounted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-t nfs -o vers=3,nolock,noresvport', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The instance type.'."\n" + ."\n" + .'* If a value is passed to the parameter, the list of images that are supported by the specified instance type is queried.'."\n" + .'* If no value is passed to the parameter, the list of images that are supported by all instance types is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.medium', 'title' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'OsTags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'OsInfo' => [ + 'description' => 'The list of images that are supported by E-HPC.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['description' => 'The version of the operating system.'."\n", 'type' => 'string', 'example' => '7.2', 'title' => ''], + 'BaseOsTag' => ['description' => 'The image tag of the operating system. The tag is used only for management nodes.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'Platform' => ['description' => 'The operating system. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* windows'."\n", 'type' => 'string', 'example' => 'CentOS', 'title' => ''], + 'OsTag' => ['description' => 'The tag that is added to the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.'."\n", 'type' => 'string', 'example' => 'm-bp1h8aoe73p71iow****', 'title' => ''], + 'Architecture' => ['description' => 'The architecture of the operating system. Valid values:'."\n" + ."\n" + .'* i386'."\n" + .'* x86\\_64'."\n", 'type' => 'string', 'example' => 'i386', 'title' => ''], + 'OSName' => ['description' => 'The name of the image.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'OSNameEn' => ['description' => 'The name of the image in English.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0842122\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateClusterVolumesResponse>\\r\\n <RequestId>F6757FA4-8FED-4602-B7F5-3550C0842122</RequestId>\\r\\n</UpdateClusterVolumesResponse>","errorExample":""}]', - 'title' => 'UpdateClusterVolumes', - 'summary' => 'Mount new storage resources to a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"OsTags\\": {\\n \\"OsInfo\\": [\\n {\\n \\"Version\\": \\"7.2\\",\\n \\"BaseOsTag\\": \\"CentOS_7.2_64\\",\\n \\"Platform\\": \\"CentOS\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"ImageId\\": \\"m-bp1h8aoe73p71iow****\\",\\n \\"Architecture\\": \\"i386\\",\\n \\"OSName\\": \\"CentOS_7.2_64\\",\\n \\"OSNameEn\\": \\"CentOS_7.2_64\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListImagesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <OsTags>\\n <Version>7.2</Version>\\n <BaseOsTag>CentOS_7.2_64</BaseOsTag>\\n <Platform>CentOS</Platform>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <ImageId>m-bp1h8aoe73p71iow****</ImageId>\\n <Architecture>i386</Architecture>\\n <OSName>CentOS_7.2_64</OSName>\\n <OSNameEn>CentOS_7.2_64</OSNameEn>\\n </OsTags>\\n</ListImagesResponse>","errorExample":""}]', + 'title' => 'ListImages', + 'summary' => 'Queries the list of images that can be installed in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SubmitJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListImages', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListInstalledSoftware' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '75923', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to run the job.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], - [ - 'name' => 'CommandLine', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the user that runs the job.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => './LammpsTest/lammps.pbs', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DDCA0E7B-03E7-430D-810C-0D508539****', 'title' => ''], + 'SoftwareList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SoftwareList' => [ + 'description' => 'The installed software.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SoftwareId' => ['description' => 'The software ID.'."\n", 'type' => 'string', 'example' => 'MPICH_3.2', 'title' => ''], + 'SoftwareStatus' => ['description' => 'The status of the software. Valid values:'."\n" + ."\n" + .'* Installing: The software is being installed.'."\n" + .'* Installed: The software is installed.'."\n", 'type' => 'string', 'example' => 'Installing', 'title' => ''], + 'SoftwareVersion' => ['description' => 'The version of the software.'."\n", 'type' => 'string', 'example' => '3.2', 'title' => ''], + 'SoftwareName' => ['description' => 'The name of the software.'."\n", 'type' => 'string', 'example' => 'mpich', 'title' => ''], + ], + 'title' => '', + ], + ], + ], + ], + ], + 'description' => '', + 'title' => '', ], ], - [ - 'name' => 'RunasUser', - 'in' => 'query', - 'schema' => [ - 'description' => 'The password that corresponds to the username.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testuser', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - 'name' => 'RunasUserPassword', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job. The name must be 6 to 30 characters in length and start with a letter. It can contain letters, digits, and periods (.).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '12****', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'job1', - 'type' => 'string', - 'required' => false, - 'example' => 'jobtest', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - 'name' => 'Priority', - 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'PackagePath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The path that is used to run the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './Tem', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], - [ - 'name' => 'StdoutRedirectPath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './LammpsTest', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - [ - 'name' => 'StderrRedirectPath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './LammpsTest', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DDCA0E7B-03E7-430D-810C-0D508539****\\",\\n \\"SoftwareList\\": {\\n \\"SoftwareList\\": [\\n {\\n \\"SoftwareId\\": \\"MPICH_3.2\\",\\n \\"SoftwareStatus\\": \\"Installing\\",\\n \\"SoftwareVersion\\": \\"3.2\\",\\n \\"SoftwareName\\": \\"mpich\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInstalledSoftwareResponse>\\r\\n <code>200</code>\\r\\n <data>\\r\\n <SoftwareList>\\r\\n <SoftwareList>\\r\\n <SoftwareVersion>3.2</SoftwareVersion>\\r\\n <SoftwareStatus>Installing</SoftwareStatus>\\r\\n <SoftwareId>MPICH_3.2</SoftwareId>\\r\\n <SoftwareName>mpich</SoftwareName>\\r\\n </SoftwareList>\\r\\n </SoftwareList>\\r\\n </data>\\r\\n <requestId>DDCA0E7B-03E7-430D-810C-0D508539****</requestId>\\r\\n <successResponse>true</successResponse>\\r\\n</ListInstalledSoftwareResponse>","errorExample":""}]', + 'title' => 'ListInstalledSoftware', + 'summary' => 'Queries the software that is installed in a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInstalledSoftware', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListInvocationResults' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ReRunable', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the job can be rerun. Valid values:'."\n" - ."\n" - .'* true: The job can be rerun.'."\n" - .'* false: The job cannot be rerun.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'ArrayRequest', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The job array.'."\n" - ."\n" - .'Format: X-Y:Z. The minimum index value X is the first index. The maximum index value Y is the last index. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1-10:2', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Variables', + 'name' => 'CommandId', 'in' => 'query', - 'schema' => [ - 'description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{Name:test1,Value:value1},{Name:test2,Value:value2}]', - ], + 'schema' => ['description' => 'The ID of the command.'."\n" + ."\n" + .'You can call the [ListCommands](~~87388~~) operation to query the command ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c-hz01v8x80o3****', 'title' => ''], ], [ - 'name' => 'InputFileUrl', + 'name' => 'InvokeRecordStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the job file that is uploaded to an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://ehpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/test-u4****/testlist_ehpc.sh', - ], + 'schema' => ['description' => 'The status of the command that you want to query. Valid values:'."\n" + ."\n" + .'* Finished'."\n" + .'* Running'."\n" + .'* Failed'."\n" + .'* Stopped'."\n", 'type' => 'string', 'required' => false, 'example' => 'Finished', 'title' => ''], ], [ - 'name' => 'UnzipCmd', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The command for file decompression. The command that is used to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" - ."\n" - .'* tar xzf: Decompresses GZIP files.'."\n" - .'* tar xf: Decompresses TAR files.'."\n" - .'* unzip: Decompresses ZIP files.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tar xzf', - ], + 'schema' => ['description' => 'The number of the page to return.'."\n" + ."\n" + .'Page numbers start from 1.'."\n" + ."\n" + .'Default value: 1'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'PostCmdLine', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The command to perform on the job after the job is submitted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.sh', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], [ - 'name' => 'JobQueue', + 'name' => 'Instance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the queue in which the job is run.'."\n" - ."\n" - .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", - 'type' => 'string', + 'description' => 'The information of nodes on which the command is run.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the node on which the command is run.'."\n" + ."\n" + .'> The Instance.N.Id parameter specifies the node on which the command is run. If it is not specified, the command is run on all nodes of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-uf65bh2113hlqvyr****', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + ], 'required' => false, - 'example' => 'workq', + 'maxItems' => 10000, + 'title' => '', ], ], - [ - 'name' => 'Node', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of compute nodes required to run the job.'."\n" - ."\n" - .'> If the parameter is not specified, the Cpu, Task, Thread, Mem, and Gpu parameters become invalid.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'type' => 'object', + 'properties' => [ + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InvocationResults' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InvocationResult' => [ + 'description' => 'The result of the command.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Success' => ['description' => 'Indicates whether the command was run and its result was obtained.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Message' => ['description' => 'The output result.'."\n", 'type' => 'string', 'example' => 'hello world', 'title' => ''], + 'FinishedTime' => ['description' => 'The time at which the command entered the Finished state.'."\n", 'type' => 'string', 'example' => '2021-09-06T09:14:56Z', 'title' => ''], + 'CommandId' => ['description' => 'The ID of the command.'."\n", 'type' => 'string', 'example' => 'c-hz01v8x80o3****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the node on which the command was run.'."\n", 'type' => 'string', 'example' => 'i-uf65bh2113hlqvyr****', 'title' => ''], + 'InvokeRecordStatus' => ['description' => 'The status of the command. Valid values:'."\n" + ."\n" + .'* Finished'."\n" + .'* Running'."\n" + .'* Failed'."\n" + .'* Stopped'."\n", 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'ExitCode' => ['description' => 'The exit code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + ], + ], + 'description' => '', + 'title' => '', ], ], - [ - 'name' => 'Cpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of CPU cores required by a single compute node.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - [ - 'name' => 'Task', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of processes created for a single compute node.'."\n" - ."\n" - .'The parameter is applicable to Message Passing Interface (MPI) jobs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - 'name' => 'Thread', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads created for a single compute node.'."\n" - ."\n" - .'The parameter is applicable to OpenMP jobs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], - [ - 'name' => 'Mem', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1GB', - ], + 406 => [ + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - 'name' => 'Gpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum GPU usage required by a single compute node.'."\n" - ."\n" - .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'ClockTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum running time of the job. Valid formats:'."\n" - ."\n" - .'* hh:mm:ss'."\n" - .'* mm:ss'."\n" - .'* ss'."\n" - ."\n" - .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12:00:00', - ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], - [ - 'name' => 'JobRetry.Count', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of retries for the job. Valid values: 1 to 10. You can only retry jobs that are run on the PBS clusters.'."\n" - ."\n" - .'> If this parameter is left empty, the JobRetry.Priority and JobRetry.OnExitCode parameters do not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"InvocationResults\\": {\\n \\"InvocationResult\\": [\\n {\\n \\"Success\\": true,\\n \\"Message\\": \\"hello world\\",\\n \\"FinishedTime\\": \\"2021-09-06T09:14:56Z\\",\\n \\"CommandId\\": \\"c-hz01v8x80o3****\\",\\n \\"InstanceId\\": \\"i-uf65bh2113hlqvyr****\\",\\n \\"InvokeRecordStatus\\": \\"Finished\\",\\n \\"ExitCode\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInvocationResultsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>10</PageSize>\\r\\n <InvocationResults>\\r\\n <InvocationResult>\\r\\n <CommandId>c-hz01v8x80o3****</CommandId>\\r\\n <Success>true</Success>\\r\\n <InvokeRecordStatus>Finished</InvokeRecordStatus>\\r\\n <FinishedTime>2021-09-06T09:14:56Z</FinishedTime>\\r\\n <ExitCode>0</ExitCode>\\r\\n <Message>hello world</Message>\\r\\n <InstanceId>i-uf65bh2113hlqvyr****</InstanceId>\\r\\n </InvocationResult>\\r\\n </InvocationResults>\\r\\n</ListInvocationResultsResponse>","errorExample":""}]', + 'title' => 'ListInvocationResults', + 'summary' => 'Queries the result of an interactive command in a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInvocationResults', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListInvocationStatus' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'JobRetry.Priority', - 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the job retry. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" - ."\n" - .'> If this parameter is left empty, the priority of the job retry is min {Priority of the original job +1, 9}.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'JobRetry.OnExitCode', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The retry condition of the job. If the exit code is the value of the parameter, the job retry is triggered.'."\n" - ."\n" - .'> If this parameter is left empty, the job retry is triggered when the exit code is not 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'CommandId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use an asynchronous link to submit the job.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The command ID.'."\n" + ."\n" + .'You can call the [ListCommands](~~87388~~) operation to query the command ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c-hz01v8x80o3****', 'title' => ''], ], ], 'responses' => [ @@ -15444,225 +9685,130 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the job.'."\n", - 'type' => 'string', - 'example' => '1.manager', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'CommandId' => ['description' => 'The command ID.'."\n", 'type' => 'string', 'example' => 'c-hz01v8x80o3****', 'title' => ''], + 'InvokeStatus' => ['description' => 'The status of the command. Valid values:'."\n" + ."\n" + .'* Finished: The execution of the command finished.'."\n" + .'* Running: The command is being executed.'."\n" + .'* Failed: The command failed to be executed.'."\n" + .'* Stopped: The execution of the command stopped.'."\n", 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'InvokeInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InvokeInstance' => [ + 'description' => 'An array of execution statuses. An entry is returned for each node.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceInvokeStatus' => ['description' => 'The status of the node. Valid values:'."\n" + ."\n" + .'* Finished: The running of the node finished.'."\n" + .'* Running: The node is running.'."\n" + .'* Failed: The node failed to run.'."\n" + .'* Stopped: The running of the node stopped.'."\n", 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the node.'."\n", 'type' => 'string', 'example' => 'i-uf6abz34m2714bp4****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'UsernameExist', - 'errorMessage' => 'The username already exists.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], - [ - 'errorCode' => 'AgentError.Account.ValidateCredentialFailure', - 'errorMessage' => 'Username or password verification failed.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ContainerNotFound', - 'errorMessage' => 'The specified container does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'AgentError.Job.SubmitFailure', - 'errorMessage' => 'Failed to submit jobs: %s', - ], - [ - 'errorCode' => 'AgentError.Job.InvalidContainerType', - 'errorMessage' => 'Unsupported container type: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError.Account.AccountValidateCredentialFailure', - 'errorMessage' => 'Cannot get user info', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"1.manager\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitJobResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <JobId>1.manager</JobId>\\r\\n</SubmitJobResponse>","errorExample":""}]', - 'title' => 'SubmitJob', - 'summary' => 'Submits a job in a cluster.', - 'description' => 'The ID of the request.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"CommandId\\": \\"c-hz01v8x80o3****\\",\\n \\"InvokeStatus\\": \\"Finished\\",\\n \\"InvokeInstances\\": {\\n \\"InvokeInstance\\": [\\n {\\n \\"InstanceInvokeStatus\\": \\"Finished\\",\\n \\"InstanceId\\": \\"i-uf6abz34m2714bp4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInvocationStatusResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <CommandId>c-hz01v8x80o3****</CommandId>\\r\\n <InvokeStatus>Finished</InvokeStatus>\\r\\n <InvokeInstances>\\r\\n <InvokeInstance>\\r\\n <InstanceId>i-uf6abz34m2714bp4****</InstanceId>\\r\\n <InstanceInvokeStatus>Finished</InstanceInvokeStatus>\\r\\n </InvokeInstance>\\r\\n <InvokeInstance>\\r\\n <InstanceId>i-uf68t1zu3jkhs8wy****</InstanceId>\\r\\n <InstanceInvokeStatus>Finished</InstanceInvokeStatus>\\r\\n </InvokeInstance>\\r\\n </InvokeInstances>\\r\\n</ListInvocationStatusResponse>","errorExample":""}]', + 'title' => 'ListInvocationStatus', + 'summary' => 'Queries the status of an interactive command.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateJobFile' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInvocationStatus', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListJobTemplates' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '75791', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'RunasUser', - 'in' => 'query', - 'schema' => [ - 'description' => 'The user to which the job file belongs.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testuser1', - ], - ], - [ - 'name' => 'RunasUserPassword', - 'in' => 'query', - 'schema' => [ - 'description' => 'The user password.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '!QAZ****', - ], - ], - [ - 'name' => 'Content', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The content of the job file. The content is encoded in Base64.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c2xlZXAgMzA=', - ], + 'schema' => ['description' => 'The name of the job template.'."\n" + ."\n" + .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'jobtemplateName', 'title' => ''], ], [ - 'name' => 'TargetFile', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job file.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lammps.pbs', - ], + 'schema' => ['description' => 'The page number to return. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether to use an asynchronous link to submit job files.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The number of entries to return per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -15670,117 +9816,118 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Templates' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'JobTemplates' => [ + 'description' => 'The list of job templates.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Task' => ['description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Variables' => ['description' => 'The environment variables of the job.'."\n", 'type' => 'string', 'example' => '[{Name:,Value:},{Name:,Value:}]', 'title' => ''], + 'CommandLine' => ['description' => 'The command that is used to run the job.'."\n", 'type' => 'string', 'example' => './LammpsTest/lammps.pbs', 'title' => ''], + 'Queue' => ['description' => 'The queue of the job.'."\n", 'type' => 'string', 'example' => 'workq', 'title' => ''], + 'Priority' => ['description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Mem' => ['description' => 'The maximum memory usage of a single compute node. The unit can be GB, MB, or KB, and is case-insensitive.'."\n", 'type' => 'string', 'example' => '1GB', 'title' => ''], + 'Thread' => ['description' => 'The number of threads required by a single task. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ArrayRequest' => ['description' => 'The queue of the job.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'example' => '2-7:2', 'title' => ''], + 'StderrRedirectPath' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'example' => './LammpsTest', 'title' => ''], + 'Node' => ['description' => 'The number of compute nodes. Valid values: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StdoutRedirectPath' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'example' => './Lammps', 'title' => ''], + 'Gpu' => ['description' => 'The maximum GPU usage for individual compute nodes. Valid values: 1 to 8.'."\n" + ."\n" + .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PackagePath' => ['description' => 'The path that is used to run the job.'."\n", 'type' => 'string', 'example' => './jobfolder', 'title' => ''], + 'ClockTime' => ['description' => 'The maximum running time of the job. Valid formats:'."\n" + ."\n" + .'* hh:mm:ss'."\n" + .'* mm:ss'."\n" + .'* ss'."\n", 'type' => 'string', 'example' => '12:00:00', 'title' => ''], + 'ReRunable' => ['description' => 'Specifies whether the job can be rerun. Valid values:'."\n" + ."\n" + .'* true: The job can be rerun.'."\n" + .'* false: The job cannot be rerun.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the job template.'."\n", 'type' => 'string', 'example' => 'job1', 'title' => ''], + 'Id' => ['description' => 'The ID of the job template.'."\n", 'type' => 'string', 'example' => 'ehpc-job-tmpl-6RxO5y****', 'title' => ''], + 'RunasUser' => ['description' => 'The name of the user that runs the job.'."\n", 'type' => 'string', 'example' => 'user1', 'title' => ''], + 'InputFileUrl' => ['description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", 'type' => 'string', 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', 'title' => ''], + 'WithUnzipCmd' => ['description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid value:'."\n" + ."\n" + .'* true: decompresses the job file.'."\n" + .'* false: does not decompress the job file.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'UnzipCmd' => ['description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" + ."\n" + .'* tar xzf: decompresses GZIP files.'."\n" + .'* tar xf: decompresses TAR files.'."\n" + .'* unzip: decompresses ZIP files.'."\n", 'type' => 'string', 'example' => 'tar xzf', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], - [ - 'errorCode' => 'AgentError.Account.ValidateCredentialFailure', - 'errorMessage' => 'Username or password verification failed.', - ], - [ - 'errorCode' => 'UsernameExist', - 'errorMessage' => 'The username already exists.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobFileResponse>\\n\\t<RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</CreateJobFileResponse>","errorExample":""}]', - 'title' => 'CreateJobFile', - 'summary' => 'Creates a job file.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Templates\\": {\\n \\"JobTemplates\\": [\\n {\\n \\"Task\\": 2,\\n \\"Variables\\": \\"[{Name:,Value:},{Name:,Value:}]\\",\\n \\"CommandLine\\": \\"./LammpsTest/lammps.pbs\\",\\n \\"Queue\\": \\"workq\\",\\n \\"Priority\\": 0,\\n \\"Mem\\": \\"1GB\\",\\n \\"Thread\\": 1,\\n \\"ArrayRequest\\": \\"2-7:2\\",\\n \\"StderrRedirectPath\\": \\"./LammpsTest\\",\\n \\"Node\\": 2,\\n \\"StdoutRedirectPath\\": \\"./Lammps\\",\\n \\"Gpu\\": 1,\\n \\"PackagePath\\": \\"./jobfolder\\",\\n \\"ClockTime\\": \\"12:00:00\\",\\n \\"ReRunable\\": false,\\n \\"Name\\": \\"job1\\",\\n \\"Id\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RunasUser\\": \\"user1\\",\\n \\"InputFileUrl\\": \\"https://test.oss-cn-beijing.aliyuncs.com/test.py\\",\\n \\"WithUnzipCmd\\": true,\\n \\"UnzipCmd\\": \\"tar xzf\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobTemplatesResponse>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Templates>\\n <Task>2</Task>\\n <Variables>[{Name:,Value:},{Name:,Value:}]</Variables>\\n <CommandLine>./LammpsTest/lammps.pbs</CommandLine>\\n <Queue>workq</Queue>\\n <Priority>0</Priority>\\n <Mem>1GB</Mem>\\n <Thread>1</Thread>\\n <ArrayRequest>2-7:2</ArrayRequest>\\n <StderrRedirectPath>./LammpsTest</StderrRedirectPath>\\n <Node>2</Node>\\n <StdoutRedirectPath>./Lammps</StdoutRedirectPath>\\n <Gpu>1</Gpu>\\n <PackagePath>./jobfolder</PackagePath>\\n <ClockTime>12:00:00</ClockTime>\\n <ReRunable>false</ReRunable>\\n <Name>job1</Name>\\n <Id>ehpc-job-tmpl-6RxO5y****</Id>\\n <RunasUser>user1</RunasUser>\\n <InputFileUrl>https://test.oss-cn-beijing.aliyuncs.com//test.py</InputFileUrl>\\n <WithUnzipCmd>true</WithUnzipCmd>\\n <UnzipCmd>tar xzf</UnzipCmd>\\n </Templates>\\n</ListJobTemplatesResponse>","errorExample":""}]', + 'title' => 'ListJobTemplates', + 'summary' => 'Queries the list of job templates.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobTemplates', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], ], 'ListJobs' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15788,95 +9935,56 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'Owner', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the user that runs the job.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user1', - ], + 'schema' => ['description' => 'The name of the user that runs the job.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user1', 'title' => ''], ], [ 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* all'."\n" - .'* finished'."\n" - .'* notfinish'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'finished', - ], + 'schema' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* all'."\n" + .'* finished'."\n" + .'* notfinish'."\n", 'type' => 'string', 'required' => false, 'example' => 'finished', 'title' => ''], ], [ 'name' => 'Rerunable', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the job can be rerun. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether the job can be rerun. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Pages start from 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Pages start from 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries to return per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -15884,209 +9992,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Jobs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'JobInfo' => [ 'description' => 'The list of jobs.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Owner' => [ - 'description' => 'The name of the user that ran the job.'."\n", - 'type' => 'string', - 'example' => 'user1', - ], - 'Comment' => [ - 'description' => 'The description of the job.'."\n", - 'type' => 'string', - 'example' => 'jobDescription', - ], - 'State' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* FINISHED: The job is completed'."\n" - .'* RUNNING: The job connector is running.'."\n" - .'* QUEUED: The job is pending in a queue.'."\n", - 'type' => 'string', - 'example' => 'FINISHED', - ], - 'Stderr' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'Priority' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A large value indicates a higher priority.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ShellPath' => [ - 'description' => 'The path that was used to run the job.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'Stdout' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'ArrayRequest' => [ - 'description' => 'The job array. If the job is not in a queue, the output is empty.'."\n" - ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'example' => '1-10:2', - ], - 'StartTime' => [ - 'description' => 'The time when the job was created.'."\n", - 'type' => 'string', - 'example' => '2018-07-18T17:46:48', - ], - 'LastModifyTime' => [ - 'description' => 'The time when the job was last modified.'."\n", - 'type' => 'string', - 'example' => '2018-07-18T17:46:48', - ], - 'NodeList' => [ - 'description' => 'The list of compute nodes that were used to run the job.'."\n", - 'type' => 'string', - 'example' => '[\'compute2\', \'compute3\']', - ], - 'Name' => [ - 'description' => 'The name of the job.'."\n", - 'type' => 'string', - 'example' => 'job1', - ], - 'Id' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => '0.manager', - ], - 'SubmitTime' => [ - 'description' => 'The time when the job was submitted.'."\n", - 'type' => 'string', - 'example' => '2018-07-18T17:46:47', - ], + 'Owner' => ['description' => 'The name of the user that ran the job.'."\n", 'type' => 'string', 'example' => 'user1', 'title' => ''], + 'Comment' => ['description' => 'The description of the job.'."\n", 'type' => 'string', 'example' => 'jobDescription', 'title' => ''], + 'State' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* FINISHED: The job is completed'."\n" + .'* RUNNING: The job connector is running.'."\n" + .'* QUEUED: The job is pending in a queue.'."\n", 'type' => 'string', 'example' => 'FINISHED', 'title' => ''], + 'Stderr' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'Priority' => ['description' => 'The priority of the job. Valid values: 0 to 9. A large value indicates a higher priority.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], + 'ShellPath' => ['description' => 'The path that was used to run the job.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'Stdout' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'ArrayRequest' => ['description' => 'The job array. If the job is not in a queue, the output is empty.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'example' => '1-10:2', 'title' => ''], + 'StartTime' => ['description' => 'The time when the job was created.'."\n", 'type' => 'string', 'example' => '2018-07-18T17:46:48', 'title' => ''], + 'LastModifyTime' => ['description' => 'The time when the job was last modified.'."\n", 'type' => 'string', 'example' => '2018-07-18T17:46:48', 'title' => ''], + 'NodeList' => ['description' => 'The list of compute nodes that were used to run the job.'."\n", 'type' => 'string', 'example' => '[\'compute2\', \'compute3\']', 'title' => ''], + 'Name' => ['description' => 'The name of the job.'."\n", 'type' => 'string', 'example' => 'job1', 'title' => ''], + 'Id' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => '0.manager', 'title' => ''], + 'SubmitTime' => ['description' => 'The time when the job was submitted.'."\n", 'type' => 'string', 'example' => '2018-07-18T17:46:47', 'title' => ''], 'Resources' => [ 'description' => 'The resources that were used to run the job.'."\n", 'type' => 'object', 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of nodes that were used to run the job.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cores' => [ - 'description' => 'The number of CPUs that were used to run the job.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'Nodes' => ['description' => 'The number of nodes that were used to run the job.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cores' => ['description' => 'The number of CPUs that were used to run the job.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Job.ListFailure', - 'errorMessage' => 'Failed to list jobs: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Job.ListFailure', 'errorMessage' => 'Failed to list jobs: %s.', 'description' => 'Failed to obtain the job list: %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Jobs\\": {\\n \\"JobInfo\\": [\\n {\\n \\"Owner\\": \\"user1\\",\\n \\"Comment\\": \\"jobDescription\\",\\n \\"State\\": \\"FINISHED\\",\\n \\"Stderr\\": \\"./Temp\\",\\n \\"Priority\\": \\"0\\",\\n \\"ShellPath\\": \\"./Temp\\",\\n \\"Stdout\\": \\"./Temp\\",\\n \\"ArrayRequest\\": \\"1-10:2\\",\\n \\"StartTime\\": \\"2018-07-18T17:46:48\\",\\n \\"LastModifyTime\\": \\"2018-07-18T17:46:48\\",\\n \\"NodeList\\": \\"[\'compute2\', \'compute3\']\\",\\n \\"Name\\": \\"job1\\",\\n \\"Id\\": \\"0.manager\\",\\n \\"SubmitTime\\": \\"2018-07-18T17:46:47\\",\\n \\"Resources\\": {\\n \\"Nodes\\": 0,\\n \\"Cores\\": 2\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobsResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageNumber>1</PageNumber>\\n <Jobs>\\n <JobInfo>\\n <Comment>jobDescription</Comment>\\n <Owner>user1</Owner>\\n <Priority>0</Priority>\\n <NodeList>[\'compute2\', \'compute3\']</NodeList>\\n <StartTime>2018-07-18T17:46:48</StartTime>\\n <LastModifyTime>2018-07-18T17:46:48</LastModifyTime>\\n <SubmitTime>2018-07-18T17:46:47</SubmitTime>\\n <Name>job1</Name>\\n <Stderr>./Temp</Stderr>\\n <State>FINISHED</State>\\n <ShellPath>./Temp</ShellPath>\\n <Id>0.manager</Id>\\n <ArrayRequest>1-10:2</ArrayRequest>\\n <Stdout>./Temp</Stdout>\\n <Resources>\\n <Cores>2</Cores>\\n <Nodes>0</Nodes>\\n </Resources>\\n </JobInfo>\\n </Jobs>\\n</ListJobsResponse>","errorExample":""}]', @@ -16095,225 +10084,59 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeJob' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The job ID.'."\n" - ."\n" - .'You can call the [ListJobs](~~87251~~) operation to obtain the job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1.scheduler****', - ], - ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use an asynchronous link to stop the job.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9697AD8D-56FA-4C8E-B46C-00AC9***', - ], - 'Message' => [ - 'description' => 'The list of returned job information.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobInfo' => [ - 'description' => 'The details of the job.'."\n", - 'type' => 'string', - 'example' => '{"2.scheduler": {"egroup": "users","Stageout_status": 1,"Keep_Files": "n","server": "scheduler","queue": "workq"}}', - ], - ], - ], + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - ], - 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], - ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9697AD8D-56FA-4C8E-B46C-00AC9***\\",\\n \\"Message\\": {\\n \\"JobInfo\\": \\"{\\\\\\"2.scheduler\\\\\\": {\\\\\\"egroup\\\\\\": \\\\\\"users\\\\\\",\\\\\\"Stageout_status\\\\\\": 1,\\\\\\"Keep_Files\\\\\\": \\\\\\"n\\\\\\",\\\\\\"server\\\\\\": \\\\\\"scheduler\\\\\\",\\\\\\"queue\\\\\\": \\\\\\"workq\\\\\\"}}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobResponse>\\n <RequestId>9697AD8D-56FA-4C8E-B46C-00AC9***</RequestId>\\n <Message>\\n <JobInfo>{\\"2.scheduler\\": {\\"egroup\\": \\"users\\",\\"Stageout_status\\": 1,\\"Keep_Files\\": \\"n\\",\\"server\\": \\"scheduler\\",\\"queue\\": \\"workq\\"}}</JobInfo>\\n </Message>\\n</DescribeJobResponse>","errorExample":""}]', - 'title' => 'DescribeJob', - 'summary' => 'Queries the information about a job in an E-HPC cluster.', ], 'ListJobsWithFilters' => [ - 'summary' => 'Queries the details of a specified job.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number to return.'."\n" - ."\n" - .'Pages start from 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number to return.'."\n" + ."\n" + .'Pages start from 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'Users', @@ -16322,14 +10145,10 @@ 'schema' => [ 'description' => 'The users that run the job.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The name of the user that runs the job. Fuzzy match is supported. You can call the [ListUsers](~~188572~~) operation to query the users in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user1', - ], + 'items' => ['description' => 'The name of the user that runs the job. Fuzzy match is supported. You can call the [ListUsers](~~188572~~) operation to query the users in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user1', 'title' => ''], 'required' => false, 'maxItems' => 1, + 'title' => '', ], ], [ @@ -16339,14 +10158,10 @@ 'schema' => [ 'description' => 'The information about the queues in which the job is run.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The name of the queue in which the job is run. Fuzzy search is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + 'items' => ['description' => 'The name of the queue in which the job is run. Fuzzy search is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], 'required' => false, 'maxItems' => 1, + 'title' => '', ], ], [ @@ -16356,120 +10171,71 @@ 'schema' => [ 'description' => 'The information about the computing nodes that are used to run the job.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The name of the compute node. Fuzzy match is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'node1', - ], + 'items' => ['description' => 'The name of the compute node. Fuzzy match is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'node1', 'title' => ''], 'required' => false, 'maxItems' => 1, + 'title' => '', ], ], [ 'name' => 'JobName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job. Fuzzy search is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'job1', - ], + 'schema' => ['description' => 'The name of the job. Fuzzy search is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'job1', 'title' => ''], ], [ 'name' => 'JobStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* all'."\n" - .'* finished'."\n" - .'* notfinish'."\n" - ."\n" - .'Default value: all.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'finished', - ], + 'schema' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* all'."\n" + .'* finished'."\n" + .'* notfinish'."\n" + ."\n" + .'Default value: all.'."\n", 'type' => 'string', 'required' => false, 'example' => 'finished', 'title' => ''], ], [ 'name' => 'ExecuteOrder', 'in' => 'query', - 'schema' => [ - 'description' => 'The order in which jobs are sorted based on the execution time. Valid values:'."\n" - ."\n" - .'* asc: ascending order'."\n" - .'* desc: descending order'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc', - ], + 'schema' => ['description' => 'The order in which jobs are sorted based on the execution time. Valid values:'."\n" + ."\n" + .'* asc: ascending order'."\n" + .'* desc: descending order'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc', 'title' => ''], ], [ 'name' => 'SubmitOrder', 'in' => 'query', - 'schema' => [ - 'description' => 'The order in which jobs are sorted based on the time when they are submitted. Valid values:'."\n" - ."\n" - .'* asc: ascending order'."\n" - .'* desc: descending order'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc', - ], + 'schema' => ['description' => 'The order in which jobs are sorted based on the time when they are submitted. Valid values:'."\n" + ."\n" + .'* asc: ascending order'."\n" + .'* desc: descending order'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc', 'title' => ''], ], [ 'name' => 'PendOrder', 'in' => 'query', - 'schema' => [ - 'description' => 'The order in which jobs are sorted based on the time when they queue. Valid values:'."\n" - ."\n" - .'* asc: ascending order'."\n" - .'* desc: descending order'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], + 'schema' => ['description' => 'The order in which jobs are sorted based on the time when they queue. Valid values:'."\n" + ."\n" + .'* asc: ascending order'."\n" + .'* desc: descending order'."\n", 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region. You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region. You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'CreateTimeStart', 'in' => 'query', - 'schema' => [ - 'description' => 'The earliest time when a job is submitted. The value is a UNIX timestamp, which represents the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1647427667', - ], + 'schema' => ['description' => 'The earliest time when a job is submitted. The value is a UNIX timestamp, which represents the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '1647427667', 'title' => ''], ], [ 'name' => 'CreateTimeEnd', 'in' => 'query', - 'schema' => [ - 'description' => 'The latest time when a job is submitted. The value is a UNIX timestamp, which represents the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1647428667', - ], + 'schema' => ['description' => 'The latest time when a job is submitted. The value is a UNIX timestamp, which represents the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '1647428667', 'title' => ''], ], [ 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable asynchronous query.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable asynchronous query.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -16479,33 +10245,10 @@ 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageSize' => [ - 'title' => 'PageSize', - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'PageNumber' => [ - 'title' => 'PageNumber', - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'PageSize' => ['title' => 'PageSize', 'description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10'], + 'PageNumber' => ['title' => 'PageNumber', 'description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'Jobs' => [ 'title' => 'Jobs', 'description' => 'The list of jobs.'."\n", @@ -16513,224 +10256,180 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Owner' => [ - 'description' => 'The name of the user that ran the job.'."\n", - 'type' => 'string', - 'example' => 'test2@scheduler', - ], - 'Comment' => [ - 'description' => 'The description of the job.'."\n", - 'type' => 'string', - 'example' => 'jobDescription', - ], - 'State' => [ - 'description' => 'The status of the job. Valid value:'."\n" - ."\n" - .'* FINISHED: The job is completed.'."\n" - .'* RUNNING: The job is running.'."\n" - .'* QUEUED: The job is pending in a queue.'."\n", - 'type' => 'string', - 'example' => 'FINISHED', - ], - 'Stderr' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'Priority' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ShellPath' => [ - 'description' => 'The path that was used to run the job.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'Stdout' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'ArrayRequest' => [ - 'description' => 'The job array. If the job is not in a queue, the output is empty.'."\n" - ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'example' => '1-10:2', - ], - 'StartTime' => [ - 'description' => 'The time when the job was created.'."\n", - 'type' => 'string', - 'example' => '1647427667', - ], - 'LastModifyTime' => [ - 'description' => 'The time when the job was last modified.'."\n", - 'type' => 'string', - 'example' => '1647428667', - ], - 'NodeList' => [ - 'description' => 'The list of compute nodes that were used to run the job.'."\n", - 'type' => 'string', - 'example' => '[\'compute2\', \'compute3\']', - ], - 'Name' => [ - 'description' => 'The name of the job.'."\n", - 'type' => 'string', - 'example' => 'job1', - ], - 'Id' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => '8.scheduler', - ], - 'SubmitTime' => [ - 'description' => 'The time when the job was submitted.'."\n", - 'type' => 'string', - 'example' => '1647423718', - ], + 'Owner' => ['description' => 'The name of the user that ran the job.'."\n", 'type' => 'string', 'example' => 'test2@scheduler', 'title' => ''], + 'Comment' => ['description' => 'The description of the job.'."\n", 'type' => 'string', 'example' => 'jobDescription', 'title' => ''], + 'State' => ['description' => 'The status of the job. Valid value:'."\n" + ."\n" + .'* FINISHED: The job is completed.'."\n" + .'* RUNNING: The job is running.'."\n" + .'* QUEUED: The job is pending in a queue.'."\n", 'type' => 'string', 'example' => 'FINISHED', 'title' => ''], + 'Stderr' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'Priority' => ['description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], + 'ShellPath' => ['description' => 'The path that was used to run the job.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'Stdout' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'ArrayRequest' => ['description' => 'The job array. If the job is not in a queue, the output is empty.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'example' => '1-10:2', 'title' => ''], + 'StartTime' => ['description' => 'The time when the job was created.'."\n", 'type' => 'string', 'example' => '1647427667', 'title' => ''], + 'LastModifyTime' => ['description' => 'The time when the job was last modified.'."\n", 'type' => 'string', 'example' => '1647428667', 'title' => ''], + 'NodeList' => ['description' => 'The list of compute nodes that were used to run the job.'."\n", 'type' => 'string', 'example' => '[\'compute2\', \'compute3\']', 'title' => ''], + 'Name' => ['description' => 'The name of the job.'."\n", 'type' => 'string', 'example' => 'job1', 'title' => ''], + 'Id' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => '8.scheduler', 'title' => ''], + 'SubmitTime' => ['description' => 'The time when the job was submitted.'."\n", 'type' => 'string', 'example' => '1647423718', 'title' => ''], 'Resources' => [ 'description' => 'The resources that were used to run the job.'."\n", 'type' => 'object', 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of nodes that were used to run the job.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Cores' => [ - 'description' => 'The number of CPUs that were used to run the job.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], + 'Nodes' => ['description' => 'The number of nodes that were used to run the job.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Cores' => ['description' => 'The number of CPUs that were used to run the job.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], ], + 'title' => '', ], - 'Queue' => [ - 'description' => 'The number of queues that ran the job.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'Rerunable' => [ - 'description' => 'Indicates whether the job can be run again. Valid values:'."\n" - ."\n" - .'* true: yes'."\n" - .'* false: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'VariableList' => [ - 'description' => 'The list of variables of the job.'."\n", - 'type' => 'string', - 'example' => '{"PBS_O_SHELL":"/bin/bash", "PBS_O_HOST":"manager", "PBS_O_SYSTEM":"Linux", "PBS_O_LANG":"en_US.UTF-8", "PBS_O_QUEUE":"workq"}', - ], + 'Queue' => ['description' => 'The number of queues that ran the job.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'Rerunable' => ['description' => 'Indicates whether the job can be run again. Valid values:'."\n" + ."\n" + .'* true: yes'."\n" + .'* false: no'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'VariableList' => ['description' => 'The list of variables of the job.'."\n", 'type' => 'string', 'example' => '{"PBS_O_SHELL":"/bin/bash", "PBS_O_HOST":"manager", "PBS_O_SYSTEM":"Linux", "PBS_O_LANG":"en_US.UTF-8", "PBS_O_QUEUE":"workq"}', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], - 'Success' => [ - 'title' => 'Success', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Success' => ['title' => 'Success', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => '%s', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => '%s', 'description' => ''], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed. ', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed. ', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred. ', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred. ', 'description' => ''], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable ', - 'errorMessage' => 'The request has failed due to a temporary failure of the server ', - ], + ['errorCode' => 'ServiceUnavailable ', 'errorMessage' => 'The request has failed due to a temporary failure of the server ', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Jobs\\": [\\n {\\n \\"Owner\\": \\"test2@scheduler\\",\\n \\"Comment\\": \\"jobDescription\\",\\n \\"State\\": \\"FINISHED\\",\\n \\"Stderr\\": \\"./Temp\\",\\n \\"Priority\\": \\"0\\",\\n \\"ShellPath\\": \\"./Temp\\",\\n \\"Stdout\\": \\"./Temp\\",\\n \\"ArrayRequest\\": \\"1-10:2\\",\\n \\"StartTime\\": \\"1647427667\\",\\n \\"LastModifyTime\\": \\"1647428667\\",\\n \\"NodeList\\": \\"[\'compute2\', \'compute3\']\\",\\n \\"Name\\": \\"job1\\",\\n \\"Id\\": \\"8.scheduler\\",\\n \\"SubmitTime\\": \\"1647423718\\",\\n \\"Resources\\": {\\n \\"Nodes\\": 0,\\n \\"Cores\\": 2\\n },\\n \\"Queue\\": \\"2\\",\\n \\"Rerunable\\": true,\\n \\"VariableList\\": \\"{\\\\\\"PBS_O_SHELL\\\\\\":\\\\\\"/bin/bash\\\\\\", \\\\t\\\\\\"PBS_O_HOST\\\\\\":\\\\\\"manager\\\\\\", \\\\t\\\\\\"PBS_O_SYSTEM\\\\\\":\\\\\\"Linux\\\\\\", \\\\t\\\\\\"PBS_O_LANG\\\\\\":\\\\\\"en_US.UTF-8\\\\\\", \\\\t\\\\\\"PBS_O_QUEUE\\\\\\":\\\\\\"workq\\\\\\"}\\"\\n }\\n ],\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListJobsWithFiltersResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Jobs>\\n <Owner>test2@scheduler</Owner>\\n <Comment>jobDescription</Comment>\\n <State>FINISHED</State>\\n <Stderr>./Temp</Stderr>\\n <Priority>0</Priority>\\n <ShellPath>./Temp</ShellPath>\\n <Stdout>./Temp</Stdout>\\n <ArrayRequest>1-10:2</ArrayRequest>\\n <StartTime>1647427667</StartTime>\\n <LastModifyTime>1647428667</LastModifyTime>\\n <NodeList>[\'compute2\', \'compute3\']</NodeList>\\n <Name>job1</Name>\\n <Id>8.scheduler</Id>\\n <SubmitTime>1647423718</SubmitTime>\\n <Resources>\\n <Nodes>0</Nodes>\\n <Cores>2</Cores>\\n </Resources>\\n <Queue>2</Queue>\\n </Jobs>\\n <Success>true</Success>\\n</ListJobsWithFiltersResponse>","errorExample":""}]', 'title' => 'ListJobsWithFilters', - ], - 'RerunJobs' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Queries the details of a specified job.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobsWithFilters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-sh-3VeFyR****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Jobs', + 'name' => 'Role', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of jobs that you want to run. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" - ."\n" - .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" - ."\n" - .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n" - ."\n" - .'> You can rerun only jobs that are in the RUNNING or QUEUED state.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"Id":"1.scheduler"}]', - ], + 'schema' => ['description' => 'The type of the node. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'required' => false, 'example' => 'Manager', 'default' => 'Compute', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use an asynchronous link to rerun the job.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The name of the node. You can perform a fuzzy search. MySQL regular expressions are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-HostName', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'example' => '10', 'default' => '10', 'title' => ''], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => ['description' => 'The sorting method of the node list. Valid values:'."\n" + ."\n" + .'* Forward: sorts the nodes in chronological order.'."\n" + .'* Backward: sorts the nodes in reverse chronological order.'."\n" + ."\n" + .'Default value: Forward.'."\n" + ."\n" + .'> This parameter is used together with the SortBy parameter. If you set SortBy to AddedTime and set Sequence to Forward, nodes are queried in ascending order of time that they are added.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Forward', 'title' => ''], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The sorting method of the node list. Valid values:'."\n" + ."\n" + .'* AddedTime: sorts the nodes by the time that they are added.'."\n" + .'* HostName: sorts the nodes by their host names.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AddedTime', 'title' => ''], + ], + [ + 'name' => 'Filter', + 'in' => 'query', + 'schema' => ['description' => 'The filter options of the node list.'."\n" + ."\n" + .'Format: {"status":"node_status"}. Replace node_status with the node status. Valid values of node_status:'."\n" + ."\n" + .'* uninit: The node is being installed.'."\n" + .'* exception: An exception occurred on the node.'."\n" + .'* running: The node is running.'."\n" + .'* initing: The node is being initialized.'."\n" + .'* releasing: The node is being released.'."\n" + .'* untracking: The node is not added to the cluster.'."\n" + .'* stopped: The node is stopped.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"status":"running"}', 'title' => ''], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => ['description' => 'The private IP address of the node.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.**.**', 'title' => ''], + ], + [ + 'name' => 'HostNamePrefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the hostname. You can query nodes that have a specified prefix.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute', 'title' => ''], + ], + [ + 'name' => 'HostNameSuffix', + 'in' => 'query', + 'schema' => ['description' => 'The suffix of the hostname. You can query nodes that have a specified suffix.'."\n", 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], ], 'responses' => [ @@ -16738,169 +10437,221 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Nodes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NodeInfo' => [ + 'description' => 'The list of nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The VPC ID of the node.'."\n", 'type' => 'string', 'example' => 'vpc-bp1gnu8br4ay7beb2w****', 'title' => ''], + 'Status' => ['description' => 'The status of the node. Valid values:'."\n" + ."\n" + .'* uninit: The node is being installed.'."\n" + .'* exception: An exception occurred on the node.'."\n" + .'* running: The node is running.'."\n" + .'* initing: The node is being initialized.'."\n" + .'* releasing: The node is being released.'."\n" + .'* untracking: The node is not added to the cluster.'."\n" + .'* stopped: The node is stopped.'."\n", 'type' => 'string', 'example' => 'running', 'title' => ''], + 'HtEnabled' => ['description' => 'Indicates whether hyper-threading is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the subscription node expired. For a pay-as-you-go node, false is returned.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'example' => 'system', 'title' => ''], + 'LockReason' => ['description' => 'The reason why the node is locked. Valid values:'."\n" + ."\n" + .'* financial: The instance is locked due to overdue payments.'."\n" + .'* security: The node is locked for security reasons.'."\n" + .'* recycling: The preemptible instance is locked and pending release.'."\n" + .'* dedicatedhostfinancial: The ECS instance is locked due to overdue payments of the dedicated host.'."\n" + ."\n" + .'By default, an empty string is returned.'."\n", 'type' => 'string', 'example' => 'financial', 'title' => ''], + 'HostName' => ['description' => 'The name of the task node.'."\n", 'type' => 'string', 'example' => 'test-HostName', 'title' => ''], + 'InstanceType' => ['description' => 'The instance types of the node.'."\n", 'type' => 'string', 'example' => 'ecs.c5.large', 'title' => ''], + 'PublicIpAddress' => ['description' => 'The public IP address of the server.'."\n", 'type' => 'string', 'example' => '172.16.**.**', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding method of the compute nodes.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'CreatedByEhpc' => ['description' => 'Indicates whether the node is created by using E-HPC.'."\n" + ."\n" + .'* true: The node is created by using E-HPC.'."\n" + .'* false: The node is not created by using E-HPC.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-bp1e47optm9g58zcu****', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the node.'."\n", 'type' => 'string', 'example' => '172.16.**.**', 'title' => ''], + 'ExpiredTime' => ['description' => 'The time when the subscription node expires. For a pay-as-you-go node, a null value is returned.'."\n", 'type' => 'string', 'example' => '2020-06-09T06:22:02.000Z', 'title' => ''], + 'Version' => ['description' => 'The version of the client that is used for the cluster.'."\n", 'type' => 'string', 'example' => '1.0.78', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'AddTime' => ['description' => 'The time when the node is added to the cluster.'."\n", 'type' => 'string', 'example' => '2020-06-09T06:22:02.000Z', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the custom image.'."\n", 'type' => 'string', 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', 'title' => ''], + 'Location' => ['description' => 'The location where the node is deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The node is deployed on your data center.'."\n" + .'* PublicCloud: The node is deployed on the public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'Id' => ['description' => 'The node ID.'."\n", 'type' => 'string', 'example' => 'i-bp15707mys2rsy0j****', 'title' => ''], + 'CreateMode' => ['description' => 'The mode in which the compute nodes are added. Valid values:'."\n" + ."\n" + .'* manual: The node is manually added.'."\n" + .'* autoscale: The node is automatically added.'."\n", 'type' => 'string', 'example' => 'manual', 'title' => ''], + 'Roles' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Role' => [ + 'description' => 'The type of the node. Valid values:'."\n" + ."\n" + .'* Scheduler: primary scheduling node'."\n" + .'* SchedulerBackup: secondary scheduling node'."\n" + .'* Account: primary domain server node'."\n" + .'* AccountBackup: secondary domain server node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n" + ."\n" + .'Scheduling nodes and domain server nodes are management nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The type of the node. Valid values:'."\n" + ."\n" + .'* Scheduler: primary scheduling node'."\n" + .'* SchedulerBackup: secondary scheduling node'."\n" + .'* Account: primary domain server node'."\n" + .'* AccountBackup: secondary domain server node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n" + ."\n" + .'Scheduling nodes and domain server nodes are management nodes.'."\n", 'type' => 'string', 'example' => '[“Compute”]', 'title' => ''], + ], + ], + ], + 'TotalResources' => [ + 'description' => 'The statistics of the resources used by the node.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory capacity. Unit: GB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + ], + 'title' => '', + ], + 'UsedResources' => [ + 'description' => 'The usage of the compute nodes in the cluster. For other types of nodes, an empty value is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Memory' => ['description' => 'The memory capacity. Unit: GB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + ], + 'StateInSched' => ['description' => 'The status of the node displayed on the scheduler. The status varies with the scheduler.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'UsernameExist', - 'errorMessage' => 'The username already exists.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError.Job.RerunFailure', - 'errorMessage' => 'Failed to run the job again: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobsResponse>","errorExample":""}]', - 'title' => 'RerunJobs', - 'summary' => 'Reruns one or more jobs.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"running\\",\\n \\"HtEnabled\\": true,\\n \\"Expired\\": false,\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LockReason\\": \\"financial\\",\\n \\"HostName\\": \\"test-HostName\\",\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"PublicIpAddress\\": \\"172.16.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"CreatedByEhpc\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.16.**.**\\",\\n \\"ExpiredTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"Version\\": \\"1.0.78\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20190711.vhd\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp15707mys2rsy0j****\\",\\n \\"CreateMode\\": \\"manual\\",\\n \\"Roles\\": {\\n \\"Role\\": [\\n \\"[“Compute”]\\"\\n ]\\n },\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 0,\\n \\"Memory\\": 0\\n },\\n \\"StateInSched\\": \\"active\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesResponse>\\n <PageSize>1</PageSize>\\n <RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Nodes>\\n <VpcId>vpc-bp1gnu8br4ay7beb2w****</VpcId>\\n <Status>running</Status>\\n <HtEnabled>true</HtEnabled>\\n <Expired>false</Expired>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <LockReason>financial</LockReason>\\n <HostName>test-HostName</HostName>\\n <InstanceType>ecs.c5.large</InstanceType>\\n <PublicIpAddress>172.16.**.**</PublicIpAddress>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <CreatedByEhpc>true</CreatedByEhpc>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <IpAddress>172.16.**.**</IpAddress>\\n <ExpiredTime>2020-06-09T06:22:02.000Z</ExpiredTime>\\n <Version>1.0.78</Version>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <AddTime>2020-06-09T06:22:02.000Z</AddTime>\\n <ImageId>centos_7_06_64_20G_alibase_20190711.vhd</ImageId>\\n <Location>PublicCloud</Location>\\n <Id>i-bp15707mys2rsy0j****</Id>\\n <CreateMode>manual</CreateMode>\\n <Roles>[“Compute”]</Roles>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>0</Cpu>\\n <Memory>0</Memory>\\n </UsedResources>\\n <StateInSched>active</StateInSched>\\n </Nodes>\\n</ListNodesResponse>","errorExample":""}]', + 'title' => 'ListNodes', + 'summary' => 'Queries the list of nodes in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopJobs' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListNodesByQueue' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Jobs', + 'name' => 'QueueName', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of jobs that you want to stop. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" - ."\n" - .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" - ."\n" - .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n" - ."\n" - .'> You can stop only jobs that are in the RUNNING or QUEUED state.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"Id":"1.sched****"},{"Id":"0.sched****"}]', - ], + 'schema' => ['description' => 'The name of the queue.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'workq', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use an asynchronous link to stop the job.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable asynchronous query.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -16908,109 +10659,155 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B405FF19-2D5F-4489-A84C-BC15CC1B24BD', 'title' => ''], + 'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Nodes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NodeInfo' => [ + 'description' => 'The list of nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The VPC ID of the node.'."\n", 'type' => 'string', 'example' => 'vpc-bp1gnu8br4ay7beb2w****', 'title' => ''], + 'Status' => ['description' => 'The status of the node. Valid values:'."\n" + ."\n" + .'* uninit: The node is not initialized.'."\n" + .'* init: The node is being initialized.'."\n" + .'* ready: The node is ready.'."\n" + .'* running: The cluster is running.'."\n" + .'* exception: An exception occurred on the node.'."\n" + .'* untracking: The node is not added to the cluster.'."\n", 'type' => 'string', 'example' => 'untracking', 'title' => ''], + 'HtEnabled' => ['description' => 'Indicates whether Hyper-Threading (HT) is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the subscription node has expired. If the node is a pay-as-you-go node, false is returned.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'example' => 'system', 'title' => ''], + 'LockReason' => ['description' => 'The reason why the node is locked. Valid values:'."\n" + ."\n" + .'* financial: The instance is locked due to overdue payments.'."\n" + .'* security: The node is locked for security reasons.'."\n" + .'* recycling: The preemptible instance is locked and pending release.'."\n" + .'* dedicatedhostfinancial: The ECS instance is locked due to overdue payments of the dedicated host.'."\n" + ."\n" + .'By default, an empty string is returned.'."\n", 'type' => 'string', 'example' => 'financial', 'title' => ''], + 'HostName' => ['description' => 'The node name.'."\n", 'type' => 'string', 'example' => 'compute0', 'title' => ''], + 'PublicIpAddress' => ['description' => 'The public IP address of the node.'."\n", 'type' => 'string', 'example' => '10.34.**.**', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of 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 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", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'CreatedByEhpc' => ['description' => 'Indicates whether the node was created by using E-HPC.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-bp1e47optm9g58zcu****', 'title' => ''], + 'IpAddress' => ['description' => 'The private IP address of the node.'."\n", 'type' => 'string', 'example' => '172.168.**.**', 'title' => ''], + 'ExpiredTime' => ['description' => 'The time when the subscription instance expires. If the node is a pay-as-you-go node, a null value is returned.'."\n", 'type' => 'string', 'example' => '2020-09-18T13:24:29.000Z', 'title' => ''], + 'Version' => ['description' => 'The version of the E-HPC client.'."\n", 'type' => 'string', 'example' => '1.0.64', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the node.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'AddTime' => ['description' => 'The time when the node was added to the cluster.'."\n", 'type' => 'string', 'example' => '2019-09-18T13:24:29.000Z', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'centos_7_02_64_20G_alibase_20170818****', 'title' => ''], + 'Location' => ['description' => 'The location where the node is deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The cluster is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'Id' => ['description' => 'The ID of the instance.'."\n", 'type' => 'string', 'example' => 'i-bp13p7vlcb1uihfv****', 'title' => ''], + 'CreateMode' => ['description' => 'The mode in which the node is created. Valid values:'."\n" + ."\n" + .'* manual: The node is manually added.'."\n" + .'* autoscale: The node is automatically added.'."\n", 'type' => 'string', 'example' => 'manual', 'title' => ''], + 'TotalResources' => [ + 'description' => 'The number of all resources in the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The total number of GPU cards. Unit: cards.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores. Unit: cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory capacity. Unit: GB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + ], + 'title' => '', + ], + 'UsedResources' => [ + 'description' => 'The usage of the compute nodes in the cluster. For other types of nodes, an empty value is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Gpu' => ['description' => 'The total number of GPU cards. Unit: cards.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores. Unit: cores.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory capacity. Unit: GB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + ], + 'StateInSched' => ['description' => 'The status of the node displayed on the scheduler. The status varies with the scheduler.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'UsernameExist', - 'errorMessage' => 'The username already exists.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError.Job.StopFailure', - 'errorMessage' => 'Failed to stop jobs: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</StopJobsResponse>","errorExample":""}]', - 'title' => 'StopJobs', - 'summary' => 'Stops one or more jobs in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"B405FF19-2D5F-4489-A84C-BC15CC1B24BD\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"untracking\\",\\n \\"HtEnabled\\": true,\\n \\"Expired\\": false,\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LockReason\\": \\"financial\\",\\n \\"HostName\\": \\"compute0\\",\\n \\"PublicIpAddress\\": \\"10.34.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"CreatedByEhpc\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.168.**.**\\",\\n \\"ExpiredTime\\": \\"2020-09-18T13:24:29.000Z\\",\\n \\"Version\\": \\"1.0.64\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2019-09-18T13:24:29.000Z\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"Id\\": \\"i-bp13p7vlcb1uihfv****\\",\\n \\"CreateMode\\": \\"manual\\",\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"UsedResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1\\n },\\n \\"StateInSched\\": \\"active\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesByQueueResponse>\\n <PageSize>1</PageSize>\\n <RequestId>B405FF19-2D5F-4489-A84C-BC15CC1B24BD</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Nodes>\\n <VpcId>vpc-bp1gnu8br4ay7beb2w****</VpcId>\\n <Status>untracking</Status>\\n <HtEnabled>true</HtEnabled>\\n <Expired>false</Expired>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <LockReason>financial</LockReason>\\n <HostName>compute0</HostName>\\n <PublicIpAddress>10.34.**.**</PublicIpAddress>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <CreatedByEhpc>true</CreatedByEhpc>\\n <RegionId>cn-hangzhou</RegionId>\\n <VSwitchId>vsw-bp1e47optm9g58zcu****</VSwitchId>\\n <IpAddress>172.168.**.**</IpAddress>\\n <ExpiredTime>2020-09-18T13:24:29.000Z</ExpiredTime>\\n <Version>1.0.64</Version>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <AddTime>2019-09-18T13:24:29.000Z</AddTime>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <Location>PublicCloud</Location>\\n <Id>i-bp13p7vlcb1uihfv****</Id>\\n <CreateMode>manual</CreateMode>\\n <TotalResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1024</Memory>\\n </TotalResources>\\n <UsedResources>\\n <Gpu>0</Gpu>\\n <Cpu>1</Cpu>\\n <Memory>1</Memory>\\n </UsedResources>\\n <StateInSched>active</StateInSched>\\n </Nodes>\\n</ListNodesByQueueResponse>","errorExample":""}]', + 'title' => 'ListNodesByQueue', + 'summary' => 'Queries the node information of a single cluster within an Alibaba Cloud account by queue.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetJobLog' => [ - 'summary' => 'Queries the output logs of a job.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodesByQueue', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListNodesNoPaging' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17018,234 +10815,170 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'JobId', + 'name' => 'Role', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1.scheduler****', - ], + 'schema' => ['description' => 'The type of the node. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n" + ."\n" + .'Default value: Compute.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Compute', 'default' => 'Compute', 'title' => ''], ], [ - 'name' => 'ExecHost', - 'in' => 'query', - 'schema' => [ - 'description' => 'The node on which the job runs.'."\n" - ."\n" - .'* If the job is completed, you do not need to specify the parameter.'."\n" - .'* If the job is running, you must specify the parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute000', - ], - ], - [ - 'name' => 'Size', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of logs that you can read in a single request.'."\n" - ."\n" - .'Unit: bits'."\n" - ."\n" - .'Default value: 1024'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], + 'schema' => ['description' => 'The name of the node. You can perform a fuzzy search. MySQL regular expressions are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Compute0', 'title' => ''], ], [ - 'name' => 'Offset', + 'name' => 'Sequence', 'in' => 'query', - 'schema' => [ - 'description' => 'The position where logs start to be read.'."\n" - ."\n" - .'Unit: bits'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The sorting method of the node list. Valid values:'."\n" + ."\n" + .'* Forward: sorts the nodes in chronological order.'."\n" + .'* Backward: sorts the nodes in reverse chronological order.'."\n" + ."\n" + .'Default value: Forward.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Forward', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'JobId' => [ - 'description' => 'The ID of the job.'."\n", - 'type' => 'string', - 'example' => '1.scheduler****', - ], - 'OutputLog' => [ - 'description' => 'The content of the output logs. The content is encoded in Base64.'."\n", - 'type' => 'string', - 'example' => 'c2xlZXAgMzA=', - ], - 'ErrorLog' => [ - 'description' => 'The content of the error logs. The content is encoded in Base64.'."\n", - 'type' => 'string', - 'example' => 'c2xlZXAgMzA=', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'Nodes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NodeInfo' => [ + 'description' => 'The list of nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the node. Valid values:'."\n" + ."\n" + .'* uninit: The node is being installed.'."\n" + .'* exception: An exception occurred on the node.'."\n" + .'* running: The node is running.'."\n" + .'* initing: The node is being initialized.'."\n" + .'* releasing: The node is being released.'."\n" + .'* untracking: The node is not added to the cluster.'."\n" + .'* stopped: The node is stopped.'."\n", 'type' => 'string', 'example' => 'untracking', 'title' => ''], + 'HostName' => ['description' => 'The node name.'."\n", 'type' => 'string', 'example' => 'compute0', 'title' => ''], + 'InstanceType' => ['description' => 'The node type.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'centos_7_02_64_20G_alibase_20170818****', 'title' => ''], + 'Id' => ['description' => 'The node ID.'."\n", 'type' => 'string', 'example' => 'i-bp13p7vlcb1uihfv****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - 403 => [ - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"JobId\\": \\"1.scheduler****\\",\\n \\"OutputLog\\": \\"c2xlZXAgMzA=\\",\\n \\"ErrorLog\\": \\"c2xlZXAgMzA=\\"\\n}","errorExample":""},{"type":"xml","example":"<GetJobLogResponse>\\n <RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n <JobId>1.scheduler****</JobId>\\n <OutputLog>c2xlZXAgMzA=</OutputLog>\\n <ErrorLog>c2xlZXAgMzA=</ErrorLog>\\n</GetJobLogResponse>","errorExample":""}]', - 'title' => 'GetJobLog', - ], - 'DeleteJobs' => [ - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Nodes\\": {\\n \\"NodeInfo\\": [\\n {\\n \\"Status\\": \\"untracking\\",\\n \\"HostName\\": \\"compute0\\",\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"ImageId\\": \\"centos_7_02_64_20G_alibase_20170818****\\",\\n \\"Id\\": \\"i-bp13p7vlcb1uihfv****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNodesNoPagingResponse>\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n<Nodes>\\n <NodeInfo>\\n <Status>untracking</Status>\\n <ImageId>centos_7_02_64_20G_alibase_20170818****</ImageId>\\n <Id>i-bp13p7vlcb1uihfv****</Id>\\n <InstanceType>ecs.n1.tiny</InstanceType>\\n <HostName>compute0</HostName>\\n </NodeInfo>\\n</Nodes>\\n</ListNodesNoPagingResponse>","errorExample":""}]', + 'title' => 'ListNodesNoPaging', + 'summary' => 'Queries the information of all nodes in a specified cluster on one page.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodesNoPaging'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodesNoPaging', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListPreferredEcsTypes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '75798', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou-b', 'title' => ''], ], [ - 'name' => 'Jobs', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of jobs that you want to delete. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" - ."\n" - .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" - ."\n" - .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"Id": "0.sched****"},{"Id": "1.sched****"}]', - ], + 'schema' => ['description' => 'The bidding policy of the ECS 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 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 bidding price.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'default' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use an asynchronous link to delete the jobs.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The billing method of the ECS instances. Valid values:'."\n" + ."\n" + .'* PostPaid'."\n" + .'* PrePaid'."\n", 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'default' => 'PostPaid', 'title' => ''], ], ], 'responses' => [ @@ -17253,526 +10986,389 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'SupportSpotInstance' => ['description' => 'Indicates whether preemptible instances are supported.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'Series' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SeriesInfo' => [ + 'description' => 'The list of recommended ECS instances. Each SeriesInfo element contains the recommended ECS instance types for various nodes in the E-HPC cluster.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SeriesName' => ['description' => 'The name of the instance series. Valid values:'."\n" + ."\n" + .'* SeriesHighCompute'."\n" + .'* SeriesHighMem'."\n" + .'* SeriesGPU'."\n" + .'* SeriesAll'."\n", 'type' => 'string', 'example' => 'SeriesAll', 'title' => ''], + 'SeriesId' => ['description' => 'The ID of the ECS instance series. Valid values:'."\n" + ."\n" + .'* HighCompute: compute-optimized instance families'."\n" + .'* HighMem: memory-optimized instance families'."\n" + .'* GPU: GPU-accelerated instance families'."\n" + .'* All: all instance families'."\n", 'type' => 'string', 'example' => 'All', 'title' => ''], + 'Roles' => [ + 'description' => 'Recommended instance types for nodes in an E-HPC cluser.'."\n", + 'type' => 'object', + 'properties' => [ + 'Manager' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeId' => [ + 'description' => 'The list of recommended ECS instance types for management nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The list of recommended ECS instance types for management nodes.'."\n", 'type' => 'string', 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', 'title' => ''], + ], + ], + ], + 'Compute' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeId' => [ + 'description' => 'The list of recommended ECS instance types for compute nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The list of recommended ECS instance types for compute nodes.'."\n", 'type' => 'string', 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', 'title' => ''], + ], + ], + ], + 'Login' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeId' => [ + 'description' => 'The list of recommended ECS instance types for logon nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The list of recommended ECS instance types for logon nodes.'."\n", 'type' => 'string', 'example' => '[ "ecs.sn1ne.2xlarge", "ecs.sn1ne.4xlarge", "ecs.n1.tiny" ]', 'title' => ''], + ], + ], + ], + ], + 'title' => '', + ], + ], + 'description' => 'The list of recommended ECS instances. Each SeriesInfo element contains the recommended ECS instance types for various nodes in the E-HPC cluster.', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'UsernameExist', - 'errorMessage' => 'The username already exists.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 406 => [ - [ - 'errorCode' => 'AgentError.Job.DeleteFailure', - 'errorMessage' => 'Failed to delete job: %s', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobsResponse>","errorExample":""}]', - 'title' => 'DeleteJobs', - 'summary' => 'Deletes jobs from a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SupportSpotInstance\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Series\\": {\\n \\"SeriesInfo\\": [\\n {\\n \\"SeriesName\\": \\"SeriesAll\\",\\n \\"SeriesId\\": \\"All\\",\\n \\"Roles\\": {\\n \\"Manager\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n },\\n \\"Compute\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n },\\n \\"Login\\": {\\n \\"InstanceTypeId\\": [\\n \\"[ \\\\\\"ecs.sn1ne.2xlarge\\\\\\", \\\\\\"ecs.sn1ne.4xlarge\\\\\\", \\\\\\"ecs.n1.tiny\\\\\\" ]\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListPreferredEcsTypesResponse>\\n <SupportSpotInstance>true</SupportSpotInstance>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Series>\\n <SeriesName>SeriesAll</SeriesName>\\n <SeriesId>All</SeriesId>\\n <Roles>\\n <Manager>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Manager>\\n <Compute>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Compute>\\n <Login>[ \\"ecs.sn1ne.2xlarge\\", \\"ecs.sn1ne.4xlarge\\", \\"ecs.n1.tiny\\" ]</Login>\\n </Roles>\\n </Series>\\n</ListPreferredEcsTypesResponse>","errorExample":""}]', + 'title' => 'ListPreferredEcsTypes', + 'summary' => 'Queries the Elastic Compute Service (ECS) instance types recommended by Elastic High Performance Computing (E-HPC).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SubmitServerlessJob' => [ - 'summary' => 'Submits a serverless job to an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListPreferredEcsTypes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListQueues' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'JobName', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the serverless job.'."\n" - ."\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' => 'testjob', - ], + 'schema' => ['description' => 'Specifies whether to enable asynchronous query.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - [ - 'name' => 'ArrayProperties', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The configuration of the array job.'."\n" - ."\n" - .'> The value of an array job index is passed to a serverless job container through the environment variable `EHPC_ARRAY_TASK_ID`. Users can access the container from business programs.'."\n", 'type' => 'object', 'properties' => [ - 'IndexStart' => [ - 'description' => 'The starting value of the array job index. Valid values: 0 to 4999.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - 'IndexEnd' => [ - 'description' => 'The end value of the array job index. Valid values: 0 to 4999. The value must be greater than or equal to the value of IndexStart.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5', - ], - 'IndexStep' => [ - 'description' => 'The interval of the array job index.'."\n" - ."\n" - .'> If the array job property is IndexStart=1,IndexEnd=5, and IndexStep=2, the array job contains three subtasks. The values of the subtask indexes are 1,3, and 5.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C6E5005C-00B0-4F27-98BB-95AB88016C22', 'title' => ''], + 'Queues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'QueueInfo' => [ + 'description' => 'The queried cluster queues.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the queue.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of queue. Valid values:'."\n" + ."\n" + .'* Execution: Queues in which jobs can be executed.'."\n" + .'* Router: Queues in which jobs cannot be executed. The received jobs in the queues must be forwarded to the bound Execution queues for execution.'."\n", 'type' => 'string', 'example' => 'Execution', 'title' => ''], + 'HostNamePrefix' => ['description' => 'The prefix of the hostname.'."\n", 'type' => 'string', 'example' => 'compute', 'title' => ''], + 'QueueName' => ['description' => 'The name of the queue.'."\n", 'type' => 'string', 'example' => 'workq', 'title' => ''], + 'EnableAutoGrow' => ['description' => 'Indicates whether auto scale-out is enabled for the queue. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the queue belongs.'."\n", 'type' => 'string', 'example' => 'rg-acfmxp7uc24****', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image.'."\n", 'type' => 'string', 'example' => 'centos_7_06_64_20G_alibase_20****.vhd', 'title' => ''], + 'HostNameSuffix' => ['description' => 'The suffix of the hostname.'."\n", 'type' => 'string', 'example' => '01', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The instance is a preemptible instance for which you specify the 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', 'title' => ''], + 'SpotInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Instance' => [ + 'description' => 'The information about the preemptible instance.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the preemptible instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the preemptible instance.'."\n", 'type' => 'string', 'example' => 'ecs.n1.tiny', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the instance. The price can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.062', 'title' => ''], + ], + 'title' => '', + ], + ], + ], + ], + 'ComputeInstanceType' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + 'description' => 'The instance type of the compute nodes.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The instance type of compute node.'."\n", 'type' => 'string', 'example' => 'ecs.c7.xlarge', 'title' => ''], + ], + ], + ], + 'DeploymentSetId' => ['description' => 'The ID of the deployment set to which to deploy the instance. You can call the [DescribeDeploymentSets](~~91313~~) operation to query the deployment set ID. Only the deployment sets that use low latency policies are supported.'."\n", 'type' => 'string', 'example' => 'ds-bp1frxuzdg87zh4pzq****', 'title' => ''], + 'UseESS' => ['description' => 'Specifies whether to use scaling groups of Auto Scaling.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" + ."\n" + .'* Standard: The TCP communication mode is used.'."\n" + .'* HighPerformance: The Elastic RDMA Interface (ERI) is enabled and the remote direct memory access (RDMA) communication mode is used.'."\n", 'type' => 'string', 'example' => 'Standard', 'title' => ''], + ], + 'title' => '', + ], + ], + ], ], ], - 'required' => false, - ], - ], - [ - 'name' => 'JobPriority', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling priority of the serverless job. Valid values: 0 to 999. A greater value indicates a higher priority.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', + 'description' => '', + 'title' => '', ], ], - [ - 'name' => 'EphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space added to the serverless job container. Unit: GiB.'."\n" - ."\n" - .'> By default, a space of 30 GiB is provided free of charge. If you require a larger space, you can pass this parameter to specify your required space size.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the serverless job. After the validity period expires, the job is forcibly terminated. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3600', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the vSwitches to which the serverless job container belongs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n" - ."\n" - .'> E-HPC supports only virtual private cloud (VPC) networks. You can call the [DescribeVSwitches](~~35748~~) operation to query the created vSwitches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1gb5gf5546rn****', - ], - 'required' => false, - 'maxItems' => 10, - ], + 406 => [ + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], ], [ - 'name' => 'InstanceType', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The Elastic Compute Service (ECS) instance types used by the serverless job container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ECS instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g7.8xlarge', - ], - 'required' => false, - 'docRequired' => false, - 'maxItems' => 5, - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'Cpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The vCPU size of the serverless job container. Unit: cores.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'docRequired' => false, - 'example' => '2', - 'default' => '1.0', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size of the serverless job container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'docRequired' => false, - 'example' => '4', - 'default' => '2.0', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the ECS instances. 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, - 'docRequired' => false, - 'example' => 'SpotWithPriceLimit', - ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C6E5005C-00B0-4F27-98BB-95AB88016C22\\",\\n \\"Queues\\": {\\n \\"QueueInfo\\": [\\n {\\n \\"Type\\": \\"Execution\\",\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"QueueName\\": \\"workq\\",\\n \\"EnableAutoGrow\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmxp7uc24****\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20****.vhd\\",\\n \\"HostNameSuffix\\": \\"01\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotInstanceTypes\\": {\\n \\"Instance\\": [\\n {\\n \\"InstanceType\\": \\"ecs.n1.tiny\\",\\n \\"SpotPriceLimit\\": 0.062\\n }\\n ]\\n },\\n \\"ComputeInstanceType\\": {\\n \\"InstanceType\\": [\\n \\"ecs.c7.xlarge\\"\\n ]\\n },\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4pzq****\\",\\n \\"UseESS\\": false,\\n \\"NetworkInterfaceTrafficMode\\": \\"Standard\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListQueuesResponse>\\n <RequestId>C6E5005C-00B0-4F27-98BB-95AB88016C22</RequestId>\\n <Queues>\\n <QueueInfo>\\n <HostNameSuffix>01</HostNameSuffix>\\n <EnableAutoGrow>false</EnableAutoGrow>\\n <SpotInstanceTypes>\\n </SpotInstanceTypes>\\n <ImageId>centos_7_06_64_20G_alibase_20****.vhd</ImageId>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <QueueName>workq</QueueName>\\n <ResourceGroupId>rg-acfmxp7uc24****</ResourceGroupId>\\n <SpotStrategy>SpotWithPriceLimit</SpotStrategy>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <Type>Execution</Type>\\n <ComputeInstanceType>\\n <InstanceType>ecs.n1.small</InstanceType>\\n </ComputeInstanceType>\\n </QueueInfo>\\n </Queues>\\n</ListQueuesResponse>","errorExample":""}]', + 'title' => 'ListQueues', + 'summary' => 'Queries the queues of a specified cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListQueues'], ], + ], + 'ramActions' => [ [ - '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.062', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListRegions' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RamRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Resource Access Manamement (RAM) role that is associated with the Serverless job container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testRamRoleName', - ], + 'AK' => [], ], - [ - 'name' => 'Container', - 'in' => 'query', - 'style' => 'json', + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The properties of the Serverless job container.'."\n", 'type' => 'object', 'properties' => [ - 'EnvironmentVar' => [ - 'description' => 'The value of the environment variable for 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 for the container. The name can be 1 to 128 characters in length and can contain letters, digits, and underscores (\\_). The name cannot start with a digit. Specify the name in the \\[0-9a-zA-Z] format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable for the container. The value must be 0 to 256 bits in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/'."\n", - ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/ehpc/hpl:latest'."\n", - ], - 'Command' => [ - 'description' => 'The container startup commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'python3', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'Arg' => [ - 'description' => 'The arguments of the container startup command. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup argument.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello.py', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Gpu' => [ - 'description' => 'The number of GPUs used by the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'VolumeMount' => [ - 'description' => 'The data volumes that are mounted to the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data volumes mounted to the container.', - 'type' => 'object', - 'properties' => [ - '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. Exercise caution when you specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/data', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The driver type when you use the FlexVolume plug-in to mount a volume. Valid values:'."\n" - ."\n" - .'* alicloud/nas: a NAS driver.'."\n" - .'* alicloud/oss: an OSS driver.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'alicloud/oss', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"bucket":"hpctest","url": "oss-cn-hangzhou-internal.aliyuncs.com'."\n" - .'","path":"/data","ramRole":"AliyunECSInstanceForEHPCRole"}', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionInfo' => [ + 'description' => 'The list of regions.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => 'The array of regions.', + 'type' => 'object', + 'properties' => [ + 'LocalName' => ['description' => 'The name of the region.'."\n", 'type' => 'string', 'example' => 'China East 1 (Hangzhou)', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'title' => '', ], ], - 'required' => false, ], - 'required' => false, ], ], - 'required' => true, + 'description' => '', + 'title' => '', ], ], + ], + 'errorCodes' => [ + 406 => [ + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], [ - 'name' => 'DependsOn', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The dependencies of the serverless job.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The serverless job dependencies.', - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the dependent job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - 'Type' => [ - 'description' => 'The dependency type. Valid values:'."\n" - ."\n" - .'* AfterSucceeded: **All subtasks** of the dependent job or array job succeed. The exit code is 0.'."\n" - .'* AfterFailed: **All subtasks** of the dependent job or array job fail. The exit code is not 0.'."\n" - .'* AfterAny: The dependent job completes (succeeds or fails).'."\n" - .'* AfterCorresponding: The subtask corresponding to the dependent array job succeeds. The exit code is 0.'."\n" - ."\n" - .'Default value: AfterSucceeded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AfterAny', - ], - ], - 'required' => false, + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Regions\\": {\\n \\"RegionInfo\\": [\\n {\\n \\"LocalName\\": \\"China East 1 (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'ListRegions', + 'summary' => 'Queries a list of regions where Elastic High Performance Computing (E-HPC) is supported.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRegions'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListRegions', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 10, - 'minItems' => 1, ], ], + ], + ], + 'ListSecurityGroups' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'RetryStrategy', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The retry policy of the serverless job.'."\n", - 'type' => 'object', - 'properties' => [ - 'Attempts' => [ - 'description' => 'The number of retries for the serverless job. Valid values: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '5', - ], - 'EvaluateOnExit' => [ - 'description' => 'The retry rules for the serverless job. You can specify up to 10 rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Action' => [ - 'description' => 'The job action. Valid values:'."\n" - ."\n" - .'* Retry: The job starts a retry when a specific exit code is hit.'."\n" - .'* Exit: The job exits when a specific exit code is hit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Retry', - ], - 'OnExitCode' => [ - 'description' => 'The job exit code, which is used together with Action to form a job retry rule. Valid values: 0 to 255.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -17780,169 +11376,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the serverless job.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'TotalCount' => ['description' => 'The total number of security groups that are assigned to the E-HPC cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6D9A3378-61CA-4415-BEB0-1168C2A15975', 'title' => ''], + 'SecurityGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroup' => [ + 'description' => 'The security group ID.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group to which the instances belong.'."\n", 'type' => 'string', 'example' => '["sg-bp13n61xsydodfyg****"]', 'title' => ''], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - [ - 'errorCode' => 'ServiceAPIError', - 'errorMessage' => 'Failed to call the operation. Cause:%s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'ECS api request error', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'Aliyun api service error', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"6D9A3378-61CA-4415-BEB0-1168C2A15975\\",\\n \\"SecurityGroups\\": {\\n \\"SecurityGroup\\": [\\n \\"[\\\\\\"sg-bp13n61xsydodfyg****\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListSecurityGroupsResponse>\\n <SecurityGroups>\\n <SecurityGroup>sg-bp13n61xsydodfyg****</SecurityGroup>\\n </SecurityGroups>\\n <TotalCount>1</TotalCount>\\n <RequestId>6D9A3378-61CA-4415-BEB0-1168C2A15975</RequestId>\\n</ListSecurityGroupsResponse>","errorExample":""}]', + 'title' => 'ListSecurityGroups', + 'summary' => 'Queries the security groups that are assigned to an E-HPC cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListSecurityGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"10\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'SubmitServerlessJob', ], 'ListServerlessJobs' => [ - 'summary' => 'Queries the list of serverless jobs based on filter conditions.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID. You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID. You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 100. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 100. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'JobIds', @@ -17951,14 +11479,10 @@ 'schema' => [ 'description' => 'The list of serverless job IDs or subtask IDs (array jobs).'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the serverless job or subtask (array job).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5,10_1', - ], + 'items' => ['description' => 'The ID of the serverless job or subtask (array job).'."\n", 'type' => 'string', 'required' => false, 'example' => '5,10_1', 'title' => ''], 'required' => false, 'maxItems' => 10, + 'title' => '', ], ], [ @@ -17968,14 +11492,10 @@ 'schema' => [ 'description' => 'The names of the serverless jobs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The name of the serverless job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testjob', - ], + 'items' => ['description' => 'The name of the serverless job.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testjob', 'title' => ''], 'required' => false, 'maxItems' => 10, + 'title' => '', ], ], [ @@ -17995,14 +11515,8 @@ 'type' => 'string', 'required' => false, 'example' => 'Running', - 'enum' => [ - 'Pending', - 'Running', - 'Canceled', - 'Failed', - 'All', - 'Succeeded', - ], + 'enum' => ['Pending', 'Running', 'Canceled', 'Failed', 'All', 'Succeeded'], + 'title' => '', ], ], [ @@ -18016,10 +11530,8 @@ 'type' => 'string', 'required' => false, 'example' => 'Asc', - 'enum' => [ - 'Desc', - 'Asc', - ], + 'enum' => ['Desc', 'Asc'], + 'title' => '', ], ], [ @@ -18033,35 +11545,23 @@ 'type' => 'string', 'required' => false, 'example' => 'asc', - 'enum' => [ - 'Desc', - 'Asc', - ], + 'enum' => ['Desc', 'Asc'], + 'title' => '', ], ], [ 'name' => 'SubmitTimeStart', 'in' => 'query', - 'schema' => [ - 'description' => 'The earliest time at which the job is submitted.'."\n" - ."\n" - .'> You can use this parameter to query the job list based on the job submission time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1647427667', - ], + 'schema' => ['description' => 'The earliest time at which the job is submitted.'."\n" + ."\n" + .'> You can use this parameter to query the job list based on the job submission time.'."\n", 'type' => 'string', 'required' => false, 'example' => '1647427667', 'title' => ''], ], [ 'name' => 'SubmitTimeEnd', 'in' => 'query', - 'schema' => [ - 'description' => 'The latest time at which the job is submitted.'."\n" - ."\n" - .'> You can use this parameter to query the job list based on the job submission time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1659521430', - ], + 'schema' => ['description' => 'The latest time at which the job is submitted.'."\n" + ."\n" + .'> You can use this parameter to query the job list based on the job submission time.'."\n", 'type' => 'string', 'required' => false, 'example' => '1659521430', 'title' => ''], ], ], 'responses' => [ @@ -18071,33 +11571,10 @@ 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageSize' => [ - 'title' => 'PageSize', - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'PageNumber' => [ - 'title' => 'PageNumber', - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'PageSize' => ['title' => 'PageSize', 'description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'PageNumber' => ['title' => 'PageNumber', 'description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'Jobs' => [ 'title' => 'Jobs', 'description' => 'The list of serverless jobs.'."\n", @@ -18105,68 +11582,29 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the serverless job or the subtask (array job).'."\n", - 'type' => 'string', - 'example' => '5', - ], - 'JobName' => [ - 'description' => 'The name of the serverless job.'."\n", - 'type' => 'string', - 'example' => 'testjob', - ], - 'State' => [ - 'description' => 'The status of the serverless job. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Initing'."\n" - .'* Running'."\n" - .'* Succeeded'."\n" - .'* Canceled'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Priority' => [ - 'description' => 'The scheduling priority of the serverless job. Valid values are 0 to 999. A greater value indicates a higher priority.'."\n", - 'type' => 'string', - 'example' => '9', - ], - 'Queue' => [ - 'description' => 'The name of the queue in which the serverless job is run.'."\n", - 'type' => 'string', - 'example' => 'comp', - ], - 'User' => [ - 'description' => 'The username that is used to run the serverless job.'."\n", - 'type' => 'string', - 'example' => 'testuser', - ], - 'SubmitTime' => [ - 'description' => 'The time at which the serverless job is submitted.'."\n", - 'type' => 'string', - 'example' => '1647423718', - ], - 'StartTime' => [ - 'description' => 'The time at which the serverless job started.'."\n", - 'type' => 'string', - 'example' => '1647427667', - ], - 'EndTime' => [ - 'description' => 'The time at which the serverless job ended.'."\n", - 'type' => 'string', - 'example' => '1682128871', - ], - 'IsArrayJob' => [ - 'description' => 'Indicates whether the job is an array job. Valid values:'."\n" - ."\n" - .'* True: yes'."\n" - .'* False: no'."\n", - 'type' => 'boolean', - 'example' => 'True', - ], + 'JobId' => ['description' => 'The ID of the serverless job or the subtask (array job).'."\n", 'type' => 'string', 'example' => '5', 'title' => ''], + 'JobName' => ['description' => 'The name of the serverless job.'."\n", 'type' => 'string', 'example' => 'testjob', 'title' => ''], + 'State' => ['description' => 'The status of the serverless job. Valid values:'."\n" + ."\n" + .'* Pending'."\n" + .'* Initing'."\n" + .'* Running'."\n" + .'* Succeeded'."\n" + .'* Canceled'."\n" + .'* Failed'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'Priority' => ['description' => 'The scheduling priority of the serverless job. Valid values are 0 to 999. A greater value indicates a higher priority.'."\n", 'type' => 'string', 'example' => '9', 'title' => ''], + 'Queue' => ['description' => 'The name of the queue in which the serverless job is run.'."\n", 'type' => 'string', 'example' => 'comp', 'title' => ''], + 'User' => ['description' => 'The username that is used to run the serverless job.'."\n", 'type' => 'string', 'example' => 'testuser', 'title' => ''], + 'SubmitTime' => ['description' => 'The time at which the serverless job is submitted.'."\n", 'type' => 'string', 'example' => '1647423718', 'title' => ''], + 'StartTime' => ['description' => 'The time at which the serverless job started.'."\n", 'type' => 'string', 'example' => '1647427667', 'title' => ''], + 'EndTime' => ['description' => 'The time at which the serverless job ended.'."\n", 'type' => 'string', 'example' => '1682128871', 'title' => ''], + 'IsArrayJob' => ['description' => 'Indicates whether the job is an array job. Valid values:'."\n" + ."\n" + .'* True: yes'."\n" + .'* False: no'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], 'description' => 'The list of serverless jobs.', + 'title' => '', ], ], ], @@ -18175,79 +11613,56 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"5\\",\\n \\"JobName\\": \\"testjob\\",\\n \\"State\\": \\"Running\\",\\n \\"Priority\\": \\"9\\",\\n \\"Queue\\": \\"comp\\",\\n \\"User\\": \\"testuser\\",\\n \\"SubmitTime\\": \\"1647423718\\",\\n \\"StartTime\\": \\"1647427667\\",\\n \\"EndTime\\": \\"1682128871\\",\\n \\"IsArrayJob\\": true\\n }\\n ]\\n}","type":"json"}]', 'title' => 'ListServerlessJobs', - ], - 'DescribeServerlessJobs' => [ - 'summary' => 'Queries the details of a serverless job by job ID or subtask ID (array job). You can specify only a single job ID or a single subtask ID at a time.', - 'methods' => [ - 'get', - 'post', + 'summary' => 'Queries the list of serverless jobs based on filter conditions.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerlessJobs'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListSoftwares' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18255,47 +11670,21 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'EhpcVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The version of the E-HPC client.'."\n" + ."\n" + .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the E-HPC client version.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ - 'name' => 'JobIds', + 'name' => 'OsTag', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The list of serverless job IDs or the subtask IDs (array jobs).'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If the serverless job is an array job, you can specify only the subtask ID. Specify the subtask ID in the format of \\<array job ID>\\_< subtask index>. For example, 10\\_3 indicates the subtask whose index is 3 in the array job whose ID is 10.'."\n" - ."\n" - .'* You can specify only a single ID in one request.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the serverless job or the subtask (array job).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5', - ], - 'required' => true, - 'maxItems' => 1, - 'minItems' => 1, - ], + 'schema' => ['description' => 'The image tag of the cluster.'."\n" + ."\n" + .'You can use the [ListImages](~~87213~~) to query the image tag of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], ], ], 'responses' => [ @@ -18303,1494 +11692,173 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'JobInfos' => [ - 'description' => 'The list of detailed information about the serverless job.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The ID of the serverless job or the subtask (array job).'."\n", - 'type' => 'string', - 'example' => '5', - ], - 'JobName' => [ - 'description' => 'The name of the serverless job.'."\n", - 'type' => 'string', - 'example' => 'testjob', - ], - 'State' => [ - 'description' => 'The status of the serverless job. Valid values:'."\n" - ."\n" - .'* Pending'."\n" - .'* Initing'."\n" - .'* Running'."\n" - .'* Succeeded'."\n" - .'* Canceled'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'Priority' => [ - 'description' => 'The scheduling priority of the serverless job.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'Queue' => [ - 'description' => 'The name of the queue in which the serverless job is run.'."\n", - 'type' => 'string', - 'example' => 'comp', - ], - 'User' => [ - 'description' => 'The username that is used to run the serverless job.'."\n", - 'type' => 'string', - 'example' => 'testuser', - ], - 'SubmitTime' => [ - 'description' => 'The time when the serverless job is submitted.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1647423718', - ], - 'StartTime' => [ - 'description' => 'The time when the serverless job started.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1647427667', - ], - 'EndTime' => [ - 'description' => 'The time when the serverless job ended.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1662016121', - ], - 'LastModifyTime' => [ - 'description' => 'The time when the serverless job is last modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1663831441000', - ], - 'IsArrayJob' => [ - 'description' => 'Indicates whether the job is an array job.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ArrayProperties' => [ - 'description' => 'The properties of the array job.'."\n", + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'Softwares' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SoftwareInfo' => [ + 'description' => 'The list of the information about the software installed in the cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ 'type' => 'object', 'properties' => [ - 'IndexStart' => [ - 'description' => 'The starting value of the array job index.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'IndexEnd' => [ - 'description' => 'The end value of the array job index.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'IndexStep' => [ - 'description' => 'The interval of the array job index.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - ], - ], - 'ContainerGroups' => [ - 'description' => 'The information of the container groups that are used to run the serverless job.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ContainerGroupId' => [ - 'description' => 'The ID of the container group.'."\n", - 'type' => 'string', - 'example' => 'eci-bp1jrgfqqy54kg5hc****', - ], - 'ContainerGroupName' => [ - 'description' => 'The name of the container group.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - '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 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', - 'example' => 'Running', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the Elastic Compute Service (ECS) instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.g5.large', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy of the instance. 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 bidding price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the preemptible instance.'."\n" - ."\n" - .'This parameter is returned only if you set the SpotStrategy parameter to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size of the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4.0', - ], - 'Containers' => [ - 'description' => 'The list of containers in the container group.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Args' => [ - 'description' => 'The startup parameter of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup parameter of the container.'."\n", - 'type' => 'string', - 'example' => 'hello.py', - ], - ], - 'Commands' => [ - 'description' => 'The startup command of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup command of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/python', - ], - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'CurrentState' => [ - 'description' => 'The current status of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z'."\n", - ], - 'Message' => [ - 'description' => 'The information about the container status.'."\n", - 'type' => 'string', - 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)'."\n", - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this state.'."\n", - 'type' => 'string', - 'example' => 'Started'."\n", - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2019-12-19T12:05:02Z'."\n", - ], - 'State' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* Waiting'."\n" - .'* Running'."\n" - .'* Terminated'."\n", - 'type' => 'string', - 'example' => 'Terminated'."\n", - ], - ], - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH'."\n", - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/'."\n", - ], - 'ValueFrom' => [ - 'description' => 'The source of the environment variable value. This parameter can be used only when the variable value is not specified.'."\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', - ], - ], - ], - ], - ], - ], - ], - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'HPL', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy 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', - 'example' => 'Always', - ], - 'LivenessProbe' => [ - 'description' => 'The liveness probe of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Execs' => [ - 'description' => 'The commands that are run.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c", "echo Hello world > /usr/share/message"]'."\n", - ], - ], - 'FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the probe to be considered as failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'HttpGet' => [ - 'description' => 'The HTTP GET method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The path to which HTTP GET requests are sent.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/'."\n", - ], - 'Port' => [ - 'description' => 'The port to which HTTP GET requests are sent.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '80', - ], - 'Scheme' => [ - 'description' => 'The protocol type of the HTTP GET requests.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - ], - ], - 'InitialDelaySeconds' => [ - 'description' => 'The number of seconds after the container is started and before a liveness probe is initiated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'PeriodSeconds' => [ - 'description' => 'The interval at which the probe is run. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - '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' => 'int64', - 'example' => '1', - ], - 'TcpSocket' => [ - 'description' => 'The TCP socket method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Host' => [ - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'example' => '1.2.3.4'."\n", - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '80', - ], - ], - ], - 'TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], - ], - 'Memory' => [ - 'description' => 'The memory size of the instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4.0', - ], - 'Name' => [ - 'description' => 'The container name.'."\n", - 'type' => 'string', - 'example' => 'HPL', - ], - 'Ports' => [ - 'description' => 'The exposed ports and protocols of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8080', - ], - 'Protocol' => [ - 'description' => 'The protocol.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - 'description' => 'The exposed ports and protocols of the container.', - ], - ], - 'PreviousState' => [ - 'description' => 'The previous status of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'Message' => [ - 'description' => 'The message about the container status.'."\n", - 'type' => 'string', - 'example' => 'Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this state.'."\n", - 'type' => 'string', - 'example' => 'Completed', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'State' => [ - 'description' => 'The status of the container. Valid values:'."\n" - ."\n" - .'* Waiting: The container is being started.'."\n" - .'* Running: The container is running.'."\n" - .'* Terminated: The container terminates running.'."\n", - 'type' => 'string', - 'example' => 'Terminated', - ], - ], - ], - 'ReadinessProbe' => [ - 'description' => 'The readiness probe that is used to check whether the container is ready to serve a request.'."\n", - 'type' => 'object', - 'properties' => [ - 'Execs' => [ - 'description' => 'The commands that are run in the container when you use the command line interface (CLI) to perform health checks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use CLI to perform health checks.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' "/bin/sh",'."\n" - .' "-c",'."\n" - .' "echo Hello world > /usr/share/message"'."\n" - .']', - ], - ], - 'FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for the check to be considered as failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'HttpGet' => [ - 'description' => 'The HTTP GET method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The path to which HTTP GET requests are sent.'."\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' => 'int64', - 'example' => '8080', - ], - 'Scheme' => [ - 'description' => 'The protocol type of the HTTP GET requests.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - ], - ], - 'InitialDelaySeconds' => [ - 'description' => 'The number of seconds after the container is started and before a liveness probe is initiated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'PeriodSeconds' => [ - 'description' => 'The interval at which the container is checked. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for a failed liveness probe to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'TcpSocket' => [ - 'description' => 'The TCP socket method that is used to check the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Host' => [ - 'description' => 'The IP address of the host.'."\n", - 'type' => 'string', - 'example' => '1.2.3.4', - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8888', - ], - ], - ], - 'TimeoutSeconds' => [ - 'description' => 'The timeout period of the check. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'Ready' => [ - 'description' => 'Indicates whether the container passed the readiness probe.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RestartCount' => [ - 'description' => 'The number of times that the instance worker restarted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SecurityContext' => [ - 'description' => 'The security context of the container.'."\n", - 'type' => 'object', - 'properties' => [ - '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 permissions specific to the processes in the container.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - ], - ], - 'ReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system is set to the read-only mode. The only valid value is true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RunAsUser' => [ - 'description' => 'The user ID (UID) that is used to run the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1558', - ], - ], - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container runs. 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', - ], - 'StdinOnce' => [ - 'description' => 'Indicates whether the container runtime closes the stdin channel after the stdin channel has been opened by a single attach session. If stdin is true, the stdin stream remains open across multiple attach sessions. If StdinOnce is set to true, stdin is opened on container start, but remains empty until the first client attaches to stdin, and then remains open and receives data until the client disconnects. When the client disconnects, stdin is closed and remains closed until the container is restarted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - '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 must be set to true.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'VolumeMounts' => [ - 'description' => 'Information about the mounted volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows you to share volumes that are mounted on a container with other containers in the same pod or other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to the volume or the subdirectories of the volume.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to the volume or the subdirectories of the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to the volume or the subdirectories of the volume. All volume mounts that are mounted by the container are propagated back to the instance and all containers of all pods that use the same volume.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'ReadOnly' => [ - 'description' => 'Indicates whether the volumes are read-only.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. This parameter specifies different subdirectories of the same volume that the instance can mount to different subdirectories of containers.'."\n", - 'type' => 'string', - 'example' => '/usr/sub', - ], - ], - ], - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - ], - 'description' => 'The list of containers in the container group.', - ], - ], - 'Volumes' => [ - 'description' => 'The information about volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about volumes.', - 'type' => 'object', - 'properties' => [ - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The paths to configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The paths to configuration files.', - 'type' => 'object', - 'properties' => [ - 'Content' => [ - 'description' => 'The content of the configuration file. Maximum size: 32 KB.'."\n", - 'type' => 'string', - 'example' => 'hello world', - ], - 'Path' => [ - 'description' => 'The relative path to the configuration file.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - ], - ], - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The ID of the disk volume if you set Type to DiskVolume.'."\n", - 'type' => 'string', - 'example' => 'd-xxxx', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The type of the volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage media for the emptyDir volume. This parameter is empty by default, which indicates that the node file system is used as the storage media. Valid values:'."\n" - ."\n" - .'* Memory: uses memory as the storage media.'."\n" - .'* LocalRaid0: forms local disks 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. If you specify this parameter, include the unit in the value. We recommend that you use Gi or Mi.'."\n", - 'type' => 'string', - 'example' => '256Mi', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the driver when you set the Type parameter to FlexVolume.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'FlexVolumeFsType' => [ - 'description' => 'The file system type when you set the Type parameter to FlexVolume. The default value is determined by the script of the FlexVolume plug-in.'."\n", - 'type' => 'string', - 'example' => 'ntfs', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The FlexVolume options.'."\n", - 'type' => 'string', - 'example' => '[nolock,tcp,noresvport]', - ], - 'NFSVolumePath' => [ - 'description' => 'The path of the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'example' => '/eci', - ], - 'NFSVolumeReadOnly' => [ - 'description' => 'Indicates whether the NFS volume is read-only.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'NFSVolumeServer' => [ - 'description' => 'The endpoint of the server if you set Type to NFSVolume.'."\n", - 'type' => 'string', - 'example' => '0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'Type' => [ - 'description' => 'The type of the volume. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - ], - ], - ], - 'Events' => [ - 'description' => 'The event information. Up to 50 events can be returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The event information. Up to 50 events can be returned.', - 'type' => 'object', - 'properties' => [ - 'Count' => [ - 'description' => 'The number of the events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'FirstTimestamp' => [ - 'description' => 'The time when the event started.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'LastTimestamp' => [ - 'description' => 'The time when the event ended.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z'."\n", - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Started container', - ], - 'Name' => [ - 'description' => 'The name of the category to which the event belongs.'."\n", - 'type' => 'string', - 'example' => 'test-xxx', - ], - 'Reason' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'example' => 'Created', - ], - 'Type' => [ - 'description' => 'The type of the event. Valid values:'."\n" + 'SchedulerType' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* pbs19'."\n" + .'* slurm'."\n" + .'* slurm19'."\n" + .'* slurm20'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n" + .'* gridengine'."\n" + .'* cube'."\n" + .'* custom'."\n", 'type' => 'string', 'example' => 'pbs', 'title' => ''], + 'OsTag' => ['description' => 'The image tag of the cluster.'."\n", 'type' => 'string', 'example' => 'CentOS_7.2_64', 'title' => ''], + 'SchedulerVersion' => ['description' => 'The version of the scheduler.'."\n", 'type' => 'string', 'example' => '18.1.1', 'title' => ''], + 'AccountVersion' => ['description' => 'The version of the domain account service.'."\n", 'type' => 'string', 'example' => '2.31', 'title' => ''], + 'AccountType' => ['description' => 'The service type of the domain account. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n", 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'EhpcVersion' => ['description' => 'The version of the E-HPC client.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'Applications' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ApplicationInfo' => [ + 'description' => 'The list of the software in the cluster.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Required' => ['description' => 'Indicates whether the software is required. Valid values:'."\n" ."\n" - .'* Normal'."\n" - .'* Warning'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - ], - ], - ], - 'CreationTime' => [ - 'description' => 'The time when the instance is created. The time follows the RFC 3339 standard and must be in UTC.'."\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 and must be in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-12-11T04:33:42Z', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the instance failed to run due to overdue payments. The time follows the RFC 3339 standard and must be in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'FailedTime' => [ - 'description' => 'The time when the instance failed to run. The time follows the RFC 3339 standard and must be in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'Discount' => [ - 'description' => 'The discount.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'DnsConfig' => [ - 'description' => 'The Domain Name System (DNS) settings.'."\n", - 'type' => 'object', - 'properties' => [ - '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.*.*]', - ], - ], - '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.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - 'Searches' => [ - 'description' => 'The search domains of the DNS server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'example' => 'svc.local.kubenetes', - ], - ], - ], - ], - 'EciSecurityContext' => [ - 'description' => 'The security context of the container group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Sysctls' => [ - 'description' => 'The Sysctl parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the Sysctl parameter.'."\n", - 'type' => 'string', - 'example' => 'kernel.msgmax', - ], - 'Value' => [ - 'description' => 'The value of the Sysctl parameter.'."\n", - 'type' => 'string', - 'example' => '65536', - ], - ], - ], - ], - ], - ], - 'EniInstanceId' => [ - 'description' => 'The ID of the elastic network interface (ENI).'."\n", - 'type' => 'string', - 'example' => 'eni-bp14rzqi6fd8satm****', - ], - 'EphemeralStorage' => [ - 'description' => 'The size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'HostAliases' => [ - 'description' => 'The hostname mapping of a container in the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname mapping of a container in the elastic container instance.', - 'type' => 'object', - 'properties' => [ - 'Hostnames' => [ - 'description' => 'The information about the host.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - ], - 'Ip' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - ], - ], - ], - 'InitContainers' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.', - 'type' => 'object', - 'properties' => [ - 'Args' => [ - 'description' => 'The startup parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup parameter.'."\n", - 'type' => 'string', - 'example' => '[\'hello world\']', - ], - ], - 'Command' => [ - 'description' => 'The startup command.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup command.'."\n", - 'type' => 'string', - 'example' => '[/bin/sh echo]', - ], - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1.0', - ], - 'CurrentState' => [ - 'description' => 'The current status of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'Message' => [ - 'description' => 'The message about the event.'."\n", - 'type' => 'string', - 'example' => 'Created container', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this state.'."\n", - 'type' => 'string', - 'example' => 'Started', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2018-08-02T15:00:00Z', - ], - 'State' => [ - 'description' => 'The status of the container. Valid values:'."\n" - ."\n" - .'* Waiting'."\n" - .'* Running'."\n" - .'* Terminated'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - '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 can be used only when the variable value is not specified.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldRef' => [ - 'description' => 'The specified field.'."\n", - 'type' => 'object', - 'properties' => [ - 'FieldPath' => [ - 'description' => 'The path of the field in the specified version. Set the value to `status.podIP`.'."\n", - 'type' => 'string', - 'example' => 'status.podIP', - ], - ], - ], - ], - ], - ], - ], - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Image' => [ - 'description' => 'The image.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy to pull images.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'Memory' => [ - 'description' => 'The size of memory that is allocated to the init container. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The container name.'."\n", - 'type' => 'string', - 'example' => 'Init-xxx', - ], - 'Ports' => [ - 'description' => 'The exposed ports and protocols of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The exposed ports and protocols of the container.', - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8888', - ], - 'Protocol' => [ - 'description' => 'The protocol.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - ], - ], - 'PreviousState' => [ - 'description' => 'The previous status of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'DetailStatus' => [ - 'description' => 'The details of the container status.'."\n", - 'type' => 'string', - 'example' => 'working', - ], - 'ExitCode' => [ - 'description' => 'The exit code of the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FinishTime' => [ - 'description' => 'The time when the container stopped running.'."\n", - 'type' => 'string', - 'example' => '2019-12-24T05:35:44Z', - ], - 'Message' => [ - 'description' => 'The message about the container status.'."\n", - 'type' => 'string', - 'example' => 'Started container', - ], - 'Reason' => [ - 'description' => 'The reason why the container is in this state.'."\n", - 'type' => 'string', - 'example' => 'completed', - ], - 'Signal' => [ - 'description' => 'The code of the container status.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'StartTime' => [ - 'description' => 'The time when the container started to run.'."\n", - 'type' => 'string', - 'example' => '2019-12-24T05:35:44Z', - ], - 'State' => [ - 'description' => 'The status of the container. Valid values: Waiting, Running, and Terminated.'."\n", - 'type' => 'string', - 'example' => 'Terminated', - ], - ], - ], - 'Ready' => [ - 'description' => 'Indicates whether the container passed the readiness probe.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RestartCount' => [ - 'description' => 'The number of times that the instance worker restarted.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'SecurityContext' => [ - 'description' => 'The security context of the container.'."\n", - 'type' => 'object', - 'properties' => [ - '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 permissions specific to the processes in the container.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - ], - ], - 'ReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system is set to the read-only mode. The only valid value is true.'."\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', - ], - ], - ], - '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.', - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation allows you to share volumes that are mounted on a container with other containers in the same pod or other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to the volume or the subdirectories of the volume.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to the volume or the subdirectories of the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to the volume or the subdirectories of the volume. All volume mounts that are mounted by the container are propagated back to the instance and all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'Name' => [ - 'description' => 'The name of the volume. The name is the same as the volume you selected when you purchased the container.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'ReadOnly' => [ - 'description' => 'Default value: False.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'example' => '/usr/test', - ], - ], - ], - ], - 'InternetIp' => [ - 'description' => 'The public IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'IntranetIp' => [ - 'description' => 'The private IP address.'."\n", - 'type' => 'string', - 'example' => '172.16.XX.XX', - ], - 'Ipv6Address' => [ - 'description' => 'The IPv6 address.'."\n", - 'type' => 'string', - 'example' => '2001:XXXX:4:4:4:4:4:4', - ], - 'RamRoleName' => [ - 'description' => 'The name of the instance RAM role. You can use an instance RAM role to access both elastic container instances and ECS instances. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole', - ], - 'RegionId' => [ - 'description' => 'The ID of the region in which the instance resides.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the cluster belongs. If you do not specify a resource group when you create an elastic container instance, the system automatically adds the instance to the default resource group in your account.'."\n", - 'type' => 'string', - 'example' => 'rg-aekzh43v*****', - ], - 'RestartPolicy' => [ - 'description' => 'The instance restart policy. 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 when the last start failed.'."\n", - 'type' => 'string', - 'example' => 'Never', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-bp12ujq5zpxuyjfo3o8r', - ], - 'Tags' => [ - 'description' => 'The tags of the instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags of the instances.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'test-xh', + .'* false: optional'."\n" + .'* true: required'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Tag' => ['description' => 'The tag of the software.'."\n", 'type' => 'string', 'example' => 'CUDNN_9.0', 'title' => ''], + 'Name' => ['description' => 'The name of the software.'."\n", 'type' => 'string', 'example' => 'cudnnt', 'title' => ''], + 'Version' => ['description' => 'The version of the software.'."\n", 'type' => 'string', 'example' => '9.0', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], - 'TenantEniInstanceId' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'i-xxx', - ], - 'TenantEniIp' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => '10.10.XX.XX', - ], - 'TenantSecurityGroupId' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'sg-xxx', - ], - 'TenantVSwitchId' => [ - 'description' => 'This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'vsw-xxx', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1vzjjflab6wvjox****', - ], - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) to which the elastic container instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-1vzjjflab6wvjox****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone in which the elastic container instance is deployed.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-h', - ], ], - 'description' => 'The information of the container groups that are used to run the serverless job.', ], + 'description' => '', + 'title' => '', ], ], - 'description' => 'The list of detailed information about the serverless job.', ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Softwares\\": {\\n \\"SoftwareInfo\\": [\\n {\\n \\"SchedulerType\\": \\"pbs\\",\\n \\"OsTag\\": \\"CentOS_7.2_64\\",\\n \\"SchedulerVersion\\": \\"18.1.1\\",\\n \\"AccountVersion\\": \\"2.31\\",\\n \\"AccountType\\": \\"nis\\",\\n \\"EhpcVersion\\": \\"1.0.0\\",\\n \\"Applications\\": {\\n \\"ApplicationInfo\\": [\\n {\\n \\"Required\\": true,\\n \\"Tag\\": \\"CUDNN_9.0\\",\\n \\"Name\\": \\"cudnnt\\",\\n \\"Version\\": \\"9.0\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListSoftwaresResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <Softwares>\\n <SchedulerType>pbs</SchedulerType>\\n <OsTag>CentOS_7.2_64</OsTag>\\n <SchedulerVersion>18.1.1</SchedulerVersion>\\n <AccountVersion>2.31</AccountVersion>\\n <AccountType>nis</AccountType>\\n <EhpcVersion>1.0.0</EhpcVersion>\\n <Applications>\\n <Required>true</Required>\\n <Tag>CUDNN_9.0</Tag>\\n <Name>cudnnt</Name>\\n <Version>9.0</Version>\\n </Applications>\\n </Softwares>\\n</ListSoftwaresResponse>","errorExample":""}]', + 'title' => 'ListSoftwares', + 'summary' => 'Queries the list of software that can be installed in a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListSoftwares', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"JobInfos\\": [\\n {\\n \\"JobId\\": \\"5\\",\\n \\"JobName\\": \\"testjob\\",\\n \\"State\\": \\"Running\\",\\n \\"Priority\\": 9,\\n \\"Queue\\": \\"comp\\",\\n \\"User\\": \\"testuser\\",\\n \\"SubmitTime\\": 1647423718,\\n \\"StartTime\\": 1647427667,\\n \\"EndTime\\": 1662016121,\\n \\"LastModifyTime\\": 1663831441000,\\n \\"IsArrayJob\\": false,\\n \\"ArrayProperties\\": {\\n \\"IndexStart\\": 1,\\n \\"IndexEnd\\": 5,\\n \\"IndexStep\\": 2\\n },\\n \\"ContainerGroups\\": [\\n {\\n \\"ContainerGroupId\\": \\"eci-bp1jrgfqqy54kg5hc****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"Status\\": \\"Running\\",\\n \\"InstanceType\\": \\"ecs.g5.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"Cpu\\": 2,\\n \\"Memory\\": 4,\\n \\"Containers\\": [\\n {\\n \\"Args\\": [\\n \\"hello.py\\"\\n ],\\n \\"Commands\\": [\\n \\"/usr/bin/python\\"\\n ],\\n \\"Cpu\\": 2,\\n \\"CurrentState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Reason\\": \\"Started\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2019-12-19T12:05:02Z\\\\n\\",\\n \\"State\\": \\"Terminated\\\\n\\"\\n },\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\\\n\\",\\n \\"Value\\": \\"/usr/bin/\\\\n\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"Gpu\\": 1,\\n \\"Image\\": \\"HPL\\",\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"LivenessProbe\\": {\\n \\"Execs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello world > /usr/share/message\\\\\\"]\\\\n\\"\\n ],\\n \\"FailureThreshold\\": 3,\\n \\"HttpGet\\": {\\n \\"Path\\": \\"/usr/nginx/\\\\n\\",\\n \\"Port\\": 80,\\n \\"Scheme\\": \\"HTTP\\"\\n },\\n \\"InitialDelaySeconds\\": 10,\\n \\"PeriodSeconds\\": 5,\\n \\"SuccessThreshold\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\\\n\\",\\n \\"Port\\": 80\\n },\\n \\"TimeoutSeconds\\": 10\\n },\\n \\"Memory\\": 4,\\n \\"Name\\": \\"HPL\\",\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8080,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"PreviousState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Back-off 5m0s restarting failed container=test pod=test_eci-xxx(xxx)\\",\\n \\"Reason\\": \\"Completed\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"State\\": \\"Terminated\\"\\n },\\n \\"ReadinessProbe\\": {\\n \\"Execs\\": [\\n \\"[\\\\n \\\\\\"/bin/sh\\\\\\",\\\\n \\\\\\"-c\\\\\\",\\\\n \\\\\\"echo Hello world > /usr/share/message\\\\\\"\\\\n]\\"\\n ],\\n \\"FailureThreshold\\": 3,\\n \\"HttpGet\\": {\\n \\"Path\\": \\"/usr/local\\",\\n \\"Port\\": 8080,\\n \\"Scheme\\": \\"HTTP\\"\\n },\\n \\"InitialDelaySeconds\\": 10,\\n \\"PeriodSeconds\\": 5,\\n \\"SuccessThreshold\\": 1,\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"1.2.3.4\\",\\n \\"Port\\": 8888\\n },\\n \\"TimeoutSeconds\\": 1\\n },\\n \\"Ready\\": true,\\n \\"RestartCount\\": 5,\\n \\"SecurityContext\\": {\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n },\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1558\\n },\\n \\"Stdin\\": true,\\n \\"StdinOnce\\": true,\\n \\"Tty\\": false,\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub\\"\\n }\\n ],\\n \\"WorkingDir\\": \\"/usr/local/nginx\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Content\\": \\"hello world\\",\\n \\"Path\\": \\"/usr/bin/\\"\\n }\\n ],\\n \\"DiskVolumeDiskId\\": \\"d-xxxx\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"Memory\\",\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeFsType\\": \\"ntfs\\",\\n \\"FlexVolumeOptions\\": \\"[nolock,tcp,noresvport]\\",\\n \\"NFSVolumePath\\": \\"/eci\\",\\n \\"NFSVolumeReadOnly\\": false,\\n \\"NFSVolumeServer\\": \\"0eafxxxxx-xxxxx.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"Type\\": \\"EmptyDirVolume\\"\\n }\\n ],\\n \\"Events\\": [\\n {\\n \\"Count\\": 20,\\n \\"FirstTimestamp\\": \\"2018-08-02T15:00:00Z\\",\\n \\"LastTimestamp\\": \\"2018-08-02T15:00:00Z\\\\n\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Name\\": \\"test-xxx\\",\\n \\"Reason\\": \\"Created\\",\\n \\"Type\\": \\"Normal\\"\\n }\\n ],\\n \\"CreationTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"SucceededTime\\": \\"2019-12-11T04:33:42Z\\",\\n \\"ExpiredTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"FailedTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Discount\\": 9,\\n \\"DnsConfig\\": {\\n \\"NameServers\\": [\\n \\"[10.2.*.*]\\"\\n ],\\n \\"Options\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"Searches\\": [\\n \\"svc.local.kubenetes\\"\\n ]\\n },\\n \\"EciSecurityContext\\": {\\n \\"Sysctls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ]\\n },\\n \\"EniInstanceId\\": \\"eni-bp14rzqi6fd8satm****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"HostAliases\\": [\\n {\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ],\\n \\"Ip\\": \\"192.0.XX.XX\\"\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"Args\\": [\\n \\"[\'hello world\']\\"\\n ],\\n \\"Command\\": [\\n \\"[/bin/sh echo]\\"\\n ],\\n \\"Cpu\\": 1,\\n \\"CurrentState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"Message\\": \\"Created container\\",\\n \\"Reason\\": \\"Started\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2018-08-02T15:00:00Z\\",\\n \\"State\\": \\"Running\\"\\n },\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"ValueFrom\\": {\\n \\"FieldRef\\": {\\n \\"FieldPath\\": \\"status.podIP\\"\\n }\\n }\\n }\\n ],\\n \\"Gpu\\": 1,\\n \\"Image\\": \\"nginx\\",\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"Memory\\": 2,\\n \\"Name\\": \\"Init-xxx\\",\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"PreviousState\\": {\\n \\"DetailStatus\\": \\"working\\",\\n \\"ExitCode\\": 0,\\n \\"FinishTime\\": \\"2019-12-24T05:35:44Z\\",\\n \\"Message\\": \\"Started container\\",\\n \\"Reason\\": \\"completed\\",\\n \\"Signal\\": 1,\\n \\"StartTime\\": \\"2019-12-24T05:35:44Z\\",\\n \\"State\\": \\"Terminated\\"\\n },\\n \\"Ready\\": true,\\n \\"RestartCount\\": 5,\\n \\"SecurityContext\\": {\\n \\"Capability\\": {\\n \\"Adds\\": [\\n \\"NET_ADMIN\\"\\n ]\\n },\\n \\"ReadOnlyRootFilesystem\\": true,\\n \\"RunAsUser\\": 1557\\n },\\n \\"VolumeMounts\\": [\\n {\\n \\"MountPath\\": \\"/usr/share/\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"ReadOnly\\": false\\n }\\n ],\\n \\"WorkingDir\\": \\"/usr/test\\"\\n }\\n ],\\n \\"InternetIp\\": \\"192.0.XX.XX\\",\\n \\"IntranetIp\\": \\"172.16.XX.XX\\",\\n \\"Ipv6Address\\": \\"2001:XXXX:4:4:4:4:4:4\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-aekzh43v*****\\",\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SecurityGroupId\\": \\"sg-bp12ujq5zpxuyjfo3o8r\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"name\\",\\n \\"Value\\": \\"test-xh\\"\\n }\\n ],\\n \\"TenantEniInstanceId\\": \\"i-xxx\\",\\n \\"TenantEniIp\\": \\"10.10.XX.XX\\",\\n \\"TenantSecurityGroupId\\": \\"sg-xxx\\",\\n \\"TenantVSwitchId\\": \\"vsw-xxx\\",\\n \\"VSwitchId\\": \\"vsw-bp1vzjjflab6wvjox****\\",\\n \\"VpcId\\": \\"vpc-1vzjjflab6wvjox****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeServerlessJobs', ], - 'StopServerlessJobs' => [ - 'summary' => 'Stops Serverless jobs in a cluster based on job IDs or subtask IDs (array jobs). If you specify the job ID of an array job, all subtasks in the job are stopped.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The region ID of the resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'NextToken', 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The token used to start the next query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx'], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The resource type. Set the value to cluster, which indicates E-HPC clusters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cluster'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'title' => '', + 'description' => 'The resource IDs. You can specify up to 50 IDs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The resource IDs. You can specify up to 50 IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-xxxx', 'title' => ''], + 'required' => false, + 'maxItems' => 51, ], ], [ - 'name' => 'JobIds', + 'name' => 'Tag', 'in' => 'query', - 'style' => 'flat', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The serverless job IDs or subtask IDs (array jobs).'."\n" - ."\n" - .'* If you specify the job ID of an array job, all subtasks under the array job are stopped.'."\n" - .'* If you specify the ID of a subtask of an array job, only the subtask is stopped.', + 'title' => '', + 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The ID of the serverless job or subtask (array job).'."\n", - 'type' => 'string', + 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['title' => '', 'description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['title' => '', 'description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], 'required' => false, - 'example' => '5', + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 21, ], ], ], @@ -19799,92 +11867,74 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'NextToken' => ['title' => '', 'description' => 'The token that is required for the next query. If the NextToken parameter is empty, no subsequent query is available.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '484256DA-D816-44D2-9D86-B6EE4D5BA78C', 'title' => ''], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'title' => '', + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['title' => '', 'description' => 'The type of the resource whose tags are queried. Set the value to cluster, which indicates E-HPC clusters.'."\n", 'type' => 'string', 'example' => 'cluster'], + 'TagValue' => ['title' => '', 'description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'TestValue'], + 'ResourceId' => ['title' => '', 'description' => 'The resource ID. Set the value to the ID of the cluster.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-xxxx'], + 'TagKey' => ['title' => '', 'description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'TestKey'], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'TagError', 'errorMessage' => 'TAG API request failed.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0axxxx\\",\\n \\"RequestId\\": \\"484256DA-D816-44D2-9D86-B6EE4D5BA78C\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"cluster\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceId\\": \\"ehpc-hz-xxxx\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0axxxx</NextToken>\\n <RequestId>484256DA-D816-44D2-9D86-B6EE4D5BA78C</RequestId>\\n <TagResources>\\n <ResourceType>cluster</ResourceType>\\n <TagValue>TestValue</TagValue>\\n <ResourceId>ehpc-hz-xxxx</ResourceId>\\n <TagKey>TestKey</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', + 'title' => 'ListTagResources', + 'summary' => 'Queries the tags that are attached to a specified resource.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'StopServerlessJobs', ], - 'CreateJobTemplate' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTasks' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19892,358 +11942,259 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'CommandLine', - 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to run the job.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => './LammpsTest/lammps.pbs', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job template. The name must be 2 to 64 characters in length. It must start with a letter and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'jobtemplate1', - ], - ], - [ - 'name' => 'RunasUser', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the user that runs the job.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user1', - ], - ], - [ - 'name' => 'Priority', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'PackagePath', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The path that is used to run the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './jobfolder', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1. Valid values: 1 to 999.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '999', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'StdoutRedirectPath', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './LammpsTest', - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ - 'name' => 'StderrRedirectPath', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './LammpsTest', - ], + 'schema' => ['description' => 'The task ID. You can call the following asynchronous API operations to obtain the task ID.'."\n" + ."\n" + .'* [CreateCluster](~~87100~~)'."\n" + .'* [StartCluster](~~200345~~)'."\n" + .'* [StopCluster](~~200346~~)'."\n" + .'* [DeleteCluster](~~87110~~)'."\n" + .'* [AddNodes](~~87147~~)'."\n" + .'* [StartNodes](~~87159~~)'."\n" + .'* [ResetNodes](~~87158~~)'."\n" + .'* [StopNodes](~~87160~~)'."\n" + .'* [DeleteNodes](~~87155~~)'."\n", 'type' => 'string', 'required' => false, 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], ], [ - 'name' => 'ReRunable', + 'name' => 'Archived', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to automatically rerun the job after the job fails. Valid value:'."\n" + 'description' => 'Specifies whether to display the response history of the asynchronous API operation. Valid values:'."\n" + ."\n" + .'* true: displays the current response and response history of the asynchronous API operation.'."\n" + .'* false: displays only the current response of the asynchronous API operation. If no tasks are running, `[]` is returned.'."\n" + ."\n" + .'Default value: false.'."\n" ."\n" - .'* true: reruns the job.'."\n" - .'* false: does not rerun the job.'."\n", + .'> If you specify the TaskId parameter, the Archived parameter is invalid.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', + 'default' => 'false', + 'enum' => ['true', 'false'], + 'title' => '', ], ], - [ - 'name' => 'ArrayRequest', - 'in' => 'query', - 'schema' => [ - 'description' => 'The job array.'."\n" - ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1-10:2', - ], - ], - [ - 'name' => 'Variables', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{Name:,Value:},{Name:,Value:}]', + 'type' => 'object', + 'properties' => [ + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Tasks' => [ + 'description' => 'The queried tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* Processing: The task is running.'."\n" + .'* Success: The task succeeded.'."\n" + .'* Failed: The task failed.'."\n" + .'* PartialFail: The task partially failed.'."\n", 'type' => 'string', 'example' => 'Processing', 'title' => ''], + 'TaskType' => ['description' => 'The task type. Valid values:'."\n" + ."\n" + .'* CreateCluster: creates a cluster by calling the [CreateCluster](~~87100~~) operation.'."\n" + .'* StartCluster: starts a cluster by calling the [StartCluster](~~200345~~) operation.'."\n" + .'* StopCluster: stops a cluster by calling the [StopCluster](~~200346~~) operation.'."\n" + .'* DeleteCluster: releases a cluster by calling the [DeleteCluster](~~87110~~) operation.'."\n" + .'* AddComputes: adds nodes to a cluster by calling the [AddNodes](~~87147~~) operation.'."\n" + .'* StartComputes: starts nodes by calling the [StartNodes](~~87159~~) operation.'."\n" + .'* ResetCompute: resets nodes by calling the [ResetNodes](~~87158~~) operation.'."\n" + .'* StopComputes: stops nodes by calling the [StopNodes](~~87160~~) operation.'."\n" + .'* DeleteComputes: deletes nodes by calling the [DeleteNodes](~~87155~~) operation.'."\n", 'type' => 'string', 'example' => 'StopCluster', 'title' => ''], + 'TotalSteps' => ['description' => 'The total number of steps of the task.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '35', 'title' => ''], + 'CurrentStep' => ['description' => 'The current step of the task.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'Result' => ['description' => 'The result of the task. Valid values:'."\n" + ."\n" + .'* If you set TaskType to CreateCluster or AddComputes, the value of this parameter is in the `{\\"Instances\\":[]}` format. The value indicates the information about the nodes that are added to the cluster.'."\n" + .'* If you set TaskType to a value other than CreateCluster and AddComputes, the value of this parameter is in the `{}` format.'."\n", 'type' => 'string', 'example' => '{\\"Instances\\":[{\\"InstanceId\\":\\"i-bp1inb1j2xz8pnoi****\\",\\"Ip\\":\\"192.168.*.*\\",\\"Hostname\\":\\"login0\\",\\"role\\":\\"login\\"}]}', 'title' => ''], + 'Errors' => ['description' => 'The error messages returned for the task.'."\n" + ."\n" + .'You can view the error messages and the corresponding solutions in the [Error Center](https://error-center.alibabacloud.com/status/product/EHPC).'."\n", 'type' => 'string', 'example' => '[]', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', 'title' => ''], + 'Request' => ['description' => 'The request parameters of the task. The value is a JSON string.'."\n", 'type' => 'string', 'example' => '{\\"requestId\\":\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\",\\"uid\\":\\"160998252992****\\",\\"bid\\":\\"268**\\",\\"clusterId\\":\\"ehpc-hz-ysQtcZ****\\"}', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', ], ], - [ - 'name' => 'Queue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue in which the job is run.'."\n" - ."\n" - .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - 'name' => 'ClockTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum running time of the job. Valid formats:'."\n" - ."\n" - .'* hh:mm:ss'."\n" - .'* mm:ss'."\n" - .'* ss'."\n" - ."\n" - .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12:00:00', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], - [ - 'name' => 'Node', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of compute nodes. Valid values: 1 to 500.'."\n" - ."\n" - .'> If you do not specify this parameter, the Task, Thread, Mem, or GPU parameters do not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '2', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], ], [ - 'name' => 'Task', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '2', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - [ - 'name' => 'Thread', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads required by a single compute node. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '1', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], - [ - 'name' => 'Mem', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1GB', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - [ - 'name' => 'Gpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum GPU usage required by a single compute node. Valid values: 1 to 8.'."\n" - ."\n" - .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '1', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Processing\\",\\n \\"TaskType\\": \\"StopCluster\\",\\n \\"TotalSteps\\": 35,\\n \\"CurrentStep\\": 16,\\n \\"Result\\": \\"{\\\\\\\\\\\\\\"Instances\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"InstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-bp1inb1j2xz8pnoi****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"192.168.*.*\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Hostname\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"login0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"role\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"login\\\\\\\\\\\\\\"}]}\\",\\n \\"Errors\\": \\"[]\\",\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"Request\\": \\"{\\\\\\\\\\\\\\"requestId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"160998252992****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"268**\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"clusterId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ehpc-hz-ysQtcZ****\\\\\\\\\\\\\\"}\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTasksResponse>\\n<TotalCount>10</TotalCount>\\n<Tasks>\\n <Status>Processing</Status>\\n <Errors>[]</Errors>\\n <TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <TaskType>StopCluster</TaskType>\\n <Request>{\\\\\\"requestId\\\\\\":\\\\\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"160998252992****\\\\\\",\\\\\\"bid\\\\\\":\\\\\\"268**\\\\\\",\\\\\\"clusterId\\\\\\":\\\\\\"ehpc-hz-ysQtcZ****\\\\\\"}</Request>\\n <CurrentStep>16</CurrentStep>\\n <TotalSteps>35</TotalSteps>\\n <Result>{\\\\\\"Instances\\\\\\":[{\\\\\\"InstanceId\\\\\\":\\\\\\"i-bp1inb1j2xz8pnoi****\\\\\\",\\\\\\"Ip\\\\\\":\\\\\\"192.168.*.*\\\\\\",\\\\\\"Hostname\\\\\\":\\\\\\"login0\\\\\\",\\\\\\"role\\\\\\":\\\\\\"login\\\\\\"}]}</Result>\\n</Tasks>\\n<PageSize>10</PageSize>\\n<RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n<PageNumber>1</PageNumber>\\n</ListTasksResponse>","errorExample":""}]', + 'title' => 'ListTasks', + 'summary' => 'Queries the response of an asynchronous API operation for a cluster.', + 'description' => 'For some asynchronous API operations such as AddNodes, the system immediately returns a result without waiting for the node to be created if the request succeeds. In this case, you can use the TaskId returned by the asynchronous API operation to query the result of the task.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListUpgradeClients' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InputFileUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ [ - 'name' => 'WithUnzipCmd', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" - ."\n" - .'* true: decompresses the job file.'."\n" - .'* false: does not decompress the job file.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'UnzipCmd', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" - ."\n" - .'* tar xzf: decompresses GZIP files.'."\n" - .'* tar xf: decompresses TAR files.'."\n" - .'* unzip: decompresses ZIP files.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tar xzf', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'TemplateId' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => 'ehpc-job-tmpl-6RxO5y****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****'], + 'LatestVersion' => ['description' => 'The latest version of ehpcutil that is released.'."\n", 'type' => 'string', 'example' => '1.2.22', 'title' => ''], + 'ClientRecords' => [ + 'description' => 'The update records of ehpcutil in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The upgrade records of the cluster client.'."\n", + 'type' => 'object', + 'properties' => [ + 'SubUid' => ['description' => 'The user ID (UID) whose ehpcutil is updated.'."\n", 'type' => 'string', 'example' => '129******84', 'title' => ''], + 'OldVersion' => ['description' => 'The version of ehpcutil before the update.'."\n", 'type' => 'string', 'example' => '1.2.16', 'title' => ''], + 'NewVersion' => ['description' => 'The version of ehpcutil after the update.'."\n", 'type' => 'string', 'example' => '1.2.21', 'title' => ''], + 'UpdateTime' => ['description' => 'The update time.'."\n", 'type' => 'string', 'example' => '2022-08-26T06:26:57.000Z', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', ], + 'CurrentVersion' => ['description' => 'The current version of ehpcutil in the cluster.'."\n", 'type' => 'string', 'example' => '1.2.21', 'title' => ''], ], - 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'TemplateNameExist', - 'errorMessage' => 'The template name already exists.', - ], - [ - 'errorCode' => 'TooMuchTemplates', - 'errorMessage' => 'The number of templates exceeds the quota.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobTemplateResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TemplateId>ehpc-job-tmpl-6RxO5y****</TemplateId>\\r\\n</CreateJobTemplateResponse>","errorExample":""}]', - 'title' => 'CreateJobTemplate', - 'summary' => 'Creates a job template.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListJobTemplates' => [ - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"LatestVersion\\": \\"1.2.22\\",\\n \\"ClientRecords\\": [\\n {\\n \\"SubUid\\": \\"129******84\\",\\n \\"OldVersion\\": \\"1.2.16\\",\\n \\"NewVersion\\": \\"1.2.21\\",\\n \\"UpdateTime\\": \\"2022-08-26T06:26:57.000Z\\"\\n }\\n ],\\n \\"CurrentVersion\\": \\"1.2.21\\"\\n}","errorExample":""},{"type":"xml","example":"<ListUpgradeClientsResponse>\\n <RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n <LatestVersion>1.2.22</LatestVersion>\\n <ClientRecords>\\n <SubUid>129******84</SubUid>\\n <OldVersion>1.2.16</OldVersion>\\n <NewVersion>1.2.21</NewVersion>\\n <UpdateTime>2022-08-26T06:26:57.000Z</UpdateTime>\\n </ClientRecords>\\n <CurrentVersion>1.2.21</CurrentVersion>\\n</ListUpgradeClientsResponse>","errorExample":""}]', + 'title' => 'ListUpgradeClients', + 'summary' => 'Queries the latest version to which the client (ehpcutil) in a cluster can be updated and historical update records of the client.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUpgradeClients'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUpgradeClients', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListUsers' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20251,51 +12202,30 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'Name', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job template.'."\n" - ."\n" - .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'jobtemplateName', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -20303,501 +12233,123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Templates' => [ + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Users' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'JobTemplates' => [ - 'description' => 'The list of job templates.'."\n", + 'UserInfo' => [ + 'description' => 'The list of users.'."\n", + 'title' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Task' => [ - 'description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Variables' => [ - 'description' => 'The environment variables of the job.'."\n", - 'type' => 'string', - 'example' => '[{Name:,Value:},{Name:,Value:}]', - ], - 'CommandLine' => [ - 'description' => 'The command that is used to run the job.'."\n", - 'type' => 'string', - 'example' => './LammpsTest/lammps.pbs', - ], - 'Queue' => [ - 'description' => 'The queue of the job.'."\n", - 'type' => 'string', - 'example' => 'workq', - ], - 'Priority' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Mem' => [ - 'description' => 'The maximum memory usage of a single compute node. The unit can be GB, MB, or KB, and is case-insensitive.'."\n", - 'type' => 'string', - 'example' => '1GB', - ], - 'Thread' => [ - 'description' => 'The number of threads required by a single task. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ArrayRequest' => [ - 'description' => 'The queue of the job.'."\n" - ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'example' => '2-7:2', - ], - 'StderrRedirectPath' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'example' => './LammpsTest', - ], - 'Node' => [ - 'description' => 'The number of compute nodes. Valid values: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StdoutRedirectPath' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'example' => './Lammps', - ], - 'Gpu' => [ - 'description' => 'The maximum GPU usage for individual compute nodes. Valid values: 1 to 8.'."\n" - ."\n" - .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PackagePath' => [ - 'description' => 'The path that is used to run the job.'."\n", - 'type' => 'string', - 'example' => './jobfolder', - ], - 'ClockTime' => [ - 'description' => 'The maximum running time of the job. Valid formats:'."\n" - ."\n" - .'* hh:mm:ss'."\n" - .'* mm:ss'."\n" - .'* ss'."\n", - 'type' => 'string', - 'example' => '12:00:00', - ], - 'ReRunable' => [ - 'description' => 'Specifies whether the job can be rerun. Valid values:'."\n" - ."\n" - .'* true: The job can be rerun.'."\n" - .'* false: The job cannot be rerun.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the job template.'."\n", - 'type' => 'string', - 'example' => 'job1', - ], - 'Id' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => 'ehpc-job-tmpl-6RxO5y****', - ], - 'RunasUser' => [ - 'description' => 'The name of the user that runs the job.'."\n", - 'type' => 'string', - 'example' => 'user1', - ], - 'InputFileUrl' => [ - 'description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', - ], - 'WithUnzipCmd' => [ - 'description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid value:'."\n" - ."\n" - .'* true: decompresses the job file.'."\n" - .'* false: does not decompress the job file.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'UnzipCmd' => [ - 'description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" - ."\n" - .'* tar xzf: decompresses GZIP files.'."\n" - .'* tar xf: decompresses TAR files.'."\n" - .'* unzip: decompresses ZIP files.'."\n", - 'type' => 'string', - 'example' => 'tar xzf', - ], + 'Name' => ['description' => 'The username of the account.'."\n", 'type' => 'string', 'example' => 'user1', 'title' => ''], + 'AddTime' => ['description' => 'The time when the user was created.'."\n", 'type' => 'string', 'example' => '2018-07-18T17:46:47', 'title' => ''], + 'Group' => ['description' => 'The name of the permission group. Valid values:'."\n" + ."\n" + .'* users: an ordinary permission group. It is applicable to ordinary users that need only to submit and debug jobs.'."\n" + .'* wheel: a sudo permission group. It is applicable to the administrator who needs to manage the cluster. In addition to submitting and debugging jobs, users who have sudo permissions can run sudo commands to install software and restart nodes.'."\n", 'type' => 'string', 'example' => 'wheel', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.GetUserListFailure', 'errorMessage' => 'Get user list fail: %s', 'description' => 'Failed to query the list of users: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Templates\\": {\\n \\"JobTemplates\\": [\\n {\\n \\"Task\\": 2,\\n \\"Variables\\": \\"[{Name:,Value:},{Name:,Value:}]\\",\\n \\"CommandLine\\": \\"./LammpsTest/lammps.pbs\\",\\n \\"Queue\\": \\"workq\\",\\n \\"Priority\\": 0,\\n \\"Mem\\": \\"1GB\\",\\n \\"Thread\\": 1,\\n \\"ArrayRequest\\": \\"2-7:2\\",\\n \\"StderrRedirectPath\\": \\"./LammpsTest\\",\\n \\"Node\\": 2,\\n \\"StdoutRedirectPath\\": \\"./Lammps\\",\\n \\"Gpu\\": 1,\\n \\"PackagePath\\": \\"./jobfolder\\",\\n \\"ClockTime\\": \\"12:00:00\\",\\n \\"ReRunable\\": false,\\n \\"Name\\": \\"job1\\",\\n \\"Id\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RunasUser\\": \\"user1\\",\\n \\"InputFileUrl\\": \\"https://test.oss-cn-beijing.aliyuncs.com/test.py\\",\\n \\"WithUnzipCmd\\": true,\\n \\"UnzipCmd\\": \\"tar xzf\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobTemplatesResponse>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Templates>\\n <Task>2</Task>\\n <Variables>[{Name:,Value:},{Name:,Value:}]</Variables>\\n <CommandLine>./LammpsTest/lammps.pbs</CommandLine>\\n <Queue>workq</Queue>\\n <Priority>0</Priority>\\n <Mem>1GB</Mem>\\n <Thread>1</Thread>\\n <ArrayRequest>2-7:2</ArrayRequest>\\n <StderrRedirectPath>./LammpsTest</StderrRedirectPath>\\n <Node>2</Node>\\n <StdoutRedirectPath>./Lammps</StdoutRedirectPath>\\n <Gpu>1</Gpu>\\n <PackagePath>./jobfolder</PackagePath>\\n <ClockTime>12:00:00</ClockTime>\\n <ReRunable>false</ReRunable>\\n <Name>job1</Name>\\n <Id>ehpc-job-tmpl-6RxO5y****</Id>\\n <RunasUser>user1</RunasUser>\\n <InputFileUrl>https://test.oss-cn-beijing.aliyuncs.com//test.py</InputFileUrl>\\n <WithUnzipCmd>true</WithUnzipCmd>\\n <UnzipCmd>tar xzf</UnzipCmd>\\n </Templates>\\n</ListJobTemplatesResponse>","errorExample":""}]', - 'title' => 'ListJobTemplates', - 'summary' => 'Queries the list of job templates.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"Name\\": \\"user1\\",\\n \\"AddTime\\": \\"2018-07-18T17:46:47\\",\\n \\"Group\\": \\"wheel\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListUsersResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>1</PageSize>\\r\\n <Users>\\r\\n <UserInfo>\\r\\n <Name>user1</Name>\\r\\n <Group>users</Group>\\r\\n </UserInfo>\\r\\n <UserInfo>\\r\\n <Name>user2</Name>\\r\\n <Group>wheel</Group>\\r\\n </UserInfo>\\r\\n </Users>\\r\\n</ListUsersResponse>","errorExample":""}]', + 'title' => 'ListUsers', + 'summary' => 'Queries all users of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'EditJobTemplate' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUsers', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListUsersAsync' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'TemplateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template.'."\n" - ."\n" - .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-job-tmpl-6RxO5y****', - ], - ], - [ - 'name' => 'CommandLine', - 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to run the job.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => './LammpsTest/lammps.pbs', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job template.'."\n" - ."\n" - .'You can call the [ListJobTemplates](~~87248~~) operation to obtain the job template name.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'jobTemapleteName', - ], - ], - [ - 'name' => 'RunasUser', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the user that runs the job.'."\n" - ."\n" - .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user', - ], - ], - [ - 'name' => 'Priority', - 'in' => 'query', - 'schema' => [ - 'description' => 'The priority of the job. Valid values: 0 to 9. A large value indicates a high priority.'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'PackagePath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The path that is used to run the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './packageFolder', - ], - ], - [ - 'name' => 'StdoutRedirectPath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stdout.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './LammpsTest', - ], - ], - [ - 'name' => 'StderrRedirectPath', - 'in' => 'query', - 'schema' => [ - 'description' => 'The output file path of stderr.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => './Lammps', - ], - ], - [ - 'name' => 'ReRunable', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the job can be rerun. Valid values:'."\n" - ."\n" - .'* true: The job can be rerun.'."\n" - .'* false: The job cannot be rerun.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ArrayRequest', - 'in' => 'query', - 'schema' => [ - 'description' => 'The job array.'."\n" - ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1-10:2', - ], - ], - [ - 'name' => 'Variables', - 'in' => 'query', - 'schema' => [ - 'description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{Name:,Value:},{Name:,Value:}]', - ], - ], - [ - 'name' => 'Queue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'workq', - ], - ], - [ - 'name' => 'ClockTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum running time of the job. Valid formats:'."\n" - ."\n" - .'* hh:mm:ss'."\n" - .'* mm:ss'."\n" - .'* ss'."\n" - ."\n" - .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12:00:00', - ], - ], - [ - 'name' => 'Node', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the compute nodes. Valid values: 1 to 500.'."\n" - ."\n" - .'> If the parameter is not specified, the Task, Thread, Mem, and Gpu parameters become invalid.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '2', - ], - ], - [ - 'name' => 'Task', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of tasks required by a single compute node. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '2', - ], - ], - [ - 'name' => 'Thread', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads required by a single compute node. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '1', - ], - ], - [ - 'name' => 'Mem', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1GB', - ], - ], - [ - 'name' => 'Gpu', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum GPU usage required by a single compute node. Valid values: 1 to 8.'."\n" - ."\n" - .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20000', - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster. You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-vu7c2WkVGx', 'title' => ''], ], [ - 'name' => 'InputFileUrl', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/test.py', - ], + 'schema' => ['description' => 'The page number.\\'."\n" + .'Pages start from page 1.\\'."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'WithUnzipCmd', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" - ."\n" - .'* true: The job files are decompressed.'."\n" - .'* false: The job files are not decompressed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The number of entries returned per page.\\'."\n" + .'Valid values: 1 to 50.\\'."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], [ - 'name' => 'UnzipCmd', + 'name' => 'AsyncId', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to decompress the job files downloaded from an OSS bucket. The parameter takes effect only when WithUnzipCmd is set to true. Valid values:'."\n" - ."\n" - .'* tar xzf: decompresses GZIP files.'."\n" - .'* tar xf: decompresses TAR files.'."\n" - .'* unzip: decompresses ZIP files.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tar xzf', - ], + 'schema' => ['description' => 'The ID of the asynchronous task.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-hz02xltxaex1q80', 'title' => ''], ], ], 'responses' => [ @@ -20805,135 +12357,120 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TemplateId' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => 'ehpc-job-tmpl-6RxO5y****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9A05F620-ED46-4A57-95F1-C67D6D3C5DD2', 'title' => ''], + 'PageNumber' => ['description' => 'The number of the page returned. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of users.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Users' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserInfo' => [ + 'description' => 'The list of users.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The username of the account.'."\n", 'type' => 'string', 'example' => 'testuser', 'title' => ''], + 'AddTime' => ['description' => 'The time when the user was created.'."\n", 'type' => 'string', 'example' => '2022-09-28T09:05:26.000Z', 'title' => ''], + 'Group' => [ + 'description' => 'The user groups.'."\n", + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'wheel', + 'title' => '', + ], + 'UserId' => ['description' => 'The user ID.'."\n", 'type' => 'string', 'example' => '1000', 'title' => ''], + 'GroupId' => ['description' => 'The user group ID.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], + ], + 'title' => '', + ], + ], + ], ], + 'AsyncId' => ['description' => 'The ID of the asynchronous task.'."\n", 'type' => 'string', 'example' => 't-sh03egi3mls****', 'title' => ''], + 'AsyncStatus' => ['description' => 'The status of the asynchronous task.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'TemplateNameExist', - 'errorMessage' => 'The template name already exists.', - ], - [ - 'errorCode' => 'TooMuchTemplates', - 'errorMessage' => 'The number of templates exceeds the quota.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'TemplateNotExist', - 'errorMessage' => 'The template ID does not exist.', - ], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.GetUserListFailure', 'errorMessage' => 'Get user list fail: %s', 'description' => 'Failed to query the list of users: %s'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"9A05F620-ED46-4A57-95F1-C67D6D3C5DD2\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"Name\\": \\"testuser\\",\\n \\"AddTime\\": \\"2022-09-28T09:05:26.000Z\\",\\n \\"Group\\": \\"wheel\\",\\n \\"UserId\\": \\"1000\\",\\n \\"GroupId\\": \\"10\\"\\n }\\n ]\\n },\\n \\"AsyncId\\": \\"t-sh03egi3mls****\\",\\n \\"AsyncStatus\\": \\"Success\\"\\n}","errorExample":""},{"type":"xml","example":"<ListUsersAsyncResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>1</PageSize>\\n <RequestId>76CCF155-5F9B-5FC1-8DF8-579A61F69D99</RequestId>\\n <PageNumber>1</PageNumber>\\n <AsyncId>t-sh03egi3mls****</AsyncId>\\n <AsyncStatus>Success</AsyncStatus>\\n <Users>\\n <UserInfo>\\n <Group>wheel</Group>\\n <UserId>1000</UserId>\\n <Name>testuser</Name>\\n <GroupId>10</GroupId>\\n </UserInfo>\\n </Users>\\n</ListUsersAsyncResponse>","errorExample":""}]', + 'title' => 'ListUsersAsync', + 'summary' => 'Queries the users in a cluster.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUsersAsync', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"ehpc-job-tmpl-6RxO5y****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<EditJobTemplateResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <TemplateId>ehpc-job-tmpl-6RxO5y****</TemplateId>\\r\\n</EditJobTemplateResponse>","errorExample":""}]', - 'title' => 'EditJobTemplate', - 'summary' => 'Modifies a job template.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteJobTemplates' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListVolumes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'Templates', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the job templates that you want to delete. You can specify a maximum of 20 job template IDs.'."\n" - ."\n" - .'Format of job template IDs: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple job template IDs with commas (,).'."\n" - ."\n" - .'You can call the [ListJobTemplates](~~87248~~) operation to query job template IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"Id":"ehpc-job-tmpl-6RVcMK****"},{"Id": "ehpc-job-tmpl-6RxO5y****"}]', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ @@ -20941,83 +12478,121 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Volumes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VolumeInfo' => [ + 'description' => 'The information of file systems that are mounted on E-HPC clusters.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VolumeId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => 'bc8a****', 'title' => ''], + 'ClusterName' => ['description' => 'The instance name.'."\n", 'type' => 'string', 'example' => 'cluster1', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote directory on which the file system is mounted.'."\n", 'type' => 'string', 'example' => '/test1', 'title' => ''], + 'VolumeMountpoint' => ['description' => 'The domain name of the mount target.'."\n", 'type' => 'string', 'example' => 'bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the file system that is mounted on the cluster. Only NAS is supported.'."\n", 'type' => 'string', 'example' => 'NAS', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The type of the storage protocol. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + 'AdditionalVolumes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VolumeInfo' => [ + 'description' => 'The information of additional file systems mounted on E-HPC clusters.'."\n", + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobQueue' => ['description' => 'The queue to which the job belongs.'."\n", 'type' => 'string', 'example' => 'all.q', 'title' => ''], + 'VolumeId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '86y3****', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote directory on which the file system is mounted.'."\n", 'type' => 'string', 'example' => '/test', 'title' => ''], + 'VolumeMountpoint' => ['description' => 'The domain name of the mount target.'."\n", 'type' => 'string', 'example' => '86y3****-rgd51.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'Role' => ['description' => 'The type of the node on which the file system is mounted. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'example' => 'Compute', 'title' => ''], + 'LocalDirectory' => ['description' => 'The local mount directory.'."\n", 'type' => 'string', 'example' => '/testopt', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the additional file system. Only NAS is supported.'."\n", 'type' => 'string', 'example' => 'NAS', 'title' => ''], + 'Location' => ['description' => 'The location where the cluster is deployed. Valid values:'."\n" + ."\n" + .'* OnPremise: The node is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The cluster is deployed on a public cloud.'."\n", 'type' => 'string', 'example' => 'PublicCloud', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The type of the storage protocol. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''], + ], + 'description' => '', + 'title' => '', + ], + ], + ], + ], + ], + 'description' => '', + 'title' => '', + ], + ], + ], ], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobTemplatesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobTemplatesResponse>","errorExample":""}]', - 'title' => 'DeleteJobTemplates', - 'summary' => 'Deletes job templates.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Volumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"VolumeId\\": \\"bc8a****\\",\\n \\"ClusterName\\": \\"cluster1\\",\\n \\"RemoteDirectory\\": \\"/test1\\",\\n \\"VolumeMountpoint\\": \\"bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"VolumeProtocol\\": \\"NFS\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"AdditionalVolumes\\": {\\n \\"VolumeInfo\\": [\\n {\\n \\"JobQueue\\": \\"all.q\\",\\n \\"VolumeId\\": \\"86y3****\\",\\n \\"RemoteDirectory\\": \\"/test\\",\\n \\"VolumeMountpoint\\": \\"86y3****-rgd51.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"Role\\": \\"Compute\\",\\n \\"LocalDirectory\\": \\"/testopt\\",\\n \\"VolumeType\\": \\"NAS\\",\\n \\"Location\\": \\"PublicCloud\\",\\n \\"VolumeProtocol\\": \\"NFS\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListVolumesResponse>\\n <TotalCount>1</TotalCount>\\n <Volumes>\\n <VolumeInfo>\\n <VolumeProtocol>nfs</VolumeProtocol>\\n <RemoteDirectory>/test1</RemoteDirectory>\\n <VolumeId>bc8a****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <ClusterName>cluster1</ClusterName>\\n <RegionId>cn-hangzhou</RegionId>\\n <VolumeMountpoint>bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n </VolumeInfo>\\n <VolumeInfo>\\n <AdditionalVolumes>\\n <VolumeInfo>\\n <Role>Compute</Role>\\n <VolumeProtocol>NFS</VolumeProtocol>\\n <LocalDirectory>/testopt</LocalDirectory>\\n <RemoteDirectory>/</RemoteDirectory>\\n <VolumeId>bc8a****</VolumeId>\\n <VolumeType>NAS</VolumeType>\\n <JobQueue>all.q</JobQueue>\\n <VolumeMountpoint>bc8a****-rgd51.cn-hangzhou.nas.aliyuncs.com</VolumeMountpoint>\\n <Location> </Location>\\n </VolumeInfo>\\n </AdditionalVolumes>\\n </VolumeInfo>\\n </Volumes>\\n <PageSize>1</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PageNumber>1</PageNumber>\\n</ListVolumesResponse>","errorExample":""}]', + 'title' => 'ListVolumes', + 'summary' => 'Queries the file systems mounted on Elastic High Performance Computing (E-HPC) clusters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InvokeShellCommand' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyClusterAttributes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21026,11 +12601,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '75862', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '75892', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -21038,73 +12611,72 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Command', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The content of the command. The content must be 2 to 2,048 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'echo "hello world"', - ], + 'schema' => ['description' => 'The new cluster name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cluster1', 'title' => ''], ], [ - 'name' => 'WorkingDir', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The working directory of the command. Default value: `/root`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home', - ], + 'schema' => ['description' => 'The new cluster description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-description', 'title' => ''], ], [ - 'name' => 'Timeout', + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => ['description' => 'The new image type of the cluster. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + .'* marketplace: Alibaba Cloud Marketplace image'."\n", 'type' => 'string', 'required' => false, 'example' => 'self', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the images.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_06_64_20G_alibase_2019071****', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance RAM role.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testRamRoleName', 'title' => ''], + ], + [ + 'name' => 'RamNodeTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The timeout period. If a command times out, the command process will be terminated. Unit: seconds.'."\n" + 'description' => 'The type of the node to which you want to bind the RAM role.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The type of the node to which you want to bind the RAM role.'."\n" ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'* Valid values if the DeployMode parameter is set to Standard: scheduler, account, login, and compute. Separate multiple values with commas (,).'."\n" + .'* Valid values if the DeployMode parameter is set to Simple: manager, login, and compute. Separate multiple values with commas (,).'."\n" + .'* Valid values if the DeployMode parameter is set to Tiny: manager and compute.'."\n", 'type' => 'string', 'required' => false, 'example' => 'manager,compute', 'title' => ''], 'required' => false, - 'example' => '3600', + 'maxItems' => 5, + 'minItems' => 0, + 'title' => '', ], ], [ - 'name' => 'Instance', + 'name' => 'WinAdPar', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', 'schema' => [ - 'description' => 'The information of nodes on which the command is run.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the Nth node instance on which the command is run.'."\n" - ."\n" - .'> This parameter specifies the node on which the command is run. If it is not specified, the command will be run on all nodes of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1in9hmw3ur52x0****', - ], - ], - 'required' => false, + 'description' => 'The parameters that are used to connect to the Windows AD server.'."\n", + 'type' => 'object', + 'properties' => [ + 'AdUser' => ['description' => 'The Windows AD server administrator.'."\n", 'type' => 'string', 'required' => false, 'example' => 'administrator', 'title' => ''], + 'AdUserPasswd' => ['description' => 'The administrator password of the Windows AD server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xxxxxxx', 'title' => ''], + 'AdDc' => ['description' => 'The domain name of the Windows AD server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpcad.com', 'title' => ''], + 'AdIp' => ['description' => 'The IP address of the Windows AD server.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.1.2', 'title' => ''], + 'FallbackHomeDir' => ['description' => 'The home directory of the Linux server.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home', 'title' => ''], ], 'required' => false, - 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -21113,133 +12685,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CommandId' => [ - 'description' => 'The ID of the command. It is used to query the execution status of the command.'."\n", - 'type' => 'string', - 'example' => 'c-hz01v8vudql****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The list of IDs of the instances on which you want to run the command.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of IDs of the instances on which you want to run the command.', - 'type' => 'string', - 'example' => '[ "i-uf68t1zu3jkhs8w****", "i-uf6abz34m2714bp****", "i-uf65bh2113hlqvyx****", "i-uf68t1zu3jkhs8wx****", "i-uf6b0mtpx166fxxi****", "i-uf6faknz4dy1bit7****" ]', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7336', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'InvalidImage', 'errorMessage' => 'The image ID is invalid.', 'description' => 'The image ID is invalid.'], + ['errorCode' => 'ImageNotMatched', 'errorMessage' => 'The image is not matched.', 'description' => ''], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CommandId\\": \\"c-hz01v8vudql****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[ \\\\\\"i-uf68t1zu3jkhs8w****\\\\\\", \\\\\\"i-uf6abz34m2714bp****\\\\\\", \\\\\\"i-uf65bh2113hlqvyx****\\\\\\", \\\\\\"i-uf68t1zu3jkhs8wx****\\\\\\", \\\\\\"i-uf6b0mtpx166fxxi****\\\\\\", \\\\\\"i-uf6faknz4dy1bit7****\\\\\\" ]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<InvokeShellCommandResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <CommandId>c-hz01v8vudql****</CommandId>\\r\\n <InstanceIds>\\r\\n <InstanceId>i-uf68t1zu3jkhs8w****</InstanceId>\\r\\n <InstanceId>i-uf6abz34m2714bp****</InstanceId>\\r\\n <InstanceId>i-uf65bh2113hlqvyx****</InstanceId>\\r\\n <InstanceId>i-uf68t1zu3jkhs8wx****</InstanceId>\\r\\n <InstanceId>i-uf6b0mtpx166fxxi****</InstanceId>\\r\\n <InstanceId>i-uf6faknz4dy1bit7****</InstanceId>\\r\\n </InstanceIds>\\r\\n</InvokeShellCommandResponse>","errorExample":""}]', - 'title' => 'InvokeShellCommand', - 'summary' => 'Runs interactive commands in a cluster node.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7336\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyClusterAttributesResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7336</RequestId>\\r\\n</ModifyClusterAttributesResponse>","errorExample":""}]', + 'title' => 'ModifyClusterAttributes', + 'summary' => 'Modifies the basic information of a cluster, including the name, description, and image.', + 'description' => '## Usage notes'."\n" + ."\n" + .'Before you call this operation, you can call the [DescribeCluster](~~87126~~) operation to query details of the selected cluster.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListCommands' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyClusterAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyUserGroups' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75895', + 'abilityTreeNodes' => ['FEATUREehpcG9MMN3'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -21247,56 +12762,43 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'CommandId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the command.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c-hz01v8vudql****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'User', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Page number starts from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + 'description' => 'The users. You can specify 1 to 100 users.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The array of user information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The username.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the usernames in the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user11', 'title' => ''], + 'Group' => ['description' => 'The user group to be changed. Valid values:'."\n" + ."\n" + .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" + .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'users', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 10000, + 'title' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.\\'."\n" - .'Valid values: 1 to 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'Specifies whether to use asynchronous message links to change the user group.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -21304,165 +12806,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Commands' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Command' => [ - 'description' => 'The list of commands.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Timeout' => [ - 'description' => 'The timeout period. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '60', - ], - 'CommandId' => [ - 'description' => 'The ID of the command.'."\n", - 'type' => 'string', - 'example' => 'c-hz01v8vudql****', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the command.'."\n", - 'type' => 'string', - 'example' => '/home', - ], - 'CommandContent' => [ - 'description' => 'The content of the command.'."\n", - 'type' => 'string', - 'example' => 'echo "hello world"', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserAlreadyExist', 'errorMessage' => 'The specified user already exists in domain: %s.', 'description' => 'The user already exists in domain: %s'], + ['errorCode' => 'AgentError.Account.UserAddFailure', 'errorMessage' => 'Failed to add user to domain: %s.', 'description' => 'Failed to add the user to domain: %s'], + ['errorCode' => 'AgentError.Account.UserNotExist', 'errorMessage' => 'The specified user is not found in the domain: %s.', 'description' => 'The user does not exist in the domain: %s.'], + ['errorCode' => 'AgentError.Account.UserModifyGroupFailure', 'errorMessage' => 'Failed to modify user groups in domain: %s.', 'description' => 'Failed to modify the user permission group: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Commands\\": {\\n \\"Command\\": [\\n {\\n \\"Timeout\\": \\"60\\",\\n \\"CommandId\\": \\"c-hz01v8vudql****\\",\\n \\"WorkingDir\\": \\"/home\\",\\n \\"CommandContent\\": \\"echo \\\\\\"hello world\\\\\\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCommandsResponse>\\n <PageSize>10</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>1</TotalCount>\\n <Commands>\\n <Timeout>60</Timeout>\\n <CommandId>c-hz01v8vudql****</CommandId>\\n <WorkingDir>/home</WorkingDir>\\n <CommandContent>echo \\"hello world\\"</CommandContent>\\n </Commands>\\n</ListCommandsResponse>","errorExample":""}]', - 'title' => 'ListCommands', - 'summary' => 'Queries the interactive commands in a specified cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyUserGroupsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</ModifyUserGroupsResponse>","errorExample":""}]', + 'title' => 'ModifyUserGroups', + 'summary' => 'Changes the user group to which users belong.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListInvocationResults' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyUserGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyUserPasswords' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75897', + 'abilityTreeNodes' => ['FEATUREehpcG9MMN3'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -21470,315 +12891,156 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'CommandId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the command.'."\n" - ."\n" - .'You can call the [ListCommands](~~87388~~) operation to query the command ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c-hz01v8x80o3****', - ], - ], - [ - 'name' => 'InvokeRecordStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the command that you want to query. Valid values:'."\n" - ."\n" - .'* Finished'."\n" - .'* Running'."\n" - .'* Failed'."\n" - .'* Stopped'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Finished', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'Page numbers start from 1.'."\n" - ."\n" - .'Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Instance', + 'name' => 'User', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information of nodes on which the command is run.'."\n", + 'description' => 'The users. You can specify 1 to 100 users.'."\n", 'type' => 'array', 'items' => [ + 'description' => 'The array of user information.'."\n", 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'The ID of the node on which the command is run.'."\n" - ."\n" - .'> The Instance.N.Id parameter specifies the node on which the command is run. If it is not specified, the command is run on all nodes of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-uf65bh2113hlqvyr****', - ], + 'Password' => ['description' => 'The new password for the user. The password must be 8 to 30 characters in length and contain at least three of the following character types:'."\n" + ."\n" + .'* Uppercase letter'."\n" + .'* Lowercase letter'."\n" + .'* Digit'."\n" + .'* Special character: `()~!@#$%^&*-_+=|{}[]:;\'/<>,.?/`'."\n" + ."\n" + .'> We recommend that you use HTTPS to call this operation to avoid password leaks.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1@a****', 'title' => ''], + 'Name' => ['description' => 'The username of the user whose password you want to change.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the usernames in the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'user1', 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 10000, + 'title' => '', ], ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the asynchronous mode for this request.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InvocationResults' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InvocationResult' => [ - 'description' => 'The result of the command.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the command was run and its result was obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Message' => [ - 'description' => 'The output result.'."\n", - 'type' => 'string', - 'example' => 'hello world', - ], - 'FinishedTime' => [ - 'description' => 'The time at which the command entered the Finished state.'."\n", - 'type' => 'string', - 'example' => '2021-09-06T09:14:56Z', - ], - 'CommandId' => [ - 'description' => 'The ID of the command.'."\n", - 'type' => 'string', - 'example' => 'c-hz01v8x80o3****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the node on which the command was run.'."\n", - 'type' => 'string', - 'example' => 'i-uf65bh2113hlqvyr****', - ], - 'InvokeRecordStatus' => [ - 'description' => 'The status of the command. Valid values:'."\n" - ."\n" - .'* Finished'."\n" - .'* Running'."\n" - .'* Failed'."\n" - .'* Stopped'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'ExitCode' => [ - 'description' => 'The exit code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserNotExist', 'errorMessage' => 'The specified user is not found in the domain: %s.', 'description' => 'The user does not exist in the domain: %s.'], + ['errorCode' => 'AgentError.Account.UserChangePasswordFailure', 'errorMessage' => 'Failed to modify user password in domain: %s.', 'description' => 'Failed to change the user password.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"InvocationResults\\": {\\n \\"InvocationResult\\": [\\n {\\n \\"Success\\": true,\\n \\"Message\\": \\"hello world\\",\\n \\"FinishedTime\\": \\"2021-09-06T09:14:56Z\\",\\n \\"CommandId\\": \\"c-hz01v8x80o3****\\",\\n \\"InstanceId\\": \\"i-uf65bh2113hlqvyr****\\",\\n \\"InvokeRecordStatus\\": \\"Finished\\",\\n \\"ExitCode\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInvocationResultsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>10</PageSize>\\r\\n <InvocationResults>\\r\\n <InvocationResult>\\r\\n <CommandId>c-hz01v8x80o3****</CommandId>\\r\\n <Success>true</Success>\\r\\n <InvokeRecordStatus>Finished</InvokeRecordStatus>\\r\\n <FinishedTime>2021-09-06T09:14:56Z</FinishedTime>\\r\\n <ExitCode>0</ExitCode>\\r\\n <Message>hello world</Message>\\r\\n <InstanceId>i-uf65bh2113hlqvyr****</InstanceId>\\r\\n </InvocationResult>\\r\\n </InvocationResults>\\r\\n</ListInvocationResultsResponse>","errorExample":""}]', - 'title' => 'ListInvocationResults', - 'summary' => 'Queries the result of an interactive command in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyUserPasswordsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</ModifyUserPasswordsResponse>","errorExample":""}]', + 'title' => 'ModifyUserPasswords', + 'summary' => 'Changes the passwords of users.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListInvocationStatus' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyUserPasswords'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyUserPasswords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyVisualServicePasswd' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'CommandId', + 'name' => 'RunasUser', 'in' => 'query', - 'schema' => [ - 'description' => 'The command ID.'."\n" - ."\n" - .'You can call the [ListCommands](~~87388~~) operation to query the command ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c-hz01v8x80o3****', - ], + 'schema' => ['description' => 'The username of the cluster. Set the value to root.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'root', 'title' => ''], + ], + [ + 'name' => 'RunasUserPassword', + 'in' => 'query', + 'schema' => ['description' => 'The password that corresponds to the username specified by RunasUser.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2145****', 'title' => ''], + ], + [ + 'name' => 'Passwd', + 'in' => 'query', + 'schema' => ['description' => 'The password that you can use to remotely connect to the visualization service over the VNC. The password must be 6 characters in length and must contain letters and digits.'."\n" + ."\n" + .'> You must call the API operation over HTTPS to ensure that the password remains confidential.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1254****', 'title' => ''], ], ], 'responses' => [ @@ -21786,406 +13048,240 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'CommandId' => [ - 'description' => 'The command ID.'."\n", - 'type' => 'string', - 'example' => 'c-hz01v8x80o3****', - ], - 'InvokeStatus' => [ - 'description' => 'The status of the command. Valid values:'."\n" - ."\n" - .'* Finished: The execution of the command finished.'."\n" - .'* Running: The command is being executed.'."\n" - .'* Failed: The command failed to be executed.'."\n" - .'* Stopped: The execution of the command stopped.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'InvokeInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InvokeInstance' => [ - 'description' => 'An array of execution statuses. An entry is returned for each node.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceInvokeStatus' => [ - 'description' => 'The status of the node. Valid values:'."\n" - ."\n" - .'* Finished: The running of the node finished.'."\n" - .'* Running: The node is running.'."\n" - .'* Failed: The node failed to run.'."\n" - .'* Stopped: The running of the node stopped.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'InstanceId' => [ - 'description' => 'The ID of the node.'."\n", - 'type' => 'string', - 'example' => 'i-uf6abz34m2714bp4****', - ], - ], - ], - ], - ], - ], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'Service started.', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => ''], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"CommandId\\": \\"c-hz01v8x80o3****\\",\\n \\"InvokeStatus\\": \\"Finished\\",\\n \\"InvokeInstances\\": {\\n \\"InvokeInstance\\": [\\n {\\n \\"InstanceInvokeStatus\\": \\"Finished\\",\\n \\"InstanceId\\": \\"i-uf6abz34m2714bp4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListInvocationStatusResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <CommandId>c-hz01v8x80o3****</CommandId>\\r\\n <InvokeStatus>Finished</InvokeStatus>\\r\\n <InvokeInstances>\\r\\n <InvokeInstance>\\r\\n <InstanceId>i-uf6abz34m2714bp4****</InstanceId>\\r\\n <InstanceInvokeStatus>Finished</InstanceInvokeStatus>\\r\\n </InvokeInstance>\\r\\n <InvokeInstance>\\r\\n <InstanceId>i-uf68t1zu3jkhs8wy****</InstanceId>\\r\\n <InstanceInvokeStatus>Finished</InstanceInvokeStatus>\\r\\n </InvokeInstance>\\r\\n </InvokeInstances>\\r\\n</ListInvocationStatusResponse>","errorExample":""}]', - 'title' => 'ListInvocationStatus', - 'summary' => 'Queries the status of an interactive command.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"Service started.\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE6880\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyVisualServicePasswdResponse>\\n <Message>Service started.</Message>\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE6880</RequestId>\\n</ModifyVisualServicePasswdResponse> ","errorExample":""}]', + 'title' => 'ModifyVisualServicePasswd', + 'summary' => 'Sets a password that you can use to remotely connect to a visualization service in a cluster over the virtual network console (VNC).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetPostScripts' => [ - 'summary' => 'Configures the post-processing scripts of a cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ModifyVisualServicePasswd', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryServicePackAndPrice' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the cluster resides. You can call the [ListRegions](~~188593~~) operation to query the latest region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-sh-EnjshUxn', - ], - ], - [ - 'name' => 'PostInstallScripts', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The post-processing scripts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Args' => [ - 'description' => 'The parameter that is used to run the post-processing script.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-h', - ], - 'Url' => [ - 'description' => 'The URL that is used to download the post-processing script.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [], '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' => 'B745C159-3155-4B94-95D0-4B73D4D2****', + 'OriginalAmount' => ['description' => 'The total number of cores in all clusters in the region.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '3191'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '3B2E8108-7068-413E-BCA7-CAAB25D46408'], + 'DiscountPrice' => ['description' => 'The discounted hourly price for pay-as-you-go resources. Unit: CNY.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '0.418'], + 'TradePrice' => ['description' => 'The final hourly price for pay-as-you-go resources. Unit: CNY.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2.922'], + 'OriginalPrice' => ['description' => 'The original hourly price for pay-as-you-go resources. Unit: CNY.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '3.34'], + 'ChargeAmount' => ['description' => 'The number of cores that are billed on a pay-as-you-go basis. This value is the total number of cores in the cluster minus the cores covered by service packs and free tiers.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '167'], + 'Currency' => ['description' => 'The currency unit.', 'type' => 'string', 'title' => '', 'example' => 'CNY'], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], + 'ServicePack' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ServicePackInfo' => [ + 'description' => 'A list of E-HPC service packs.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The expiration time of the service pack. The value is a UNIX timestamp, which is the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1612705988'], + 'Capacity' => ['description' => 'The specifications of the service pack. Unit: cores.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2000'], + 'StartTime' => ['description' => 'The purchase time of the service pack. The value is a UNIX timestamp, which is the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1610027588'], + 'InstanceName' => ['description' => 'The name of the service pack.', 'type' => 'string', 'title' => '', 'example' => 'EHPCBAG-cn-78v12vbme0****'], + ], + 'description' => 'A list of E-HPC service packs.', + 'title' => '', + ], + ], + ], + 'description' => '', + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 406 => [ + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetPostScriptsResponse>\\n <RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n</SetPostScriptsResponse>","errorExample":""}]', - 'title' => 'SetPostScripts', - ], - 'GetPostScripts' => [ - 'summary' => 'Queries the post-processing scripts of a cluster.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OriginalAmount\\": 3191,\\n \\"RequestId\\": \\"3B2E8108-7068-413E-BCA7-CAAB25D46408\\",\\n \\"DiscountPrice\\": 0.418,\\n \\"TradePrice\\": 2.922,\\n \\"OriginalPrice\\": 3.34,\\n \\"ChargeAmount\\": 167,\\n \\"Currency\\": \\"CNY\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServicePack\\": {\\n \\"ServicePackInfo\\": [\\n {\\n \\"EndTime\\": 1612705988,\\n \\"Capacity\\": 2000,\\n \\"StartTime\\": 1610027588,\\n \\"InstanceName\\": \\"EHPCBAG-cn-78v12vbme0****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'QueryServicePackAndPrice', + 'summary' => 'Call the QueryServicePackAndPrice operation to query information about purchased service packs, the current pay-as-you-go billing status, and the total number of cores in a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:QueryServicePackAndPrice', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryServicePackAndPrice'], + ], ], + ], + 'RecoverCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the cluster resides.'."\n" - ."\n" - .'You can call the [ListRegions](~~188593~~) operation to query the latest region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The cluster ID. The cluster must be in the Exception state.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the ID and status of a cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'OsTag', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-sh-EnjshUxn', - ], - ], - ], - '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' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'PostInstallScripts' => [ - 'description' => 'The post-installation scripts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Args' => [ - 'description' => 'The parameter that is used to run the post-installation script.'."\n", - 'type' => 'string', - 'example' => '-h', - ], - 'Url' => [ - 'description' => 'The URL that is used to download the post-installation script.'."\n", - 'type' => 'string', - 'example' => 'https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh', - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 'schema' => ['description' => 'The tag of the system image.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the image tags supported by Elastic High Performance Computing (E-HPC).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.2_64', 'title' => ''], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + [ + 'name' => 'AccountType', + 'in' => 'query', + 'schema' => ['description' => 'The service type of the domain account. Valid values:'."\n" + ."\n" + .'* nis'."\n" + .'* ldap'."\n" + ."\n" + .'Default value: nis.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nis', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'SchedulerType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* slurm'."\n" + .'* opengridscheduler'."\n" + .'* deadline'."\n" + ."\n" + .'Default value: pbs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pbs', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'ImageOwnerAlias', + 'in' => 'query', + 'schema' => ['description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* system: public image'."\n" + .'* self: custom image'."\n" + .'* others: shared image'."\n" + ."\n" + .'Default value: system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"PostInstallScripts\\": [\\n {\\n \\"Args\\": \\"-h\\",\\n \\"Url\\": \\"https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetPostScriptsResponse>\\n <PostInstallScripts>\\n <Args>-h</Args>\\n <Url>https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh</Url>\\n </PostInstallScripts>\\n</GetPostScriptsResponse>","errorExample":""}]', - 'title' => 'GetPostScripts', - ], - 'GetVisualServiceStatus' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The image ID.'."\n" + ."\n" + .'You can call the [ListImages](~~87213~~) and [ListCustomImages](~~87215~~) operations to query the images that are supported by E-HPC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'm-bp18133n0335yq****', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ClientVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The version of the E-HPC client. The default value is the latest version of the client.'."\n" + ."\n" + .'You can call the [ListCurrentClientVersion](~~87223~~) operation to query the latest version of the E-HPC client.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0.76', 'title' => ''], ], ], 'responses' => [ @@ -22193,110 +13289,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'inactive (dead) , ws service is not running.', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '896D338C-E4F4-41EC-A154-D605E5DE****', - ], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => '18FB21E3-F423-4B84-BB63-D8887A29****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '18FB21E3-F423-4B84-BB63-D8887A29****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ['errorCode' => 'OrderError.InsufficientBalance', 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.InstHasUnpaidOrder', 'errorMessage' => 'Your account has an unpaid order.', 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['errorCode' => 'OrderError.Arrearage', 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.NoCard', 'errorMessage' => 'No credit card is bound to your account.', 'description' => 'You have not bound a card. Please perform binding first.'], + ['errorCode' => 'OrderError.InvalidPayMethod', 'errorMessage' => 'No valid default payment method is specified for your account.', 'description' => 'No valid payment method is found. Please check again.'], + ['errorCode' => 'OrderError.NoRealNameAuthentication', 'errorMessage' => 'You have not completed the real name authentication.', 'description' => 'You must complete the real-name verification first.'], + ['errorCode' => 'OrderError.NoRealNameRegistration', 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['errorCode' => 'OrderError.UserProfileIncomplete', 'errorMessage' => 'You have not completed your user profile.', 'description' => 'The user has not completed personal information on the international site.'], + ['errorCode' => 'InvalidVpc', 'errorMessage' => 'The specified VPC is invalid.', 'description' => 'The VPC information is invalid.'], + ['errorCode' => 'InvalidVolume', 'errorMessage' => 'The specified volume is invalid.', 'description' => 'The specified volume is invalid.'], + ['errorCode' => 'InvalidSoftware', 'errorMessage' => 'The specified software is not supported.', 'description' => 'The requested software is not supported.'], + ['errorCode' => 'InvalidVolumeProtocal', 'errorMessage' => 'The specified volume protocol is invalid.', 'description' => 'The storage protocol is invalid.'], + ['errorCode' => 'InvalidVolumeMountpoint', 'errorMessage' => 'The specified volume mount point is invalid.', 'description' => 'The specified volume mount point is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'TooManyClusters', 'errorMessage' => 'The number of user clusters exceeds the quota.', 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], + ['errorCode' => 'TooManyLogins', 'errorMessage' => 'The maximum number of logged on nodes is exceeded.', 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['errorCode' => 'TooManyScc', 'errorMessage' => 'The maximum number of SCC instances is exceeded.', 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['errorCode' => 'QuotaExceeded.PrivateIpAddress', 'errorMessage' => 'Insufficient private IP addresses in vSwitch: %s.', 'description' => 'Insufficient private IP addresses in vSwitch: %s.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'ImageNotSupported', 'errorMessage' => 'The specified image is not supported.', 'description' => 'The specified image does not exist. Change the image and try again.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], + ['errorCode' => 'FailToGenId', 'errorMessage' => 'Generating cluster ID failed.', 'description' => ''], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"inactive (dead) , ws service is not running.\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetVisualServiceStatusResponse>\\r\\n <Message>\\r\\n <Msg>inactive (dead) , ws service is not running.</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</GetVisualServiceStatusResponse>","errorExample":""}]', - 'title' => 'GetVisualServiceStatus', - 'summary' => 'Queries the status of the VNC service in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"18FB21E3-F423-4B84-BB63-D8887A29****\\",\\n \\"RequestId\\": \\"18FB21E3-F423-4B84-BB63-D8887A29****\\"\\n}","errorExample":""},{"type":"xml","example":"<RecoverClusterResponse>\\n <TaskId>18FB21E3-F423-4B84-BB63-D8887A29****</TaskId>\\n <RequestId>18FB21E3-F423-4B84-BB63-D8887A29****</RequestId>\\n</RecoverClusterResponse> ","errorExample":""}]', + 'title' => 'RecoverCluster', + 'summary' => 'Resets and restores a cluster.', + 'description' => 'You can call the operation to reset and restore a cluster only when the cluster is in the Exception state. You can call the [ListClusters](~~87116~~) operation to query the ID and status of a cluster. We recommend that you export all job data before you restore a cluster. When you reset and restore a cluster, take note of the following impacts:'."\n" + ."\n" + .'* The system disks of all nodes are changed. By default, new system disks are configured based on the settings that you specified when the cluster was created.'."\n" + .'* The data on the system disks and data disks of all cluster nodes is lost. The data includes user information, job information, scheduler queue information, and configuration data of auto-scaling queues. However, the data on File Storage NAS file systems is retained.'."\n" + .'* The self-managed queues in the cluster are deleted. All nodes are retained and migrated to the default queue of the cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyVisualServicePasswd' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecoverCluster'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RecoverCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'RerunJobs' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22304,58 +13390,32 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-sh-3VeFyR****', 'title' => ''], ], [ - 'name' => 'RunasUser', - 'in' => 'query', - 'schema' => [ - 'description' => 'The username of the cluster. Set the value to root.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'root', - ], - ], - [ - 'name' => 'RunasUserPassword', + 'name' => 'Jobs', 'in' => 'query', - 'schema' => [ - 'description' => 'The password that corresponds to the username specified by RunasUser.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2145****', - ], + 'schema' => ['description' => 'The list of jobs that you want to run. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" + ."\n" + .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" + ."\n" + .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n" + ."\n" + .'> You can rerun only jobs that are in the RUNNING or QUEUED state.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"Id":"1.scheduler"}]', 'title' => ''], ], [ - 'name' => 'Passwd', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The password that you can use to remotely connect to the visualization service over the VNC. The password must be 6 characters in length and must contain letters and digits.'."\n" - ."\n" - .'> You must call the API operation over HTTPS to ensure that the password remains confidential.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1254****', - ], + 'schema' => ['description' => 'Specifies whether to use an asynchronous link to rerun the job.'."\n" + ."\n" + .'Default value: false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -22363,110 +13423,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Service started.', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'IncorrectCredential', - 'errorMessage' => 'The username or password is incorrect.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'UsernameExist', 'errorMessage' => 'The username already exists.', 'description' => 'The username already exists.'], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError.Job.RerunFailure', 'errorMessage' => 'Failed to run the job again: %s.', 'description' => 'Failed to run the job again: %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"{\\\\\\"Msg\\\\\\": \\\\\\"\\\\\\" }\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE6880\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyVisualServicePasswdResponse>\\n<RequestId>92221BA0-4C9A-5F44-918F-6C1293F83BFA</RequestId>\\n<Message>\\n <Msg/>\\n</Message>\\n</ModifyVisualServicePasswdResponse>","errorExample":""}]', - 'title' => 'ModifyVisualServicePasswd', - 'summary' => 'Sets a password that you can use to remotely connect to a visualization service in a cluster over the virtual network console (VNC).', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</DeleteJobsResponse>","errorExample":""}]', + 'title' => 'RerunJobs', + 'summary' => 'Reruns one or more jobs.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StartVisualService' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RerunJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ResetNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22475,6 +13497,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75904', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -22482,36 +13507,31 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'CidrIp', - 'in' => 'query', - 'schema' => [ - 'description' => 'A public IP address of logon nodes in the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '190.100.**.**', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'Call [ListClusters](~~87116~~) to obtain the cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], ], [ - 'name' => 'Port', + 'name' => 'Instance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The fixed port. Set the value to 12016'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'Information about the nodes to reset.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of node information.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the Nth compute node to reset. N can be an integer from 1 to 100.'."\n" + ."\n" + .'Call [ListNodes](~~87161~~) to obtain the node ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp13p7vlcb1uihfv****'], + ], + 'required' => false, + 'title' => '', + ], 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'example' => '12016', + 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -22520,108 +13540,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The status of the VNC Remote visualization service. Valid values:'."\n" - ."\n" - .'* Service started'."\n" - .'* Service stopped'."\n", - 'type' => 'string', - 'example' => 'Service started', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', - ], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidNodeStatus', 'errorMessage' => 'The operation failed due to invalid node status.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"Service started.\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartVisualServiceResponse>\\r\\n <Message>\\r\\n <Msg>Service started.</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</StartVisualServiceResponse>","errorExample":""}]', - 'title' => 'StartVisualService', - 'summary' => 'Starts the Virtual Network Console (VNC) Remote visualization service in a specified cluster.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'title' => 'ResetNodes', + 'summary' => 'You can call ResetNodes to reset one or more compute nodes.', + 'description' => '## Description'."\n" + ."\n" + .'Resetting a node restores its operating system and software to their initial states. To ensure that your jobs run properly, do not reset a node that is in the \\`running\\` state unless it is for a special purpose, such as crash recovery.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopVisualService' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ResetNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetNodes'], + ], ], + ], + 'RunCloudMetricProfiling' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22629,47 +13625,43 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou', 'title' => ''], + ], + [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'CidrIp', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The CIDR block or IP address that is allowed to access the VNC service. This parameter is used to assign a security group to the E-HPC cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '100.168.**.**', - ], + 'schema' => ['description' => 'The hostname.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'compute0', 'title' => ''], ], [ - 'name' => 'Port', + 'name' => 'ProcessId', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed port. Set the value to 12016.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'example' => '12016', - ], + 'schema' => ['description' => 'The ID of the profiling process.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '29075', 'title' => ''], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => ['description' => 'The duration of the profiling process. Unit: seconds.'."\n" + ."\n" + .'Value values: 10 to 300.'."\n" + ."\n" + .'Default value: 30.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'default' => '300', 'title' => ''], + ], + [ + 'name' => 'Freq', + 'in' => 'query', + 'schema' => ['description' => 'The sampling frequency. Unit: Hz. Valid values: 1 to 2000.'."\n" + ."\n" + .'Default value: 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000', 'default' => '2000', 'title' => ''], ], ], 'responses' => [ @@ -22677,107 +13669,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Service stopped', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8442AF35-875B-4FC0-8B7AAFDC339335D5', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"Service stopped\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopVisualServiceResponse>\\r\\n <Message>\\r\\n <Msg>Service stopped</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE****</RequestId>\\r\\n</StopVisualServiceResponse>","errorExample":""}]', - 'title' => 'StopVisualService', - 'summary' => 'Stops the remote visualization service of Virtual Network Console (VNC) in a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8442AF35-875B-4FC0-8B7AAFDC339335D5\\"\\n}","errorExample":""},{"type":"xml","example":"<RunCloudMetricProfilingResponse>\\r\\n <RequestId>8442AF35-875B-4FC0-8B7AAFDC339335D5</RequestId>\\r\\n</RunCloudMetricProfilingResponse>","errorExample":""}]', + 'title' => 'RunCloudMetricProfiling', + 'summary' => 'Starts the profiling process of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RunCloudMetricProfiling', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], ], 'SetAutoScaleConfig' => [ - 'summary' => 'Configures the auto scaling settings of a cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22785,226 +13733,134 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'EnableAutoGrow', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto scale-out. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-out.'."\n" - .'* false: disables auto scale-out.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable auto scale-out. Valid values:'."\n" + ."\n" + .'* true: enables auto scale-out.'."\n" + .'* false: disables auto scale-out.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'EnableAutoShrink', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto scale-in. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-in.'."\n" - .'* false: disables auto scale-in.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable auto scale-in. Valid values:'."\n" + ."\n" + .'* true: enables auto scale-in.'."\n" + .'* false: disables auto scale-in.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'GrowIntervalInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive rounds of scale-out. Unit: minutes.'."\n" - ."\n" - .'Valid values: 2 to 10.'."\n" - ."\n" - .'Default value: 2.'."\n" - ."\n" - .'> An interval may exist during multiple rounds of a scale-out task or between two consecutive scale-out tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - 'default' => '2', - ], + 'schema' => ['description' => 'The interval between two consecutive rounds of scale-out. Unit: minutes.'."\n" + ."\n" + .'Valid values: 2 to 10.'."\n" + ."\n" + .'Default value: 2.'."\n" + ."\n" + .'> An interval may exist during multiple rounds of a scale-out task or between two consecutive scale-out tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '2', 'title' => ''], ], [ 'name' => 'ShrinkIntervalInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive rounds of scale-in. Unit: minutes.'."\n" - ."\n" - .'Valid values: 2 to 10.'."\n" - ."\n" - .'Default value: 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - 'default' => '2', - ], + 'schema' => ['description' => 'The interval between two consecutive rounds of scale-in. Unit: minutes.'."\n" + ."\n" + .'Valid values: 2 to 10.'."\n" + ."\n" + .'Default value: 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '2', 'title' => ''], ], [ 'name' => 'ShrinkIdleTimes', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that a compute node is idle during the resource scale-in check.'."\n" - ."\n" - .'Valid values: 2 to 5.'."\n" - ."\n" - .'Default value: 3.'."\n" - ."\n" - .'If the parameter is set to 3, a compute node is idle more than three consecutive times. In this case, the node is released. If a compute node is idle for longer than 6 minutes continuously, it is released by default. This is because the default value of the ShrinkIntervalInMinutes parameter is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - 'default' => '3', - ], + 'schema' => ['description' => 'The number of consecutive times that a compute node is idle during the resource scale-in check.'."\n" + ."\n" + .'Valid values: 2 to 5.'."\n" + ."\n" + .'Default value: 3.'."\n" + ."\n" + .'If the parameter is set to 3, a compute node is idle more than three consecutive times. In this case, the node is released. If a compute node is idle for longer than 6 minutes continuously, it is released by default. This is because the default value of the ShrinkIntervalInMinutes parameter is 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '3', 'title' => ''], ], [ 'name' => 'GrowTimeoutInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'The scale-out timeout period. Unit: minutes.'."\n" - ."\n" - .'Valid values: 10 to 60.'."\n" - ."\n" - .'Default value: 20.'."\n" - ."\n" - .'If the scale-out timeout period has been reached but the scale-out nodes still do not reach the Running state, the system releases them.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - 'default' => '20', - ], + 'schema' => ['description' => 'The scale-out timeout period. Unit: minutes.'."\n" + ."\n" + .'Valid values: 10 to 60.'."\n" + ."\n" + .'Default value: 20.'."\n" + ."\n" + .'If the scale-out timeout period has been reached but the scale-out nodes still do not reach the Running state, the system releases them.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'ExtraNodesGrowRatio', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n" - ."\n" - .'If you need to add 100 compute nodes and the value of the ExtraNodesGrowRatio parameter is 2, 102 compute nodes are added.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - 'default' => '0', - ], + 'schema' => ['description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n" + ."\n" + .'If you need to add 100 compute nodes and the value of the ExtraNodesGrowRatio parameter is 2, 102 compute nodes are added.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'GrowRatio', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of each round of a scale-out task. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 100.'."\n" - ."\n" - .'If you set GrowRatio to 50, the scale-out has two rounds. Each round completes half of the scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '50', - 'default' => '100', - ], + 'schema' => ['description' => 'The percentage of each round of a scale-out task. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 100.'."\n" + ."\n" + .'If you set GrowRatio to 50, the scale-out has two rounds. Each round completes half of the scale-out.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'example' => '50', 'default' => '100', 'title' => ''], ], [ 'name' => 'MaxNodesInCluster', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of compute nodes that can be added to the cluster. Valid values: 0 to 500.'."\n" - ."\n" - .'Default value: 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '100', - ], + 'schema' => ['description' => 'The maximum number of compute nodes that can be added to the cluster. Valid values: 0 to 500.'."\n" + ."\n" + .'Default value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '100', 'title' => ''], ], [ 'name' => 'ExcludeNodes', 'in' => 'query', - 'schema' => [ - 'description' => 'The compute nodes that are excluded from auto scaling tasks. Separate multiple compute nodes with commas (,).'."\n" - ."\n" - .'If you want to retain a compute node, you can specify the node as an additional node to retain the node when it is idle.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', - ], + 'schema' => ['description' => 'The compute nodes that are excluded from auto scaling tasks. Separate multiple compute nodes with commas (,).'."\n" + ."\n" + .'If you want to retain a compute node, you can specify the node as an additional node to retain the node when it is idle.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', 'title' => ''], ], [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotWithPriceLimit', - ], + 'schema' => ['description' => 'The preemption policy of the compute nodes. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], ], [ 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter takes effect only when `SpotStrategy` is set to `SpotWithPriceLimit`.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.062', - ], + 'schema' => ['description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter takes effect only when `SpotStrategy` is set to `SpotWithPriceLimit`.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.062', 'title' => ''], ], [ 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the images.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If both `Queues.N.QueueImageId` and `ImageId` are specified, `Queues.N.QueueImageId` prevails.'."\n" - ."\n" - .'* If you set `Queues.N.QueueImageId` or `ImageId`, the parameter that you set takes effect.'."\n" - .'* If you leave both `Queues.N.QueueImageId` and `ImageId` empty, the image that was specified when you created the cluster or the last time you scaled out the cluster is used by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_03_64_20G_alibase_201708****', - ], + 'schema' => ['description' => 'The IDs of the images.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If both `Queues.N.QueueImageId` and `ImageId` are specified, `Queues.N.QueueImageId` prevails.'."\n" + ."\n" + .'* If you set `Queues.N.QueueImageId` or `ImageId`, the parameter that you set takes effect.'."\n" + .'* If you leave both `Queues.N.QueueImageId` and `ImageId` empty, the image that was specified when you created the cluster or the last time you scaled out the cluster is used by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_03_64_20G_alibase_201708****', 'title' => ''], ], [ 'name' => 'Queues', @@ -23017,161 +13873,87 @@ 'description' => 'The array of information about queues.'."\n", 'type' => 'object', 'properties' => [ - 'QueueImageId' => [ - 'description' => 'The image ID of the queue where the scale-out is performed. Valid values of N: 1 to 8.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If you set both `Queues.N.QueueImageId` and `ImageId`, `Queues.N.QueueImageId` prevails.'."\n" - ."\n" - .'* If you set `Queues.N.QueueImageId` or `ImageId`, the parameter that you set takes effect.'."\n" - .'* If you leave both `Queues.N.QueueImageId` and `ImageId` empty, the image that was specified when you created the cluster or the last time when you scaled out the cluster is used by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos_7_03_64_20G_alibase_201708****', - ], - 'SystemDiskCategory' => [ - 'description' => 'The category of the system disk specified for the compute nodes that are added to the queue. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: enhanced SSD (ESSD).'."\n" - .'* cloud: basic disk. Disks of this type are retired.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes that are automatically added to the queue. Valid values of N: 1 to 8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.medium', - ], - 'HostNameSuffix' => [ - 'description' => 'The hostname suffix of the host that is used to perform scale-out for the queue. You can manage nodes that have a specified hostname suffix.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '000', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy of the compute node that is automatically added to the queue. Valid values of N: 1 to 8.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* NoSpot: The compute node is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The compute node is created as a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute node is created as a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], - 'HostNamePrefix' => [ - 'description' => 'The hostname prefix of the host that is used to perform scale-out for the queue. You can manage compute nodes that have a specified hostname prefix.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', - ], - 'MinNodesInQueue' => [ - 'description' => 'The minimum number of compute nodes that can be removed from the queue. Valid values: 0 to 50.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk specified for the compute nodes that are added to the queue. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: 40.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - 'MaxNodesInQueue' => [ - 'description' => 'The maximum number of compute nodes that can be added to the queue. Valid values: 0 to 500.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'EnableAutoShrink' => [ - 'description' => 'Specifies whether the queue enables auto scale-in. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-in.'."\n" - .'* false: disables auto scale-in.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'QueueName' => [ - 'description' => 'The name of the queue. You can specify 1 to 8 names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cluster1', - ], - 'EnableAutoGrow' => [ - 'description' => 'Specifies whether the queue enables auto scale-out. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-out.'."\n" - .'* false: disables auto scale-out.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SystemDiskLevel' => [ - 'description' => 'The performance level of the system disk specified for the compute nodes that are added to the queue. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n" - ."\n" - .'Default value: PL1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the compute nodes that are automatically added to the queue. The value can be accurate to three decimal places. The parameter takes effect only when `Queues.N.SpotStrategy` is set to `SpotWithPriceLimit`.'."\n" - ."\n" - .'Valid values of N: 1 to 8.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.662', - ], + 'QueueImageId' => ['description' => 'The image ID of the queue where the scale-out is performed. Valid values of N: 1 to 8.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If you set both `Queues.N.QueueImageId` and `ImageId`, `Queues.N.QueueImageId` prevails.'."\n" + ."\n" + .'* If you set `Queues.N.QueueImageId` or `ImageId`, the parameter that you set takes effect.'."\n" + .'* If you leave both `Queues.N.QueueImageId` and `ImageId` empty, the image that was specified when you created the cluster or the last time when you scaled out the cluster is used by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'centos_7_03_64_20G_alibase_201708****', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The category of the system disk specified for the compute nodes that are added to the queue. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk.'."\n" + .'* cloud_ssd: standard SSD.'."\n" + .'* cloud_essd: enhanced SSD (ESSD).'."\n" + .'* cloud: basic disk. Disks of this type are retired.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: cloud_efficiency.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute nodes that are automatically added to the queue. Valid values of N: 1 to 8.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.medium', 'title' => ''], + 'HostNameSuffix' => ['description' => 'The hostname suffix of the host that is used to perform scale-out for the queue. You can manage nodes that have a specified hostname suffix.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n", 'type' => 'string', 'required' => false, 'example' => '000', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the compute node that is automatically added to the queue. Valid values of N: 1 to 8.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* NoSpot: The compute node is created as a pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The compute node is created as a preemptible instance that has a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute node is created as a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + 'HostNamePrefix' => ['description' => 'The hostname prefix of the host that is used to perform scale-out for the queue. You can manage compute nodes that have a specified hostname prefix.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute', 'title' => ''], + 'MinNodesInQueue' => ['description' => 'The minimum number of compute nodes that can be removed from the queue. Valid values: 0 to 50.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system disk specified for the compute nodes that are added to the queue. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: 40.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + 'MaxNodesInQueue' => ['description' => 'The maximum number of compute nodes that can be added to the queue. Valid values: 0 to 500.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'EnableAutoShrink' => ['description' => 'Specifies whether the queue enables auto scale-in. Valid values:'."\n" + ."\n" + .'* true: enables auto scale-in.'."\n" + .'* false: disables auto scale-in.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'QueueName' => ['description' => 'The name of the queue. You can specify 1 to 8 names.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cluster1', 'title' => ''], + 'EnableAutoGrow' => ['description' => 'Specifies whether the queue enables auto scale-out. Valid values:'."\n" + ."\n" + .'* true: enables auto scale-out.'."\n" + .'* false: disables auto scale-out.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'SystemDiskLevel' => ['description' => 'The performance level of the system disk specified for the compute nodes that are added to the queue. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n" + ."\n" + .'Default value: PL1.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the compute nodes that are automatically added to the queue. The value can be accurate to three decimal places. The parameter takes effect only when `Queues.N.SpotStrategy` is set to `SpotWithPriceLimit`.'."\n" + ."\n" + .'Valid values of N: 1 to 8.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.662', 'title' => ''], 'InstanceTypes' => [ 'description' => 'The instance types of the nodes in the queue.'."\n", 'type' => 'array', @@ -23179,86 +13961,46 @@ 'description' => 'The array of node information.'."\n", 'type' => 'object', 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The vSwitch ID of the compute nodes that are automatically added to the queue.'."\n" - ."\n" - .'You can specify 1 to 8 IDs.'."\n" - ."\n" - .'The vSwitch IDs of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone that compute nodes automatically added to the queue belong.'."\n" - ."\n" - .'You can specify 1 to 8 IDs.'."\n" - ."\n" - .'The zone IDs of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the compute nodes that are automatically added to the queue. The value can be accurate to three decimal places. The parameter takes effect only when `Queues.N.InstanceTypes.N.SpotStrategy` is set to `SpotWithPriceLimit`.'."\n" - ."\n" - .'You can specify the maximum hourly price for 1 to 8 compute nodes.'."\n" - ."\n" - .'The maximum hourly prices of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.660', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes that are automatically added to the queue.'."\n" - ."\n" - .'You can specify the specification for 1 to 8 nodes.'."\n" - ."\n" - .'The instance types of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.tiny', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy for the compute node that is automatically added to the queue. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute node is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The compute node is created as a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute node is created as a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n" - ."\n" - .'You can specify the preemption policy for 1 to 8 compute nodes.'."\n" - ."\n" - .'The preemption policies of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotWithPriceLimit', - ], - 'SpotDuration' => [ - 'title' => '抢占式实例的保留时长,单位为小时。取值范围:0~6。'."\n" - .'- 保留时长2~6正在邀测中,如需开通请提交工单。'."\n" - .'- 取值为0,则为无保护期模式。'."\n" - .'默认值:1。', - 'description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 to 1. A value of 0 means that no protection period is specified. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - 'SpotInterruptionBehavior' => [ - 'title' => '抢占实例中断模式。目前仅支持Terminate(默认)直接释放实例。', - 'description' => 'The interruption mode of the preemptible instance. The value can only be Terminate, which indicates that the instance is released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - ], + 'VSwitchId' => ['description' => 'The vSwitch ID of the compute nodes that are automatically added to the queue.'."\n" + ."\n" + .'You can specify 1 to 8 IDs.'."\n" + ."\n" + .'The vSwitch IDs of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], + 'ZoneId' => ['description' => 'The ID of the zone that compute nodes automatically added to the queue belong.'."\n" + ."\n" + .'You can specify 1 to 8 IDs.'."\n" + ."\n" + .'The zone IDs of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price of the compute nodes that are automatically added to the queue. The value can be accurate to three decimal places. The parameter takes effect only when `Queues.N.InstanceTypes.N.SpotStrategy` is set to `SpotWithPriceLimit`.'."\n" + ."\n" + .'You can specify the maximum hourly price for 1 to 8 compute nodes.'."\n" + ."\n" + .'The maximum hourly prices of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.660', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the compute nodes that are automatically added to the queue.'."\n" + ."\n" + .'You can specify the specification for 1 to 8 nodes.'."\n" + ."\n" + .'The instance types of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy for the compute node that is automatically added to the queue. Valid values:'."\n" + ."\n" + .'* NoSpot: The compute node is created as a pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The compute node is created as a preemptible instance that has a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The compute node is created as a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n" + ."\n" + .'You can specify the preemption policy for 1 to 8 compute nodes.'."\n" + ."\n" + .'The preemption policies of N compute nodes in the queue can be set at the same time when auto scaling is performed in the queue. Valid values of N: 0 to 500.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], + 'SpotDuration' => ['title' => '', 'description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 to 1. A value of 0 means that no protection period is specified. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + 'SpotInterruptionBehavior' => ['title' => '', 'description' => 'The interruption mode of the preemptible instance. The value can only be Terminate, which indicates that the instance is released.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Terminate'], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 16, + 'title' => '', ], 'DataDisks' => [ 'description' => 'The list of data disks.'."\n", @@ -23267,156 +14009,97 @@ 'description' => 'The list of data disks.'."\n", 'type' => 'object', 'properties' => [ - 'DataDiskSize' => [ - 'description' => 'The size of the data disk. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n" - ."\n" - .'Default value: 40.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40', - ], - 'DataDiskCategory' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud: basic disk.'."\n" - ."\n" - .'Default value: cloud_efficiency.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - 'DataDiskDeleteWithInstance' => [ - 'description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'DataDiskPerformanceLevel' => [ - 'description' => 'The performance level of the ESSD used as the data disk. The parameter takes effect only when the Queues.N.DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'DataDiskEncrypted' => [ - 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'DataDiskKMSKeyId' => [ - 'description' => 'The Key Management Service (KMS) key ID of the data disk.'."\n" - ."\n" - .'Valid values of N: 0 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', - ], + 'DataDiskSize' => ['description' => 'The size of the data disk. Unit: GB.'."\n" + ."\n" + .'Valid values: 40 to 500.'."\n" + ."\n" + .'Default value: 40.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40', 'title' => ''], + 'DataDiskCategory' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: ultra disk.'."\n" + .'* cloud_ssd: standard SSD.'."\n" + .'* cloud_essd: ESSD.'."\n" + .'* cloud: basic disk.'."\n" + ."\n" + .'Default value: cloud_efficiency.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + 'DataDiskDeleteWithInstance' => ['description' => 'Specifies whether the data disk is released when the node is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'DataDiskPerformanceLevel' => ['description' => 'The performance level of the ESSD used as the data disk. The parameter takes effect only when the Queues.N.DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'DataDiskEncrypted' => ['description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'DataDiskKMSKeyId' => ['description' => 'The Key Management Service (KMS) key ID of the data disk.'."\n" + ."\n" + .'Valid values of N: 0 to 16.'."\n", 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 16, + 'title' => '', ], - 'MaxNodesPerCycle' => [ - 'description' => 'The maximum number of compute nodes that can be added in each round of scale-out. Valid values: 0 to 99.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], - 'MinNodesPerCycle' => [ - 'description' => 'The minimum number of compute nodes that can be added in each round of scale-out. Valid values: 1 to 99'."\n" - ."\n" - .'Default value: 1.'."\n" - ."\n" - .'If the number of compute nodes that you want to add in a round is less than the value of this property, the system automatically changes the value of this property to the number of compute nodes that you want to add in a round. This helps ensure that compute nodes can be added as expected.'."\n" - ."\n" - .'> The configuration takes effect only for the minimum compute nodes that can be added in the current round.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5', - ], - 'AutoMinNodesPerCycle' => [ - 'description' => 'Specifies whether to automatically specify the minimum number of compute nodes that can be added in each round of scale-out. If you set this parameter to true, the minimum number of nodes for each scale-out is equal to the number of nodes required by the job. The maximum number is 99.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'SortedByInventory' => [ - 'description' => 'Specifies whether the instances are unordered. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> If you set this parameter to true, the system selects instance types in descending order of the number of instances in stock during auto scaling.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'MaxNodesPerCycle' => ['description' => 'The maximum number of compute nodes that can be added in each round of scale-out. Valid values: 0 to 99.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], + 'MinNodesPerCycle' => ['description' => 'The minimum number of compute nodes that can be added in each round of scale-out. Valid values: 1 to 99'."\n" + ."\n" + .'Default value: 1.'."\n" + ."\n" + .'If the number of compute nodes that you want to add in a round is less than the value of this property, the system automatically changes the value of this property to the number of compute nodes that you want to add in a round. This helps ensure that compute nodes can be added as expected.'."\n" + ."\n" + .'> The configuration takes effect only for the minimum compute nodes that can be added in the current round.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5', 'title' => ''], + 'AutoMinNodesPerCycle' => ['description' => 'Specifies whether to automatically specify the minimum number of compute nodes that can be added in each round of scale-out. If you set this parameter to true, the minimum number of nodes for each scale-out is equal to the number of nodes required by the job. The maximum number is 99.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'SortedByInventory' => ['description' => 'Specifies whether the instances are unordered. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> If you set this parameter to true, the system selects instance types in descending order of the number of instances in stock during auto scaling.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, 'maxItems' => 8, + 'title' => '', ], ], [ 'name' => 'ComputeEnableHt', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable hyper-threading for the ECS instance that is used as the compute node.'."\n" - ."\n" - .'> You can only disable hyper-threading for some instance types. The hyper-threading is enabled for ECS instances by default. For more information, see [Specify and view CPU options](~~145895~~).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable hyper-threading for the ECS instance that is used as the compute node.'."\n" + ."\n" + .'> You can only disable hyper-threading for some instance types. The hyper-threading is enabled for ECS instances by default. For more information, see [Specify and view CPU options](~~145895~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DnsConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of DNS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', - ], + 'schema' => ['description' => 'The configurations of DNS.'."\n", 'type' => 'string', 'required' => false, 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', 'title' => ''], ], ], 'responses' => [ @@ -23424,276 +14107,172 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-13358736C-A1D7-6C044FE7****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-13358736C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - [ - 'errorCode' => 'TooManyComputes', - 'errorMessage' => 'The number of computing nodes exceeds the quota.', - ], + ['errorCode' => 'InvalidOpt', 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', 'description' => ''], + ['errorCode' => 'TooManyComputes', 'errorMessage' => 'The number of computing nodes exceeds the quota.', 'description' => 'The number of computing nodes exceeds the quota.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-13358736C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAutoScaleConfigResponse>\\n <RequestId>04F0F334-13358736C-A1D7-6C044FE7****</RequestId>\\n</SetAutoScaleConfigResponse>","errorExample":""}]', 'title' => 'SetAutoScaleConfig', + 'summary' => 'Configures the auto scaling settings of a cluster.', 'description' => '## Usage notes'."\n" ."\n" .'If the settings in the Queue Configuration section are different from the settings in the Global Configurations section, the former prevails.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAutoScaleConfig' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetAutoScaleConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SetPostScripts' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the cluster resides. You can call the [ListRegions](~~188593~~) operation to query the latest region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], + ], + [ 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to obtain the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-sh-EnjshUxn', 'title' => ''], + ], + [ + 'name' => 'PostInstallScripts', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'description' => 'The post-processing scripts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Args' => ['description' => 'The parameter that is used to run the post-processing script.'."\n", 'type' => 'string', 'required' => false, 'example' => '-h', 'title' => ''], + 'Url' => ['description' => 'The URL that is used to download the post-processing script.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://bucket.oss-cn-shanghai.aliyuncs.com/postscript_examples.sh', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'MaxNodesInCluster' => [ - 'description' => 'The maximum number of compute nodes in the cluster. This parameter indicates the largest number of nodes that can be added to the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'GrowTimeoutInMinutes' => [ - 'description' => 'The timeout period before the scale-out nodes were started. Valid values: 10 to 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding method of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instance is created as 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 bidding price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73', - ], - 'EnableAutoShrink' => [ - 'description' => 'Specifies whether to enable auto scale-in.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ClusterType' => [ - 'description' => 'The type of the scheduler. Valid values:'."\n" - ."\n" - .'* pbs'."\n" - .'* slurm'."\n" - .'* opengridscheduler'."\n" - .'* deadline'."\n", - 'type' => 'string', - 'example' => 'slurm', - ], - 'EnableAutoGrow' => [ - 'description' => 'Specifies whether to enable auto scale-out.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ExcludeNodes' => [ - 'description' => 'The list of nodes on which auto scaling is not enabled.'."\n", - 'type' => 'string', - 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', - ], - 'GrowIntervalInMinutes' => [ - 'description' => 'The interval between two consecutive rounds of scale-in. Valid values: 2 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ShrinkIntervalInMinutes' => [ - 'description' => 'The interval between two consecutive rounds of scale-out. Valid values: 2 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the new ECS instance. The value is accurate to three decimal places. It takes effect only when SpotStrategy is set to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'example' => '0.062', - ], - 'ShrinkIdleTimes' => [ - 'description' => 'The number of consecutive idle times of a node during the resource shrink check. Valid values: 2 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'ExtraNodesGrowRatio' => [ - 'description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'GrowRatio' => [ - 'description' => 'The percentage of each round of scale-out. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Uid' => [ - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'example' => 'testu****', - ], - 'ClusterId' => [ - 'description' => 'The ID of the associated cluster.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****'], ], - 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MaxNodesInCluster\\": 100,\\n \\"GrowTimeoutInMinutes\\": 20,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73\\",\\n \\"EnableAutoShrink\\": true,\\n \\"ClusterType\\": \\"slurm\\",\\n \\"EnableAutoGrow\\": true,\\n \\"ExcludeNodes\\": \\"i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****\\",\\n \\"GrowIntervalInMinutes\\": 10,\\n \\"ShrinkIntervalInMinutes\\": 2,\\n \\"SpotPriceLimit\\": \\"0.062\\",\\n \\"ShrinkIdleTimes\\": 3,\\n \\"ExtraNodesGrowRatio\\": 0,\\n \\"GrowRatio\\": 1,\\n \\"Uid\\": \\"testu****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeAutoScaleConfigResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73</RequestId>\\n <ClusterType>slurm</ClusterType>\\n <Uid>testu****</Uid>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <ExcludeNodes>i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****</ExcludeNodes>\\n <GrowIntervalInMinutes>10</GrowIntervalInMinutes>\\n <ShrinkIntervalInMinutes>2</ShrinkIntervalInMinutes>\\n <ShrinkIdleTimes>3</ShrinkIdleTimes>\\n <GrowTimeoutInMinutes>20</GrowTimeoutInMinutes>\\n <ExtraNodesGrowRatio>0</ExtraNodesGrowRatio>\\n <MaxNodesInCluster>100</MaxNodesInCluster>\\n <GrowRatio>1</GrowRatio>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <SpotPriceLimit>0</SpotPriceLimit>\\n</DescribeAutoScaleConfigResponse> ","errorExample":""}]', - 'title' => 'DescribeAutoScaleConfig', - 'summary' => 'Queries the auto scaling settings of a cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetAutoScaleConfig' => [ - 'summary' => 'Obtains the auto scaling settings of a cluster.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetPostScriptsResponse>\\n <RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>\\n</SetPostScriptsResponse>","errorExample":""}]', + 'title' => 'SetPostScripts', + 'summary' => 'Configures the post-processing scripts of a cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetPostScripts'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetPostScripts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SetQueue' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75912', + 'abilityTreeNodes' => ['FEATUREehpcAB36B2'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -23701,12 +14280,32 @@ [ 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], + ], + [ + 'name' => 'QueueName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the destination queue.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'work'], + ], + [ + 'name' => 'Node', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The cluster ID.', - 'type' => 'string', + 'description' => 'The list of nodes to move.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of node information.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The hostname of the compute node to move.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'compute1'], + ], + 'required' => false, + 'title' => '', + ], 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'maxItems' => 1000, + 'title' => '', ], ], ], @@ -23715,464 +14314,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'MaxNodesInCluster' => [ - 'description' => 'The interval between two consecutive rounds of scale-in. Unit: minutes. Valid values: 2 to 10.'."\n" - ."\n" - .'> An interval may exist during multiple rounds of a scale-out task or between two consecutive scale-out tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'GrowTimeoutInMinutes' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. The parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'SpotStrategy' => [ - 'description' => 'The percentage of extra compute nodes. Valid values: 0 to 100.'."\n" - ."\n" - .'If you need to add 100 compute nodes and the value of the ExtraNodesGrowRatio parameter is 2, 102 compute nodes are added.'."\n", - 'type' => 'string', - 'example' => 'SpotWithPriceLimit', - ], - 'EnableAutoShrink' => [ - 'description' => 'The number of consecutive times that a compute node is idle during the resource scale-in check. Valid values: 2 to 5.'."\n" - ."\n" - .'If the parameter is set to 3, a compute node is idle for more than three consecutive times. In this case, the node is released.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The image ID of the compute nodes in the queue.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'EnableAutoGrow' => [ - 'description' => 'The percentage of each round of scale-out. Valid values: 1 to 100.'."\n" - ."\n" - .'If you set GrowRatio to 50, the scale-out has two rounds. Each round completes half of the scale-out.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ClusterType' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'pbs', - ], - 'ExcludeNodes' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => 'i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****', - ], - 'ShrinkIntervalInMinutes' => [ - 'description' => 'The auto scaling configuration of the queue.'."\n" - ."\n" - .'> If auto scaling is enabled for the cluster and queue at the same time, the queue settings prevail.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'GrowIntervalInMinutes' => [ - 'description' => 'The image ID of the compute nodes in the queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SpotPriceLimit' => [ - 'description' => 'The type of the system disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: SSD'."\n" - .'* cloud_essd: ESSD'."\n" - .'* cloud: basic disk'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.062', - ], - 'ExtraNodesGrowRatio' => [ - 'description' => 'The instance type of the compute nodes that were automatically added in the queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ShrinkIdleTimes' => [ - 'description' => 'The suffix of the queue name. You can query queues that have a specified suffix.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'ImageId' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'm-bp10txryr4mhrrt1****', - ], - 'GrowRatio' => [ - 'description' => 'The minimum number of compute nodes that can be retained in a queue. Valid values: 0 to 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ClusterId' => [ - 'description' => 'The prefix of the queue name. You can query queues that have a specified prefix.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - 'Uid' => [ - 'description' => 'The size of the system disk. Unit: GB. Valid values: 40 to 500.'."\n", - 'type' => 'string', - 'example' => '129845258050****', - ], - 'Queues' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'QueueInfo' => [ - 'description' => 'The auto scaling configuration of the queue.'."\n" - ."\n" - .'> If auto scaling is enabled for the cluster and queue at the same time, the queue settings prevail.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'QueueImageId' => [ - 'description' => 'The image ID of the compute node in the queue.'."\n", - 'type' => 'string', - 'example' => 'centos_7_06_64_20G_alibase_2019071****', - ], - 'SystemDiskCategory' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: enhanced SSD (ESSD).'."\n" - .'* cloud: basic disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes that are automatically added to the queue.'."\n", - 'type' => 'string', - 'example' => 'ecs.sn1ne.large', - ], - 'HostNameSuffix' => [ - 'description' => 'The suffix of the queue name. You can query queues that have a specified suffix.'."\n", - 'type' => 'string', - 'example' => '000', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'MinNodesInQueue' => [ - 'description' => 'The minimum number of compute nodes that can be retained in a queue. Valid values: 0 to 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'HostNamePrefix' => [ - 'description' => 'The prefix of the queue name. You can query queues that have a specified prefix.'."\n", - 'type' => 'string', - 'example' => 'compute', - ], - 'SystemDiskSize' => [ - 'description' => 'The system disk size. Unit: GB. Valid values: 40 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'MaxNodesInQueue' => [ - 'description' => 'The maximum number of compute nodes that can be added to a queue. Valid values: 0 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EnableAutoShrink' => [ - 'description' => 'Indicates whether the queue enabled the auto scale-in. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'QueueName' => [ - 'description' => 'The name of the queue.'."\n", - 'type' => 'string', - 'example' => 'workq', - ], - 'EnableAutoGrow' => [ - 'description' => 'Indicates whether the queue enabled the auto scale-out. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SystemDiskLevel' => [ - 'description' => 'The performance level of the system disk. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the compute nodes belong.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxp7uc24****', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.062', - ], - 'InstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeInfo' => [ - 'description' => 'The specification information of the compute nodes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'HostNamePrefix' => [ - 'description' => 'The prefix of the hostname. You can query compute nodes that have a specified prefix.'."\n", - 'type' => 'string', - 'example' => 'compute', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1lfcjbfb099rrjn****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price of the compute nodes. The value can be accurate to three decimal places. This parameter is valid only when the SpotStrategy parameter is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.062', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the compute nodes.'."\n", - 'type' => 'string', - 'example' => 'ecs.sn1ne.large', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding method of the compute nodes. Valid values:'."\n" - ."\n" - .'* NoSpot: The compute nodes are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The compute nodes are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The compute nodes are preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'SpotDuration' => [ - 'description' => 'The protection period of the preemptible instance. Unit: hours. Valid values: 0 to 1. Default value: 1. A value of 0 means no protection period is specified.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SpotInterruptionBehavior' => [ - 'title' => '抢占实例中断模式。目前仅支持Terminate(默认)直接释放实例。'."\n", - 'description' => 'The interruption event of the preemptible instance. The value can only be Terminate, which specifies that the instance is released.'."\n", - 'type' => 'string', - 'example' => 'Terminate', - ], - ], - ], - ], - ], - ], - 'DataDisks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisksInfo' => [ - 'description' => 'The list of data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DataDiskCategory' => [ - 'description' => 'The type of the data disk. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud: basic disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_efficiency', - ], - 'DataDiskSize' => [ - 'description' => 'The capacity of the data disk. Unit: GB.'."\n" - ."\n" - .'Valid values: 40 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - ], - 'DataDiskDeleteWithInstance' => [ - 'description' => 'Indicates whether the data disk is released when the node is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'DataDiskPerformanceLevel' => [ - 'description' => 'The performance level of the ESSD used as the data disk. The parameter is returned only when the DataDisks.N.DataDiskCategory parameter is set to cloud_essd. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'DataDiskEncrypted' => [ - 'description' => 'Indicates whether the data disk is encrypted. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'DataDiskKMSKeyId' => [ - 'description' => 'The ID of the KMS key that is used by the data disk.'."\n", - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40826X', - ], - ], - ], - ], - ], - ], - 'MaxNodesPerCycle' => [ - 'description' => 'The maximum number of compute nodes that can be added in each round of scale-out. Valid values: 0 to 99.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'MinNodesPerCycle' => [ - 'description' => 'The minimum number of compute nodes that can be added in each round of scale-out. Valid values: 1 to 99'."\n" - ."\n" - .'Default value: 1.'."\n" - ."\n" - .'If the compute nodes that you want to add in a round is less than the minimum compute nodes that can be added, the value of this parameter is automatically changed to the number of compute nodes that you want to add. This ensures that compute nodes can be added as expected.'."\n" - ."\n" - .'> The configuration takes effect only for the minimum compute nodes that can be added in the current round.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'AutoMinNodesPerCycle' => [ - 'description' => 'Indicates whether the minimum node number for each scale-out is automatically set. If this parameter is set to true, the minimum number of nodes for each scale-out is equal to the number of nodes required by the job. The maximum number is 99.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SortedByInventory' => [ - 'description' => 'Indicates whether the instances are unordered. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> If this parameter is set to true, the system selects instance types in descending order based on the number of instances in stock during auto scaling.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], - 'ComputeEnableHt' => [ - 'description' => 'Specifies whether to enable hyper-threading for the ECS instance that is used as the compute node.'."\n" - ."\n" - .'> You can only disable hyper-threading for some instance types. The hyper-threading is enabled for ECS instances by default. For more information, see [Specify and view CPU options](~~145895~~).', - 'type' => 'boolean', - 'example' => 'true', - ], - 'DnsConfig' => [ - 'description' => 'The configurations of DNS.'."\n", - 'type' => 'string', - 'example' => '"{\\"DnsType\\":\\"PrivateZone\\",\\"DnsName\\":\\"xxxxx\\"}"', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'DFC3EAA9-F11F-4ED0-836F-4FFCB279E700'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidOpt', - 'errorMessage' => 'The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket.', - ], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MaxNodesInCluster\\": 300,\\n \\"GrowTimeoutInMinutes\\": 20,\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"EnableAutoShrink\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EnableAutoGrow\\": true,\\n \\"ClusterType\\": \\"pbs\\",\\n \\"ExcludeNodes\\": \\"i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****\\",\\n \\"ShrinkIntervalInMinutes\\": 2,\\n \\"GrowIntervalInMinutes\\": 2,\\n \\"SpotPriceLimit\\": 0.062,\\n \\"ExtraNodesGrowRatio\\": 2,\\n \\"ShrinkIdleTimes\\": 3,\\n \\"ImageId\\": \\"m-bp10txryr4mhrrt1****\\",\\n \\"GrowRatio\\": 100,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"Uid\\": \\"129845258050****\\",\\n \\"Queues\\": {\\n \\"QueueInfo\\": [\\n {\\n \\"QueueImageId\\": \\"centos_7_06_64_20G_alibase_2019071****\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"HostNameSuffix\\": \\"000\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"MinNodesInQueue\\": 10,\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"SystemDiskSize\\": 40,\\n \\"MaxNodesInQueue\\": 100,\\n \\"EnableAutoShrink\\": true,\\n \\"QueueName\\": \\"workq\\",\\n \\"EnableAutoGrow\\": true,\\n \\"SystemDiskLevel\\": \\"PL1\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxp7uc24****\\",\\n \\"SpotPriceLimit\\": 0.062,\\n \\"InstanceTypes\\": {\\n \\"InstanceTypeInfo\\": [\\n {\\n \\"HostNamePrefix\\": \\"compute\\",\\n \\"VSwitchId\\": \\"vsw-bp1lfcjbfb099rrjn****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"SpotPriceLimit\\": 0.062,\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotDuration\\": 0,\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\"\\n }\\n ]\\n },\\n \\"DataDisks\\": {\\n \\"DataDisksInfo\\": [\\n {\\n \\"DataDiskCategory\\": \\"cloud_efficiency\\",\\n \\"DataDiskSize\\": 40,\\n \\"DataDiskDeleteWithInstance\\": true,\\n \\"DataDiskPerformanceLevel\\": \\"PL1\\",\\n \\"DataDiskEncrypted\\": false,\\n \\"DataDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40826X\\"\\n }\\n ]\\n },\\n \\"MaxNodesPerCycle\\": 20,\\n \\"MinNodesPerCycle\\": 5,\\n \\"AutoMinNodesPerCycle\\": false,\\n \\"SortedByInventory\\": false\\n }\\n ]\\n },\\n \\"ComputeEnableHt\\": true,\\n \\"DnsConfig\\": \\"\\\\\\"{\\\\\\\\\\\\\\"DnsType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"PrivateZone\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"DnsName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"xxxxx\\\\\\\\\\\\\\"}\\\\\\"\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAutoScaleConfigResponse>\\n <MaxNodesInCluster>300</MaxNodesInCluster>\\n <GrowTimeoutInMinutes>20</GrowTimeoutInMinutes>\\n <SpotStrategy>SpotWithPriceLimit</SpotStrategy>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <ClusterType>pbs</ClusterType>\\n <ExcludeNodes>i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****</ExcludeNodes>\\n <ShrinkIntervalInMinutes>2</ShrinkIntervalInMinutes>\\n <GrowIntervalInMinutes>2</GrowIntervalInMinutes>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <ExtraNodesGrowRatio>2</ExtraNodesGrowRatio>\\n <ShrinkIdleTimes>3</ShrinkIdleTimes>\\n <ImageId>m-bp10txryr4mhrrt1****</ImageId>\\n <GrowRatio>100</GrowRatio>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <Uid>129845258050****</Uid>\\n <Queues>\\n <QueueImageId>centos_7_06_64_20G_alibase_2019071****</QueueImageId>\\n <SystemDiskCategory>cloud_efficiency</SystemDiskCategory>\\n <InstanceType>ecs.sn1ne.large</InstanceType>\\n <HostNameSuffix>000</HostNameSuffix>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <MinNodesInQueue>10</MinNodesInQueue>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <SystemDiskSize>40</SystemDiskSize>\\n <MaxNodesInQueue>100</MaxNodesInQueue>\\n <EnableAutoShrink>true</EnableAutoShrink>\\n <QueueName>workq</QueueName>\\n <EnableAutoGrow>true</EnableAutoGrow>\\n <SystemDiskLevel>PL1</SystemDiskLevel>\\n <ResourceGroupId>rg-acfmxp7uc24****</ResourceGroupId>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <InstanceTypes>\\n <HostNamePrefix>compute</HostNamePrefix>\\n <VSwitchId>vsw-bp1lfcjbfb099rrjn****</VSwitchId>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <SpotPriceLimit>0.062</SpotPriceLimit>\\n <InstanceType>ecs.sn1ne.large</InstanceType>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n </InstanceTypes>\\n <DataDisks>\\n <DataDiskCategory>cloud_efficiency</DataDiskCategory>\\n <DataDiskSize>40</DataDiskSize>\\n <DataDiskDeleteWithInstance>true</DataDiskDeleteWithInstance>\\n <DataDiskPerformanceLevel>PL1</DataDiskPerformanceLevel>\\n <DataDiskEncrypted>false</DataDiskEncrypted>\\n <DataDiskKMSKeyId>0e478b7a-4262-4802-b8cb-00d3fb40826X</DataDiskKMSKeyId>\\n </DataDisks>\\n </Queues>\\n</GetAutoScaleConfigResponse>","errorExample":""}]', - 'title' => 'GetAutoScaleConfig', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DFC3EAA9-F11F-4ED0-836F-4FFCB279E700\\"\\n}","type":"json"}]', + 'title' => 'SetQueue', + 'summary' => 'You can call SetQueue to move compute nodes to a specified queue.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RunCloudMetricProfiling' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:SetQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetQueue'], + ], ], + ], + 'SetSchedulerInfo' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24180,84 +14386,161 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'default' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.'."\n" + ."\n" + .'You can call the [ListRegions](~~188593~~) operation to obtain the IDs of regions supported by Elastic High Performance Computing (E-HPC).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'HostName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'compute0', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ProcessId', + 'name' => 'PbsInfo', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the profiling process.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '29075', + 'description' => 'The information about PBS schedulers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AclLimit' => [ + 'description' => 'The information about limits on the queue.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Queue' => ['description' => 'AclLimit specifies the queue that has limits when it is used. Valid values of N: 0 to 100.'."\n" + ."\n" + .'If you set `PbsInfo.N.AclLimit.N.Queue` to `workq` and `PbsInfo.N.AclLimit.N.AclUsers` to `user1,user2`, workq can be used only by user1 and user2.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], + 'AclUsers' => ['description' => 'The user that can use the queue. Separate multiple users with commas (`,`).'."\n" + ."\n" + .'If you specify users, you must specify the PbsInfo.N.AclLimit.N.Queue parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user1,user2', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'ResourceLimit' => [ + 'description' => 'The information about the nodes that are used by cluster users.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Nodes' => ['description' => 'The maximum number of nodes that can be used in a queue.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'Cpus' => ['description' => 'The maximum number of vCPUs that can be used for nodes in a queue.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'User' => ['description' => 'The name of the user that runs jobs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'user1', 'title' => ''], + 'Queue' => ['description' => 'PbsInfo specifies the number of PBS schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" + ."\n" + .'ResourceLimit specifies the maximum number of queue resources that can be used. Valid values of N: 0 to 100.'."\n" + ."\n" + .'Queue specifies the name of the queue that is used to run jobs.'."\n" + ."\n" + .'If one of the User, Cpus, Nodes, and Mem parameters is set in ResourceLimit, you must specify the Queue parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], + 'Mem' => ['description' => 'The maximum memory resources that can be used in a queue. Units:'."\n" + ."\n" + .'* gb'."\n" + .'* mb'."\n" + .'* kb'."\n", 'type' => 'string', 'required' => false, 'example' => '2gb', 'title' => ''], + 'MaxJobs' => ['description' => 'The maximum number of jobs that can be submitted to the cluster. If the total number of running jobs and queuing jobs exceeds the value, no more jobs can be submitted.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'JobHistoryDuration' => ['description' => 'The retention period of jobs. After the retention period is exceeded, job data is deleted. Unit: days.\\'."\n" + .'Valid values: 1 to 30.\\'."\n" + .'Default value: 14.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '14', 'title' => ''], + 'SchedInterval' => ['description' => 'PbsInfo specifies the number of PBS schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" + ."\n" + .'SchedInterval specifies the scheduling period. Unit: seconds.'."\n" + ."\n" + .'A scheduling period is the interval between two consecutive running jobs. If you set SchedInterval to 60, another job can be run 60 seconds after a job starts running.'."\n" + ."\n" + .'Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + 'SchedMaxJobs' => ['description' => 'The maximum number of jobs that can be scheduled in the cluster. If the total number of running jobs and queuing jobs exceeds the value, no more jobs can be submitted. Default value: 20000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20000', 'title' => ''], + 'SchedMaxQueuedJobs' => ['description' => 'The maximum number of queuing jobs that can be scheduled in the cluster. If the number of queuing jobs exceeds the value, no more jobs can be submitted. Default value: 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'Duration', + 'name' => 'SlurmInfo', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The duration of the profiling process. Unit: seconds.'."\n" - ."\n" - .'Value values: 10 to 300.'."\n" - ."\n" - .'Default value: 30.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The information about Slurm schedulers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'BackfillInterval' => ['description' => 'The backfill scheduling period. Unit: seconds.'."\n" + ."\n" + .'Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + 'SchedInterval' => ['description' => 'SlurmInfo specifies the number of Slurm schedulers that can be configured in the cluster. Valid values of N: 0 to 100.'."\n" + ."\n" + .'SchedInterval specifies the scheduling period. Unit: seconds.'."\n" + ."\n" + .'Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => '300', - 'default' => '300', + 'maxItems' => 1000, + 'title' => '', ], ], [ - 'name' => 'Freq', + 'name' => 'Scheduler', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The sampling frequency. Unit: Hz. Valid values: 1 to 2000.'."\n" - ."\n" - .'Default value: 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2000', - 'default' => '2000', + 'description' => 'The scheduler information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SchedName' => ['description' => 'The name of the scheduler. Valid values:'."\n" + ."\n" + .'* pbs'."\n" + .'* pbs19'."\n" + .'* slurm'."\n" + .'* slurm19'."\n" + .'* slurm20'."\n" + ."\n" + .'> If you set Scheduler.N.SchedName to pbs or pbs19, you must specify at least one of the PbsInfo.N.SchedInterval, PbsInfo.N.JobHistoryDuration, PbsInfo.N.ResourceLimit, and PbsInfo.N.AclLimit parameters. If you set Scheduler.N.SchedName to slurm, slurm19, or slurm20, you must specify at least one of the SlurmInfo.N.SchedInterval and SlurmInfo.N.BackfillInterval parameters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'pbs', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 1000, + 'title' => '', ], ], ], @@ -24266,137 +14549,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8442AF35-875B-4FC0-8B7AAFDC339335D5', - ], + 'Message' => ['description' => 'The data returned.'."\n", 'type' => 'string', 'example' => 'pbs: scheduler setting successfully.', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The target cluster is not found.', 'description' => 'The target cluster is not found.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'No authorization is granted.', 'description' => 'No authorization is granted.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8442AF35-875B-4FC0-8B7AAFDC339335D5\\"\\n}","errorExample":""},{"type":"xml","example":"<RunCloudMetricProfilingResponse>\\r\\n <RequestId>8442AF35-875B-4FC0-8B7AAFDC339335D5</RequestId>\\r\\n</RunCloudMetricProfilingResponse>","errorExample":""}]', - 'title' => 'RunCloudMetricProfiling', - 'summary' => 'Starts the profiling process of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"pbs: scheduler setting successfully.\\",\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetSchedulerInfoResponse>\\n<Message>pbs: scheduler setting successfully.</Message>\\n<RequestId>BBC2F93D-003A-49C4-850C-B826EECF****</RequestId>\\n</SetSchedulerInfoResponse>","errorExample":""}]', + 'title' => 'SetSchedulerInfo', + 'summary' => 'Configures the scheduler settings of a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetCloudMetricProfiling' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetSchedulerInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StartCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'default' => 'cn-hangzhou', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'ProfilingId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The profiling ID. You can call the [ListCloudMetricProfilings](~~188711~~) operation to obtain the profiling ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40', - ], + 'schema' => ['description' => 'The ID of the cluster that you want to start.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -24404,183 +14623,118 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0DD6F715-85EE-4EA6-BDC4-48A75B719068', - ], - 'SvgUrls' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SvgInfo' => [ - 'description' => 'The list of profiling results.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the SVG file.'."\n", - 'type' => 'string', - 'example' => 'file', - ], - 'Url' => [ - 'description' => 'The URL of the Object Storage Service (OSS) bucket where the scalable vector graphics (SVG) file is stored.'."\n", - 'type' => 'string', - 'example' => 'https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****', - ], - 'Name' => [ - 'description' => 'The name of the SVG file that contains the profiling results.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.bottomup.svg', - ], - 'Size' => [ - 'description' => 'The size of the SVG file. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '648', - ], - ], - ], - ], - ], - ], + 'TaskId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => '76E1ADE7-D15A-457F-AAFD-06C5A5F052D0', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '76E1ADE7-D15A-457F-AAFD-06C5A5F052D0', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], - 407 => [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 406 => [ + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0DD6F715-85EE-4EA6-BDC4-48A75B719068\\",\\n \\"SvgUrls\\": {\\n \\"SvgInfo\\": [\\n {\\n \\"Type\\": \\"file\\",\\n \\"Url\\": \\"https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****\\",\\n \\"Name\\": \\"ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.bottomup.svg\\",\\n \\"Size\\": 648\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCloudMetricProfilingResponse>\\n <RequestId>0DD6F715-85EE-4EA6-BDC4-48A75B719068</RequestId>\\n <SvgUrls>\\n <SvgInfo>\\n <Name>ehpc-hz-faRavbPf6b_i-bdrftgyh890654****_21687_2019-09-09-02-37-40.svg</Name>\\n <Size>648</Size>\\n <Type>file</Type>\\n <Url>https://cloudmetrics-****-hz.oss-cn-hangzhou.aliyuncs.com/112****/ehpc-hz-faRavb****njuik%Oxlftyhujmi0Y****</Url>\\n </SvgInfo>\\n </SvgUrls>\\n</GetCloudMetricProfilingResponse>","errorExample":""}]', - 'title' => 'GetCloudMetricProfiling', - 'summary' => 'Queries the profiling result of a cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"76E1ADE7-D15A-457F-AAFD-06C5A5F052D0\\",\\n \\"RequestId\\": \\"76E1ADE7-D15A-457F-AAFD-06C5A5F052D0\\"\\n}","errorExample":""},{"type":"xml","example":"<StartClusterResponse>\\n <TaskId>76E1ADE7-D15A-457F-AAFD-06C5A5F052D0</TaskId>\\n <RequestId>76E1ADE7-D15A-457F-AAFD-06C5A5F052D0</RequestId>\\n</StartClusterResponse>","errorExample":""}]', + 'title' => 'StartCluster', + 'summary' => 'Starts a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListCloudMetricProfilings' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StartCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StartNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75916', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - 'default' => 'cn-hangzhou', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'Call [ListClusters](~~87116~~) to obtain the cluster ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], ], [ - 'name' => 'PageNumber', + 'name' => 'Role', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The role of the nodes. Valid values:'."\n" + ."\n" + .'- Manager: management node'."\n" + .'- Login: logon node'."\n" + .'- Compute: compute node'."\n" + ."\n" + .'Default value: Compute', 'type' => 'string', 'required' => false, 'default' => 'Compute', 'title' => '', 'example' => 'Compute'], ], [ - 'name' => 'PageSize', + 'name' => 'Instance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + 'description' => 'A list of nodes to start.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of node information.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The instance ID of the node to start. You can specify up to 100 nodes.'."\n" + ."\n" + .'Ensure that the node is in the Stopped state. You can call [ListNodes](~~87161~~) to query the status of the node.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'i-bp13p7vlcb1uihfv****'], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -24589,291 +14743,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9A05F620-ED46-4A57-95F1-C67D6D3C5DD2', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Profilings' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ProfilingInfo' => [ - 'description' => 'The profiling information of the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProfilingId' => [ - 'description' => 'The ID of the profiling process.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40', - ], - 'TriggerTime' => [ - 'description' => 'The time when the profiling was triggered.'."\n", - 'type' => 'string', - 'example' => '2019-09-09 02:37:40', - ], - 'Pid' => [ - 'description' => 'The progress ID.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '21687', - ], - 'HostName' => [ - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'example' => 'compute5', - ], - 'Duration' => [ - 'description' => 'The duration of the profiling process. Unit: seconds.'."\n" - ."\n" - .'Valid values: 10 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'InstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp1j76z8dlukzqgl0****', - ], - 'Freq' => [ - 'description' => 'The frequency of the profiling process. Unit: Hz.'."\n" - ."\n" - .'Valid values: 1 to 2000'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - ], - ], - ], - ], - ], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidNodeStatus', 'errorMessage' => 'The operation failed due to invalid node status.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], - 407 => [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 406 => [ + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"9A05F620-ED46-4A57-95F1-C67D6D3C5DD2\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Profilings\\": {\\n \\"ProfilingInfo\\": [\\n {\\n \\"ProfilingId\\": \\"ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40\\",\\n \\"TriggerTime\\": \\"2019-09-09 02:37:40\\",\\n \\"Pid\\": 21687,\\n \\"HostName\\": \\"compute5\\",\\n \\"Duration\\": 30,\\n \\"InstanceId\\": \\"i-bp1j76z8dlukzqgl0****\\",\\n \\"Freq\\": 2000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListCloudMetricProfilingsResponse>\\r\\n <PageNumber>1</PageNumber>\\r\\n <TotalCount>1</TotalCount>\\r\\n <PageSize>10</PageSize>\\r\\n <RequestId>9A05F620-ED46-4A57-95F1-C67D6D3C5DD2</RequestId>\\r\\n <Profilings>\\r\\n <ProfilingInfo>\\r\\n <InstanceId>i-bp1j76z8dlukzqgl****</InstanceId>\\r\\n <Duration>30</Duration>\\r\\n <TriggerTime>2019-09-09 02:37:40</TriggerTime>\\r\\n <ProfilingId>ehpc-hz-i-bplukzqgl****_21687_2019-09-09-02-37-40</ProfilingId>\\r\\n <Freq>2000</Freq>\\r\\n <Pid>21687</Pid>\\r\\n <HostName>compute5</HostName>\\r\\n </ProfilingInfo>\\r\\n </Profilings>\\r\\n</ListCloudMetricProfilingsResponse>","errorExample":""}]', - 'title' => 'ListCloudMetricProfilings', - 'summary' => 'Queries the profiling history of a cluster.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'title' => 'StartNodes', + 'summary' => 'Starts one or more nodes in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetCloudMetricLogs' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StartNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartNodes'], + ], ], + ], + 'StartVisualService' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'From', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '1583907780', - ], - ], - [ - 'name' => 'To', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '1583907790', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'Reverse', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return logs in reverse order of timestamps. Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'AggregationType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The data aggregation type. Valid values:'."\n" - ."\n" - .'* sum: the sum of the data'."\n" - .'* avg: the average value'."\n" - .'* max: the maximum value'."\n" - .'* min: the minimum value'."\n" - ."\n" - .'Aggregation is disabled by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'avg', - ], - ], - [ - 'name' => 'AggregationInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The data aggregation interval. Unit: seconds.'."\n" - ."\n" - .'Valid values: 1, 10, 60, 600, and 3600.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'MetricScope', + 'name' => 'CidrIp', 'in' => 'query', - 'schema' => [ - 'description' => 'The dimensions of the performance metric. Valid values:'."\n" - ."\n" - .'* machine'."\n" - .'* process'."\n" - .'* network'."\n" - .'* disk'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'network', - ], + 'schema' => ['description' => 'A public IP address of logon nodes in the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '190.100.**.**', 'title' => ''], ], [ - 'name' => 'Filter', + 'name' => 'Port', 'in' => 'query', - 'schema' => [ - 'description' => 'The filter conditions. A JSON-formatted string that contains several key-value pairs. Valid values of the key:'."\n" - ."\n" - .'* InstanceId: the ID of the node'."\n" - .'* Hostname: the hostname of the node'."\n" - .'* NetworkInterface: the name of the network interface'."\n" - .'* DiskDevice: the name of the disk'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"Hostname":"compute000"}', - ], - ], - [ - 'name' => 'MetricCategories', - 'in' => 'query', - 'schema' => [ - 'description' => 'The category of the output performance metrics. Separate multiple metrics with commas (,). Valid values:'."\n" - ."\n" - .'* cpu'."\n" - .'* memory'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cpu', - ], + 'schema' => ['description' => 'The fixed port. Set the value to 12016'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'example' => '12016', 'title' => ''], ], ], 'responses' => [ @@ -24881,157 +14845,88 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '015C2C4D-1884-4EB7-BCD3-C5BB8D7E56DB', - ], - 'MetricLogs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MetricLog' => [ - 'description' => 'The queried performance metric data.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The timestamp of the log. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1583907780', - ], - 'DiskDevice' => [ - 'description' => 'The name of the disk.'."\n", - 'type' => 'string', - 'example' => 'vda1', - ], - 'NetworkInterface' => [ - 'description' => 'The name of the network interface.'."\n", - 'type' => 'string', - 'example' => 'eth1', - ], - 'MetricData' => [ - 'description' => 'A JSON-formatted serialized string that contains performance metric data of multiple categories.'."\n", - 'type' => 'string', - 'example' => '{\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,******}', - ], - 'Hostname' => [ - 'description' => 'The hostname of the node.'."\n", - 'type' => 'string', - 'example' => 'compute000', - ], - 'InstanceId' => [ - 'description' => 'The node ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp132g97g7zwnvta****', - ], - ], - ], - ], - ], - ], + 'Message' => ['description' => 'The status of the VNC Remote visualization service. Valid values:'."\n" + ."\n" + .'* Service started'."\n" + .'* Service stopped'."\n", 'type' => 'string', 'example' => 'Service started', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => ''], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'SlsError', - 'errorMessage' => 'SLS API request failed.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"015C2C4D-1884-4EB7-BCD3-C5BB8D7E56DB\\",\\n \\"MetricLogs\\": {\\n \\"MetricLog\\": [\\n {\\n \\"Time\\": 1583907780,\\n \\"DiskDevice\\": \\"vda1\\",\\n \\"NetworkInterface\\": \\"eth1\\",\\n \\"MetricData\\": \\"{\\\\\\\\\\\\\\"process|cpusage\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"process|cpuser\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"process|cpusys\\\\\\\\\\\\\\":0,******}\\",\\n \\"Hostname\\": \\"compute000\\",\\n \\"InstanceId\\": \\"i-bp132g97g7zwnvta****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCloudMetricLogsResponse>\\n <RequestId>DD186204-A3D6-533C-B57E-576466E92C92</RequestId>\\n <MetricLogs>\\n <MetricLog>\\n <InstanceId>i-uf69kb5o3mz68wpmvadg</InstanceId>\\n <Hostname>account</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"edac-poller\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":28,\\"process|vss\\":0,\\"process|rss\\":0,\\"network|recv_rate\\":0.6191,\\"network|sent_rate\\":3.5137,\\"network|max_bw\\":4.1328,\\"disk_usage|max_usage\\":0.1016,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"cputil|idle\\":1,\\"cputil|user\\":0,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0,\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\",\\"memory|memusage\\":0.0612,\\"memory|memcached\\":0.7073,\\"memory|swapusage\\":0}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf6bbo03kfnm1ld3st4p</InstanceId>\\n <Hostname>scheduler</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"process|cpusage\\":0.005,\\"process|cpuser\\":0.005,\\"process|cpusys\\":0,\\"process|memusage\\":0.0113,\\"process|procName\\":\\"\\\\\\"AliYunDun\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":16246,\\"process|vss\\":172457984,\\"process|rss\\":10527,\\"network|recv_rate\\":0.959,\\"network|sent_rate\\":4.3711,\\"network|max_bw\\":5.3301,\\"memory|memusage\\":0.0815,\\"memory|memcached\\":0.7892,\\"memory|swapusage\\":0,\\"cputil|idle\\":0.995,\\"cputil|user\\":0.005,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0.005,\\"disk_usage|max_usage\\":0.1074,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf609tfkmu7wct642ob2</InstanceId>\\n <Hostname>compute000</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"memory|memusage\\":0.058,\\"memory|memcached\\":0.5132,\\"memory|swapusage\\":0,\\"disk_usage|max_usage\\":0.0918,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"watchdogd\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":29,\\"process|vss\\":0,\\"process|rss\\":0,\\"network|recv_rate\\":0.6602,\\"network|sent_rate\\":3.5166,\\"network|max_bw\\":4.1768,\\"cputil|idle\\":1,\\"cputil|user\\":0,\\"cputil|sys\\":0,\\"cputil|iowait\\":0,\\"cputil|usage\\":0,\\"disk_bw|max_bw\\":0,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n <MetricLog>\\n <InstanceId>i-uf6275hb357f2r0zz8iy</InstanceId>\\n <Hostname>login0</Hostname>\\n <Time>1664603931</Time>\\n <MetricData>{\\"memory|memusage\\":0.2802,\\"memory|memcached\\":0.6,\\"memory|swapusage\\":0,\\"disk_usage|max_usage\\":0.1609,\\"disk_usage|total\\":\\"null\\",\\"disk_usage|used\\":\\"null\\",\\"disk_usage|avail\\":\\"null\\",\\"disk_usage|usage\\":\\"null\\",\\"network|recv_rate\\":0.9404,\\"network|sent_rate\\":5.2568,\\"network|max_bw\\":6.1973,\\"process|cpusage\\":0,\\"process|cpuser\\":0,\\"process|cpusys\\":0,\\"process|memusage\\":0,\\"process|procName\\":\\"\\\\\\"rpciod\\\\\\"\\",\\"process|stat\\":\\"\\\\\\"S\\\\\\"\\",\\"process|pid\\":2590,\\"process|vss\\":0,\\"process|rss\\":0,\\"cputil|idle\\":0.9949,\\"cputil|user\\":0,\\"cputil|sys\\":0.0051,\\"cputil|iowait\\":0,\\"cputil|usage\\":0.0051,\\"disk_bw|max_bw\\":4,\\"disk_bw|read\\":\\"null\\",\\"disk_bw|write\\":\\"null\\"}</MetricData>\\n </MetricLog>\\n </MetricLogs>\\n</GetCloudMetricLogsResponse>","errorExample":""}]', - 'title' => 'GetCloudMetricLogs', - 'summary' => 'Reads performance metrics (CloudMetrics) logs of E-HPC.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"Service started\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE6880\\"\\n}","errorExample":""},{"type":"xml","example":"<StartVisualServiceResponse>\\r\\n <Message>\\r\\n <Msg>Service started.</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE6880</RequestId>\\r\\n</StartVisualServiceResponse>","errorExample":""}]', + 'title' => 'StartVisualService', + 'summary' => 'Starts the Virtual Network Console (VNC) Remote visualization service in a specified cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetAccountingReport' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartVisualService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StartVisualService', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StopCluster' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75918', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -25039,118 +14934,9 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'example' => '1576922873', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => true, - 'example' => '1577441873', - ], - ], - [ - 'name' => 'ReportType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The query type. Valid values:'."\n" - ."\n" - .'* total_report: Queries the number of CPU cores in different dimensions.'."\n" - .'* job_report: Collects the historical node data of a node.'."\n" - .'* number_report: Queries job information in different dimensions.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'job_report', - ], - ], - [ - 'name' => 'FilterValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The actual name of the dimension to be queried. Valid values:'."\n" - ."\n" - .'* If you set the value of the parameter Dim to user, the value of FilterValue is the name of the specified user.'."\n" - .'* If you set the value of the parameter Dim to queue, the value of FilterValue is the name of the specified queue.'."\n" - .'* If you set the value of the parameter Dim to instance, the value of FilterValue is the instance name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'userNo1', - ], - ], - [ - 'name' => 'Dim', - 'in' => 'query', - 'schema' => [ - 'description' => 'The layers at which you want to query the bandwidth and traffic data. Valid values:'."\n" - ."\n" - .'* user: Query by user.'."\n" - .'* queue: Query by queue.'."\n" - .'* instance: Query by instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'user', - ], - ], - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{Id: 1.scheduler}]', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the list of clusters in a region.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -25158,201 +14944,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCoreTime' => [ - 'description' => 'The total number of CPU cores in the queried cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '261300', - ], - 'Metrics' => [ - 'description' => 'The list serialized in the JSON format. The list contains the column names of each record in the Data.'."\n", - 'type' => 'string', - 'example' => '[\\"user\\",\\"coreTime\\",\\"usedMem\\"]', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B1DCB399-9333-4B38-A35A-0BDFABC71881', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Data' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Data' => [ - 'description' => 'The list serialized in the JSON format. The list contains multiple records.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '[[\\"userNo1\\",49856,7062192],[\\"userNo2\\",29904,4317280]]', - ], - ], - ], - ], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], - [ - 'errorCode' => 'Cluster.NotSupported', - 'errorMessage' => 'Current cluster does not support this operation.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ObjectNotFound', - 'errorMessage' => 'The specified object is not found.', - ], - [ - 'errorCode' => 'ComputeNotFound', - 'errorMessage' => 'The specified compute node does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'SlsError', - 'errorMessage' => 'SLS API request failed.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'ExecFail', - 'errorMessage' => 'Failed to execute the command: %s.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCoreTime\\": 261300,\\n \\"Metrics\\": \\"[\\\\\\\\\\\\\\"user\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"coreTime\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"usedMem\\\\\\\\\\\\\\"]\\",\\n \\"RequestId\\": \\"B1DCB399-9333-4B38-A35A-0BDFABC71881\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Data\\": {\\n \\"Data\\": [\\n \\"[[\\\\\\\\\\\\\\"userNo1\\\\\\\\\\\\\\",49856,7062192],[\\\\\\\\\\\\\\"userNo2\\\\\\\\\\\\\\",29904,4317280]]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAccountingReportResponse>\\n <Metrics>[\\"user\\",\\"coreTime\\",\\"usedMem\\"]</Metrics>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>B1DCB399-9333-4B38-A35A-0BDFABC71881</RequestId>\\n <Data>[[\\"userNo1\\",49856,7062192],[\\"userNo2\\",29904,4317280]]</Data>\\n <TotalCoreTime>261300</TotalCoreTime>\\n <TotalCount>10</TotalCount>\\n</GetAccountingReportResponse>","errorExample":""}]', - 'title' => 'GetAccountingReport', - 'summary' => 'Queries the resource report information of a specified cluster.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopClusterResponse>\\n <TaskId>04F0F334-1335-436C-A1D7-6C044FE7****</TaskId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</StopClusterResponse>","errorExample":""}]', + 'title' => 'StopCluster', + 'summary' => 'Stops a cluster.', + 'description' => 'If you stop a subscription compute node, its billing is not affected. If you stop a pay-as-you-go compute node for which you have enabled the *economical mode*, you are no longer charged for its computing resources. For more information, see [Economical mode](~~63353~~).'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListClusterLogs' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StopJobs' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Jobs', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The list of jobs that you want to stop. Maximum number of jobs: 100. Minimum number of jobs: 1.'."\n" + ."\n" + .'Format: `[{"Id": "0.sched****"},{"Id": "1.sched****"}]`. Separate multiple jobs with commas (,).'."\n" + ."\n" + .'You can call the [ListJobs](~~87251~~) operation to query the job ID.'."\n" + ."\n" + .'> You can stop only jobs that are in the RUNNING or QUEUED state.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"Id":"1.sched****"},{"Id":"0.sched****"}]', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '20', - ], + 'schema' => ['description' => 'Specifies whether to use an asynchronous link to stop the job.'."\n" + ."\n" + .'Default value: false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -25360,211 +15043,75 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF6667', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - 'Logs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LogInfo' => [ - 'description' => 'The queried operations logs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Operation' => [ - 'description' => 'The type of the operation. Valid values:'."\n" - ."\n" - .'* CreateCluster'."\n" - .'* StartCluster'."\n" - .'* StopCluster'."\n" - .'* DeleteCluster'."\n" - .'* AddNodes'."\n" - .'* StartNodes'."\n" - .'* ResetNodes'."\n" - .'* StopNodes'."\n" - .'* DeleteNodes'."\n", - 'type' => 'string', - 'example' => 'CreateCluster', - ], - 'Message' => [ - 'description' => 'The content of the log.'."\n", - 'type' => 'string', - 'example' => 'Begin to create cluster', - ], - 'CreateTime' => [ - 'description' => 'The time when the log was created.'."\n", - 'type' => 'string', - 'example' => '2019-09-18T13:24:13.000', - ], - 'Level' => [ - 'description' => 'The level of the log entry. Valid values:'."\n" - ."\n" - .'* warn'."\n" - .'* error'."\n" - .'* info', - 'type' => 'string', - 'example' => 'info', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], - ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'UsernameExist', 'errorMessage' => 'The username already exists.', 'description' => 'The username already exists.'], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF6667\\",\\n \\"TotalCount\\": 2,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"Logs\\": {\\n \\"LogInfo\\": [\\n {\\n \\"Operation\\": \\"CreateCluster\\",\\n \\"Message\\": \\"Begin to create cluster\\",\\n \\"CreateTime\\": \\"2019-09-18T13:24:13.000\\",\\n \\"Level\\": \\"info\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListClusterLogsResponse>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<Logs>\\r\\n\\t\\t<LogInfo>\\r\\n\\t\\t\\t<Operation>CreateCluster</Operation>\\r\\n\\t\\t\\t<Message>Begin to create cluster</Message>\\r\\n\\t\\t\\t<CreateTime>2019-09-18T13:24:13.000Z</CreateTime>\\r\\n\\t\\t\\t<Level>info</Level>\\r\\n\\t\\t</LogInfo>\\r\\n\\t</Logs>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<ClusterId>ehpc-hz-FYUr32****</ClusterId>\\r\\n\\t<PageSize>20</PageSize>\\r\\n\\t<RequestId>BBC2F93D-003A-49C4-850C-B826EECF6667</RequestId>\\r\\n</ListClusterLogsResponse>","errorExample":""}]', - 'title' => 'ListClusterLogs', - 'summary' => 'Queries the operation logs of a cluster within the last three days.', - ], - 'ListCurrentClientVersion' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ClientVersion' => [ - 'description' => 'The latest version number of ehpcutil.'."\n", - 'type' => 'string', - 'example' => '1.1.1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - ], - 'description' => '', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], - ], - 'errorCodes' => [ 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'AgentError.Job.StopFailure', 'errorMessage' => 'Failed to stop jobs: %s.', 'description' => 'Failed to stop the job: %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ClientVersion\\": \\"1.1.1\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<ListCurrentClientVersionResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <ClientVersion>1.0.24</ClientVersion>\\r\\n</ListCurrentClientVersionResponse>","errorExample":""}]', - 'title' => 'ListCurrentClientVersion', - 'summary' => 'Query the latest version number of the cluster client (ehpcutil).', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopJobsResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n</StopJobsResponse>","errorExample":""}]', + 'title' => 'StopJobs', + 'summary' => 'Stops one or more jobs in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpgradeClient' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopJobs'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StopNodes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25573,6 +15120,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '75921', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -25580,22 +15130,42 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'For more information, see [ListClusters](~~87116~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], ], [ - 'name' => 'ClientVersion', + 'name' => 'Role', + 'in' => 'query', + 'schema' => ['description' => 'The role of the nodes. Valid values:'."\n" + ."\n" + .'- Manager: management node'."\n" + .'- Login: logon node'."\n" + .'- Compute: compute node'."\n" + ."\n" + .'Default value: Compute', 'type' => 'string', 'required' => false, 'default' => 'Compute', 'title' => '', 'example' => 'Compute'], + ], + [ + 'name' => 'Instance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The version to which you want to update ehpcutil. By default, ehpcutil is updated to the latest version. You can call the [ListCurrentClientVersion](~~87223~~) to query the latest ehpcutil version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2.0.0', + 'description' => 'The information about the nodes to stop.', + 'type' => 'array', + 'items' => [ + 'description' => 'An array of node information.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The ID of the Nth node to stop. N is an integer from 1 to 100.'."\n" + ."\n" + .'For more information, see [ListNodes](~~87161~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'i-bp13p7vlcb1uihf****'], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, + 'maxItems' => 10000, + 'title' => '', ], ], ], @@ -25604,92 +15174,78 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '4994fbcd-2a09-4045-b2b2-2c3bee8e9296', - ], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - [ - 'errorCode' => 'InvalidClientVersion', - 'errorMessage' => 'The client version is invalid.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidNodeStatus', 'errorMessage' => 'The operation failed due to invalid node status.', 'description' => ''], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ComputeNotFound', 'errorMessage' => 'The specified compute node does not exist.', 'description' => 'The specified compute node does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ObjectNotFound', 'errorMessage' => 'The specified object is not found.', 'description' => 'The specified object does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'EipError', 'errorMessage' => 'The EIP API request failed.', 'description' => 'EIP API request failed.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4994fbcd-2a09-4045-b2b2-2c3bee8e9296\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4994fbcd-2a09-4045-b2b2-2c3bee8e9296</RequestId>","errorExample":""}]', - 'title' => 'UpgradeClient', - 'summary' => 'Updates the client (ehpcutil) in a cluster to a new version.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'title' => 'StopNodes', + 'summary' => 'Stops one or more nodes in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUpgradeClients' => [ - 'summary' => 'Queries the latest version to which the client (ehpcutil) in a cluster can be updated and historical update records of the client.', - 'methods' => [ - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopNodes'], + ], ], + ], + 'StopServerlessJobs' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25697,294 +15253,192 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'JobIds', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', + 'description' => 'The serverless job IDs or subtask IDs (array jobs).'."\n" + ."\n" + .'* If you specify the job ID of an array job, all subtasks under the array job are stopped.'."\n" + .'* If you specify the ID of a subtask of an array job, only the subtask is stopped.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the serverless job or subtask (array job).'."\n", 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'maxItems' => 100, + 'title' => '', ], ], ], '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' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', - ], - 'LatestVersion' => [ - 'description' => 'The latest version of ehpcutil that is released.'."\n", - 'type' => 'string', - 'example' => '1.2.22', - ], - 'ClientRecords' => [ - 'description' => 'The update records of ehpcutil in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The upgrade records of the cluster client.'."\n", - 'type' => 'object', - 'properties' => [ - 'SubUid' => [ - 'description' => 'The user ID (UID) whose ehpcutil is updated.'."\n", - 'type' => 'string', - 'example' => '129******84', - ], - 'OldVersion' => [ - 'description' => 'The version of ehpcutil before the update.'."\n", - 'type' => 'string', - 'example' => '1.2.16', - ], - 'NewVersion' => [ - 'description' => 'The version of ehpcutil after the update.'."\n", - 'type' => 'string', - 'example' => '1.2.21', - ], - 'UpdateTime' => [ - 'description' => 'The update time.'."\n", - 'type' => 'string', - 'example' => '2022-08-26T06:26:57.000Z', - ], - ], - ], - ], - 'CurrentVersion' => [ - 'description' => 'The current version of ehpcutil in the cluster.'."\n", - 'type' => 'string', - 'example' => '1.2.21', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'StopServerlessJobs', + 'summary' => 'Stops Serverless jobs in a cluster based on job IDs or subtask IDs (array jobs). If you specify the job ID of an array job, all subtasks in the job are stopped.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"LatestVersion\\": \\"1.2.22\\",\\n \\"ClientRecords\\": [\\n {\\n \\"SubUid\\": \\"129******84\\",\\n \\"OldVersion\\": \\"1.2.16\\",\\n \\"NewVersion\\": \\"1.2.21\\",\\n \\"UpdateTime\\": \\"2022-08-26T06:26:57.000Z\\"\\n }\\n ],\\n \\"CurrentVersion\\": \\"1.2.21\\"\\n}","errorExample":""},{"type":"xml","example":"<ListUpgradeClientsResponse>\\n <RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n <LatestVersion>1.2.22</LatestVersion>\\n <ClientRecords>\\n <SubUid>129******84</SubUid>\\n <OldVersion>1.2.16</OldVersion>\\n <NewVersion>1.2.21</NewVersion>\\n <UpdateTime>2022-08-26T06:26:57.000Z</UpdateTime>\\n </ClientRecords>\\n <CurrentVersion>1.2.21</CurrentVersion>\\n</ListUpgradeClientsResponse>","errorExample":""}]', - 'title' => 'ListUpgradeClients', ], - 'QueryServicePackAndPrice' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StopVisualService' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], + ], + [ + 'name' => 'CidrIp', + 'in' => 'query', + 'schema' => ['description' => 'The CIDR block or IP address that is allowed to access the VNC service. This parameter is used to assign a security group to the E-HPC cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '100.168.**.**', 'title' => ''], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => ['description' => 'The fixed port. Set the value to 12016.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'example' => '12016', 'title' => ''], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OriginalAmount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3191', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3B2E8108-7068-413E-BCA7-CAAB25D46408', - ], - 'DiscountPrice' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.418', - ], - 'TradePrice' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '2.922', - ], - 'OriginalPrice' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '3.34', - ], - 'ChargeAmount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '167', - ], - 'Currency' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CNY', - ], - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ServicePack' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServicePackInfo' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1612705988', - ], - 'Capacity' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'StartTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1610027588', - ], - 'InstanceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'EHPCBAG-cn-78v12vbme0****', - ], - ], - ], - ], - ], - ], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'Service stopped', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '896D338C-E4F4-41EC-A154-D605E5DE6880', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => ''], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"OriginalAmount\\": 3191,\\n \\"RequestId\\": \\"3B2E8108-7068-413E-BCA7-CAAB25D46408\\",\\n \\"DiscountPrice\\": 0.418,\\n \\"TradePrice\\": 2.922,\\n \\"OriginalPrice\\": 3.34,\\n \\"ChargeAmount\\": 167,\\n \\"Currency\\": \\"CNY\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServicePack\\": {\\n \\"ServicePackInfo\\": [\\n {\\n \\"EndTime\\": 1612705988,\\n \\"Capacity\\": 2000,\\n \\"StartTime\\": 1610027588,\\n \\"InstanceName\\": \\"EHPCBAG-cn-78v12vbme0****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryServicePackAndPriceResponse>\\n <OriginalPrice>3.34</OriginalPrice>\\n <RequestId>3B2E8108-7068-413E-BCA7-CAAB25D46408</RequestId>\\n <DiscountPrice>0.418</DiscountPrice>\\n <Currency>CNY</Currency>\\n <ServicePack>\\n <ServicePackInfo>\\n <InstanceName>EHPCBAG-cn-78v12vbme0****</InstanceName>\\n <EndTime>1612705988</EndTime>\\n <Capacity>2000</Capacity>\\n <StartTime>1610027588</StartTime>\\n </ServicePackInfo>\\n </ServicePack>\\n <RegionId>cn-hangzhou</RegionId>\\n <TradePrice>2.922</TradePrice>\\n <OriginalAmount>3191</OriginalAmount>\\n <ChargeAmount>167</ChargeAmount>\\n</QueryServicePackAndPriceResponse>","errorExample":""}]', - 'title' => 'QueryServicePackAndPrice', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"Service stopped\\",\\n \\"RequestId\\": \\"896D338C-E4F4-41EC-A154-D605E5DE6880\\"\\n}","errorExample":""},{"type":"xml","example":"<StopVisualServiceResponse>\\r\\n <Message>\\r\\n <Msg>Service stopped</Msg>\\r\\n </Message>\\r\\n <RequestId>896D338C-E4F4-41EC-A154-D605E5DE6880</RequestId>\\r\\n</StopVisualServiceResponse>","errorExample":""}]', + 'title' => 'StopVisualService', + 'summary' => 'Stops the remote visualization service of Virtual Network Console (VNC) in a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddSecurityGroup' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopVisualService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopVisualService', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SubmitJob' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25993,6 +15447,9 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '75923', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -26000,38 +15457,174 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The command that is used to run the job.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'CommandLine', 'in' => 'query', - 'schema' => [ - 'description' => 'The security group ID of the instance.'."\n" - ."\n" - .'You can call the [DescribeSecurityGroups](~~25556~~) operation to query available security groups in the current region.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'sg-bp13n61xsydodfyg****', - ], + 'schema' => ['description' => 'The name of the user that runs the job.'."\n" + ."\n" + .'You can call the [ListUsers](~~188572~~) operation to query the users of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => './LammpsTest/lammps.pbs', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'RunasUser', '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 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 do I ensure the idempotence of a request?](~~25693~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', - ], + 'schema' => ['description' => 'The password that corresponds to the username.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testuser', 'title' => ''], + ], + [ + 'name' => 'RunasUserPassword', + 'in' => 'query', + 'schema' => ['description' => 'The name of the job. The name must be 6 to 30 characters in length and start with a letter. It can contain letters, digits, and periods (.).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '12****', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'job1', 'type' => 'string', 'required' => false, 'example' => 'jobtest', 'title' => ''], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'PackagePath', + 'in' => 'query', + 'schema' => ['description' => 'The path that is used to run the job.'."\n", 'type' => 'string', 'required' => false, 'example' => './Tem', 'title' => ''], + ], + [ + 'name' => 'StdoutRedirectPath', + 'in' => 'query', + 'schema' => ['description' => 'The output file path of stdout.'."\n", 'type' => 'string', 'required' => false, 'example' => './LammpsTest', 'title' => ''], + ], + [ + 'name' => 'StderrRedirectPath', + 'in' => 'query', + 'schema' => ['description' => 'The output file path of stderr.'."\n", 'type' => 'string', 'required' => false, 'example' => './LammpsTest', 'title' => ''], + ], + [ + 'name' => 'ReRunable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the job can be rerun. Valid values:'."\n" + ."\n" + .'* true: The job can be rerun.'."\n" + .'* false: The job cannot be rerun.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ArrayRequest', + 'in' => 'query', + 'schema' => ['description' => 'The job array.'."\n" + ."\n" + .'Format: X-Y:Z. The minimum index value X is the first index. The maximum index value Y is the last index. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1-10:2', 'title' => ''], + ], + [ + 'name' => 'Variables', + 'in' => 'query', + 'schema' => ['description' => 'The runtime variables passed to the job. They can be accessed by using environment variables in the executable file.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{Name:test1,Value:value1},{Name:test2,Value:value2}]', 'title' => ''], + ], + [ + 'name' => 'InputFileUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the job file that is uploaded to an Object Storage Service (OSS) bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://ehpc-hangzhou.oss-cn-hangzhou.aliyuncs.com/test-u4****/testlist_ehpc.sh', 'title' => ''], + ], + [ + 'name' => 'UnzipCmd', + 'in' => 'query', + 'schema' => ['description' => 'The command for file decompression. The command that is used to decompress the job files downloaded from an OSS bucket. Valid values:'."\n" + ."\n" + .'* tar xzf: Decompresses GZIP files.'."\n" + .'* tar xf: Decompresses TAR files.'."\n" + .'* unzip: Decompresses ZIP files.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tar xzf', 'title' => ''], + ], + [ + 'name' => 'PostCmdLine', + 'in' => 'query', + 'schema' => ['description' => 'The command to perform on the job after the job is submitted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.sh', 'title' => ''], + ], + [ + 'name' => 'JobQueue', + 'in' => 'query', + 'schema' => ['description' => 'The name of the queue in which the job is run.'."\n" + ."\n" + .'You can call the [ListQueues](~~92176~~) operation to query the name of the queue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'workq', 'title' => ''], + ], + [ + 'name' => 'Node', + 'in' => 'query', + 'schema' => ['description' => 'The number of compute nodes required to run the job.'."\n" + ."\n" + .'> If the parameter is not specified, the Cpu, Task, Thread, Mem, and Gpu parameters become invalid.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of CPU cores required by a single compute node.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Task', + 'in' => 'query', + 'schema' => ['description' => 'The number of processes created for a single compute node.'."\n" + ."\n" + .'The parameter is applicable to Message Passing Interface (MPI) jobs.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Thread', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads created for a single compute node.'."\n" + ."\n" + .'The parameter is applicable to OpenMP jobs.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Mem', + 'in' => 'query', + 'schema' => ['description' => 'The maximum memory usage required by a single compute node. Unit: GB, MB, or KB. The unit is case-insensitive.'."\n", 'type' => 'string', 'required' => false, 'example' => '1GB', 'title' => ''], + ], + [ + 'name' => 'Gpu', + 'in' => 'query', + 'schema' => ['description' => 'The maximum GPU usage required by a single compute node.'."\n" + ."\n" + .'The parameter takes effect only when the cluster uses PBS and a compute node is a GPU-accelerated instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ClockTime', + 'in' => 'query', + 'schema' => ['description' => 'The maximum running time of the job. Valid formats:'."\n" + ."\n" + .'* hh:mm:ss'."\n" + .'* mm:ss'."\n" + .'* ss'."\n" + ."\n" + .'We recommend that you use the hh:mm:ss format. If the maximum running time is 12 hours, set the value to 12:00:00.'."\n", 'type' => 'string', 'required' => false, 'example' => '12:00:00', 'title' => ''], + ], + [ + 'name' => 'JobRetry.Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of retries for the job. Valid values: 1 to 10. You can only retry jobs that are run on the PBS clusters.'."\n" + ."\n" + .'> If this parameter is left empty, the JobRetry.Priority and JobRetry.OnExitCode parameters do not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'JobRetry.Priority', + 'in' => 'query', + 'schema' => ['description' => 'The priority of the job retry. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n" + ."\n" + .'> If this parameter is left empty, the priority of the job retry is min {Priority of the original job +1, 9}.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'JobRetry.OnExitCode', + 'in' => 'query', + 'schema' => ['description' => 'The retry condition of the job. If the exit code is the value of the parameter, the job retry is triggered.'."\n" + ."\n" + .'> If this parameter is left empty, the job retry is triggered when the exit code is not 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use an asynchronous link to submit the job.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -26039,378 +15632,519 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'JobId' => ['description' => 'The ID of the job.'."\n", 'type' => 'string', 'example' => '1.manager', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidSecurityGroup', - 'errorMessage' => 'The security group ID is invalid.', - ], - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'SecurityGroupNotSupported', - 'errorMessage' => 'The security group is not supported.', - ], - [ - 'errorCode' => 'SecurityGroupAlreadyExists', - 'errorMessage' => 'The security group already exists.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'UsernameExist', 'errorMessage' => 'The username already exists.', 'description' => 'The username already exists.'], + ['errorCode' => 'IncorrectCredential', 'errorMessage' => 'The username or password is incorrect.', 'description' => 'The username or password is incorrect.'], + ['errorCode' => 'AgentError.Account.ValidateCredentialFailure', 'errorMessage' => 'Username or password verification failed.', 'description' => 'Username or password verification failed.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ContainerNotFound', 'errorMessage' => 'The specified container does not exist.', 'description' => 'The specified container does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'ECS api request error', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'Aliyun api service error', - ], + ['errorCode' => 'AgentError.Job.SubmitFailure', 'errorMessage' => 'Failed to submit jobs: %s', 'description' => 'Failed to submit the jobs.'], + ['errorCode' => 'AgentError.Job.InvalidContainerType', 'errorMessage' => 'Unsupported container type: %s.', 'description' => 'The container type is not supported: %s.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError.Account.AccountValidateCredentialFailure', 'errorMessage' => 'Cannot get user info', 'description' => ''], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddSecurityGroupResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</AddSecurityGroupResponse>","errorExample":""}]', - 'title' => 'AddSecurityGroup', - 'summary' => 'Adds a cluster to a security group.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"1.manager\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitJobResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n <JobId>1.manager</JobId>\\r\\n</SubmitJobResponse>","errorExample":""}]', + 'title' => 'SubmitJob', + 'summary' => 'Submits a job in a cluster.', + 'description' => 'The ID of the request.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListSecurityGroups' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:SubmitJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SubmitServerlessJob' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'JobName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the serverless job.'."\n" + ."\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' => 'testjob', 'title' => ''], + ], + [ + 'name' => 'ArrayProperties', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'description' => 'The configuration of the array job.'."\n" + ."\n" + .'> The value of an array job index is passed to a serverless job container through the environment variable `EHPC_ARRAY_TASK_ID`. Users can access the container from business programs.'."\n", + 'type' => 'object', + 'properties' => [ + 'IndexStart' => ['description' => 'The starting value of the array job index. Valid values: 0 to 4999.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + 'IndexEnd' => ['description' => 'The end value of the array job index. Valid values: 0 to 4999. The value must be greater than or equal to the value of IndexStart.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5', 'title' => ''], + 'IndexStep' => ['description' => 'The interval of the array job index.'."\n" + ."\n" + .'> If the array job property is IndexStart=1,IndexEnd=5, and IndexStep=2, the array job contains three subtasks. The values of the subtask indexes are 1,3, and 5.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'JobPriority', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling priority of the serverless job. Valid values: 0 to 999. A greater value indicates a higher priority.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the temporary storage space added to the serverless job container. Unit: GiB.'."\n" + ."\n" + .'> By default, a space of 30 GiB is provided free of charge. If you require a larger space, you can pass this parameter to specify your required space size.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''], + ], + [ + 'name' => 'Timeout', + 'in' => 'query', + 'schema' => ['description' => 'The validity period of the serverless job. After the validity period expires, the job is forcibly terminated. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3600', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The IDs of the vSwitches to which the serverless job container belongs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The vSwitch ID.'."\n" + ."\n" + .'> E-HPC supports only virtual private cloud (VPC) networks. You can call the [DescribeVSwitches](~~35748~~) operation to query the created vSwitches.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1gb5gf5546rn****', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The Elastic Compute Service (ECS) instance types used by the serverless job container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g7.8xlarge', 'title' => ''], + 'required' => false, + 'docRequired' => false, + 'maxItems' => 5, + 'title' => '', + ], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The vCPU size of the serverless job container. Unit: cores.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'docRequired' => false, 'example' => '2', 'default' => '1.0', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size of the serverless job container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'docRequired' => false, 'example' => '4', 'default' => '2.0', 'title' => ''], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The bidding policy of the ECS instances. 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, 'docRequired' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'If you set SpotStrategy to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.062', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The Resource Access Manamement (RAM) role that is associated with the Serverless job container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testRamRoleName', 'title' => ''], + ], + [ + 'name' => 'Container', + 'in' => 'query', + 'style' => 'json', 'schema' => [ + 'description' => 'The properties of the Serverless job container.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of security groups that are assigned to the E-HPC cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'EnvironmentVar' => [ + 'description' => 'The value of the environment variable for 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 for the container. The name can be 1 to 128 characters in length and can contain letters, digits, and underscores (\\_). The name cannot start with a digit. Specify the name in the \\[0-9a-zA-Z] format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable for the container. The value must be 0 to 256 bits in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6D9A3378-61CA-4415-BEB0-1168C2A15975', + 'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/'."\n", 'title' => ''], + 'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'required' => true, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/ehpc/hpl:latest'."\n", 'title' => ''], + 'Command' => [ + 'description' => 'The container startup commands.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'required' => false, 'example' => 'python3', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], - 'SecurityGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroup' => [ - 'description' => 'The security group ID.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group to which the instances belong.'."\n", - 'type' => 'string', - 'example' => '["sg-bp13n61xsydodfyg****"]', - ], + 'Arg' => [ + 'description' => 'The arguments of the container startup command. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup argument.'."\n", 'type' => 'string', 'required' => false, 'example' => 'hello.py', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs used by the container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'VolumeMount' => [ + 'description' => 'The data volumes that are mounted to the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The data volumes mounted to the container.', + 'type' => 'object', + 'properties' => [ + '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. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/data', 'title' => ''], + 'FlexVolumeDriver' => ['description' => 'The driver type when you use the FlexVolume plug-in to mount a volume. Valid values:'."\n" + ."\n" + .'* alicloud/nas: a NAS driver.'."\n" + .'* alicloud/oss: an OSS driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'alicloud/oss', 'title' => ''], + 'FlexVolumeOptions' => ['description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"bucket":"hpctest","url": "oss-cn-hangzhou-internal.aliyuncs.com'."\n" + .'","path":"/data","ramRole":"AliyunECSInstanceForEHPCRole"}', 'title' => ''], ], + 'required' => false, + 'title' => '', ], + 'required' => false, + 'title' => '', ], ], + 'required' => true, + 'title' => '', + ], + ], + [ + 'name' => 'DependsOn', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The dependencies of the serverless job.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The serverless job dependencies.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The ID of the dependent job.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'Type' => ['description' => 'The dependency type. Valid values:'."\n" + ."\n" + .'* AfterSucceeded: **All subtasks** of the dependent job or array job succeed. The exit code is 0.'."\n" + .'* AfterFailed: **All subtasks** of the dependent job or array job fail. The exit code is not 0.'."\n" + .'* AfterAny: The dependent job completes (succeeds or fails).'."\n" + .'* AfterCorresponding: The subtask corresponding to the dependent array job succeeds. The exit code is 0.'."\n" + ."\n" + .'Default value: AfterSucceeded.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AfterAny', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'minItems' => 1, + 'title' => '', + ], + ], + [ + 'name' => 'RetryStrategy', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The retry policy of the serverless job.'."\n", + 'type' => 'object', + 'properties' => [ + 'Attempts' => ['description' => 'The number of retries for the serverless job. Valid values: 1 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '5', 'title' => ''], + 'EvaluateOnExit' => [ + 'description' => 'The retry rules for the serverless job. You can specify up to 10 rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => ['description' => 'The job action. Valid values:'."\n" + ."\n" + .'* Retry: The job starts a retry when a specific exit code is hit.'."\n" + .'* Exit: The job exits when a specific exit code is hit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Retry', 'title' => ''], + 'OnExitCode' => ['description' => 'The job exit code, which is used together with Action to form a job retry rule. Valid values: 0 to 255.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The ID of the serverless job.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'ECS api request error', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'Aliyun api service error', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], + ['errorCode' => 'ServiceAPIError', 'errorMessage' => 'Failed to call the operation. Cause:%s', 'description' => 'An error occurred while calling the API. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"10\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'SubmitServerlessJob', + 'summary' => 'Submits a serverless job to an Elastic High Performance Computing (E-HPC) cluster.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SubmitServerlessJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"6D9A3378-61CA-4415-BEB0-1168C2A15975\\",\\n \\"SecurityGroups\\": {\\n \\"SecurityGroup\\": [\\n \\"[\\\\\\"sg-bp13n61xsydodfyg****\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListSecurityGroupsResponse>\\n <SecurityGroups>\\n <SecurityGroup>sg-bp13n61xsydodfyg****</SecurityGroup>\\n </SecurityGroups>\\n <TotalCount>1</TotalCount>\\n <RequestId>6D9A3378-61CA-4415-BEB0-1168C2A15975</RequestId>\\n</ListSecurityGroupsResponse>","errorExample":""}]', - 'title' => 'ListSecurityGroups', - 'summary' => 'Queries the security groups that are assigned to an E-HPC cluster.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteSecurityGroup' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SyncUsers' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The region ID.'."\n" + ."\n" + .'You can call the [ListRegions](~~188593~~) operation to query the list of regions where E-HPC is supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The security group ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'sg-bp13n61xsydodfyg****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the list of E-HPC clusters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-gh5WKb****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], - 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The parameters are invalid.', 'description' => 'Invalid parameter. %s'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'SecurityGroupNotSupported', - 'errorMessage' => 'The security group is not supported.', - ], - [ - 'errorCode' => 'InvalidSecurityGroup', - 'errorMessage' => 'The security group ID is invalid.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => 'Failed to execute the command: %s.'], + ], + [ + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'ECS api request error', - ], - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'Aliyun api service error', - ], + ['errorCode' => 'AgentError.Account.UserSynFailure', 'errorMessage' => 'synchronize users failed: %s', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SyncUsersResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\n</SyncUsersResponse>","errorExample":""}]', + 'title' => 'SyncUsers', + 'summary' => 'Synchronizes local cluster users to a hybrid cloud cluster in hybrid-cloud proxy mode.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SyncUsers'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SyncUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<AddSecurityGroupResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</AddSecurityGroupResponse>","errorExample":""}]', - 'title' => 'DeleteSecurityGroup', - 'summary' => 'Removes a cluster from a specified security group.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], 'TagResources' => [ - 'summary' => 'Creates tags and attach the tags to a specified resource.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => '地域', - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'The region ID of the resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'title' => '资源类型', - 'description' => 'The resource type. Set the value to cluster, which indicates E-HPC clusters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster', - ], + 'schema' => ['title' => '', 'description' => 'The resource type. Set the value to cluster, which indicates E-HPC clusters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cluster'], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'title' => '资源ID,最多 50个子项', + 'title' => '', 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-xxxx', - ], + 'items' => ['description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-xxxx', 'title' => ''], 'required' => true, 'maxItems' => 51, ], @@ -26420,29 +16154,18 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'title' => '标签列表,最多包含20个子项', + 'title' => '', 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", 'type' => 'object', 'properties' => [ - 'Key' => [ - 'title' => '标签键', - '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' => [ - 'title' => '标签值', - 'description' => 'The tag value. The tag value cannot be an empty string. It can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['title' => '', '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' => ['title' => '', 'description' => 'The tag value. The tag value cannot be an empty string. It can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, + 'title' => '', ], 'required' => true, 'maxItems' => 21, @@ -26454,346 +16177,181 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The Tag.N.Key contain duplicate key.', - ], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contain duplicate key.', 'description' => ''], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'TagError', - 'errorMessage' => 'TAG API request failed.', - ], + ['errorCode' => 'TagError', 'errorMessage' => 'TAG API request failed.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', 'title' => 'TagResources', - ], - 'ListTagResources' => [ - 'summary' => 'Queries the tags that are attached to a specified resource.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Creates tags and attach the tags to a specified resource.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UnTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => '地域', - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'title' => '下一个查询开始Token', - 'description' => 'The token used to start the next query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', - ], + 'schema' => ['description' => 'The region ID of the resource.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'title' => '资源类型', - 'description' => 'The resource type. Set the value to cluster, which indicates E-HPC clusters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster', - ], + 'schema' => ['description' => 'The type of the resource from which you want to remove tags. Set the value to cluster, which indicates E-HPC clusters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cluster', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'title' => '资源ID,最多 50个子项', - 'description' => 'The resource IDs. You can specify up to 50 IDs.'."\n", + 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The resource IDs. You can specify up to 50 IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-xxxx', - ], - 'required' => false, - 'maxItems' => 51, + 'items' => ['description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-xxxx', 'title' => ''], + 'required' => true, + 'maxItems' => 50, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'title' => '标签列表,最多包含20个子项', - 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", + 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The resource tags. You can specify up to 20 tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'title' => '标签键', - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'title' => '标签值', - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The tag key of the resource.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 50, + 'title' => '', ], ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter is valid only when the TagKey.N parameter is not specified. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => '下一个查询开始Token,NextToken为空说明没有下一个', - 'description' => 'The token that is required for the next query. If the NextToken parameter is empty, no subsequent query is available.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '484256DA-D816-44D2-9D86-B6EE4D5BA78C', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'title' => '资源列表', - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => 'The type of the resource whose tags are queried. Set the value to cluster, which indicates E-HPC clusters.'."\n", - 'type' => 'string', - 'example' => 'cluster', - ], - 'TagValue' => [ - 'title' => '标签值', - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'ResourceId' => [ - 'title' => '资源ID', - 'description' => 'The resource ID. Set the value to the ID of the cluster.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-xxxx', - ], - 'TagKey' => [ - 'title' => '标签键', - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'TagError', - 'errorMessage' => 'TAG API request failed.', - ], + ['errorCode' => 'TagError', 'errorMessage' => 'TAG API request failed.', 'description' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0axxxx\\",\\n \\"RequestId\\": \\"484256DA-D816-44D2-9D86-B6EE4D5BA78C\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"cluster\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceId\\": \\"ehpc-hz-xxxx\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0axxxx</NextToken>\\n <RequestId>484256DA-D816-44D2-9D86-B6EE4D5BA78C</RequestId>\\n <TagResources>\\n <ResourceType>cluster</ResourceType>\\n <TagValue>TestValue</TagValue>\\n <ResourceId>ehpc-hz-xxxx</ResourceId>\\n <TagKey>TestKey</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', - 'title' => 'ListTagResources', - ], - 'UnTagResources' => [ + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UnTagResourcesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UnTagResourcesResponse>","errorExample":""}]', + 'title' => 'UnTagResources', 'summary' => 'Removes tags from a specified resource.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UnTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UninstallSoftware' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource from which you want to remove tags. Set the value to cluster, which indicates E-HPC clusters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cluster', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], ], [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-xxxx', - ], - 'required' => true, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'TagKey', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag key of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'All', + 'name' => 'Application', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter is valid only when the TagKey.N parameter is not specified. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The name of the software that you want to uninstall.'."\n" + ."\n" + .'You can call the [ListInstalledSoftware](~~188591~~) operation to query the software that is installed in the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ABYSS_2.1.5', 'title' => ''], ], ], 'responses' => [ @@ -26801,156 +16359,197 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C84FB8EF-5580-4B82-9BDE-6657814C****', 'title' => ''], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'TagError', - 'errorMessage' => 'TAG API request failed.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'ExecFail', 'errorMessage' => 'Failed to execute the command: %s.', 'description' => ''], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C84FB8EF-5580-4B82-9BDE-6657814C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UninstallSoftwareResponse>\\n <RequestId>C84FB8EF-5580-4B82-9BDE-6657814C****</RequestId>\\n</UninstallSoftwareResponse>","errorExample":""}]', + 'title' => 'UninstallSoftware', + 'summary' => 'Uninstalls software from a cluster.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UninstallSoftware', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UnTagResourcesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UnTagResourcesResponse>","errorExample":""}]', - 'title' => 'UnTagResources', ], - 'ListRegions' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateClusterVolumes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'AdditionalVolumes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The file systems that you want to mount.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobQueue' => ['description' => 'The queue name of the file system to be mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'work', 'title' => ''], + 'VolumeId' => ['description' => 'The ID of the file system to be mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'extreme-00b88****', 'title' => ''], + 'Roles' => [ + 'description' => 'The array of the nodes to which the file system is mounted.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The type of the node to which the file system is mounted. Valid values:'."\n" + ."\n" + .'* Manager: management node'."\n" + .'* Login: logon node'."\n" + .'* Compute: compute node'."\n", 'type' => 'string', 'required' => false, 'example' => '["Compute"]', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 8, + 'title' => '', + ], + 'VolumeMountpoint' => ['description' => 'The endpoint of the mount target of the file system.'."\n", 'type' => 'string', 'required' => false, 'example' => '0088****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', 'title' => ''], + 'RemoteDirectory' => ['description' => 'The remote directory to which the file system is mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => '/test', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the file system to be mounted. Set the value to NAS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NAS', 'title' => ''], + 'LocalDirectory' => ['description' => 'The on-premises mount directory of the file system to be mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => '/ff', 'title' => ''], + 'VolumeProtocol' => ['description' => 'The protocol type of the file system to be mounted. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'required' => false, 'example' => 'NFS', 'title' => ''], + 'Location' => ['description' => 'The storage location of the file system to be mounted. Valid values:'."\n" + ."\n" + .'* OnPremise: The file system is stored in a hybrid cloud.'."\n" + .'* PublicCloud: The file system cluster is stored in a public cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PublicCloud', 'title' => ''], + 'VolumeMountOption' => ['description' => 'The mount option of the file system to be mounted.'."\n", 'type' => 'string', 'required' => false, 'example' => '-t nfs -o vers=3,nolock,noresvport', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionInfo' => [ - 'description' => 'The list of regions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The array of regions.', - 'type' => 'object', - 'properties' => [ - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'China East 1 (Hangzhou)', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0842122', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], 406 => [ - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Regions\\": {\\n \\"RegionInfo\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListRegionsResponse>\\n <Regions>\\n <RegionInfo>\\n <RegionId>cn-hangzhou</RegionId>\\n <LocalName>华东 1 (杭州)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-beijing</RegionId>\\n <LocalName>华北 2 (北京)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-shanghai</RegionId>\\n <LocalName>华东 2 (上海)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-shenzhen</RegionId>\\n <LocalName>华南 1 (深圳)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-qingdao</RegionId>\\n <LocalName>华北 1 (青岛)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-zhangjiakou</RegionId>\\n <LocalName>华北 3 (张家口)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-huhehaote</RegionId>\\n <LocalName>华北 5 (呼和浩特)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>ap-southeast-1</RegionId>\\n <LocalName>亚太东南 1 (新加坡)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-hongkong</RegionId>\\n <LocalName>中国 (香港)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>eu-central-1</RegionId>\\n <LocalName>欧洲中部 1 (法兰克福)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>ap-southeast-2</RegionId>\\n <LocalName>亚太东南 2 (悉尼)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>ap-northeast-1</RegionId>\\n <LocalName>亚太东北 1 (东京)</LocalName>\\n </RegionInfo>\\n <RegionInfo>\\n <RegionId>cn-wulanchabu</RegionId>\\n <LocalName>华北 6(乌兰察布)</LocalName>\\n </RegionInfo>\\n </Regions>\\n</ListRegionsResponse>","errorExample":""}]', - 'title' => 'ListRegions', - 'summary' => 'Queries a list of regions where Elastic High Performance Computing (E-HPC) is supported.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0842122\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateClusterVolumesResponse>\\r\\n <RequestId>F6757FA4-8FED-4602-B7F5-3550C0842122</RequestId>\\r\\n</UpdateClusterVolumesResponse>","errorExample":""}]', + 'title' => 'UpdateClusterVolumes', + 'summary' => 'Mount new storage resources to a cluster.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTasks' => [ - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterVolumes'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpdateClusterVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateQueueConfig' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26958,94 +16557,52 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'QueueName', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1. Valid values: 1 to 999.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '999', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The name of the queue.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'workq', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The resource group ID.'."\n" + ."\n" + .'You can call the [ListResourceGroups](~~158855~~) operation to query the IDs of resource groups.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ - 'name' => 'TaskId', + 'name' => 'ComputeInstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The task ID. You can call the following asynchronous API operations to obtain the task ID.'."\n" - ."\n" - .'* [CreateCluster](~~87100~~)'."\n" - .'* [StartCluster](~~200345~~)'."\n" - .'* [StopCluster](~~200346~~)'."\n" - .'* [DeleteCluster](~~87110~~)'."\n" - .'* [AddNodes](~~87147~~)'."\n" - .'* [StartNodes](~~87159~~)'."\n" - .'* [ResetNodes](~~87158~~)'."\n" - .'* [StopNodes](~~87160~~)'."\n" - .'* [DeleteNodes](~~87155~~)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], + 'schema' => ['description' => 'The instance type of the node.'."\n" + ."\n" + .'You can call the [ListPreferredEcsTypes](~~188592~~) operation to query the recommended instance types.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.tiny', 'title' => ''], ], [ - 'name' => 'Archived', + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set. You can obtain the deployment set ID by calling the [DescribeDeploymentSets](~~91313~~) operation. Only the deployment sets that use low latency policy are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pzq****', 'title' => ''], + ], + [ + 'name' => 'NetworkInterfaceTrafficMode', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to display the response history of the asynchronous API operation. Valid values:'."\n" - ."\n" - .'* true: displays the current response and response history of the asynchronous API operation.'."\n" - .'* false: displays only the current response of the asynchronous API operation. If no tasks are running, `[]` is returned.'."\n" - ."\n" - .'Default value: false.'."\n" + 'description' => 'The communication mode of the elastic network interface (ENI). Valid values:'."\n" ."\n" - .'> If you specify the TaskId parameter, the Archived parameter is invalid.'."\n", - 'type' => 'boolean', + .'* Standard: uses the TCP communication mode.'."\n" + .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.', + 'type' => 'string', 'required' => false, - 'example' => 'false', - 'default' => 'false', - 'enum' => [ - 'true', - 'false', - ], + 'example' => 'Standard', + 'enum' => ['Standard', 'HighPerformance'], + 'title' => '', ], ], ], @@ -27054,216 +16611,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Tasks' => [ - 'description' => 'The queried tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" - ."\n" - .'* Processing: The task is running.'."\n" - .'* Success: The task succeeded.'."\n" - .'* Failed: The task failed.'."\n" - .'* PartialFail: The task partially failed.'."\n", - 'type' => 'string', - 'example' => 'Processing', - ], - 'TaskType' => [ - 'description' => 'The task type. Valid values:'."\n" - ."\n" - .'* CreateCluster: creates a cluster by calling the [CreateCluster](~~87100~~) operation.'."\n" - .'* StartCluster: starts a cluster by calling the [StartCluster](~~200345~~) operation.'."\n" - .'* StopCluster: stops a cluster by calling the [StopCluster](~~200346~~) operation.'."\n" - .'* DeleteCluster: releases a cluster by calling the [DeleteCluster](~~87110~~) operation.'."\n" - .'* AddComputes: adds nodes to a cluster by calling the [AddNodes](~~87147~~) operation.'."\n" - .'* StartComputes: starts nodes by calling the [StartNodes](~~87159~~) operation.'."\n" - .'* ResetCompute: resets nodes by calling the [ResetNodes](~~87158~~) operation.'."\n" - .'* StopComputes: stops nodes by calling the [StopNodes](~~87160~~) operation.'."\n" - .'* DeleteComputes: deletes nodes by calling the [DeleteNodes](~~87155~~) operation.'."\n", - 'type' => 'string', - 'example' => 'StopCluster', - ], - 'TotalSteps' => [ - 'description' => 'The total number of steps of the task.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '35', - ], - 'CurrentStep' => [ - 'description' => 'The current step of the task.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'Result' => [ - 'description' => 'The result of the task. Valid values:'."\n" - ."\n" - .'* If you set TaskType to CreateCluster or AddComputes, the value of this parameter is in the `{\\"Instances\\":[]}` format. The value indicates the information about the nodes that are added to the cluster.'."\n" - .'* If you set TaskType to a value other than CreateCluster and AddComputes, the value of this parameter is in the `{}` format.'."\n", - 'type' => 'string', - 'example' => '{\\"Instances\\":[{\\"InstanceId\\":\\"i-bp1inb1j2xz8pnoi****\\",\\"Ip\\":\\"192.168.*.*\\",\\"Hostname\\":\\"login0\\",\\"role\\":\\"login\\"}]}', - ], - 'Errors' => [ - 'description' => 'The error messages returned for the task.'."\n" - ."\n" - .'You can view the error messages and the corresponding solutions in the [Error Center](https://error-center.alibabacloud.com/status/product/EHPC).'."\n", - 'type' => 'string', - 'example' => '[]', - ], - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'Request' => [ - 'description' => 'The request parameters of the task. The value is a JSON string.'."\n", - 'type' => 'string', - 'example' => '{\\"requestId\\":\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\",\\"uid\\":\\"160998252992****\\",\\"bid\\":\\"268**\\",\\"clusterId\\":\\"ehpc-hz-ysQtcZ****\\"}', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5198C3E8-85F5-4280-8547-687C1710****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidClientVersion', 'errorMessage' => 'The client version is invalid.', 'description' => 'The client version is invalid.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Processing\\",\\n \\"TaskType\\": \\"StopCluster\\",\\n \\"TotalSteps\\": 35,\\n \\"CurrentStep\\": 16,\\n \\"Result\\": \\"{\\\\\\\\\\\\\\"Instances\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"InstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-bp1inb1j2xz8pnoi****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"192.168.*.*\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Hostname\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"login0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"role\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"login\\\\\\\\\\\\\\"}]}\\",\\n \\"Errors\\": \\"[]\\",\\n \\"TaskId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"Request\\": \\"{\\\\\\\\\\\\\\"requestId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"160998252992****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"268**\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"clusterId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ehpc-hz-ysQtcZ****\\\\\\\\\\\\\\"}\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTasksResponse>\\n<TotalCount>10</TotalCount>\\n<Tasks>\\n <Status>Processing</Status>\\n <Errors>[]</Errors>\\n <TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>\\n <ClusterId>ehpc-hz-FYUr32****</ClusterId>\\n <TaskType>StopCluster</TaskType>\\n <Request>{\\\\\\"requestId\\\\\\":\\\\\\"0A6CA33E-BFBF-4F92-BDAE-4E8860DA****\\\\\\",\\\\\\"uid\\\\\\":\\\\\\"160998252992****\\\\\\",\\\\\\"bid\\\\\\":\\\\\\"268**\\\\\\",\\\\\\"clusterId\\\\\\":\\\\\\"ehpc-hz-ysQtcZ****\\\\\\"}</Request>\\n <CurrentStep>16</CurrentStep>\\n <TotalSteps>35</TotalSteps>\\n <Result>{\\\\\\"Instances\\\\\\":[{\\\\\\"InstanceId\\\\\\":\\\\\\"i-bp1inb1j2xz8pnoi****\\\\\\",\\\\\\"Ip\\\\\\":\\\\\\"192.168.*.*\\\\\\",\\\\\\"Hostname\\\\\\":\\\\\\"login0\\\\\\",\\\\\\"role\\\\\\":\\\\\\"login\\\\\\"}]}</Result>\\n</Tasks>\\n<PageSize>10</PageSize>\\n<RequestId>89A1AC0F-4A6C-4F3D-98F9-BEF9A823****</RequestId>\\n<PageNumber>1</PageNumber>\\n</ListTasksResponse>","errorExample":""}]', - 'title' => 'ListTasks', - 'summary' => 'Queries the response of an asynchronous API operation for a cluster.', - 'description' => 'For some asynchronous API operations such as AddNodes, the system immediately returns a result without waiting for the node to be created if the request succeeds. In this case, you can use the TaskId returned by the asynchronous API operation to query the result of the task.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5198C3E8-85F5-4280-8547-687C1710****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeGWSClustersResponse>\\r\\n <requestId>5198C3E8-85F5-4280-8547-687C1710****</requestId>\\r\\n</DescribeGWSClustersResponse>","errorExample":""}]', + 'title' => 'UpdateQueueConfig', + 'summary' => 'Updates the resource group information and the instance types of compute nodes for a queue of a cluster.', + 'description' => 'After you update the resource group, the nodes that you add by scaling out the cluster are automatically included in the resource group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'InitializeEHPC' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpdateQueueConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpgradeClient' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'autoTest' => false, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['autoTest' => false, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the service-linked role is created.'."\n" - ."\n" - .'You can call the [ListRegions](~~188593~~) operation to obtain the IDs of regions supported by E-HPC.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ServiceName', + 'name' => 'ClientVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the service for which you must create a service-linked role. Valid values:'."\n" - ."\n" - .'* E-HPC: You must create the AliyunServiceRoleForEHPC service-linked role.'."\n" - .'* E-HPC Instant: You must create the AliyunServiceRoleForEHPCManagedNetwork service-linked role.'."\n" - ."\n" - .'> This parameter is not publicly available.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'E-HPC', - 'enum' => [ - 'E-HPC', - 'E-HPC Instant', - ], - ], + 'schema' => ['description' => 'The version to which you want to update ehpcutil. By default, ehpcutil is updated to the latest version. You can call the [ListCurrentClientVersion](~~87223~~) to query the latest ehpcutil version.'."\n", 'type' => 'string', 'required' => false, 'example' => '2.0.0', 'title' => ''], ], ], 'responses' => [ @@ -27271,116 +16695,1677 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4994fbcd-2a09-4045-b2b2-2c3bee8e9296', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'EntityAlreadyExists.RoleError', - 'errorMessage' => 'AliyunServiceRoleForEHPC already exists.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ['errorCode' => 'InvalidClientVersion', 'errorMessage' => 'The client version is invalid.', 'description' => 'The client version is invalid.'], ], [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","errorExample":""},{"type":"xml","example":"<InitializeEHPCResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE7****</RequestId>\\r\\n </InitializeEHPCResponse> ","errorExample":""}]', - 'title' => 'InitializeEHPC', - 'summary' => 'Creates a service-linked role for Elastic High Performance Computing (E-HPC). A service-linked role is required for you to use E-HPC.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4994fbcd-2a09-4045-b2b2-2c3bee8e9296\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>4994fbcd-2a09-4045-b2b2-2c3bee8e9296</RequestId>","errorExample":""}]', + 'title' => 'UpgradeClient', + 'summary' => 'Updates the client (ehpcutil) in a cluster to a new version.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpgradeClient', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ehpc.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ehpc.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ehpc.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ehpc.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ehpc.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ehpc.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ehpc.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ehpc.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ehpc.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ehpc.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ehpc.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ehpc.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ehpc.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ehpc.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ehpc.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ehpc.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ehpc.ap-southeast-5.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ehpc.ap-northeast-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-2.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-5.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-beijing.aliyuncs.com', 'endpoint' => 'ehpc.cn-beijing.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-chengdu.aliyuncs.com', 'endpoint' => 'ehpc.cn-chengdu.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ehpc.cn-guangzhou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ehpc.cn-hangzhou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-heyuan.aliyuncs.com', 'endpoint' => 'ehpc.cn-heyuan.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-hongkong.aliyuncs.com', 'endpoint' => 'ehpc.cn-hongkong.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ehpc.cn-huhehaote.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-qingdao.aliyuncs.com', 'endpoint' => 'ehpc.cn-qingdao.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-shanghai.aliyuncs.com', 'endpoint' => 'ehpc.cn-shanghai.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-shenzhen.aliyuncs.com', 'endpoint' => 'ehpc.cn-shenzhen.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'ehpc.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ehpc.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ehpc.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ehpc.eu-central-1.aliyuncs.com', 'endpoint' => 'ehpc.eu-central-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.eu-central-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'AckError', 'message' => 'An error occurred while calling the ACK API operation.', 'http_code' => 406, 'description' => ''], + ['code' => 'AgentError', 'message' => 'The agent service request failed: %s', 'http_code' => 406, 'description' => 'Operation unsuccessful: %s'], + ['code' => 'AgentError', 'message' => 'The agent service request failed.', 'http_code' => 406, 'description' => 'The cluster-side command failed to run. %s'], + ['code' => 'AgentError.Account.AccountValidateCredentialFailure', 'message' => 'Cannot get user info', 'http_code' => 406, 'description' => ''], + ['code' => 'AgentError.Account.DomainNotExist', 'message' => 'The specified domain does not exist: %s.', 'http_code' => 406, 'description' => 'The domain service does not exist: %s'], + ['code' => 'AgentError.Account.GetentPasswdFailure', 'message' => 'Failed to get the user list: %s.', 'http_code' => 406, 'description' => 'Failed to obtain the domain user list: %s'], + ['code' => 'AgentError.Account.GetUserListFailure', 'message' => 'Get user list fail: %s', 'http_code' => 406, 'description' => 'Failed to query the list of users: %s'], + ['code' => 'AgentError.Account.UserAddFailure', 'message' => 'Failed to add user to domain: %s.', 'http_code' => 406, 'description' => 'Failed to add the user to domain: %s'], + ['code' => 'AgentError.Account.UserAlreadyExist', 'message' => 'The specified user already exists in domain: %s.', 'http_code' => 406, 'description' => 'The user already exists in domain: %s'], + ['code' => 'AgentError.Account.UserChangePasswordFailure', 'message' => 'Failed to modify user password in domain: %s.', 'http_code' => 406, 'description' => 'Failed to change the user password.'], + ['code' => 'AgentError.Account.UserDeleteFailure', 'message' => 'Failed to delete user from domain: %s.', 'http_code' => 406, 'description' => 'Failed to remove the user from domain: %s'], + ['code' => 'AgentError.Account.UserModifyGroupFailure', 'message' => 'Failed to modify user groups in domain: %s.', 'http_code' => 406, 'description' => 'Failed to modify the user permission group: %s'], + ['code' => 'AgentError.Account.UserNotExist', 'message' => 'The specified user is not found in the domain: %s.', 'http_code' => 406, 'description' => 'The user does not exist in the domain: %s.'], + ['code' => 'AgentError.Account.UserSynFailure', 'message' => 'synchronize users failed: %s', 'http_code' => 406, 'description' => ''], + ['code' => 'AgentError.Account.ValidateCredentialFailure', 'message' => 'Username or password verification failed.', 'http_code' => 403, 'description' => 'Username or password verification failed.'], + ['code' => 'AgentError.Job.DeleteFailure', 'message' => 'Failed to delete job: %s', 'http_code' => 406, 'description' => 'Failed to delete the job: {}'], + ['code' => 'AgentError.Job.InvalidContainerType', 'message' => 'Unsupported container type: %s.', 'http_code' => 406, 'description' => 'The container type is not supported: %s.'], + ['code' => 'AgentError.Job.ListFailure', 'message' => 'Failed to list jobs: %s.', 'http_code' => 406, 'description' => 'Failed to obtain the job list: %s'], + ['code' => 'AgentError.Job.RerunFailure', 'message' => 'Failed to run the job again: %s.', 'http_code' => 406, 'description' => 'Failed to run the job again: %s'], + ['code' => 'AgentError.Job.StopFailure', 'message' => 'Failed to stop jobs: %s.', 'http_code' => 406, 'description' => 'Failed to stop the job: %s'], + ['code' => 'AgentError.Job.SubmitFailure', 'message' => 'Failed to submit jobs: %s', 'http_code' => 406, 'description' => 'Failed to submit the jobs.'], + ['code' => 'AgentError.Report.NotSupported', 'message' => 'The specified cluster does not support this operation.', 'http_code' => 406, 'description' => ''], + ['code' => 'AgentResponseTimeout', 'message' => 'Agent response timeout: %s', 'http_code' => 406, 'description' => ''], + ['code' => 'AliyunError', 'message' => 'Aliyun api service error', 'http_code' => null, 'description' => 'Failed to request other cloud service APIs.'], + ['code' => 'AliyunError', 'message' => 'An Alibaba Cloud product error occurred.', 'http_code' => 406, 'description' => 'Alibaba Cloud product error. %s'], + ['code' => 'ArtifactError', 'message' => 'Artifact API request failed.', 'http_code' => 406, 'description' => ''], + ['code' => 'Cluster.NotSupported', 'message' => 'Current cluster does not support this operation.', 'http_code' => 400, 'description' => ''], + ['code' => 'ClusterCannotRecover', 'message' => 'Cluster cannot recover', 'http_code' => 400, 'description' => ''], + ['code' => 'ClusterNotCompatible', 'message' => 'The cluster is not compatible with this interface: %s.', 'http_code' => 403, 'description' => ''], + ['code' => 'ClusterNotFound', 'message' => 'The specified cluster does not exist.', 'http_code' => 404, 'description' => 'The specified instance does not exist.'], + ['code' => 'ClusterNotFound', 'message' => 'The target cluster is not found.', 'http_code' => 404, 'description' => 'The target cluster is not found.'], + ['code' => 'CodeParsingError', 'message' => 'Code Parsing Error: %s', 'http_code' => 401, 'description' => ''], + ['code' => 'ComputeNotFound', 'message' => 'The specified compute node does not exist.', 'http_code' => 404, 'description' => 'The specified compute node does not exist.'], + ['code' => 'ConflictOpt', 'message' => 'A conflicting operation is running.', 'http_code' => 403, 'description' => 'A conflicting operation is running. Please try again later.'], + ['code' => 'ContainerNameExist', 'message' => 'The container name already exists.', 'http_code' => 403, 'description' => 'The container name already exists.'], + ['code' => 'ContainerNotFound', 'message' => 'The specified container does not exist.', 'http_code' => 404, 'description' => 'The specified container does not exist.'], + ['code' => 'DbError', 'message' => 'A database service error occurred.', 'http_code' => 406, 'description' => 'Database request failed.'], + ['code' => 'DbError', 'message' => 'A database error occurred.', 'http_code' => 406, 'description' => 'A database error occurred.'], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate key.', 'http_code' => 403, 'description' => ''], + ['code' => 'EcsError', 'message' => 'ECS api request error', 'http_code' => null, 'description' => 'The ECS interface failed.'], + ['code' => 'EcsError', 'message' => 'An error occurred while calling the ECS API operation.', 'http_code' => 406, 'description' => 'ECS API call error. %s'], + ['code' => 'EipError', 'message' => 'The EIP API request failed.', 'http_code' => 406, 'description' => 'EIP API request failed.'], + ['code' => 'EntityAlreadyExists.RoleError', 'message' => 'AliyunServiceRoleForEHPC already exists.', 'http_code' => 406, 'description' => 'AliyunServiceRoleForEHPC already exists.'], + ['code' => 'EntityAlreadyExists.RoleError', 'message' => 'The role already exists.', 'http_code' => 406, 'description' => 'The role already exists.'], + ['code' => 'EntityNotExist.Role', 'message' => 'The role does not exist.', 'http_code' => 407, 'description' => 'The role does not exist.'], + ['code' => 'ExecFail', 'message' => 'Failed to execute the command: %s.', 'http_code' => 403, 'description' => 'Failed to execute the command: %s.'], + ['code' => 'ExecutorNotFound', 'message' => 'The specified job executor was not found.', 'http_code' => 400, 'description' => 'The specified job executor was not found.'], + ['code' => 'FailToGenId', 'message' => 'Generating cluster ID failed.', 'http_code' => 400, 'description' => 'Failed to generate the cluster ID. Please try again.'], + ['code' => 'GetResourceFailed', 'message' => 'Failed to get resource.', 'http_code' => 403, 'description' => 'Failed to get resource'], + ['code' => 'IdempotentParameterMismatch', 'message' => 'Arguments on this idempotent request are inconsistent with arguments used in previous request', 'http_code' => 403, 'description' => 'Arguments on this idempotent request are inconsistent with arguments used in previous request.'], + ['code' => 'ImageAlreadyExists', 'message' => 'The image id already exists.', 'http_code' => 400, 'description' => 'Mirror already exists'], + ['code' => 'ImageInUse', 'message' => 'Image is still used by jobs.', 'http_code' => 403, 'description' => 'Mirror still in use'], + ['code' => 'ImageNotFound', 'message' => 'The specified image does not exist.', 'http_code' => 404, 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['code' => 'ImageNotMatched', 'message' => 'The image is not matched.', 'http_code' => 400, 'description' => ''], + ['code' => 'ImageNotSupported', 'message' => 'The specified image is not supported.', 'http_code' => 403, 'description' => 'The specified image does not exist. Change the image and try again.'], + ['code' => 'IncorrectCredential', 'message' => 'The username or password is incorrect.', 'http_code' => 403, 'description' => 'The username or password is incorrect.'], + ['code' => 'InDebt', 'message' => 'Your account has overdue payments.', 'http_code' => 400, 'description' => 'Your account has overdue payments.'], + ['code' => 'InstanceLoginFailed', 'message' => 'Failed to log on to the ECS instance. Please check the username and password.', 'http_code' => 400, 'description' => 'Failed to log on to the ECS instance. Please check the username and password.'], + ['code' => 'InstanceLoginFailed', 'message' => 'Failed to log on to the instance. Please check the username and password.', 'http_code' => 400, 'description' => 'Failed to log on to the instance. Please check the username and password.'], + ['code' => 'InstanceNotFound', 'message' => 'Instance not Found', 'http_code' => 400, 'description' => ''], + ['code' => 'InsufficientReservedNodes', 'message' => 'There is no more available reserved nodes.', 'http_code' => 406, 'description' => 'Insufficient number of reserved nodes'], + ['code' => 'InvaildImage', 'message' => 'The image ID is invalid.', 'http_code' => 400, 'description' => 'The image ID is invalid.'], + ['code' => 'InvaildSystemDiskSize', 'message' => 'The system disk size must be greater than or equal to image size.', 'http_code' => 400, 'description' => 'The system disk size must be greater than or equal to image size.'], + ['code' => 'InvalidAccessGroup', 'message' => 'NAS AccessGroup Not Found.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidCapacityNum.ValueNotSupported', 'message' => 'The specified TargetCapacity is invalid.', 'http_code' => 403, 'description' => 'The specified target capacity is invalid.'], + ['code' => 'InvalidClientVersion', 'message' => 'The client version is invalid.', 'http_code' => 403, 'description' => 'The client version is invalid.'], + ['code' => 'InvalidClusterStatus', 'message' => 'The operation failed due to invalid cluster status.', 'http_code' => 403, 'description' => 'The cluster status does not support the operation.'], + ['code' => 'InvalidContainerType', 'message' => 'Unsupported container type: %s.', 'http_code' => 400, 'description' => 'Unsupported container type: %s.'], + ['code' => 'InvalidDAG', 'message' => 'Invalid DAG', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidImage', 'message' => 'The image ID is invalid.', 'http_code' => 400, 'description' => 'The image ID is invalid.'], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The instance type is invalid.', 'http_code' => 400, 'description' => 'The instance type is invalid.'], + ['code' => 'InvalidNodeStatus', 'message' => 'The operation failed due to invalid node status.', 'http_code' => 400, 'description' => 'The node status does not allow the operation.'], + ['code' => 'InvalidOpt', 'message' => 'The specified operation is invalid. Please try again later.', 'http_code' => 403, 'description' => 'The operation is unknown. Please check arguments and try again later.'], + ['code' => 'InvalidParams', 'message' => 'The specified parameter %s is invalid.', 'http_code' => 400, 'description' => 'The specified parameter %s is invalid.'], + ['code' => 'InvalidParams', 'message' => 'The parameters are invalid.', 'http_code' => 400, 'description' => 'Invalid parameter. %s'], + ['code' => 'InvalidParams', 'message' => 'Invalid parameters: %s.', 'http_code' => 403, 'description' => 'Parameter error.'], + ['code' => 'InvalidReservedNodePoolStatus', 'message' => 'The reserved nodepool status does not allow this operation.', 'http_code' => 406, 'description' => 'The reserved node pool status does not allow this operation.'], + ['code' => 'InvalidSecurityGroup', 'message' => 'The security group ID is invalid.', 'http_code' => 404, 'description' => 'The security group ID is invalid.'], + ['code' => 'InvalidSoftware', 'message' => 'The specified software is not supported.', 'http_code' => 400, 'description' => 'The requested software is not supported.'], + ['code' => 'InvalidVolume', 'message' => 'The specified volume is invalid.', 'http_code' => 400, 'description' => 'The specified volume is invalid.'], + ['code' => 'InvalidVolumeMountpoint', 'message' => 'The specified volume mount point is invalid.', 'http_code' => 400, 'description' => 'The specified volume mount point is invalid.'], + ['code' => 'InvalidVolumeProtocal', 'message' => 'The specified volume protocol is invalid.', 'http_code' => 400, 'description' => 'The storage protocol is invalid.'], + ['code' => 'InvalidVpc', 'message' => 'The specified VPC is invalid.', 'http_code' => 400, 'description' => 'The VPC information is invalid.'], + ['code' => 'InvalidVswitch', 'message' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', 'http_code' => 400, 'description' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.'], + ['code' => 'InvalidZoneId.ValueNotSupported', 'message' => 'The specified ZoneId is invalid.', 'http_code' => 400, 'description' => 'The specified zone ID is invalid.'], + ['code' => 'JobNotFound', 'message' => 'The specified job id is not found.', 'http_code' => 400, 'description' => 'Job ID not found'], + ['code' => 'KeyPairNotFound', 'message' => 'The specified KeyPair does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'LocationInvalid', 'message' => 'Location Invalid', 'http_code' => 400, 'description' => ''], + ['code' => 'LogExpired', 'message' => 'Dependent logs is expired: %s.', 'http_code' => 403, 'description' => ''], + ['code' => 'LoginNotFound', 'message' => 'The specified login node does not exist.', 'http_code' => 404, 'description' => 'The specified login node does not exist.'], + ['code' => 'ManagerNotFound', 'message' => 'The manager nodes do not exist or their status is abnormal.', 'http_code' => 404, 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['code' => 'MissingParams', 'message' => 'The %s parameter is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'NasError', 'message' => 'NAS API request failed.', 'http_code' => 406, 'description' => 'Failed to request the NAS interface.'], + ['code' => 'NasServiceNotOpen', 'message' => 'The NAS service is not activated.', 'http_code' => 406, 'description' => 'You have not activated NAS.'], + ['code' => 'NoPermission', 'message' => 'The user is not authorized to perform the operation. Details:', 'http_code' => 406, 'description' => 'You are not authorized to perform this operation.'], + ['code' => 'NoPermission', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 406, 'description' => 'You are not authorized to perform the operation.'], + ['code' => 'NotAuthorized', 'message' => 'You are not authorized by RAM for this request.', 'http_code' => 407, 'description' => 'The request is not authorized by RAM.'], + ['code' => 'NotAuthorized', 'message' => 'No authorization is granted.', 'http_code' => 407, 'description' => 'No authorization is granted.'], + ['code' => 'NotEnabled', 'message' => 'You have not enabled this service', 'http_code' => 400, 'description' => 'You have not enabled this service'], + ['code' => 'ObjectNotFound', 'message' => 'The specified object is not found.', 'http_code' => 404, 'description' => 'The specified object does not exist. Please verify the parameter.'], + ['code' => 'OrderError', 'message' => 'An order request error occurred.', 'http_code' => 406, 'description' => 'An order request error occurred.'], + ['code' => 'OrderError.Arrearage', 'message' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'http_code' => 400, 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['code' => 'OrderError.InstHasUnpaidOrder', 'message' => 'Your account has an unpaid order.', 'http_code' => 400, 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['code' => 'OrderError.InsufficientBalance', 'message' => 'The account balance is insufficient. Please add funds first and try again.', 'http_code' => 400, 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['code' => 'OrderError.InvalidPayMethod', 'message' => 'No valid default payment method is specified for your account.', 'http_code' => 400, 'description' => 'No valid payment method is found. Please check again.'], + ['code' => 'OrderError.NoCard', 'message' => 'No credit card is bound to your account.', 'http_code' => 400, 'description' => 'You have not bound a card. Please perform binding first.'], + ['code' => 'OrderError.NoRealNameAuthentication', 'message' => 'You have not completed the real name authentication.', 'http_code' => 400, 'description' => 'You must complete the real-name verification first.'], + ['code' => 'OrderError.NoRealNameRegistration', 'message' => 'Real name registration is required for instances launched in mainland China.', 'http_code' => 400, 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['code' => 'OrderError.UserProfileIncomplete', 'message' => 'You have not completed your user profile.', 'http_code' => 400, 'description' => 'The user has not completed personal information on the international site.'], + ['code' => 'PartFailure', 'message' => 'Part of the batch operation failed.', 'http_code' => 409, 'description' => 'Part of the batch operation failed.'], + ['code' => 'PluginActivateFailure', 'message' => 'The plugin activate failed because %s.', 'http_code' => 400, 'description' => 'Failed to activate plugin'], + ['code' => 'PluginDeleteFailure', 'message' => 'The plugin delete failed because %s.', 'http_code' => 400, 'description' => 'Failed to delete plugin'], + ['code' => 'PluginNameDuplicate', 'message' => 'The plugin name %s is duplicated, please rename it and retry.', 'http_code' => 403, 'description' => 'The name of the plugin name is duplicate, please change it and try again.'], + ['code' => 'PluginNotFound', 'message' => 'The plugin %s is not found.', 'http_code' => 404, 'description' => 'Plugin does not exist'], + ['code' => 'PluginParserError', 'message' => 'The plugin attribute %s, parse error.', 'http_code' => 406, 'description' => 'Plugin property parsing error'], + ['code' => 'QuotaExceed.PayasyougoInstance', 'message' => 'The pay-as-you-go instance exceeds the quota.', 'http_code' => 403, 'description' => 'The pay-as-you-go instance exceeds the quota.'], + ['code' => 'QuotaExceeded.PrivateIpAddress', 'message' => 'Insufficient private IP addresses in vSwitch: %s.', 'http_code' => 403, 'description' => 'Insufficient private IP addresses in vSwitch: %s.'], + ['code' => 'RecommendEmpty.InstanceTypeNoStock', 'message' => 'The instanceTypes are out of usage.', 'http_code' => 403, 'description' => 'The instance type is unavailable.'], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommend instanceTypes are not authorized.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeSoldOut', 'message' => 'The resource is out of stock.', 'http_code' => 403, 'description' => 'The resource is out of stock.'], + ['code' => 'RecommendEmpty.PriceNotSatisfied', 'message' => 'The price limit is not satisfied.', 'http_code' => 403, 'description' => 'The price limit is not satisfied.'], + ['code' => 'RedisError', 'message' => 'A Redis service error occurred.', 'http_code' => 406, 'description' => 'Redis request failed.'], + ['code' => 'RervedNodePoolNotFound', 'message' => 'The reserved nodepool is not exist.', 'http_code' => 404, 'description' => 'The specified reserved node pool does not exist'], + ['code' => 'ResourceTargetAmount.NotSatisfied', 'message' => 'The resource application is not satisfied.', 'http_code' => 403, 'description' => 'The resource application is not satisfied.'], + ['code' => 'SecurityGroupAlreadyExists', 'message' => 'The security group already exists.', 'http_code' => 404, 'description' => 'The security group already exists.'], + ['code' => 'SecurityGroupNotSupported', 'message' => 'The security group is not supported.', 'http_code' => 404, 'description' => 'The security group is not supported.'], + ['code' => 'ServiceAPIError', 'message' => 'Failed to call the operation. Cause:%s', 'http_code' => 406, 'description' => 'An error occurred while calling the API. %s'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server', 'http_code' => 503, 'description' => 'The request has failed due to a temporary failure of the server.'], + ['code' => 'SlsError', 'message' => 'SLS API request failed.', 'http_code' => 406, 'description' => 'Failed to request the SLS interface.'], + ['code' => 'TagError', 'message' => 'TAG API request failed.', 'http_code' => 406, 'description' => ''], + ['code' => 'TemplateNameExist', 'message' => 'The template name already exists.', 'http_code' => 403, 'description' => 'The template name already exists.'], + ['code' => 'TemplateNotExist', 'message' => 'The template ID does not exist.', 'http_code' => 404, 'description' => 'The template ID does not exist.'], + ['code' => 'TooManyClusters', 'message' => 'The number of user clusters exceeds the quota.', 'http_code' => 403, 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], + ['code' => 'TooManyComputes', 'message' => 'The number of computing nodes exceeds the quota.', 'http_code' => 403, 'description' => 'The number of computing nodes exceeds the quota.'], + ['code' => 'TooManyContainers', 'message' => 'The number of containers exceeds the quota.', 'http_code' => 403, 'description' => 'The number of containers exceeds the quota.'], + ['code' => 'TooManyLogins', 'message' => 'The maximum number of logged on nodes is exceeded.', 'http_code' => 403, 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['code' => 'TooManyScc', 'message' => 'The maximum number of SCC instances is exceeded.', 'http_code' => 403, 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['code' => 'TooMuchTemplates', 'message' => 'The number of templates exceeds the quota.', 'http_code' => 407, 'description' => 'The number of templates exceeds the quota.'], + ['code' => 'UnknownError', 'message' => 'An unknown error occurred.', 'http_code' => 500, 'description' => 'An unknown error occurred.'], + ['code' => 'UnKnownError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => 'Unknown error, please check the parameters or try again.'."\n"], + ['code' => 'UsernameExist', 'message' => 'The username already exists.', 'http_code' => 403, 'description' => 'The username already exists.'], + ['code' => 'UserScriptError.DownloadFailure', 'message' => 'UserScript Error: Download Failure', 'http_code' => 400, 'description' => ''], + ['code' => 'UserScriptError.ExecuteFailure', 'message' => 'UserScript Error: Execute Failure', 'http_code' => 400, 'description' => ''], + ['code' => 'VolumeAuthGroupNotFound', 'message' => 'NAS AuthGroup Not Found', 'http_code' => 400, 'description' => ''], + ['code' => 'VolumeNotFound', 'message' => 'The specified volume does not exist.', 'http_code' => 404, 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['code' => 'VpcNotFound', 'message' => 'The specified VPC does not exist.', 'http_code' => 404, 'description' => 'The specified VPC does not exist.'], + ['code' => 'VswitchNotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 404, 'description' => 'The specified vSwitch does not exist.'], + ['code' => 'VswitchOccupied', 'message' => 'The vSwitch resource is occupied by other reserved nodepool.', 'http_code' => 406, 'description' => 'This switch resource is occupied by other reserved node pools'], + ['code' => 'WorkbenchFailed', 'message' => 'Failed to connect to ECS Workbench.', 'http_code' => 400, 'description' => 'Failed to connect to ECS workbench.'], + ['code' => 'ImageClientVersionTooLow', 'message' => 'The image requires a higher ehpcutil version than the cluster currently has, please upgrade the cluster first.', 'http_code' => 400, 'description' => 'The minimum ehpcutil version required for mirroring is higher than the current cluster version, upgrade the cluster first'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJob'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerlessJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PullImage'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodesByQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopServerlessJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetSchedulerInfo'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCloudMetricProfiling'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeImagePrice'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAutoScaleConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommands'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InvokeShellCommand'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListFileSystemWithMountTargets'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyClusterAttributes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteJobTemplates'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCloudMetricLogs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJobTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetHybridClusterConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UninstallSoftware'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerlessJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUsersAsync'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCpfsFileSystems'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClustersMeta'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryServicePackAndPrice'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListVolumes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListInvocationStatus'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecurityGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SyncUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusters'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SubmitJob'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAccountingReport'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAutoScaleConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetVisualServiceStatus'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartVisualService'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetIfEcsTypeSupportHtConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetSchedulerInfo'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallSoftware'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableEcsTypes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobsWithFilters'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SubmitServerlessJob'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCurrentClientVersion'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateClusterVolumes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListInvocationResults'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetAutoScaleConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSoftwares'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSecurityGroups'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyUserGroups'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomImages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetPostScripts'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobTemplates'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTasks'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJobLog'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddSecurityGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnTagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodesNoPaging'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEstackImage'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateHybridCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommunityImages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUpgradeClients'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateQueueConfig'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopVisualService'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyUserPasswords'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListInstalledSoftware'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeClient'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListImages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListQueues'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJobFile'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCloudMetricProfilings'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetClusterVolumes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRegions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetPostScripts'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InitializeEHPC'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RunCloudMetricProfiling'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddExistedNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePrice'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RerunJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddLocalNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EditJobTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVisualServicePasswd'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListPreferredEcsTypes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusterLogs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecoverCluster'], ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ehpc.eu-central-1.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'Ehpc', + 'productName' => 'Elastic High Performance Computing', + 'ramCodes' => ['ehpc'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'SetPostScripts', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetPostScripts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RunCloudMetricProfiling', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RunCloudMetricProfiling', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopVisualService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopVisualService', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListFileSystemWithMountTargets', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListFileSystemWithMountTargets', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPostScripts', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetPostScripts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartNodes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StartNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAutoScaleConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetAutoScaleConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddUsers', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:AddUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetQueue', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:SetQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListServerlessJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddSecurityGroup', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInvocationResults', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInvocationResults', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetAutoScaleConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetAutoScaleConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteJobTemplates', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DeleteJobTemplates', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteNodes', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyClusterAttributes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyClusterAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteUsers', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCommands', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCommands', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddNodes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyVisualServicePasswd', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ModifyVisualServicePasswd', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobLog', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetJobLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddExistedNodes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddExistedNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateJobFile', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateJobFile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCurrentClientVersion', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCurrentClientVersion', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListTasks', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SubmitJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:SubmitJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyUserGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyUserGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ApplyNodes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ApplyNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopServerlessJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobsWithFilters', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobsWithFilters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListNodes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSecurityGroups', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListSecurityGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateHybridCluster', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateHybridCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateJobTemplate', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateJobTemplate', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSoftwares', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListSoftwares', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeCluster', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListClusters', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClusters', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyUserPasswords', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ModifyUserPasswords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RecoverCluster', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RecoverCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListUpgradeClients', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUpgradeClients', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EditJobTemplate', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:EditJobTemplate', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SyncUsers', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SyncUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobTemplates', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobTemplates', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateQueueConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpdateQueueConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RerunJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:RerunJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstalledSoftware', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInstalledSoftware', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetSchedulerInfo', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetSchedulerInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListClusterLogs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClusterLogs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InstallSoftware', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:InstallSoftware', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListRegions', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListRegions', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopNodes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartCluster', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StartCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ResetNodes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:ResetNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListNodesByQueue', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodesByQueue', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListQueues', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitializeEHPC', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:InitializeEHPC', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateCluster', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:CreateCluster', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeServerlessJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeServerlessJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteJobs', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeAutoScaleConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeAutoScaleConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetSchedulerInfo', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SetSchedulerInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryServicePackAndPrice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:QueryServicePackAndPrice', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListNodesNoPaging', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListNodesNoPaging', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListUsersAsync', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUsersAsync', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHybridClusterConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetHybridClusterConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateClusterVolumes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpdateClusterVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UninstallSoftware', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UninstallSoftware', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartVisualService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StartVisualService', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAvailableEcsTypes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableEcsTypes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSecurityGroup', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DeleteSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListUsers', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListUsers', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCommunityImages', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCommunityImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InvokeShellCommand', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:InvokeShellCommand', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListImages', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListImages', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetCloudMetricProfiling', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetCloudMetricProfiling', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SubmitServerlessJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:SubmitServerlessJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetIfEcsTypeSupportHtConfig', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetIfEcsTypeSupportHtConfig', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteCluster', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeJob', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListVolumes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UnTagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UnTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListClustersMeta', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListClustersMeta', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAccountingReport', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetAccountingReport', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddLocalNodes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:AddLocalNodes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribePrice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribePrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpgradeClient', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:UpgradeClient', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCpfsFileSystems', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCpfsFileSystems', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetCloudMetricLogs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetCloudMetricLogs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddQueue', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:AddQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCustomImages', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCustomImages', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListPreferredEcsTypes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListPreferredEcsTypes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteQueue', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetClusterVolumes', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetClusterVolumes', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListCloudMetricProfilings', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListCloudMetricProfilings', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeImagePrice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:DescribeImagePrice', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInvocationStatus', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:ListInvocationStatus', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StopJobs', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:StopJobs', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetVisualServiceStatus', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ehpc:GetVisualServiceStatus', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; diff --git a/data/en_us/ehpc/2024-07-30/api-docs.php b/data/en_us/ehpc/2024-07-30/api-docs.php index f3ce15c..4fc1d89 100644 --- a/data/en_us/ehpc/2024-07-30/api-docs.php +++ b/data/en_us/ehpc/2024-07-30/api-docs.php @@ -1,103 +1,24 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'EHPC', - 'version' => '2024-07-30', - ], + 'info' => ['style' => 'RPC', 'product' => 'EHPC', 'version' => '2024-07-30'], 'directories' => [ [ - 'id' => 196224, - 'title' => 'Cluster', - 'type' => 'directory', - 'children' => [ - 'CreateCluster', - 'UpdateCluster', - 'InstallSoftwares', - 'UninstallSoftwares', - 'InstallAddon', - 'UnInstallAddon', - 'AttachSharedStorages', - 'DetachSharedStorages', - 'ListSoftwares', - 'ListSharedStorages', - 'ListInstalledSoftwares', - 'ListClusters', - 'ListAvailableImages', - 'ListAvailableFileSystems', - 'ListAddons', - 'ListAddonTemplates', - 'GetCluster', - 'GetAddon', - 'DescribeAddonTemplate', - 'DeleteCluster', - ], - ], - [ - 'id' => 196249, - 'title' => 'User', - 'type' => 'directory', - 'children' => [ - 'CreateUsers', - 'UpdateUser', - 'ListUsers', - 'DeleteUsers', - ], - ], - [ - 'id' => 196254, - 'title' => 'Nodes and Queues', + 'children' => ['ListSoftwares', 'ListInstalledSoftwares', 'ListAddonTemplates', 'GetCluster', 'DescribeAddonTemplate'], 'type' => 'directory', - 'children' => [ - 'CreateQueue', - 'CreateNodes', - 'UpdateQueue', - 'UpdateNodes', - 'ListQueues', - 'ListNodes', - 'GetQueue', - 'DeleteQueues', - 'DeleteNodes', - ], - ], - [ - 'id' => 196454, - 'title' => 'Operation', - 'type' => 'directory', - 'children' => [ - 'CreateJob', - 'ListJobs', - 'GetJobLog', - 'GetJob', - 'StopJobs', - ], + 'title' => 'Cluster', ], [ - 'id' => 196273, - 'title' => 'Monitoring and Logging', + 'children' => ['CreateNodes', 'UpdateQueue', 'GetQueue'], 'type' => 'directory', - 'children' => [ - 'ListCommonLogs', - 'GetCommonLogDetail', - ], + 'title' => 'Node and queue', ], [ - 'id' => 365937, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'AttachNodes', - 'ListRegions', + 'AttachNodes', 'AttachSharedStorages', 'CreateCluster', 'CreateJob', 'CreateQueue', 'CreateReservedNodePool', 'CreateUsers', 'DeleteCluster', 'DeleteNodes', 'DeleteQueues', 'DeleteReservedNodePool', 'DeleteUsers', 'DetachSharedStorages', 'GetAddon', 'GetCommonLogDetail', 'GetJob', 'GetJobLog', 'InstallAddon', 'InstallSoftwares', 'ListAddons', + 'ListAvailableFileSystems', 'ListAvailableImages', 'ListClusters', 'ListCommonLogs', 'ListJobs', 'ListNodes', 'ListQueues', 'ListRegions', 'ListSharedStorages', 'ListUsers', 'StopJobs', 'UnInstallAddon', 'UninstallSoftwares', 'UpdateCluster', 'UpdateNodes', 'UpdateUser', ], - ], - [ - 'id' => 0, - 'title' => '其它', + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'CreateReservedNodePool', - 'DeleteReservedNodePool', - ], ], ], 'components' => [ @@ -108,196 +29,114 @@ 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'title' => 'InstanceType', - 'description' => 'The ECS instance type.'."\n" - ."\n" - .'* To select an appropriate instance type, you can see [Instance families](https://help.aliyun.com/zh/ecs/user-guide/overview-of-instance-families?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) or call the [DescribeInstanceTypes](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeinstancetypes?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to learn the performance data about instance types.'."\n" - .'* To query the inventory of instance types in specified region or zone, you can call the [DescribeAvailableResource](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeavailableresource?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'ecs.c7.4xlarge', - 'backendName' => 'InstanceType', - ], - 'InstanceId' => [ - 'title' => 'InstanceId', - 'description' => 'The instance ID.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'i-bp1bzqq4rj1eemun****', - 'backendName' => 'InstanceId', - ], - 'PrivateIpAddress' => [ - 'title' => 'PrivateIpAddress', - 'description' => 'The IP address of the virtual private cloud (VPC) in which the ECS instance is deployed.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '172.16.**.**', - 'backendName' => 'PrivateIpAddress', - ], - 'ImageId' => [ - 'title' => 'ImageId', - 'description' => 'The ID of the image to be used for instance booting. You can call the [DescribeImages](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeimages?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to query the available image resources.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'aliyun_3_x64_20G_alibase_20221102.vhd', - 'backendName' => 'ImageId', - ], - 'OsName' => [ - 'title' => 'OsName', - 'description' => 'OsName'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => '', - 'backendName' => 'OsName', - ], - 'OsNameEN' => [ - 'title' => 'OsNameEN', - 'description' => 'OsNameEN'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'CentOS 7.6 64 bit', - 'backendName' => 'OsNameEN', - ], - 'InstanceChargeType' => [ - 'title' => 'InstanceChargeType', - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* Prepaid: subscription'."\n" - .'* PostPaid: pay-as-you-go'."\n" - ."\n" - .'Default value: PostPaid.'."\n" - ."\n" - .'If you set this parameter to PrePaid, you must make sure that your account supports payment by balance or credit. Otherwise, the InvalidPayMethod error message will be returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PostPaid', - 'backendName' => 'InstanceChargeType', - ], - 'PeriodUnit' => [ - 'title' => 'PeriodUnit', - 'description' => 'The unit of the subscription period. Valid values:'."\n" - ."\n" - .'* Week'."\n" - .'* Month (default)'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'Month', - 'backendName' => 'PeriodUnit', - ], - 'Period' => [ - 'title' => 'Period', - 'description' => 'The subscription period of the instance. The unit is specified by the PeriodUnit parameter. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If the DedicatedHostId parameter is specified, the subscription duration of the instance must be no longer than that of the dedicated host. Valid values:'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'Period', - ], - 'AutoRenew' => [ - 'title' => 'AutoRenew', - 'description' => 'Specifies whether to enable auto-renewal for the reserved instance. This parameter takes effect only when InstanceChargeType is set to PrePaid. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'false', - 'backendName' => 'AutoRenew', - ], - 'AutoRenewPeriod' => [ - 'title' => 'AutoRenewPeriod', - 'description' => 'The auto-renewal period. Valid values:'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n" - ."\n" - .'Default value: 1.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'AutoRenewPeriod', - ], - 'SpotStrategy' => [ - 'title' => 'SpotStrategy', - 'description' => 'The bidding policy for the pay-as-you-go instance. This parameter is valid only when InstanceChargeType is set to PostPaid. 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 with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'NoSpot', - 'backendName' => 'SpotStrategy', - ], - 'SpotPriceLimit' => [ - 'title' => 'SpotPriceLimit', - 'description' => 'The maximum hourly price of the preemptible instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit. A maximum of three decimal places can be specified.'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.97', - 'backendName' => 'SpotPriceLimit', - ], - 'Duration' => [ - 'title' => 'Duration', - 'description' => 'The protection period for the preemptible instance. Unit: hours. Default value: 1. Valid values:'."\n" - ."\n" - .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within one hour. After the one-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" - .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for one hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" - ."\n" - .'Alibaba Cloud sends an ECS system event to notify you five minutes before the instance is released. Preemptible instances are billed by second. We recommend that you specify an appropriate protection period based on your business requirements.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'Duration', - ], - 'EnableHT' => [ - 'title' => 'EnableHT', - 'description' => 'Specifies whether to enable hyper-threading for the node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'EnableHT', - ], + 'InstanceType' => ['title' => 'InstanceType', 'description' => 'The ECS instance type.'."\n" + ."\n" + .'* To select an appropriate instance type, you can see [Instance families](https://help.aliyun.com/zh/ecs/user-guide/overview-of-instance-families?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) or call the [DescribeInstanceTypes](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeinstancetypes?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to learn the performance data about instance types.'."\n" + .'* To query the inventory of instance types in specified region or zone, you can call the [DescribeAvailableResource](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeavailableresource?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation.'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'ecs.c7.4xlarge', 'backendName' => 'InstanceType'], + 'InstanceId' => ['title' => 'InstanceId', 'description' => 'The instance ID.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'i-bp1bzqq4rj1eemun****', 'backendName' => 'InstanceId'], + 'PrivateIpAddress' => ['title' => 'PrivateIpAddress', 'description' => 'The IP address of the virtual private cloud (VPC) in which the ECS instance is deployed.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '172.16.**.**', 'backendName' => 'PrivateIpAddress'], + 'ImageId' => ['title' => 'ImageId', 'description' => 'The ID of the image to be used for instance booting. You can call the [DescribeImages](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeimages?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to query the available image resources.'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'aliyun_3_x64_20G_alibase_20221102.vhd', 'backendName' => 'ImageId'], + 'OsName' => ['title' => 'OsName', 'description' => 'OsName'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'CentOS 7.6 64 位', 'backendName' => 'OsName'], + 'OsNameEN' => ['title' => 'OsNameEN', 'description' => 'OsNameEN'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => true, 'example' => 'CentOS 7.6 64 bit', 'backendName' => 'OsNameEN'], + 'InstanceChargeType' => ['title' => 'InstanceChargeType', 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* Prepaid: subscription'."\n" + .'* PostPaid: pay-as-you-go'."\n" + ."\n" + .'Default value: PostPaid.'."\n" + ."\n" + .'If you set this parameter to PrePaid, you must make sure that your account supports payment by balance or credit. Otherwise, the InvalidPayMethod error message will be returned.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PostPaid', 'backendName' => 'InstanceChargeType'], + 'PeriodUnit' => ['title' => 'PeriodUnit', 'description' => 'The unit of the subscription period. Valid values:'."\n" + ."\n" + .'* Week'."\n" + .'* Month (default)'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'Month', 'backendName' => 'PeriodUnit'], + 'Period' => ['title' => 'Period', 'description' => 'The subscription period of the instance. The unit is specified by the PeriodUnit parameter. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If the DedicatedHostId parameter is specified, the subscription duration of the instance must be no longer than that of the dedicated host. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'Period'], + 'AutoRenew' => ['title' => 'AutoRenew', 'description' => 'Specifies whether to enable auto-renewal for the reserved instance. This parameter takes effect only when InstanceChargeType is set to PrePaid. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false', 'backendName' => 'AutoRenew'], + 'AutoRenewPeriod' => ['title' => 'AutoRenewPeriod', 'description' => 'The auto-renewal period. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n" + ."\n" + .'Default value: 1.'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'AutoRenewPeriod'], + 'SpotStrategy' => ['title' => 'SpotStrategy', 'description' => 'The bidding policy for the pay-as-you-go instance. This parameter is valid only when InstanceChargeType is set to PostPaid. 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 with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'NoSpot', 'backendName' => 'SpotStrategy'], + 'SpotPriceLimit' => ['title' => 'SpotPriceLimit', 'description' => 'The maximum hourly price of the preemptible instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit. A maximum of three decimal places can be specified.'."\n", 'visibility' => 'Public', 'type' => 'number', 'format' => 'float', 'example' => '0.97', 'backendName' => 'SpotPriceLimit'], + 'Duration' => ['title' => 'Duration', 'description' => 'The protection period for the preemptible instance. Unit: hours. Default value: 1. Valid values:'."\n" + ."\n" + .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within one hour. After the one-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" + .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for one hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" + ."\n" + .'Alibaba Cloud sends an ECS system event to notify you five minutes before the instance is released. Preemptible instances are billed by second. We recommend that you specify an appropriate protection period based on your business requirements.'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'Duration'], + 'EnableHT' => ['title' => 'EnableHT', 'description' => 'Specifies whether to enable hyper-threading for the node. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'EnableHT'], 'SystemDisk' => [ 'title' => 'SystemDisk', 'description' => 'The system disk configurations of the node.'."\n", 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'title' => 'Category', - 'description' => 'The category of the system disk. Valid values:'."\n" + 'Category' => ['title' => 'Category', 'description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: utra disk'."\n" + .'* cloud_ssd: standard SSD'."\n" + .'* cloud_essd: enterprise SSD (ESSD)'."\n" + .'* cloud: basic disk'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'cloud_essd', 'backendName' => 'Category'], + 'Size' => ['title' => 'Size', 'description' => 'The disk size. Unit: GiB. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: 40 to 32,768'."\n" + ."\n" + .'* cloud_ssd: 40 to 32,768'."\n" + ."\n" + .'* Valid values when Category is set to cloud_essd depends on the value of the DataDisk.N.PerformanceLevel parameter. Specifically:'."\n" + ."\n" + .' * PL0: 40 to 65,536'."\n" + .' * PL1: 40 to 65,536'."\n" + .' * PL2: 461 to 65,536'."\n" + .' * PL3: 1,261 to 65,536'."\n" + ."\n" + .'* cloud: 40 to 500'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'backendName' => 'Size'], + 'Level' => ['title' => 'Level', 'description' => 'The performance level of the ESSD that is used as the system disk. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10000 random read/write IOPS.'."\n" + .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: A single ESSD can deliver up to 100000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1000000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PL0', 'backendName' => 'Level'], + ], + 'backendName' => 'SystemDisk', + ], + 'DataDisks' => [ + 'title' => 'DataDisk', + 'description' => 'The data disks.'."\n" + ."\n" + .'> You can specify up to 16 data disks.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the data disk.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Category' => ['title' => 'Category', 'description' => 'The disk category. Valid values:'."\n" ."\n" .'* cloud_efficiency: utra disk'."\n" .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: enterprise SSD (ESSD)'."\n" - .'* cloud: basic disk'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'cloud_essd', - 'backendName' => 'Category', - ], - 'Size' => [ - 'title' => 'Size', - 'description' => 'The disk size. Unit: GiB. Valid values:'."\n" + .'* cloud_essd: ESSD'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'cloud_essd', 'backendName' => 'Category'], + 'Size' => ['title' => 'Size', 'description' => 'The disk size. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" ."\n" .'* cloud_efficiency: 40 to 32,768'."\n" ."\n" @@ -308,101 +147,19 @@ .' * PL0: 40 to 65,536'."\n" .' * PL1: 40 to 65,536'."\n" .' * PL2: 461 to 65,536'."\n" - .' * PL3: 1,261 to 65,536'."\n" - ."\n" - .'* cloud: 40 to 500'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - 'backendName' => 'Size', - ], - 'Level' => [ - 'title' => 'Level', - 'description' => 'The performance level of the ESSD that is used as the system disk. Valid values:'."\n" + .' * PL3: 1,261 to 65,536'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'backendName' => 'Size'], + 'Level' => ['title' => 'Level', 'description' => 'The performance level of the ESSD to be used as the data disk. Valid values:'."\n" ."\n" .'* PL0: A single ESSD can deliver up to 10000 random read/write IOPS.'."\n" .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" .'* PL2: A single ESSD can deliver up to 100000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1000000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PL0', - 'backendName' => 'Level', - ], - ], - 'backendName' => 'SystemDisk', - ], - 'DataDisks' => [ - 'title' => 'DataDisk', - 'description' => 'The data disks.'."\n" - ."\n" - .'> You can specify up to 16 data disks.'."\n", - 'visibility' => 'Public', - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the data disk.'."\n", - 'visibility' => 'Public', - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'title' => 'Category', - 'description' => 'The disk category. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: utra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'cloud_essd', - 'backendName' => 'Category', - ], - 'Size' => [ - 'title' => 'Size', - 'description' => 'The disk size. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: 40 to 32,768'."\n" - ."\n" - .'* cloud_ssd: 40 to 32,768'."\n" - ."\n" - .'* Valid values when Category is set to cloud_essd depends on the value of the DataDisk.N.PerformanceLevel parameter. Specifically:'."\n" - ."\n" - .' * PL0: 40 to 65,536'."\n" - .' * PL1: 40 to 65,536'."\n" - .' * PL2: 461 to 65,536'."\n" - .' * PL3: 1,261 to 65,536'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - 'backendName' => 'Size', - ], - 'Level' => [ - 'title' => 'Level', - 'description' => 'The performance level of the ESSD to be used as the data disk. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10000 random read/write IOPS.'."\n" - .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: A single ESSD can deliver up to 100000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1000000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PL0', - 'backendName' => 'Level', - ], - 'DeleteWithInstance' => [ - 'title' => 'DeleteWithInstance', - 'description' => 'Specifies whether to release data disk N when the instance is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'false', - 'backendName' => 'DeleteWithInstance', - ], + .'* PL3: A single ESSD can deliver up to 1000000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PL0', 'backendName' => 'Level'], + 'DeleteWithInstance' => ['title' => 'DeleteWithInstance', 'description' => 'Specifies whether to release data disk N when the instance is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false', 'backendName' => 'DeleteWithInstance'], ], 'extendType' => 'true', ], @@ -411,167 +168,115 @@ ], ], 'NodeTemplate' => [ - 'title' => '', + 'title' => '创建节点资源模版', 'description' => 'Common information about Elastic Compute Service (ECS) resources, including their billing methods, types, images, system disks, and data disks.'."\n", 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'title' => 'InstanceTypes', - 'description' => 'The ECS instance type.'."\n" - ."\n" - .'* To select an appropriate instance type, you can see [Instance families](https://help.aliyun.com/zh/ecs/user-guide/overview-of-instance-families?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) or call the [DescribeInstanceTypes](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeinstancetypes?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to learn the performance data about instance types.'."\n" - .'* To query the inventory of instance types in specified region or zone, you can call the [DescribeAvailableResource](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeavailableresource?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c7.4xlarge', - 'backendName' => 'InstanceType', - ], - 'ImageId' => [ - 'title' => 'ImageId', - 'description' => 'The ID of the image to be used for instance booting. You can call the [DescribeImages](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeimages?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to query the available image resources.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'aliyun_3_x64_20G_alibase_20221102.vhd', - 'backendName' => 'ImageId', - ], - 'InstanceChargeType' => [ - 'title' => 'InstanceChargeType', - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* PrePaid: subscription'."\n" - .'* PostPaid: pay-as-you-go'."\n" - ."\n" - .'Default value: PostPaid.'."\n" - ."\n" - .'If you set this parameter to PrePaid, you must make sure that your account supports payment by balance or credit. Otherwise, the InvalidPayMethod error message will be returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PostPaid', - 'backendName' => 'InstanceChargeType', - ], - 'PeriodUnit' => [ - 'title' => 'PeriodUnit', - 'description' => 'The unit of the subscription period. Valid values:'."\n" - ."\n" - .'* Week'."\n" - .'* Month (default)'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'Month', - 'backendName' => 'PeriodUnit', - ], - 'Period' => [ - 'title' => 'Period', - 'description' => 'The subscription period of the instance. The unit is specified by the PeriodUnit parameter. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If the DedicatedHostId parameter is specified, the subscription duration of the instance must be no longer than that of the dedicated host. Valid values:'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'Period', - ], - 'AutoRenew' => [ - 'title' => 'AutoRenew', - 'description' => 'Specifies whether to enable auto-renewal. This parameter takes effect only when InstanceChargeType is set to PrePaid. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'false', - 'backendName' => 'AutoRenew', - ], - 'AutoRenewPeriod' => [ - 'title' => 'AutoRenewPeriod', - 'description' => 'The auto-renewal period. Valid values:'."\n" - ."\n" - .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3'."\n" - .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n" - ."\n" - .'Default value: 1.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'AutoRenewPeriod', - ], - 'SpotStrategy' => [ - 'title' => 'SpotStrategy', - 'description' => 'The bidding policy for the pay-as-you-go instance. This parameter is valid only when InstanceChargeType is set to PostPaid. 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 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 bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'NoSpot', - 'backendName' => 'SpotStrategy', - ], - 'SpotPriceLimit' => [ - 'title' => 'SpotPriceLimit', - 'description' => 'The maximum hourly price of the preemptible instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit. A maximum of three decimal places can be specified.'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.97', - 'backendName' => 'SpotPriceLimit', - ], - 'Duration' => [ - 'title' => 'Duration', - 'description' => 'The protection period for the preemptible instance. Unit: hours. Default value: 1. Valid values:'."\n" - ."\n" - .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within one hour. After the one-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" - .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for one hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" - ."\n" - .'Alibaba Cloud sends an ECS system event to notify you five minutes before the instance is released. The preemptible instance is billed by second. We recommend that you specify an appropriate protection period based on your business requirements.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - 'backendName' => 'Duration', - ], - 'EnableHT' => [ - 'title' => 'EnableHT', - 'description' => 'Specifies whether to enable hyper-threading for the node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'EnableHT', - ], + 'InstanceType' => ['title' => 'InstanceTypes', 'description' => 'The ECS instance type.'."\n" + ."\n" + .'* To select an appropriate instance type, you can see [Instance families](https://help.aliyun.com/zh/ecs/user-guide/overview-of-instance-families?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) or call the [DescribeInstanceTypes](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeinstancetypes?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to learn the performance data about instance types.'."\n" + .'* To query the inventory of instance types in specified region or zone, you can call the [DescribeAvailableResource](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeavailableresource?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation.'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'example' => 'ecs.c7.4xlarge', 'backendName' => 'InstanceType'], + 'ImageId' => ['title' => 'ImageId', 'description' => 'The ID of the image to be used for instance booting. You can call the [DescribeImages](https://help.aliyun.com/zh/ecs/developer-reference/api-ecs-2014-05-26-describeimages?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX) operation to query the available image resources.'."\n", 'visibility' => 'Public', 'type' => 'string', 'required' => false, 'example' => 'aliyun_3_x64_20G_alibase_20221102.vhd', 'backendName' => 'ImageId'], + 'InstanceChargeType' => ['title' => 'InstanceChargeType', 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* PrePaid: subscription'."\n" + .'* PostPaid: pay-as-you-go'."\n" + ."\n" + .'Default value: PostPaid.'."\n" + ."\n" + .'If you set this parameter to PrePaid, you must make sure that your account supports payment by balance or credit. Otherwise, the InvalidPayMethod error message will be returned.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PostPaid', 'backendName' => 'InstanceChargeType'], + 'PeriodUnit' => ['title' => 'PeriodUnit', 'description' => 'The unit of the subscription period. Valid values:'."\n" + ."\n" + .'* Week'."\n" + .'* Month (default)'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'Month', 'backendName' => 'PeriodUnit'], + 'Period' => ['title' => 'Period', 'description' => 'The subscription period of the instance. The unit is specified by the PeriodUnit parameter. This parameter takes effect and is required only when InstanceChargeType is set to PrePaid. If the DedicatedHostId parameter is specified, the subscription duration of the instance must be no longer than that of the dedicated host. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, 3, and 4'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'Period'], + 'AutoRenew' => ['title' => 'AutoRenew', 'description' => 'Specifies whether to enable auto-renewal. This parameter takes effect only when InstanceChargeType is set to PrePaid. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false', 'backendName' => 'AutoRenew'], + 'AutoRenewPeriod' => ['title' => 'AutoRenewPeriod', 'description' => 'The auto-renewal period. Valid values:'."\n" + ."\n" + .'* Valid values when PeriodUnit is set to Week: 1, 2, and 3'."\n" + .'* Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60'."\n" + ."\n" + .'Default value: 1.'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'AutoRenewPeriod'], + 'SpotStrategy' => ['title' => 'SpotStrategy', 'description' => 'The bidding policy for the pay-as-you-go instance. This parameter is valid only when InstanceChargeType is set to PostPaid. 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 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 bidding price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'NoSpot', 'backendName' => 'SpotStrategy'], + 'SpotPriceLimit' => ['title' => 'SpotPriceLimit', 'description' => 'The maximum hourly price of the preemptible instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit. A maximum of three decimal places can be specified.'."\n", 'visibility' => 'Public', 'type' => 'number', 'format' => 'float', 'example' => '0.97', 'backendName' => 'SpotPriceLimit'], + 'Duration' => ['title' => 'Duration', 'description' => 'The protection period for the preemptible instance. Unit: hours. Default value: 1. Valid values:'."\n" + ."\n" + .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within one hour. After the one-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" + .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for one hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.'."\n" + ."\n" + .'Alibaba Cloud sends an ECS system event to notify you five minutes before the instance is released. The preemptible instance is billed by second. We recommend that you specify an appropriate protection period based on your business requirements.'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'backendName' => 'Duration'], + 'EnableHT' => ['title' => 'EnableHT', 'description' => 'Specifies whether to enable hyper-threading for the node. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'EnableHT'], 'SystemDisk' => [ 'title' => 'SystemDisk', 'description' => 'The system disk configurations of the node.'."\n", 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'title' => 'Category', - 'description' => 'The category of the system disk. Valid values:'."\n" + 'Category' => ['title' => 'Category', 'description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: utra disk'."\n" + .'* cloud_ssd: standard SSD'."\n" + .'* cloud_essd: Enterprise SSD (ESSD)'."\n" + .'* cloud: basic disk'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'cloud_essd', 'backendName' => 'Category'], + 'Size' => ['title' => 'Size', 'description' => 'The disk size. Unit: GiB. Valid values:'."\n" + ."\n" + .'* cloud_efficiency: 40 to 32,768'."\n" + ."\n" + .'* cloud_ssd: 40 to 32,768'."\n" + ."\n" + .'* Valid values when Category is set to cloud_essd depends on the value of the DataDisk.N.PerformanceLevel parameter. Specifically:'."\n" + ."\n" + .' * PL0: 40 to 65,536'."\n" + .' * PL1: 40 to 65,536'."\n" + .' * PL2: 461 to 65,536'."\n" + .' * PL3: 1,261 to 65,536'."\n" + ."\n" + .'* cloud: 40 to 500'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'backendName' => 'Size'], + 'Level' => ['title' => 'Level', 'description' => 'The performance level of the ESSD that is used as the system disk. Valid values:'."\n" + ."\n" + .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PL0', 'backendName' => 'Level'], + ], + 'backendName' => 'SystemDisk', + ], + 'DataDisks' => [ + 'title' => 'DataDisk', + 'description' => 'The data disks.'."\n" + ."\n" + .'> You can specify up to 16 data disks.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the data disk.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Category' => ['title' => 'Category', 'description' => 'The disk category. Valid values:'."\n" ."\n" .'* cloud_efficiency: utra disk'."\n" .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: Enterprise SSD (ESSD)'."\n" - .'* cloud: basic disk'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'cloud_essd', - 'backendName' => 'Category', - ], - 'Size' => [ - 'title' => 'Size', - 'description' => 'The disk size. Unit: GiB. Valid values:'."\n" + .'* cloud_essd: ESSD'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'cloud_essd', 'backendName' => 'Category'], + 'Size' => ['title' => 'Size', 'description' => 'The disk size. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" ."\n" .'* cloud_efficiency: 40 to 32,768'."\n" ."\n" @@ -582,109 +287,22 @@ .' * PL0: 40 to 65,536'."\n" .' * PL1: 40 to 65,536'."\n" .' * PL2: 461 to 65,536'."\n" - .' * PL3: 1,261 to 65,536'."\n" - ."\n" - .'* cloud: 40 to 500'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - 'backendName' => 'Size', - ], - 'Level' => [ - 'title' => 'Level', - 'description' => 'The performance level of the ESSD that is used as the system disk. Valid values:'."\n" + .' * PL3: 1,261 to 65,536'."\n", 'visibility' => 'Public', 'type' => 'integer', 'format' => 'int32', 'example' => '40', 'backendName' => 'Size'], + 'Level' => ['title' => 'Level', 'description' => 'The performance level of the ESSD that is used as a data disk. Valid values:'."\n" ."\n" .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PL0', - 'backendName' => 'Level', - ], - ], - 'backendName' => 'SystemDisk', - ], - 'DataDisks' => [ - 'title' => 'DataDisk', - 'description' => 'The data disks.'."\n" - ."\n" - .'> You can specify up to 16 data disks.'."\n", - 'visibility' => 'Public', - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the data disk.'."\n", - 'visibility' => 'Public', - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'title' => 'Category', - 'description' => 'The disk category. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: utra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'cloud_essd', - 'backendName' => 'Category', - ], - 'Size' => [ - 'title' => 'Size', - 'description' => 'The disk size. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" - ."\n" - .'* cloud_efficiency: 40 to 32,768'."\n" - ."\n" - .'* cloud_ssd: 40 to 32,768'."\n" - ."\n" - .'* Valid values when Category is set to cloud_essd depends on the value of the DataDisk.N.PerformanceLevel parameter. Specifically:'."\n" - ."\n" - .' * PL0: 40 to 65,536'."\n" - .' * PL1: 40 to 65,536'."\n" - .' * PL2: 461 to 65,536'."\n" - .' * PL3: 1,261 to 65,536'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40', - 'backendName' => 'Size', - ], - 'Level' => [ - 'title' => 'Level', - 'description' => 'The performance level of the ESSD that is used as a data disk. Valid values:'."\n" - ."\n" - .'* PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1 (default): A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PL0', - 'backendName' => 'Level', - ], - 'DeleteWithInstance' => [ - 'title' => 'DeleteWithInstance', - 'description' => 'Specifies whether to release data disk N when the instance is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'false', - 'backendName' => 'DeleteWithInstance', - ], - 'MountDir' => [ - 'title' => 'MountDir', - 'description' => 'MountDir'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '/data1', - 'backendName' => 'MountDir', - ], + .'* PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/zh/ecs/user-guide/essds?spm=api-workbench.API%20Document.0.0.7e5caef0GBcMYX).'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'PL0', 'backendName' => 'Level'], + 'DeleteWithInstance' => ['title' => 'DeleteWithInstance', 'description' => 'Specifies whether to release data disk N when the instance is released. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'visibility' => 'Public', 'type' => 'boolean', 'example' => 'false', 'backendName' => 'DeleteWithInstance'], + 'MountDir' => ['title' => 'MountDir', 'description' => 'MountDir'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '/data1', 'backendName' => 'MountDir'], + 'Device' => ['title' => 'Device', 'description' => 'Device', 'visibility' => 'Public', 'type' => 'string', 'example' => '/dev/xvdb', 'backendName' => 'Device'], + 'SnapshotId' => ['title' => 'SnapshotId', 'description' => 'SnapshotId', 'visibility' => 'Public', 'type' => 'string', 'example' => 's-bp1ei2b44ripxuo46hym', 'backendName' => 'SnapshotId'], ], 'extendType' => 'true', ], @@ -694,235 +312,343 @@ ], 'QueueTemplate' => [ 'title' => 'A description of struct', - 'description' => 'The queue configuration template.'."\n", - 'visibility' => 'Public', + 'description' => 'The queue configuration template.', 'type' => 'object', 'properties' => [ - 'QueueName' => [ - 'title' => 'QueueName', - 'description' => 'The queue name. The name must be 1 to 15 characters in length and can contain letters, digits, and periods (.).'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'comp', - 'backendName' => 'Name', - ], - 'EnableScaleOut' => [ - 'title' => 'EnableScaleOut', - 'description' => 'Specifies whether to enable auto scale-out for the queue. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-out.'."\n" - .'* false: disables auto scale-out.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'EnableScaleOut', - ], - 'EnableScaleIn' => [ - 'title' => 'EnableScaleIn', - 'description' => 'Specifies whether to enable auto scale-in for the queue. Valid values:'."\n" - ."\n" - .'* true: enables auto scale-in.'."\n" - .'* false: disables auto scale-in.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'EnableScaleIn', - ], - 'MinCount' => [ - 'title' => 'MinCount', - 'description' => 'The minimum number of compute nodes that the queue must contain.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - 'backendName' => 'MinCount', - ], - 'MaxCount' => [ - 'title' => 'MaxCount', - 'description' => 'The maximum number of compute nodes that the queue can contain.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - 'backendName' => 'MaxCount', - ], - 'InitialCount' => [ - 'title' => 'InitialCount', - 'description' => 'The initial number of compute nodes in the queue.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - 'backendName' => 'InitialCount', - ], - 'InterConnect' => [ - 'title' => 'HPCInterConnect', - 'description' => 'The type of the network between compute nodes in the queue. Valid values:'."\n" - ."\n" - .'* vpc'."\n" - .'* eRDMA'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'erdma', - 'backendName' => 'HPCInterConnect', - ], + 'QueueName' => ['title' => 'QueueName', 'description' => 'The queue name. The name must be 1 to 15 characters long. It can contain letters from the Unicode letter category, such as English letters and digits, and periods (.).', 'type' => 'string', 'required' => true, 'example' => 'comp'], + 'EnableScaleOut' => ['title' => 'EnableScaleOut', 'description' => 'Indicates whether to enable auto scale-out for the queue. Valid values:'."\n" + ."\n" + .'- true: enabled'."\n" + ."\n" + .'- false: disabled', 'type' => 'boolean', 'example' => 'true'], + 'EnableScaleIn' => ['title' => 'EnableScaleIn', 'description' => 'Indicates whether to enable auto scale-in for the queue. Valid values:'."\n" + ."\n" + .'- true: enabled'."\n" + ."\n" + .'- false: disabled', 'type' => 'boolean', 'example' => 'true'], + 'MinCount' => ['title' => 'MinCount', 'description' => 'The minimum number of compute nodes in the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'MaxCount' => ['title' => 'MaxCount', 'description' => 'The maximum number of compute nodes in the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'InitialCount' => ['title' => 'InitialCount', 'description' => 'The initial number of compute nodes in the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'InterConnect' => ['title' => 'HPCInterConnect', 'description' => 'The network type of the compute nodes in the queue. Valid values:'."\n" + ."\n" + .'- vpc'."\n" + ."\n" + .'- eRDMA', 'type' => 'string', 'example' => 'erdma'], 'VSwitchIds' => [ 'title' => 'VSwitchIds', - 'description' => 'The available vSwitches for compute nodes in the queue. Valid values of N: 1 to 5.'."\n", - 'visibility' => 'Public', + 'description' => 'A list of virtual switches available to the compute nodes in the queue. You can specify 1 to 5 virtual switches.', 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'VSwitchId', - 'extendType' => 'true', - ], - 'backendName' => 'VSwitchIds', - 'itemName' => 'VSwitchId', + 'items' => ['description' => 'The ID of the virtual switch.', 'type' => 'string', 'example' => 'VSwitchId', 'title' => ''], + 'example' => '', ], 'ComputeNodes' => [ 'title' => 'Resources', - 'description' => 'The hardware configurations of the compute nodes in the queue. Valid values of N: 0 to 10.'."\n", - 'visibility' => 'Public', + 'description' => 'The list of hardware configurations for the compute nodes in the queue. You can specify 0 to 10 configurations.', 'type' => 'array', - 'items' => [ - 'description' => 'The hardware configuration of the compute node.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/NodeTemplate', - ], - 'backendName' => 'ComputeNodes', - ], - 'AllocationStrategy' => [ - 'title' => 'AllocationStrategy', - 'description' => 'The auto scaling policy for the queue.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'PriorityInstanceType', - 'backendName' => 'AllocationStrategy', - ], - 'RamRole' => [ - 'title' => 'RamRole', - 'description' => 'The role that is assumed by compute nodes in the queue.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'AliyunECSInstanceForEHPCRole', - 'backendName' => 'RamRole', - ], - 'HostnamePrefix' => [ - 'title' => 'HostNamePrefix', - 'description' => 'The hostname prefix of the compute nodes in the queue.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'compute', - 'backendName' => 'HostnamePrefix', - ], - 'HostnameSuffix' => [ - 'title' => 'HostNameSuffix', - 'description' => 'The hostname suffix of the compute nodes in the queue.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'demo', - 'backendName' => 'HostnameSuffix', + 'items' => ['description' => 'The hardware configuration of a compute node.', '$ref' => '#/components/schemas/NodeTemplate', 'title' => '', 'example' => ''], + 'example' => '', ], + 'AllocationStrategy' => ['title' => 'AllocationStrategy', 'description' => 'The auto scale-out policy for the queue.', 'type' => 'string', 'example' => 'PriorityInstanceType'], + 'RamRole' => ['title' => 'RamRole', 'description' => 'The name of the instance role attached to the compute nodes in the queue.', 'type' => 'string', 'example' => 'AliyunECSInstanceForEHPCRole'], + 'HostnamePrefix' => ['title' => 'HostNamePrefix', 'description' => 'The hostname prefix of the compute nodes in the queue.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The prefix can be up to 8 characters in length for Windows operating systems and up to 32 characters in length for Linux operating systems. The prefix can contain only lowercase letters, digits, and hyphens (-).'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'example' => 'compute'], + 'HostnameSuffix' => ['title' => 'HostNameSuffix', 'description' => 'The hostname suffix of the compute nodes in the queue.', 'type' => 'string', 'example' => 'demo'], 'KeepAliveNodes' => [ 'title' => 'KeepAliveNodes', - 'description' => 'The nodes for which deletion protection is enabled in the queue.'."\n", - 'visibility' => 'Public', + 'description' => 'The list of nodes in the queue that have deletion protection enabled.', 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the node for which deletion protection is enabled.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'compute000', - 'extendType' => 'true', - ], - 'backendName' => 'KeepAliveNodes', - 'itemName' => 'KeepAliveNode', - ], - 'MaxCountPerCycle' => [ - 'title' => 'MaxCountPerCycle', - 'description' => 'The maximum number of compute nodes that can be added to the queue in each scale-out.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '99', - 'backendName' => 'MaxCountPerCycle', + 'items' => ['description' => 'The hostname of a node that has deletion protection enabled.', 'type' => 'string', 'example' => 'compute000', 'title' => ''], + 'example' => '', ], + 'MaxCountPerCycle' => ['title' => 'MaxCountPerCycle', 'description' => 'The maximum number of compute nodes that can be scaled out in each cycle.', 'type' => 'integer', 'format' => 'int64', 'example' => '99'], + 'ReservedNodePoolId' => ['title' => 'ReservedNodePoolId', 'description' => 'The ID of the reserved node pool that the queue uses.'."\n" + ."\n" + .'> If this parameter is specified, allocatable nodes from the reserved node pool are used to create compute nodes. The `VSwitchIds`, `HostnamePrefix`, and `HostnameSuffix` parameters are ignored.', 'type' => 'string', 'example' => 'rnp-756vlp7a'], ], + 'example' => '', ], 'SharedStorageTemplate' => [ - 'title' => '', + 'title' => '挂载的文件系统的相关参数。', 'description' => 'The configurations of shared storage.'."\n", 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MountDirectory' => [ + 'MountDirectory' => ['title' => '挂载文件系统的本地挂载目录。', 'description' => 'The local mount directory of the attached file system.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '/home', 'backendName' => 'MountDirectory'], + 'FileSystemId' => ['title' => '挂载的文件系统ID。', 'description' => 'The ID of the mounted file system.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '008b63****', 'backendName' => 'FileSystemId'], + 'NASDirectory' => ['title' => '挂载的文件系统需要挂载的远程目录。', 'description' => 'The remote mount directory of the mounted file system.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '/', 'backendName' => 'NASDirectory'], + 'MountTargetDomain' => ['title' => '挂载的文件系统挂载点地址', 'description' => 'The address of the mount point of the file system.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '008b****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', 'backendName' => 'MountTargetDomain'], + 'ProtocolType' => ['title' => '挂载的文件系统协议类型。取值范围:- NFS - SMB', 'description' => 'The protocol type of the mounted file system. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => 'NFS', 'backendName' => 'ProtocolType'], + 'MountOptions' => ['title' => '挂载的文件系统的存储挂载选项', 'description' => 'The storage mount options of the mounted file system.'."\n", 'visibility' => 'Public', 'type' => 'string', 'example' => '-t nfs -o vers=3,nolock,noresvport', 'backendName' => 'MountOptions'], + ], + ], + ], + ], + 'apis' => [ + 'AttachNodes' => [ + 'summary' => 'Adds Elastic Compute Service (ECS) instances as compute nodes to Elastic High Performance Computing (E-HPC) clusters.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '269549', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The ID of the cluster.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-xxxxxxx'], + ], + [ + 'name' => 'QueueName', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The name of the queue to which the instance is to be added.'."\n", 'type' => 'string', 'required' => false, 'example' => 'comp'], + ], + [ + 'name' => 'ComputeNode', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ 'title' => '', - 'description' => 'The local mount directory of the attached file system.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '/home', - 'backendName' => 'MountDirectory', + 'description' => 'The list of compute nodes.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceIds' => [ + 'title' => '', + 'description' => 'The IDs of ECS instances.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-xxxxxxxx', 'title' => ''], + 'required' => true, + ], + 'ImageId' => ['title' => '', 'description' => 'The image ID. This image will be used to replace the original system disk image.'."\n", 'type' => 'string', 'required' => true, 'example' => 'm-bp1h765oyqyxxxxxxxxx'], + ], + 'required' => true, ], - 'FileSystemId' => [ - 'title' => '', - 'description' => 'The ID of the mounted file system.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '008b63****', - 'backendName' => 'FileSystemId', + ], + ], + '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' => '2263XXXX-XXXX-XXXX-XXXX-XXXX2448XXXX'], + 'Success' => [ + 'description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], + 'example' => 'true', + 'title' => '', + ], + ], ], - 'NASDirectory' => [ - 'title' => '', - 'description' => 'The remote mount directory of the mounted file system.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '/', - 'backendName' => 'NASDirectory', + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'Invalid parameters: %s.', 'description' => 'Parameter error.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database error occurred.', 'description' => 'A database error occurred.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'AttachNodes', + 'description' => 'The ECS instances must meet the following requirements:'."\n" + ."\n" + .'* The ECS instances do not belong to any E-HPC cluster.'."\n" + .'* The ECS instances reside in the same virtual private cloud (VPC) as the cluster.'."\n" + .'* The ECS instances are in the Stopped state.'."\n" + ."\n" + .'Take of the following limits:'."\n" + ."\n" + .'* You can specify multiple instance IDs to add them at a time. However, the instances must be of the same type.'."\n" + .'* When an instance is added to the cluster, [the system disk is reset](https://help.aliyun.com/zh/ecs/user-guide/re-initialize-a-system-disk) by using the image specified by the input parameters.'."\n" + .'* If the instance has data disks, they are not automatically created and mounted after the instance is added.'."\n" + .'* The hostname of the instance remains the same. Therefore, you must ensure that the hostname of the instance to be added is different from the hostname of an existing node in the cluster.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:AttachNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'MountTargetDomain' => [ + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2263XXXX-XXXX-XXXX-XXXX-XXXX2448XXXX\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [], + ], + ], + 'AttachSharedStorages' => [ + 'summary' => 'Attaches shared storage to an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227346', + 'abilityTreeNodes' => ['FEATUREehpcR3Y7DN'], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'SharedStorages', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The information about the shared storage resources that you want to attach to the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the shared storage resource that you want to attach to the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountDirectory' => ['description' => 'The local mount directory of the file system that you want to attach.'."\n", 'type' => 'string', 'required' => true, 'example' => '/test', 'title' => ''], + 'FileSystemId' => ['description' => 'The ID of the file system to be attached.'."\n", 'type' => 'string', 'required' => true, 'example' => '0bd504b0**', 'title' => ''], + 'StorageDirectory' => ['description' => 'The storage directory of the file system. You can mount any directory in the file system to the specified cluster directory.'."\n", 'type' => 'string', 'required' => true, 'example' => '/testehpc', 'title' => ''], + 'MountTarget' => ['description' => 'The address of the mount point of the file system to be attached.'."\n", 'type' => 'string', 'required' => true, 'example' => '0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'ProtocolType' => ['description' => 'The protocol type of the file system to be attached. Valid values:'."\n" + ."\n" + .'* NFS'."\n" + .'* SMB'."\n", 'type' => 'string', 'required' => true, 'example' => 'NFS', 'title' => ''], + 'MountOptions' => ['description' => 'The attaching options of the file system to be attached. Valid values:'."\n" + ."\n" + .'* \\-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" + .'* \\-t nfs -o vers=4.0,noresvport'."\n" + ."\n" + .'Default value:-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" + ."\n" + .'> The v3 version is recommended for higher performance if multiple Elastic Compute Service (ECS) instances do not edit the same file at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => '-t nfs -o vers=3,nolock,proto=tcp,noresvport', 'title' => ''], + 'Location' => ['description' => 'The storage location of the file system to be attached. Valid values:'."\n" + ."\n" + .'* OnPremise: The file system is deployed on a hybrid cloud.'."\n" + .'* PublicCloud: The file system is deployed on a public cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PublicCloud', 'title' => ''], + 'VolumeType' => ['description' => 'The type of the file system to be attached. Valid values:'."\n" + ."\n" + .'* nas'."\n" + .'* cpfs'."\n", 'type' => 'string', 'required' => true, 'example' => 'nas', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => true, 'title' => '', - 'description' => 'The address of the mount point of the file system.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '008b****-sihc.cn-hangzhou.extreme.nas.aliyuncs.com', - 'backendName' => 'MountTargetDomain', ], - 'ProtocolType' => [ - 'title' => '', - 'description' => 'The protocol type of the mounted file system. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'NFS', - 'backendName' => 'ProtocolType', + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F9B7BEF8-E42E-5090-9880-55FB7872****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], ], - 'MountOptions' => [ - 'title' => '', - 'description' => 'The storage mount options of the mounted file system.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '-t nfs -o vers=3,nolock,noresvport', - 'backendName' => 'MountOptions', + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 404 => [ + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], + 406 => [ + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'AttachSharedStorages', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* The file system that you want to attach must be created in advance in the same virtual private cloud (VPC) as the destination cluster. For more information, see [Create a file system](~~27530~~) and [Manage mount targets](~~27531~~).'."\n" + .'* E-HPC clusters support Apsara File Storage NAS file systems.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:AttachSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F9B7BEF8-E42E-5090-9880-55FB7872****\\",\\n \\"Success\\": \\"true\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachSharedStorages'], + ], + ], ], - ], - 'apis' => [ 'CreateCluster' => [ - 'summary' => 'Creates a pay-as-you-go or subscription Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -935,135 +661,91 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '227341', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ 'name' => 'ClusterName', 'in' => 'query', - 'schema' => [ - 'title' => '集群名称,长度为2~64个字符。', - 'description' => 'The cluster name. The name must be 1 to 128 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slurm22.05.8-cluster-20240718', - ], + 'schema' => ['description' => 'The name of the cluster. The name must be 2 to 128 characters long and can contain letters, Chinese characters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'slurm22.05.8-cluster-20240718'], ], [ 'name' => 'ClusterDescription', 'in' => 'query', - 'schema' => [ - 'title' => '集群描述信息。长度为2~256个英文或中文字符,不能以http://和https://开头。', - 'description' => 'The cluster description. The description must be 1 to 128 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slurm22.05.8-cluster-20240718'."\n", - ], + 'schema' => ['description' => 'The description of the cluster. The description must be 2 to 128 characters long and can contain letters, Chinese characters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'slurm22.05.8-cluster-20240718'."\n"], ], [ 'name' => 'ClusterCategory', 'in' => 'query', 'schema' => [ - 'description' => 'The cluster type. Valid values:'."\n" + 'description' => 'The edition of the cluster. Valid values:'."\n" + ."\n" + .'- Standard'."\n" ."\n" - .'* Standard'."\n" - .'* Serverless'."\n", + .'- Serverless', + 'enumValueTitles' => ['Standard' => 'Standard', 'Serverless' => 'Serverless'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Standard' => 'Standard', - 'Serverless' => 'Serverless', - ], 'example' => 'Standard', + 'title' => '', ], ], [ 'name' => 'ClusterVpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) in which the cluster resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-m5efjevmclc0xdmys****', - ], + 'schema' => ['description' => 'The ID of the VPC for the cluster.', 'type' => 'string', 'required' => false, 'example' => 'vpc-m5efjevmclc0xdmys****', 'title' => ''], ], [ 'name' => 'ClusterVSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter.'."\n" - ."\n" - .'You can call the [DescribeVpcs](~~448581~~) operation to query information about the created VPCs and vSwitches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-f8za5p0mwzgdu3wgx****', - ], + 'schema' => ['description' => 'The ID of the VSwitch for the cluster. The VSwitch must be in the VPC specified by `ClusterVpcId`.'."\n" + ."\n" + .'Call the [DescribeVpcs](~~448581~~) operation to find available VPCs and VSwitches.', 'type' => 'string', 'required' => false, 'example' => 'vsw-f8za5p0mwzgdu3wgx****', 'title' => ''], ], [ 'name' => 'IsEnterpriseSecurityGroup', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to use an advanced security group. Valid values:'."\n" + 'description' => 'Specifies whether to use an enterprise security group. Valid values:'."\n" + ."\n" + .'- true: The system automatically creates and uses an enterprise security group.'."\n" ."\n" - .'* true: automatically creates and uses an advanced security group.'."\n" - .'* false: automatically creates and uses a basic security group.'."\n" + .'- false: The system automatically creates and uses a security group.'."\n" ."\n" - .'For more information, see [Basic security groups and advanced security groups](~~605897~~).'."\n", + .'For more information about how to select a security group type, see [Security groups and enterprise security groups](~~605897~~).', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'required' => false, - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], 'example' => 'false', + 'title' => '', ], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which the cluster belongs.'."\n" - ."\n" - .'You can call the [DescribeSecurityGroups](~~25556~~) operation to query available security groups in the current region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp13n61xsydodfyg****', - ], + 'schema' => ['description' => 'The ID of the security group for the cluster.'."\n" + ."\n" + .'Call the [DescribeSecurityGroups](~~25556~~) operation to find available security groups in the current region.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp13n61xsydodfyg****', 'title' => ''], ], [ 'name' => 'ClientVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The client version. By default, the latest version is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2.1.0', - ], + 'schema' => ['description' => 'The version of the E-HPC client. By default, the latest version is used.', 'type' => 'string', 'required' => false, 'example' => '2.1.0', 'title' => ''], ], [ 'name' => 'ClusterCustomConfiguration', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The post-processing script of the cluster.'."\n", + 'description' => 'The post-processing script for the cluster.', 'type' => 'object', 'properties' => [ - 'Script' => [ - 'description' => 'The URL that is used to download the post-processing script.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://*****', - ], - 'Args' => [ - 'description' => 'The runtime parameters of the script after the cluster is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'E-HPC cn-hangzhou', - ], + 'Script' => ['description' => 'The download URL for the post-processing script.', 'type' => 'string', 'required' => false, 'example' => 'http://*****', 'title' => ''], + 'Args' => ['description' => 'The execution parameters for the post-processing script.', 'type' => 'string', 'required' => false, 'example' => 'E-HPC cn-hangzhou', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1071,109 +753,77 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The access credentials of the cluster.'."\n", + 'description' => 'The security credentials for the cluster.', 'type' => 'object', 'properties' => [ - 'KeyPairName' => [ - 'description' => 'The name of the key pair. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with `http://` or `https://`. The name can contain digits, letters, colons (:), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'> For more information, see [Create a key pair](~~51793~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ali0824', - ], - 'Password' => [ - 'description' => 'The password for the root user to log on to the node. The password must be 8 to 20 characters in length, and must contain at least 3 of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: `() ~ ! @ # $ % ^ & * - = + { } [ ] : ; \' < > , . ? /`'."\n" - ."\n" - .'> We recommend that you use HTTPS to call the API operation to prevent password leakage.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '**********', - ], + 'KeyPairName' => ['description' => 'The key pair name. The name must be 2 to 128 characters long, start with a letter or a Chinese character, and not start with `http://` or `https://`. It can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> To use an ECS key pair, see [Create a key pair](~~51793~~).', 'type' => 'string', 'required' => false, 'example' => 'ali0824', 'title' => ''], + 'Password' => ['description' => 'The root password of the login node. The password must be 8 to 20 characters long and include characters from at least three of the following categories: uppercase letters, lowercase letters, digits, and special characters. The supported special characters are: `() ~ ! @ # $ % ^ & * - = + { } [ ] : ; ‘ < > , . ? /`'."\n" + ."\n" + .'> Use HTTPS when calling the API to prevent password exposure.', 'type' => 'string', 'required' => false, 'example' => '**********', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'MaxCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of compute nodes that the cluster can manage. Valid values: 0 to 5,000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], + 'schema' => ['description' => 'The maximum number of compute nodes that the cluster can manage. Valid values: 0 to 5,000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500', 'title' => ''], ], [ 'name' => 'MaxCoreCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of vCPUs that can be used by compute nodes in the cluster. Valid values: 0 to 100,000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10000', - ], + 'schema' => ['description' => 'The maximum number of CPU cores that the cluster can manage across all compute nodes. Valid values: 0 to 100,000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000', 'title' => ''], ], [ 'name' => 'DeletionProtection', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the cluster. Deletion protection decides whether the cluster can be deleted in the console or by calling the [DeleteCluster](~~424406~~) operation. Valid values:'."\n" + 'description' => 'Specifies whether to enable deletion protection for the cluster. This feature prevents the cluster from being deleted via the console or the [DeleteCluster](~~424406~~) operation.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'- true: Enables deletion protection.'."\n" + ."\n" + .'- false: Disables deletion protection.'."\n" ."\n" - .'Default value: false.'."\n", + .'Default value: false.', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'required' => false, - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], 'example' => 'false', + 'title' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the cluster belongs.'."\n" - ."\n" - .'You can call the [ListResourceGroups](~~158855~~) operation to obtain the IDs of the resource groups.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4******', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n" + ."\n" + .'Call the [ListResourceGroups](~~158855~~) operation to find resource group IDs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4******', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The tags of the cluster.'."\n", + 'description' => 'The list of tags to add to the cluster. You can add up to 20 tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tag of the cluster.'."\n", + 'description' => 'A key-value pair that represents the tag.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ClusterId', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: 1 to 20. 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://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-******', - ], + 'Key' => ['description' => 'The tag key. The key cannot be an empty string. The key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ClusterId', 'title' => ''], + 'Value' => ['description' => 'The tag value. The value can be an empty string. The value can be up to 128 characters in length and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-******', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1181,100 +831,78 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The configurations of the cluster management node.'."\n", + 'description' => 'Configuration for the cluster manager node.', 'type' => 'object', 'properties' => [ 'Scheduler' => [ - 'description' => 'The configurations of the scheduler service.'."\n", + 'description' => 'Configuration for the scheduler.', 'type' => 'object', 'properties' => [ 'Type' => [ 'description' => 'The scheduler type. Valid values:'."\n" ."\n" - .'* SLURM'."\n" - .'* PBS'."\n" - .'* OPENGRIDSCHEDULER'."\n" - .'* LSF_PLUGIN'."\n" - .'* PBS_PLUGIN'."\n", + .'- SLURM'."\n" + ."\n" + .'- PBS'."\n" + ."\n" + .'- OPENGRIDSCHEDULER'."\n" + ."\n" + .'- LSF\\_PLUGIN'."\n" + ."\n" + .'- PBS\\_PLUGIN', + 'enumValueTitles' => ['PBS' => 'PBS', 'SLURM' => 'SLURM', 'PBS_PLUGIN' => 'PBS\\_PLUGIN', 'OPENGRIDSCHEDULER' => 'OPENGRIDSCHEDULER', 'LSF_PLUGIN' => 'LSF\\_PLUGIN'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'PBS' => 'PBS', - 'SLURM' => 'SLURM', - 'PBS_PLUGIN' => 'PBS_PLUGIN', - 'OPENGRIDSCHEDULER' => 'OPENGRIDSCHEDULER', - 'LSF_PLUGIN' => 'LSF_PLUGIN', - ], 'example' => 'SLURM', + 'title' => '', ], - 'Version' => [ - 'description' => 'The scheduler version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22.05.8', - ], + 'Version' => ['description' => 'The scheduler version.', 'type' => 'string', 'required' => false, 'example' => '22.05.8', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'DirectoryService' => [ - 'description' => 'The configurations of the domain account service.'."\n", + 'description' => 'Configuration for the directory service.', 'type' => 'object', 'properties' => [ 'Type' => [ - 'description' => 'The type of the domain account.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* NIS'."\n", + 'description' => 'The directory service type.', + 'enumValueTitles' => ['NIS' => 'NIS'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'NIS' => 'NIS', - ], 'example' => 'NIS', + 'title' => '', ], - 'Version' => [ - 'description' => 'The version of the domain account service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2.31', - ], + 'Version' => ['description' => 'The directory service version.', 'type' => 'string', 'required' => false, 'example' => '2.31', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'DNS' => [ - 'description' => 'The configurations of the domain name resolution service.'."\n", + 'description' => 'Configuration for the DNS service.', 'type' => 'object', 'properties' => [ 'Type' => [ - 'description' => 'The domain name resolution type.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* NIS'."\n", + 'description' => 'The DNS service type.', + 'enumValueTitles' => ['NIS' => 'NIS'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'NIS' => 'NIS', - ], 'example' => 'NIS', + 'title' => '', ], - 'Version' => [ - 'description' => 'The version of the domain name resolution service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2.31', - ], + 'Version' => ['description' => 'The DNS service version.', 'type' => 'string', 'required' => false, 'example' => '2.31', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'ManagerNode' => [ - 'description' => 'The hardware configurations of the management node.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/NodeTemplate', - ], + 'ManagerNode' => ['description' => 'Hardware configuration for the manager node.', '$ref' => '#/components/schemas/NodeTemplate', 'required' => false, 'title' => '', 'example' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1282,14 +910,12 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The queues in the cluster. The number of queues can be 0 to 8.'."\n", + 'description' => 'Configuration for the cluster queues. You can specify up to 8 queues.', 'type' => 'array', - 'items' => [ - 'description' => 'The queue configurations.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/QueueTemplate', - ], + 'items' => ['description' => 'Detailed configuration for a cluster queue.', '$ref' => '#/components/schemas/QueueTemplate', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1297,14 +923,12 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The shared storage resources of the cluster.'."\n", + 'description' => 'Configuration for the cluster\'s shared storage.', 'type' => 'array', - 'items' => [ - 'description' => 'The detailed configurations of a shared storage resource.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/SharedStorageTemplate', - ], + 'items' => ['description' => 'Detailed configuration for the cluster\'s shared storage.', '$ref' => '#/components/schemas/SharedStorageTemplate', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1312,28 +936,22 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The list of software that you want to install in the cluster. Valid values of N: 0 to 10.'."\n", + 'description' => 'A list of software to install in the cluster. You can specify up to 10 packages.', 'type' => 'array', 'items' => [ - 'description' => 'The information about a piece of software that you want to install in the cluster.'."\n", + 'description' => 'The information about the software to install.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the software that you want to install in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mpich', - ], - 'Version' => [ - 'description' => 'The version of the software that you want to install in the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4.0.3', - ], + 'Name' => ['description' => 'The name of the software.', 'type' => 'string', 'required' => false, 'example' => 'mpich', 'title' => ''], + 'Version' => ['description' => 'The version of the software.', 'type' => 'string', 'required' => false, 'example' => '4.0.3', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1341,401 +959,201 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The configurations of the custom addons in the cluster. Only one addon is supported.'."\n", + 'description' => 'The configuration of the custom service component for the cluster. Only one component is supported.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of the custom addon in the cluster.'."\n", + 'description' => 'The detailed configuration of the custom service component.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'ServicesSpec' => [ - 'description' => 'The service configurations of the addon.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"[{\\\\"ServiceName\\\\": \\\\"SSH\\\\", \\\\"ServiceAccessType\\\\": null, \\\\"ServiceAccessUrl\\\\": null, \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 22, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}, {\\\\"ServiceName\\\\": \\\\"VNC\\\\", \\\\"ServiceAccessType\\\\": null, \\\\"ServiceAccessUrl\\\\": null, \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 12016, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}, {\\\\"ServiceName\\\\": \\\\"CLIENT\\\\", \\\\"ServiceAccessType\\\\": \\\\"URL\\\\", \\\\"ServiceAccessUrl\\\\": \\\\"\\\\", \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 12011, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}]"', - ], - 'ResourcesSpec' => [ - 'description' => 'The resource configurations of the addon.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"{\\\\"EipResource\\\\": {\\\\"AutoCreate\\\\": true}, \\\\"EcsResources\\\\": [{\\\\"InstanceType\\\\": \\\\"ecs.c7.xlarge\\\\", \\\\"ImageId\\\\": \\\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\\", \\\\"SystemDisk\\\\": {\\\\"Category\\\\": \\\\"cloud_essd\\\\", \\\\"Size\\\\": 40, \\\\"Level\\\\": \\\\"PL0\\\\"}, \\\\"EnableHT\\\\": true, \\\\"InstanceChargeType\\\\": \\\\"PostPaid\\\\", \\\\"SpotStrategy\\\\": \\\\"NoSpot\\\\"}]}"', - ], + 'Name' => ['description' => 'The name of the custom service component.', 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The version of the custom service component.', 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'ServicesSpec' => ['description' => 'The service configuration of the custom service component.', 'type' => 'string', 'required' => false, 'example' => '"[{\\\\"ServiceName\\\\": \\\\"SSH\\\\", \\\\"ServiceAccessType\\\\": null, \\\\"ServiceAccessUrl\\\\": null, \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 22, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}, {\\\\"ServiceName\\\\": \\\\"VNC\\\\", \\\\"ServiceAccessType\\\\": null, \\\\"ServiceAccessUrl\\\\": null, \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 12016, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}, {\\\\"ServiceName\\\\": \\\\"CLIENT\\\\", \\\\"ServiceAccessType\\\\": \\\\"URL\\\\", \\\\"ServiceAccessUrl\\\\": \\\\"\\\\", \\\\"NetworkACL\\\\": [{\\\\"IpProtocol\\\\": \\\\"TCP\\\\", \\\\"Port\\\\": 12011, \\\\"SourceCidrIp\\\\": \\\\"0.0.0.0/0\\\\"}]}]"', 'title' => ''], + 'ResourcesSpec' => ['description' => 'The resource configuration of the custom service component.', 'type' => 'string', 'required' => false, 'example' => '"{\\\\"EipResource\\\\": {\\\\"AutoCreate\\\\": true}, \\\\"EcsResources\\\\": [{\\\\"InstanceType\\\\": \\\\"ecs.c7.xlarge\\\\", \\\\"ImageId\\\\": \\\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\\", \\\\"SystemDisk\\\\": {\\\\"Category\\\\": \\\\"cloud_essd\\\\", \\\\"Size\\\\": 40, \\\\"Level\\\\": \\\\"PL0\\\\"}, \\\\"EnableHT\\\\": true, \\\\"InstanceChargeType\\\\": \\\\"PostPaid\\\\", \\\\"SpotStrategy\\\\": \\\\"NoSpot\\\\"}]}"', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ClusterMode', 'in' => 'query', 'schema' => [ - 'description' => 'The deployment mode of the cluster. Valid values:'."\n" + 'description' => 'The cluster\'s deployment type. Valid values:'."\n" + ."\n" + .'- Integrated: An integrated cluster.'."\n" ."\n" - .'* Integrated'."\n" - .'* Hybrid'."\n" - .'* Custom'."\n", + .'- Hybrid: A hybrid cloud cluster.'."\n" + ."\n" + .'- Custom: A custom cluster.', + 'enumValueTitles' => ['Hybrid' => 'Hybrid', 'Custom' => 'Custom', 'Integrated' => 'Integrated'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Hybrid' => 'Hybrid', - 'Custom' => 'Custom', - 'Integrated' => 'Integrated', - ], 'example' => 'Integrated', + 'title' => '', ], ], + [ + 'name' => 'GrowInterval', + 'in' => 'query', + 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'IdleInterval', + 'in' => 'query', + 'schema' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'title' => '', + 'description' => 'The response schema', 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0******', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr******', - ], - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0******'."\n", - ], + 'Success' => ['description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true: The request succeeded.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0******'], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'ehpc-hz-FYUr******', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C0******'."\n", 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'OrderError.Arrearage', - 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', - ], - [ - 'errorCode' => 'OrderError.InstHasUnpaidOrder', - 'errorMessage' => 'Your account has an unpaid order.', - ], - [ - 'errorCode' => 'OrderError.InsufficientBalance', - 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', - ], - [ - 'errorCode' => 'OrderError.InvalidPayMethod', - 'errorMessage' => 'No valid default payment method is specified for your account.', - ], - [ - 'errorCode' => 'OrderError.NoCard', - 'errorMessage' => 'No credit card is bound to your account.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameAuthentication', - 'errorMessage' => 'You have not completed the real name authentication.', - ], - [ - 'errorCode' => 'OrderError.NoRealNameRegistration', - 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', - ], - [ - 'errorCode' => 'OrderError.UserProfileIncomplete', - 'errorMessage' => 'You have not completed your user profile.', - ], - [ - 'errorCode' => 'Cluster.NotSupported', - 'errorMessage' => 'Current cluster does not support this operation.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'OrderError.Arrearage', 'errorMessage' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.InstHasUnpaidOrder', 'errorMessage' => 'Your account has an unpaid order.', 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['errorCode' => 'OrderError.InsufficientBalance', 'errorMessage' => 'The account balance is insufficient. Please add funds first and try again.', 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['errorCode' => 'OrderError.InvalidPayMethod', 'errorMessage' => 'No valid default payment method is specified for your account.', 'description' => 'No valid payment method is found. Please check again.'], + ['errorCode' => 'OrderError.NoCard', 'errorMessage' => 'No credit card is bound to your account.', 'description' => 'You have not bound a card. Please perform binding first.'], + ['errorCode' => 'OrderError.NoRealNameAuthentication', 'errorMessage' => 'You have not completed the real name authentication.', 'description' => 'You must complete the real-name verification first.'], + ['errorCode' => 'OrderError.NoRealNameRegistration', 'errorMessage' => 'Real name registration is required for instances launched in mainland China.', 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['errorCode' => 'OrderError.UserProfileIncomplete', 'errorMessage' => 'You have not completed your user profile.', 'description' => 'The user has not completed personal information on the international site.'], + ['errorCode' => 'Cluster.NotSupported', 'errorMessage' => 'Current cluster does not support this operation.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], - [ - 'errorCode' => 'TooManyClusters', - 'errorMessage' => 'The number of user clusters exceeds the quota.', - ], + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], + ['errorCode' => 'TooManyClusters', 'errorMessage' => 'The number of user clusters exceeds the quota.', 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], ], [ - [ - 'errorCode' => 'KeyPairNotFound', - 'errorMessage' => 'The specified KeyPair does not exist.', - ], - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + ['errorCode' => 'KeyPairNotFound', 'errorMessage' => 'The specified KeyPair does not exist.', 'description' => ''], + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'OrderError', - 'errorMessage' => 'An order request error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'OrderError', 'errorMessage' => 'An order request error occurred.', 'description' => 'An order request error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0******\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr******\\",\\n \\"TaskId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0******\\\\n\\"\\n}","type":"json"}]', 'title' => 'CreateCluster', - 'description' => '## [](#)Usage notes'."\n" + 'summary' => 'Create a pay-as-you-go or subscription cluster.', + 'description' => '## API'."\n" ."\n" - .'Before you call this operation, make sure that you are familiar with the billing and pricing of E-HPC. For more information, see [Overview](~~2842985~~).'."\n", - ], - 'UpdateCluster' => [ - 'summary' => 'Modify the basic information of a specified cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + .'Before using this interface, ensure you understand the E-HPC billing method and pricing. For more information, see [billing overview](~~2842985~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0******\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr******\\",\\n \\"TaskId\\": \\"F6757FA4-8FED-4602-B7F5-3550C0******\\\\n\\"\\n}","type":"json"}]', + ], + 'CreateJob' => [ + 'summary' => 'Creates a job for a cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227339', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeCode' => '227376', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client version. By default, the latest version is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'ClusterName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The post-processing script of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slurm22.05.8-serverless-cluster-20240805', - ], - ], - [ - 'name' => 'ClusterDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL that is used to download the post-processing script.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slurm22.05.8-serverless-cluster-20240805'."\n", - ], - ], - [ - 'name' => 'MaxCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments that are used to run the post-processing script.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '500', - ], - ], - [ - 'name' => 'MaxCoreCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the cluster is automatically scaled out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10000', - ], - ], - [ - 'name' => 'DeletionProtection', - 'in' => 'query', - 'schema' => [ - 'description' => 'The idle duration of the compute nodes allowed by the cluster.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ClientVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable auto scale-out for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2.1.0', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterCustomConfiguration', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'Specifies whether to enable auto scale-in for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'object', - 'properties' => [ - 'Script' => [ - 'description' => 'The monitoring details of the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://*****'."\n", - ], - 'Args' => [ - 'description' => 'Specifies whether to enable the monitoring component of compute nodes. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'E-HPC cn-hangzhou'."\n", - ], - ], - 'required' => false, - ], - ], - [ - 'name' => 'GrowInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduler specifications of the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'IdleInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the topology awareness feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - ], - [ - 'name' => 'EnableScaleOut', - 'in' => 'query', - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'EnableScaleIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'MonitorSpec', + 'name' => 'JobName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The monitoring details of the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'EnableComputeLoadMonitor' => [ - 'description' => 'Specifies whether to enable the monitoring component of compute nodes. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The job name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestJob', 'title' => ''], ], [ - 'name' => 'SchedulerSpec', + 'name' => 'JobSpec', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The scheduler specifications of the cluster.'."\n", + 'description' => 'The job configurations.'."\n", 'type' => 'object', 'properties' => [ - 'EnableTopologyAwareness' => [ - 'description' => 'Specifies whether to enable the topology awareness feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', + 'CommandLine' => ['description' => 'The command or script that is used to run the job. If you want to use a command, you must specify the full path of the command, for example, /bin/ping.'."\n" + ."\n" + .'If you want to use a script, you must make sure that you have the execution permissions on it. By default, the user root directory ~/ is used as the default script path on the cluster side. If your script is not in that directory, you must specify the full path in this parameter, such as /home/xxx/job.sh Note that in this mode, if requirements on resources such as CPU and memory are specified in the script, the job will be run based on the resource requirements specified in the script. In this case, do not specify resource requirements in the Resource parameter. Otherwise, the job may fail to run.'."\n" + ."\n" + .'If you want to run the job directly by using the CLI, you must specify the absolute path of the command and add two hyphens and a space (-- ) before the path, such as -- /bin/ping -c 10 localhost.'."\n", 'type' => 'string', 'required' => true, 'example' => '/home/xxx/test.job', 'title' => ''], + 'RunasUser' => ['description' => 'The cluster-side user as which you want to submit the job.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testuser', 'title' => ''], + 'RunasUserPassword' => ['description' => 'The password of the user specified by the RunasUser parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], + 'Priority' => ['description' => 'The job priority.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + 'StdoutPath' => ['description' => 'The path of the standard output file of the job. You need to specify the full path.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home/xxx/job.out', 'title' => ''], + 'StderrPath' => ['description' => 'The path of the standard error output file of the job. You need to specify the full path.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home/xxx/job.err', 'title' => ''], + 'JobQueue' => ['description' => 'The queue to which the job belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'comp', 'title' => ''], + 'ArrayRequest' => ['description' => 'The jobs in the queue.'."\n" + ."\n" + .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1-5:2', 'title' => ''], + 'Variables' => ['description' => 'The environment variables of the job. The value is a string in the JSON array format. Each array member is a JSON object that contains two members: Name and Value. Name indicates the name of the environment variable, and Value indicates the value of the environment variable.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"Name":"x", "Value":"y"}]', 'title' => ''], + 'PostCmdLine' => ['description' => 'The post-processing command of the job.'."\n", 'type' => 'string', 'required' => false, 'example' => '/bin/sleep 10', 'title' => ''], + 'WallTime' => ['description' => 'The maximum duration for which the job can be run. Format: `hour: minute: second`. For example, `01:00:00` indicates 1 hour.'."\n", 'type' => 'string', 'required' => false, 'example' => '360:48:50', 'title' => ''], + 'Resources' => [ + 'description' => 'The resource configurations of the job.'."\n", + 'type' => 'object', + 'properties' => [ + 'Nodes' => ['description' => 'The number of compute nodes to be allocated to the job.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPUs to be allocated to each compute node.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size to be allocated to each compute node. The memory size is in string format. Unit: MB or GB.'."\n", 'type' => 'string', 'required' => false, 'example' => '4gb', 'title' => ''], + 'Gpus' => ['description' => 'The number of GPUs to be allocated to each compute node.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], 'required' => false, - 'example' => 'true', + 'title' => '', ], ], 'required' => false, + 'title' => '', ], ], ], @@ -1743,305 +1161,239 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Request result, possible values: '."\n" - .'- true: request succeeded '."\n" - .'- false: request failed', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A0A38A38-1565-555E-B597-E48A2E******'], + 'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'Submitted batch job 10\\n', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], + ['errorCode' => 'AgentError.Job.SubmitFailure', 'errorMessage' => 'Failed to submit jobs: %s', 'description' => 'Failed to submit the jobs.'], + ['errorCode' => 'AgentError.Job.DeleteFailure', 'errorMessage' => 'Failed to delete job: %s', 'description' => 'Failed to delete the job: {}'], + ['errorCode' => 'AgentError.Job.InvalidContainerType', 'errorMessage' => 'Unsupported container type: %s.', 'description' => 'The container type is not supported: %s.'], + ['errorCode' => 'AgentError.Job.ListFailure', 'errorMessage' => 'Failed to list jobs: %s.', 'description' => 'Failed to obtain the job list: %s'], + ['errorCode' => 'AgentError.Job.RerunFailure', 'errorMessage' => 'Failed to run the job again: %s.', 'description' => 'Failed to run the job again: %s'], + ['errorCode' => 'AgentError.Job.StopFailure', 'errorMessage' => 'Failed to stop jobs: %s.', 'description' => 'Failed to stop the job: %s'], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateJob', + 'description' => 'Before you call this operation, make sure that you understand the billing and [pricing](https://www.aliyun.com/price/product#/ecs/detail) of E-HPC.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A0A38A38-1565-555E-B597-E48A2E******\\",\\n \\"JobId\\": \\"Submitted batch job 10\\\\\\\\n\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJob'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', - 'title' => 'UpdateCluster', - 'translator' => 'machine', ], - 'InstallSoftwares' => [ - 'summary' => 'Install software for the specified cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateNodes' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227329', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '228052', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call [ListClusters](~~87116~~) to query the cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'AdditionalPackages', + 'name' => 'QueueName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The information about the software systems that you want to install.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'List of software to be installed', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gromacs', - ], - 'Version' => [ - 'description' => 'The software version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2024.1', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The name of the queue to which the compute nodes belong.', 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - ], - ], + [ + 'name' => 'Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of compute nodes to add. Valid values: 1 to 99. The value must be greater than MinCount.'."\n" + ."\n" + .'- If the available ECS inventory is less than MinCount, the node creation fails.'."\n" + ."\n" + .'- If the available ECS inventory is greater than or equal to MinCount but less than Count, nodes are added based on the number specified by MinCount.'."\n" + ."\n" + .'- If the available ECS inventory is greater than or equal to Count, nodes are added based on the number specified by Count.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], - ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + [ + 'name' => 'MinCount', + 'in' => 'query', + 'schema' => ['type' => 'integer', 'format' => 'int32', 'example' => '10', 'description' => '', 'title' => ''], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + [ + 'name' => 'ComputeNode', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The hardware configuration of the compute nodes.', '$ref' => '#/components/schemas/NodeTemplate', 'required' => false, 'title' => '', 'example' => ''], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 'name' => 'HPCInterConnect', + 'in' => 'query', + 'schema' => ['description' => 'The network type for communication between compute nodes. Valid values:'."\n" + .'- vpc'."\n" + .'- eRDMA', 'type' => 'string', 'required' => false, 'example' => 'vpc', 'title' => ''], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + 'name' => 'RamRole', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role attached to the compute nodes in the queue.', 'type' => 'string', 'required' => false, 'example' => 'AliyunServiceRoleForOOSBandwidthScheduler', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'InstallSoftwares', - 'description' => '## Interface Description'."\n" - .'When calling this interface, please note the following:'."\n" - .'- The cluster status must be `Running`. '."\n" - .'- If the cluster series is `Serverless`, ensure that there is at least one login node or compute node in the cluster; otherwise, software cannot be added to the target cluster.', - 'translator' => 'machine', - ], - 'UninstallSoftwares' => [ - 'summary' => 'Uninstalls software systems from an Enterprise High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HostnamePrefix', + 'in' => 'query', + 'schema' => ['description' => 'The hostname prefix of the compute nodes in the queue.', 'type' => 'string', 'required' => false, 'example' => 'compute', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '228511', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', + [ + 'name' => 'HostnameSuffix', + 'in' => 'query', + 'schema' => ['description' => 'The hostname suffix of the compute nodes in the queue.', 'type' => 'string', 'required' => false, 'example' => 'demo', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'KeepAlive', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'Specifies whether deletion protection is enabled for the compute nodes.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'AdditionalPackages', + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set.'."\n" + .'You can call [DescribeDeploymentSets](~~91313~~) to query the deployment set ID. Only deployment sets that use the low network latency strategy are supported.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pzq****', 'title' => ''], + ], + [ + 'name' => 'ReservedNodePoolId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the reserved node pool.', 'type' => 'string', 'required' => false, 'example' => 'rnp-756vlp7a', 'title' => ''], + ], + [ + 'name' => 'Hostnames', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The information about the software systems that you want to uninstall.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The information about the software system that you want to uninstall.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gromacs', - ], - 'Version' => [ - 'description' => 'The software version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2024.1', - ], - ], - 'required' => false, - ], - 'required' => false, + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Success' => ['description' => 'Indicates whether the operation was successful. Valid values:'."\n" + .'- true: Successful.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'InstanceIds' => [ + 'description' => 'The list of compute nodes to be created.', + 'type' => 'array', + 'items' => ['description' => 'The list of compute nodes to be created.', 'type' => 'string', 'example' => '[ "i-uf68t1zu3jkhs8w****", "i-uf6abz34m2714bp****", "i-uf65bh2113hlqvyx****", "i-uf68t1zu3jkhs8wx****", "i-uf6b0mtpx166fxxi****", "i-uf6faknz4dy1bit7****" ]', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'ImageClientVersionTooLow', 'errorMessage' => 'The image requires a higher ehpcutil version than the cluster currently has, please upgrade the cluster first.', 'description' => 'The minimum ehpcutil version required for mirroring is higher than the current cluster version, upgrade the cluster first'], + ], + 403 => [ + ['errorCode' => 'ConflictOpt', 'errorMessage' => 'A conflicting operation is running.', 'description' => 'A conflicting operation is running. Please try again later.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'InsufficientReservedNodes', 'errorMessage' => 'There is no more available reserved nodes.', 'description' => 'Insufficient number of reserved nodes'], ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ], + 'title' => 'Batch create compute nodes', + 'summary' => 'Creates compute nodes for an Elastic High Performance Computing (E-HPC) cluster in a batch.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNodes'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'UninstallSoftwares', - 'description' => '## Interface Description'."\n" - .'When calling this interface, please note:'."\n" - .'The cluster status must be `Running`.', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true,\\n \\"InstanceIds\\": [\\n \\"[ \\\\\\"i-uf68t1zu3jkhs8w****\\\\\\", \\\\\\"i-uf6abz34m2714bp****\\\\\\", \\\\\\"i-uf65bh2113hlqvyx****\\\\\\", \\\\\\"i-uf68t1zu3jkhs8wx****\\\\\\", \\\\\\"i-uf6b0mtpx166fxxi****\\\\\\", \\\\\\"i-uf6faknz4dy1bit7****\\\\\\" ]\\"\\n ]\\n}","type":"json"}]', ], - 'InstallAddon' => [ - 'summary' => 'Installs an addon.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateQueue' => [ + 'summary' => 'Creates a queue for an Enterprise High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2052,323 +1404,182 @@ 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '228008', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '228055', + 'abilityTreeNodes' => ['FEATUREehpcAB36B2'], ], 'parameters' => [ [ - 'name' => 'AddonName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [], - 'example' => 'Login', - ], - ], - [ - 'name' => 'AddonVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'ServicesSpec', - 'in' => 'query', - 'schema' => [ - 'description' => 'The service configurations of the addon.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '`[{"ServiceName": "SSH", "ServiceAccessType": null, "ServiceAccessUrl": null, "NetworkACL": [{"IpProtocol": "TCP", "Port": 22, "SourceCidrIp": "0.0.0.0/0"}]}, {"ServiceName": "VNC", "ServiceAccessType": null, "ServiceAccessUrl": null, "NetworkACL": [{"IpProtocol": "TCP", "Port": 12016, "SourceCidrIp": "0.0.0.0/0"}]}]`', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ResourcesSpec', + 'name' => 'Queue', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource configurations of the addon.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '`{"EipResource": {"AutoCreate": true}, "EcsResources": [{"InstanceType": "ecs.c7.xlarge", "ImageId": "centos_7_6_xxx.vhd", "SystemDisk": {"Category": "cloud_essd", "Size": 40, "Level": "PL0"}]}`', - ], + 'style' => 'json', + 'schema' => ['description' => 'The configurations of the queue to be created.'."\n", 'required' => false, '$ref' => '#/components/schemas/QueueTemplate', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - 'AddonId' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login-1.0-W4g****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Name' => ['description' => 'The name of the created queue.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Name\\": \\"test\\"\\n}","type":"json"}]', + 'title' => 'CreateQueue', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateQueue'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"AddonId\\": \\"Login-1.0-W4g****\\"\\n}","type":"json"}]', - 'title' => 'InstallAddon', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Take note of the following items when you call this operation:'."\n" - ."\n" - .'* The cluster must be in the `Running` state.'."\n" - ."\n" - .'* Clusters fall into two types:'."\n" - ."\n" - .' * Regular clusters on Alibaba Cloud Public Cloud'."\n" - .' * Managed clusters on Alibaba Cloud Public Cloud'."\n", ], - 'UnInstallAddon' => [ - 'summary' => 'Uninstalls an addon.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateReservedNodePool' => [ + 'summary' => 'Creates a reserved node pool. A reserved node pool reserves a batch of active IP addresses from a vSwitch. It maps each IP address to a hostname based on a rule and maintains the resources for the node pool. When you use the reserved node pool to scale nodes, the corresponding resources are allocated or released.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228010', - 'abilityTreeNodes' => [ - 'FEATUREehpcXOL4GQ', - ], + 'abilityTreeCode' => '258584', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'AddonId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login-1.0-W2g****', - ], + 'schema' => ['description' => 'The name of the reserved node pool.', 'type' => 'string', 'required' => false, 'example' => 'nodepool', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the reserved node pool.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'Count', + 'in' => 'query', + 'schema' => ['description' => 'The number of reserved nodes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1lfcjbfb099rrjn****', 'title' => ''], + ], + [ + 'name' => 'HostPrefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the hostnames for the reserved nodes.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + ], + [ + 'name' => 'HostPostfix', + 'in' => 'query', + 'schema' => ['description' => 'The suffix of the hostnames for the reserved nodes.', 'type' => 'string', 'required' => false, 'example' => 'ed', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned data.'."\n", + 'title' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'ReservedNodePoolId' => ['description' => 'The ID of the reserved node pool.', 'type' => 'string', 'example' => 'rnp-cdx****', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'InvalidVswitch', 'errorMessage' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', 'description' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.'], + ['errorCode' => 'FailToGenId', 'errorMessage' => 'Generating cluster ID failed.', 'description' => 'Failed to generate the cluster ID. Please try again.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'VswitchOccupied', 'errorMessage' => 'The vSwitch resource is occupied by other reserved nodepool.', 'description' => 'This switch resource is occupied by other reserved node pools'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateReservedNodePool', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateReservedNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', - 'title' => 'UnInstallAddon', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Take note of the following items when you call this operation:'."\n" - ."\n" - .'* The cluster must be in the `Running` state.'."\n" - ."\n" - .'* Clusters fall into the following types:'."\n" - ."\n" - .' * Regular clusters on Alibaba Cloud Public Cloud'."\n" - .' * Managed clusters on Alibaba Cloud Public Cloud'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ReservedNodePoolId\\": \\"rnp-cdx****\\"\\n}","type":"json"}]', ], - 'AttachSharedStorages' => [ - 'summary' => 'Attaches shared storage to an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateUsers' => [ + 'summary' => 'Adds users to an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2377,106 +1588,56 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227346', - 'abilityTreeNodes' => [ - 'FEATUREehpcR3Y7DN', - ], + 'abilityTreeCode' => '227336', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'SharedStorages', + 'name' => 'User', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The information about the shared storage resources that you want to attach to the cluster.'."\n", + 'description' => 'The users that you want to add.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The information about the shared storage resource that you want to attach to the cluster.'."\n", + 'description' => 'The information about the user.'."\n", 'type' => 'object', 'properties' => [ - 'MountDirectory' => [ - 'description' => 'The local mount directory of the file system that you want to attach.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '/test', - ], - 'FileSystemId' => [ - 'description' => 'The ID of the file system to be attached.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0bd504b0**', - ], - 'StorageDirectory' => [ - 'description' => 'The storage directory of the file system. You can mount any directory in the file system to the specified cluster directory.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '/testehpc', - ], - 'MountTarget' => [ - 'description' => 'The address of the mount point of the file system to be attached.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com', - ], - 'ProtocolType' => [ - 'description' => 'The protocol type of the file system to be attached. Valid values:'."\n" - ."\n" - .'* NFS'."\n" - .'* SMB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NFS', - ], - 'MountOptions' => [ - 'description' => 'The attaching options of the file system to be attached. Valid values:'."\n" - ."\n" - .'* \\-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" - .'* \\-t nfs -o vers=4.0,noresvport'."\n" - ."\n" - .'Default value:-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" - ."\n" - .'> The v3 version is recommended for higher performance if multiple Elastic Compute Service (ECS) instances do not edit the same file at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-t nfs -o vers=3,nolock,proto=tcp,noresvport', - ], - 'Location' => [ - 'description' => 'The storage location of the file system to be attached. Valid values:'."\n" - ."\n" - .'* OnPremise: The file system is deployed on a hybrid cloud.'."\n" - .'* PublicCloud: The file system is deployed on a public cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PublicCloud', - ], - 'VolumeType' => [ - 'description' => 'The type of the file system to be attached. Valid values:'."\n" - ."\n" - .'* nas'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'nas', - ], + 'UserName' => ['description' => 'The username. The username must be 1 to 30 characters in length. It must start with a letter and can contain digits, letters, and periods (.).'."\n" + ."\n" + .'You can add up to 20 users in a call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testuser', 'title' => ''], + 'Group' => ['description' => 'The permission group to which the user belongs. Valid values:'."\n" + ."\n" + .'users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs. wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes. You can add up to 20 users in a call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'users', 'title' => ''], + 'Password' => ['description' => 'The password of the user. The password must be 6 to 30 characters in length and must contain three of the following character types:'."\n" + ."\n" + .'* Uppercase letters'."\n" + .'* Lowercase letters'."\n" + .'* Digits'."\n" + .'* Special characters ()~!@#$%^&\\*-\\_+=|{}\\[]:;\'/<>,.?/'."\n" + ."\n" + .'You can add up to 20 users in a call.'."\n" + ."\n" + .'Specify one of the Password and AuthKey parameters. The Password parameter takes effect only when the cluster authentication method is set to Password. Password authentication is recommended.'."\n", 'type' => 'string', 'required' => false, 'example' => '1@a2****', 'title' => ''], + 'AuthKey' => ['description' => 'The public key of the user.'."\n" + ."\n" + .'You can add up to 20 users in a call.'."\n" + ."\n" + .'Specify one of the Password and AuthKey parameters. The AuthKey parameter takes effect only when the cluster authentication method is set to Key. Key authentication is not recommended.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Abc****', 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => true, + 'required' => false, + 'title' => '', ], ], ], @@ -2487,138 +1648,70 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F9B7BEF8-E42E-5090-9880-55FB7872****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'AgentError.Account.UserAddFailure', 'errorMessage' => 'Failed to add user to domain: %s.', 'description' => 'Failed to add the user to domain: %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateUsers', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateUsers'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F9B7BEF8-E42E-5090-9880-55FB7872****\\",\\n \\"Success\\": \\"true\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","type":"json"}]', - 'title' => 'AttachSharedStorages', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'When you call this operation, take note of the following items:'."\n" - ."\n" - .'* The file system that you want to attach must be created in advance in the same virtual private cloud (VPC) as the destination cluster. For more information, see [Create a file system](~~27530~~) and [Manage mount targets](~~27531~~).'."\n" - .'* E-HPC clusters support Apsara File Storage NAS file systems.'."\n", ], - 'DetachSharedStorages' => [ - 'summary' => 'Unmounts shared storage from the mount directory of a cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteCluster' => [ + 'summary' => 'Releases an Enterprise High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'paid', - 'abilityTreeCode' => '227345', - 'abilityTreeNodes' => [ - 'FEATUREehpcR3Y7DN', - ], + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ - 'name' => 'SharedStorages', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The information about mounted shared storage resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the mounted shared storage resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountDirectory' => [ - 'description' => 'The local mount directory of the mounted file system.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '/test', - ], - ], - 'required' => false, - ], - 'required' => true, - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the E-HPC cluster to be released.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-QKKVqO****', 'title' => ''], ], ], 'responses' => [ @@ -2628,84 +1721,59 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], + 'Success' => ['description' => 'The request result. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****'], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', 'title' => ''], ], ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 404 => [ - [ - 'errorCode' => 'VolumeNotFound', - 'errorMessage' => 'The specified volume does not exist.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], - 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteCluster', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Make sure that data of the cluster to be deleted is backed up before you call this operation.'."\n" + ."\n" + .'> After a cluster is released, you cannot restore the data stored in the cluster. Exercise caution when you release a cluster.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\",\\n \\"TaskId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": \\"true\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","type":"json"}]', - 'title' => 'DetachSharedStorages', ], - 'ListSoftwares' => [ - 'summary' => 'Queries the software that can be installed in an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteNodes' => [ + 'summary' => 'Deletes compute nodes from an Enterprise High Performance Computing (E-HPC) cluster at a time.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2714,316 +1782,108 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227328', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], + 'abilityTreeCode' => '228056', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], - ], - [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - 'default' => '10', - ], + 'schema' => ['description' => 'The cluster ID. You can call the [listclusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'OsInfos', + 'name' => 'InstanceIds', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', 'schema' => [ - 'description' => 'The operating system (OS) information.'."\n", + 'description' => 'The instance IDs of the compute nodes that you want to delete.'."\n", 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'OsTag' => [ - 'description' => 'The image tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS_7.9_64', - ], - 'Architecture' => [ - 'description' => 'The OS architecture. Valid values:'."\n" - ."\n" - .'* x86\\_64'."\n" - .'* arm64'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'x86_64', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'Category', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application category.'."\n", - 'type' => 'string', + 'items' => ['description' => 'The instance ID of the compute node that you want to delete.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-hp3347creaivnt******', 'title' => ''], 'required' => false, - 'example' => 'NWP', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gromacs', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'AdditionalPackages' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AdditionalPackageInfos' => [ - 'description' => 'The information about the software that can be installed in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'example' => 'gromacs', - ], - 'Category' => [ - 'description' => 'The application category.'."\n", - 'type' => 'string', - 'example' => 'NWP', - ], - 'Icon' => [ - 'description' => 'The URL of the software icon.'."\n", - 'type' => 'string', - 'example' => 'https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg', - ], - 'Description' => [ - 'description' => 'The software description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Versions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VersionInfos' => [ - 'description' => 'The information about the software versions that can be installed in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the software.'."\n", - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'description' => 'The software version.'."\n", - 'type' => 'string', - 'example' => '2024.1', - ], - 'Latest' => [ - 'description' => 'Indicates whether the version is the latest.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'SupportOs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportOsInfos' => [ - 'description' => 'The information about the supported OSs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'OsTag' => [ - 'description' => 'The image tag.'."\n", - 'type' => 'string', - 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64 bit ARM Edition', - ], - 'Architecture' => [ - 'description' => 'The OS architecture. Valid values:'."\n" - ."\n" - .'* x86\\_64'."\n" - .'* arm64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - ], - 'description' => '', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], ], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteNodes', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Before you delete a compute node, we recommend that you export all job data from the node to prevent data loss.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": true,\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNodes'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"AdditionalPackages\\": {\\n \\"AdditionalPackageInfos\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Category\\": \\"NWP\\",\\n \\"Icon\\": \\"https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg\\",\\n \\"Description\\": \\"gromacs 2024.1版本\\",\\n \\"Versions\\": {\\n \\"VersionInfos\\": [\\n {\\n \\"Version\\": \\"2024.1\\",\\n \\"Latest\\": \\"false\\",\\n \\"SupportOs\\": {\\n \\"SupportOsInfos\\": [\\n {\\n \\"OsTag\\": \\"Alibaba Cloud Linux 3.2104 LTS 64 bit ARM Edition\\",\\n \\"Architecture\\": \\"x86_64\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListSoftwares', ], - 'ListSharedStorages' => [ - 'summary' => 'Queries the shared storage that is attached to a cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteQueues' => [ + 'summary' => 'Deletes queues from an Enterprise High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228377', - 'abilityTreeNodes' => [ - 'FEATUREehpcR3Y7DN', - ], + 'abilityTreeCode' => '228049', + 'abilityTreeNodes' => ['FEATUREehpcAB36B2'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'FileSystemType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the attached file system. Valid values:'."\n" - ."\n" - .'* nas'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nas', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'FileSystemId', + 'name' => 'QueueNames', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the attached file system.'."\n", - 'type' => 'string', + 'description' => 'The queues that you want to delete.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The queue that you want to delete.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], 'required' => false, - 'example' => '0bd504b0**', + 'title' => '', ], ], ], @@ -3031,384 +1891,162 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'SharedStorages' => [ - 'description' => 'The information about the attached shared storage.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the shared storage.'."\n", - 'type' => 'object', - 'properties' => [ - 'FileSystemId' => [ - 'description' => 'The ID of the attached file system.'."\n", - 'type' => 'string', - 'example' => '08c7f4b***', - ], - 'FileSystemType' => [ - 'description' => 'The type of the attached file system. Valid values:'."\n" - ."\n" - .'* nas'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'example' => 'nas', - ], - 'MountInfo' => [ - 'description' => 'The mount information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The mount configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountDirectory' => [ - 'description' => 'The local mount directory of the attached file system.'."\n", - 'type' => 'string', - 'example' => '/test', - ], - 'StorageDirectory' => [ - 'description' => 'The storage directory of the attached file system.'."\n", - 'type' => 'string', - 'example' => '/testehpc', - ], - 'MountOptions' => [ - 'description' => 'The mount options for the attached file system. Valid values:'."\n" - ."\n" - .'* \\-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" - .'* \\-t nfs -o vers=4.0,noresvport'."\n", - 'type' => 'string', - 'example' => '-t nfs -o vers=4.0,noresvport', - ], - 'MountTarget' => [ - 'description' => 'The mount target of the attached file system.'."\n", - 'type' => 'string', - 'example' => '0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com', - ], - 'ProtocolType' => [ - 'description' => 'The protocol used by the mount target of the attached file system. Valid values:'."\n" - ."\n" - .'* nfs3'."\n" - .'* nfs4'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'example' => 'nfs3', - ], - ], - ], - ], - 'FileSystemProtocol' => [ - 'description' => 'The protocol used by the attached file system. Valid values:'."\n" - ."\n" - .'* nfs3'."\n" - .'* nfs4'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'example' => 'nfs4', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', + 406 => [ + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteQueues', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Before you delete a queue, you must delete all compute nodes in the queue.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteQueues'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"Success\\": \\"true\\",\\n \\"SharedStorages\\": [\\n {\\n \\"FileSystemId\\": \\"08c7f4b***\\",\\n \\"FileSystemType\\": \\"nas\\",\\n \\"MountInfo\\": [\\n {\\n \\"MountDirectory\\": \\"/test\\",\\n \\"StorageDirectory\\": \\"/testehpc\\",\\n \\"MountOptions\\": \\"-t nfs -o vers=4.0,noresvport\\",\\n \\"MountTarget\\": \\"0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"ProtocolType\\": \\"nfs3\\"\\n }\\n ],\\n \\"FileSystemProtocol\\": \\"nfs4\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListSharedStorages', ], - 'ListInstalledSoftwares' => [ - 'summary' => 'Queries the installed software of a cluster.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteReservedNodePool' => [ + 'summary' => 'Deletes the specified reserved node pool.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227332', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], + 'abilityTreeCode' => '259198', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterId', + 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The reserved node pool ID.', 'type' => 'string', 'required' => false, 'example' => 'rnp-cdx****'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'AdditionalPackages' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AdditionalPackageInfos' => [ - 'description' => 'The list of installed software.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'example' => 'gromacs', - ], - 'Category' => [ - 'description' => 'The category into which the software falls.'."\n", - 'type' => 'string', - 'example' => 'NWP', - ], - 'Icon' => [ - 'description' => 'The URL of the software icon.'."\n", - 'type' => 'string', - 'example' => 'https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg', - ], - 'Description' => [ - 'description' => 'The software description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Version' => [ - 'description' => 'The software version.'."\n", - 'type' => 'string', - 'example' => '2024.1', - ], - 'Status' => [ - 'description' => 'The installation status of the software.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Installed'."\n" - .'* Uninstalled'."\n" - .'* Installing'."\n" - .'* Exception'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Installed' => 'Installed', - 'Uninstalled' => 'Uninstalled', - 'Installing' => 'Installing', - 'Exception' => 'Exception', - ], - 'example' => 'Installed', - ], - 'CreateTime' => [ - 'description' => 'The time when the software was installed.'."\n", - 'type' => 'string', - 'example' => '2024-03-05 18:24:08', - ], - ], - 'description' => '', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], 404 => [ - [ - 'errorCode' => 'ImageNotFound', - 'errorMessage' => 'The specified image does not exist.', - ], - [ - 'errorCode' => 'LoginNotFound', - 'errorMessage' => 'The specified login node does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'RervedNodePoolNotFound', 'errorMessage' => 'The reserved nodepool is not exist.', 'description' => 'The specified reserved node pool does not exist'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"AdditionalPackages\\": {\\n \\"AdditionalPackageInfos\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Category\\": \\"NWP\\",\\n \\"Icon\\": \\"https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg\\",\\n \\"Description\\": \\"gromacs 2024.1版本\\",\\n \\"Version\\": \\"2024.1\\",\\n \\"Status\\": \\"Installed\\",\\n \\"CreateTime\\": \\"2024-03-05 18:24:08\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListInstalledSoftwares', - ], - 'ListClusters' => [ - 'summary' => 'Queries all clusters of a user in each region.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'title' => 'DeleteReservedNodePool', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + ], + 'DeleteUsers' => [ + 'summary' => 'Deletes users from a cluster.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '227335', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeCode' => '228356', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ClusterIds', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The cluster IDs. You can specify up to 20 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-cn-wulanchabu-llsu******', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ClusterNames', + 'name' => 'User', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The cluster names. You can specify up to 20 names.'."\n", + 'description' => 'The users that you want to delete.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The cluster name.'."\n", - 'type' => 'string', + 'description' => 'The information about the user that you want to delete.'."\n", + 'type' => 'object', + 'properties' => [ + 'UserName' => ['description' => 'The name of user N that you want to delete.'."\n" + ."\n" + .'Valid values of N: 1 to 100.'."\n", 'type' => 'string', 'required' => true, 'example' => 'testuser', 'title' => ''], + ], 'required' => false, - 'example' => 'slurm22.05.8-cluster-20240802'."\n", + 'title' => '', ], - 'required' => false, - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 10 to 100. Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'required' => true, + 'title' => '', ], ], ], @@ -3416,412 +2054,72 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => 'MaxResults本次请求所返回的最大记录条数', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Clusters' => [ - 'description' => 'The list of clusters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-VMKe******', - ], - 'ClusterName' => [ - 'description' => 'The cluster name.'."\n", - 'type' => 'string', - 'example' => 'slurm22.05.8-cluster-20240227', - ], - 'ClusterDescription' => [ - 'description' => 'The cluster description.'."\n", - 'type' => 'string', - 'example' => 'Demo', - ], - 'ClusterCreateTime' => [ - 'description' => 'The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2024-08-06T12:43:01.000Z', - ], - 'ClusterModifyTime' => [ - 'description' => 'The time when the cluster was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2024-08-06T12:43:01.000Z', - ], - 'ClusterCategory' => [ - 'description' => 'The cluster type. Valid values:'."\n" - ."\n" - .'* Standard'."\n" - .'* Serverless'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'ClusterStatus' => [ - 'description' => 'The cluster state. Valid values:'."\n" - ."\n" - .'* uninit: The cluster is being installed.'."\n" - .'* creating: The cluster is being created.'."\n" - .'* initing: The cluster is being initialized.'."\n" - .'* running: The cluster is running.'."\n" - .'* Releasing: The cluster is being released.'."\n" - .'* stopping: The cluster is being stopped.'."\n" - .'* stopped: The cluster is stopped.'."\n" - .'* exception: The cluster has run into an exception.'."\n" - .'* pending: The cluster is waiting to be configured.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'ClusterVpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) used by the cluster.'."\n", - 'type' => 'string', - 'example' => 'vpc-m5efjevmclc0xdmys****'."\n", - ], - 'ClusterVSwitchId' => [ - 'description' => 'The ID of the vSwitch used by the cluster.'."\n", - 'type' => 'string', - 'example' => 'vsw-f8za5p0mwzgdu3wgx****'."\n", - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group used by the cluster.'."\n", - 'type' => 'string', - 'example' => 'sg-bp13n61xsydodfyg****'."\n", - ], - 'ClusterCustomConfiguration' => [ - 'description' => 'The post-processing script used by the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'Script' => [ - 'description' => 'The link to the post-processing script.'."\n", - 'type' => 'string', - 'example' => 'https://xxxxx', - ], - 'Args' => [ - 'description' => 'The parameters of the post-processing script.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - ], - ], - 'MaxCount' => [ - 'description' => 'The maximum number of compute nodes that can be managed by the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '500', - ], - 'MaxCoreCount' => [ - 'description' => 'The maximum total number of vCPUs used by the compute nodes that can be managed by the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10000', - ], - 'DeletionProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph****', - ], - 'Manager' => [ - 'description' => 'The configurations of the cluster management node.'."\n", - 'type' => 'object', - 'properties' => [ - 'Scheduler' => [ - 'description' => 'The configurations of the scheduler service.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The scheduler type.'."\n", - 'type' => 'string', - 'example' => 'SLURM', - ], - 'Version' => [ - 'description' => 'The scheduler version.'."\n", - 'type' => 'string', - 'example' => '22.05.8'."\n", - ], - ], - ], - 'DirectoryService' => [ - 'description' => 'The configurations of the directory service.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the domain account.'."\n", - 'type' => 'string', - 'example' => 'NIS', - ], - 'Version' => [ - 'description' => 'The version of the domain account service.'."\n", - 'type' => 'string', - 'example' => '2.31'."\n", - ], - ], - ], - 'DNS' => [ - 'description' => 'The configurations of the domain name resolution service.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The resolution type.'."\n", - 'type' => 'string', - 'example' => 'NIS', - ], - 'Version' => [ - 'description' => 'The version of the domain name resolution service.'."\n", - 'type' => 'string', - 'example' => '2.31', - ], - ], - ], - ], - ], - 'EhpcVersion' => [ - 'description' => 'The Elastic High Performance Computing (E-HPC) version.'."\n", - 'type' => 'string', - 'example' => '2.0.0', - ], - 'Nodes' => [ - 'description' => 'The node statistics of the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'RunningCounts' => [ - 'description' => 'The number of running compute nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AbnormalCounts' => [ - 'description' => 'The number of malfunctioning compute nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CreatingCounts' => [ - 'description' => 'The number of compute nodes that are being created.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - 'Users' => [ - 'description' => 'The user attribute information of the cluster.'."\n", - 'type' => 'object', - 'properties' => [ - 'SudoCounts' => [ - 'description' => 'The number of administrators.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NormalCounts' => [ - 'description' => 'The number of ordinary users.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - ], - ], - 'AdditionalPackages' => [ - 'description' => 'The information about installed software in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the software.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The software name.'."\n", - 'type' => 'string', - 'example' => 'gromacs', - ], - 'Version' => [ - 'description' => 'The software version.'."\n", - 'type' => 'string', - 'example' => '2024.1', - ], - ], - ], - ], - 'Addons' => [ - 'description' => 'The information about the addons in the cluster.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the addon.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'Label' => [ - 'description' => 'The addon label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'AddonId' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'example' => 'Login-1.0-W2g****'."\n", - ], - 'Description' => [ - 'description' => 'The addon description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Status' => [ - 'description' => 'The addon state.'."\n", - 'type' => 'string', - 'example' => 'Running'."\n", - ], - 'ServicesSpec' => [ - 'description' => 'The information about the addon services.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the service.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Web Portal'."\n", - ], - 'ServiceAccessType' => [ - 'description' => 'The service access type.'."\n", - 'type' => 'string', - 'example' => 'URL', - ], - 'ServiceAccessUrl' => [ - 'description' => 'The service access URL.'."\n", - 'type' => 'string', - 'example' => 'https://47.96.xx.xx:12008'."\n", - ], - ], - ], - ], - 'ResourcesSpec' => [ - 'description' => 'The resource configurations of the addon.'."\n", - 'type' => 'object', - 'properties' => [ - 'EipInstanceId' => [ - 'description' => 'The Elastic IP Address (EIP) ID.'."\n", - 'type' => 'string', - 'example' => 'eip-bp1vi9124tbx1g3kr****'."\n", - ], - 'EcsInstanceId' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'example' => 'i-bp1bg85d2q6laic8****', - ], - ], - ], - ], - ], - ], - 'ClusterUsedCoreTime' => [ - 'description' => 'The vCPU-hour usage of the cluster.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1000', - ], - 'ClusterMode' => [ - 'description' => 'The deployment type of the cluster. Valid values:'."\n" - ."\n" - .'* Integrated: public cloud'."\n" - .'* Hybrid: hybrid cloud'."\n" - .'* Custom: a custom cluster'."\n", - 'type' => 'string', - 'example' => 'Integrated', - ], - 'ClusterCredentials' => [ - 'description' => 'The logon credential type of the cluster. Valid values:'."\n" - ."\n" - .'* password: requires passwords for logons.'."\n" - .'* keypair: requires key pairs for logons.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The credential type.'."\n", - 'type' => 'string', - 'example' => 'password', - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE****'], ], ], ], ], 'errorCodes' => [ - 407 => [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ], + 406 => [ + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserNotExist', 'errorMessage' => 'The specified user is not found in the domain: %s.', 'description' => 'The user does not exist in the domain: %s.'], + ['errorCode' => 'AgentError.Account.UserDeleteFailure', 'errorMessage' => 'Failed to delete user from domain: %s.', 'description' => 'Failed to remove the user from domain: %s'], + ['errorCode' => 'AgentResponseTimeout', 'errorMessage' => 'Agent response timeout: %s', 'description' => ''], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'title' => 'DeleteUsers', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteUsers'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": 10,\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"ehpc-hz-VMKe******\\",\\n \\"ClusterName\\": \\"slurm22.05.8-cluster-20240227\\",\\n \\"ClusterDescription\\": \\"Demo\\",\\n \\"ClusterCreateTime\\": \\"2024-08-06T12:43:01.000Z\\",\\n \\"ClusterModifyTime\\": \\"2024-08-06T12:43:01.000Z\\",\\n \\"ClusterCategory\\": \\"Standard\\",\\n \\"ClusterStatus\\": \\"running\\",\\n \\"ClusterVpcId\\": \\"vpc-m5efjevmclc0xdmys****\\\\n\\",\\n \\"ClusterVSwitchId\\": \\"vsw-f8za5p0mwzgdu3wgx****\\\\n\\",\\n \\"SecurityGroupId\\": \\"sg-bp13n61xsydodfyg****\\\\n\\",\\n \\"ClusterCustomConfiguration\\": {\\n \\"Script\\": \\"https://xxxxx\\",\\n \\"Args\\": \\"demo\\"\\n },\\n \\"MaxCount\\": 500,\\n \\"MaxCoreCount\\": 10000,\\n \\"DeletionProtection\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Manager\\": {\\n \\"Scheduler\\": {\\n \\"Type\\": \\"SLURM\\",\\n \\"Version\\": \\"22.05.8\\\\n\\"\\n },\\n \\"DirectoryService\\": {\\n \\"Type\\": \\"NIS\\",\\n \\"Version\\": \\"2.31\\\\n\\"\\n },\\n \\"DNS\\": {\\n \\"Type\\": \\"NIS\\",\\n \\"Version\\": \\"2.31\\"\\n }\\n },\\n \\"EhpcVersion\\": \\"2.0.0\\",\\n \\"Nodes\\": {\\n \\"RunningCounts\\": 1,\\n \\"AbnormalCounts\\": 0,\\n \\"CreatingCounts\\": 0\\n },\\n \\"Users\\": {\\n \\"SudoCounts\\": 2,\\n \\"NormalCounts\\": 2\\n },\\n \\"AdditionalPackages\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Version\\": \\"2024.1\\"\\n }\\n ],\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"登录节点\\\\n\\",\\n \\"AddonId\\": \\"Login-1.0-W2g****\\\\n\\",\\n \\"Description\\": \\"登录节点,主要用于E-HPC集群环境的连接登录及用户任务的提交。\\\\n\\",\\n \\"Status\\": \\"Running\\\\n\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\\\n\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\\\n\\"\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipInstanceId\\": \\"eip-bp1vi9124tbx1g3kr****\\\\n\\",\\n \\"EcsInstanceId\\": \\"i-bp1bg85d2q6laic8****\\"\\n }\\n }\\n ],\\n \\"ClusterUsedCoreTime\\": 1000,\\n \\"ClusterMode\\": \\"Integrated\\",\\n \\"ClusterCredentials\\": [\\n \\"password\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListClusters', ], - 'ListAvailableImages' => [ - 'summary' => 'Queries images that are available for Elastic High Performance Computing (E-HPC) clusters.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DescribeAddonTemplate' => [ + 'summary' => 'Queries the details of an addon template.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3833,143 +2131,40 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ImageOwnerAlias', - 'in' => 'query', - 'schema' => [ - 'description' => 'The image source. Valid values:'."\n" - ."\n" - .'* system: system image.'."\n" - .'* self: custom image.'."\n" - .'* others: shared image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'self', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type.'."\n" - ."\n" - .'> By default, if you do not specify an instance type, the list of images that are supported by all instance types are queried. For more information, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c7.large', - ], - ], - [ - 'name' => 'IsPublic', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return published community images. Valid values:'."\n" - ."\n" - .'* true: returns published community images. If you set the value of this parameter to `true`, the `ImageOwnerAlias` parameter must be set to `others`.'."\n" - .'* false: returns non-community images. The value of the `ImageOwnerAlias` parameter prevails.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HPCInterConnect', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the images that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => 'The page number of the page returned. Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'EnableHT', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return images in which hyper-threading is enabled.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The number of entries per page. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'AddonName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The scheduler information about the images that you want to query.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The scheduler type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SLURM', - ], - 'Version' => [ - 'description' => 'The scheduler version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22.05.8', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], ], [ - 'name' => 'DirectoryService', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The information about the domain account service.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the domain account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NIS', - ], - 'Version' => [ - 'description' => 'The version of the domain account service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - ], - ], - 'required' => false, - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'AddonVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], ], 'responses' => [ @@ -3979,448 +2174,215 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'TotalCount' => [ - 'title' => 'Id of the request', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => 'Id of the request', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'PageNumber' => [ - 'title' => 'Id of the request', - 'description' => 'The page number of the returned page.'."\n" - ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Images' => [ - 'description' => 'The information about the images.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => 'The image ID.'."\n", - 'type' => 'string', - 'example' => 'centos_7_06_64_20G_alibase_2019071****', - ], - 'OSNameEn' => [ - 'description' => 'The OS name in English.'."\n", - 'type' => 'string', - 'example' => 'CentOS 7.9 64 bit', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The image source. Valid values:'."\n" - ."\n" - .'* system: system image.'."\n" - .'* self: custom image.'."\n" - .'* others: shared image.'."\n", - 'type' => 'string', - 'example' => 'self', - ], - 'Description' => [ - 'description' => 'The image description.'."\n", - 'type' => 'string', - 'example' => 'ExampleDescription', - ], - 'Size' => [ - 'description' => 'The image size. Unit: GiB'."\n", - 'type' => 'string', - 'example' => '40', - ], - 'Platform' => [ - 'description' => 'The OS. Valid values:'."\n" - ."\n" - .'* CentOS'."\n" - .'* windows'."\n", - 'type' => 'string', - 'example' => 'windows', - ], - 'OSName' => [ - 'description' => 'The OS name in Chinese.'."\n", - 'type' => 'string', + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'PageSize' => ['title' => 'PageSize', 'description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'PageNumber' => ['title' => 'PageNumber', 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'Addon' => [ + 'title' => 'Addon', + 'description' => 'The details of the addon template.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'Label' => ['description' => 'The addon label.'."\n", 'type' => 'string', 'example' => 'Logon node', 'title' => ''], + 'Description' => ['description' => 'The addon description.'."\n", 'type' => 'string', 'example' => 'Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.', 'title' => ''], + 'Icon' => ['description' => 'The addon icon.'."\n", 'type' => 'string', 'example' => '/assets/icons/your_icon.svg', 'title' => ''], + 'LastUpdate' => ['description' => 'The date when the addon template was last updated.'."\n", 'type' => 'string', 'example' => '2024-08-22 18:11:17', 'title' => ''], + 'ServicesSpec' => [ + 'description' => 'The addon configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The service configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The service name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Web Portal', 'title' => ''], + 'ServiceAccessType' => ['description' => 'The service access type.'."\n", 'type' => 'string', 'example' => 'URL', 'title' => ''], + 'ServiceAccessUrl' => ['description' => 'The service access URL.'."\n", 'type' => 'string', 'example' => 'https://47.96.xx.xx:12008', 'title' => ''], + 'InputParams' => [ + 'description' => 'The parameter configurations of the service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The parameter details.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The parameter name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'MYSQL_HOME', 'title' => ''], + 'Label' => ['description' => 'The parameter label.'."\n", 'type' => 'string', 'example' => 'MySQL installation path', 'title' => ''], + 'Value' => ['description' => 'The parameter value.'."\n", 'type' => 'string', 'required' => true, 'example' => 'usr/local/mysql', 'title' => ''], + 'Type' => ['description' => 'The parameter type.'."\n", 'type' => 'string', 'required' => true, 'example' => 'String', 'title' => ''], + 'HelpText' => ['description' => 'The help information of the parameter.'."\n", 'type' => 'string', 'example' => 'MySQL installation root directory', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NetworkACL' => [ + 'description' => 'The security group configurations of the service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The security group rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'IpProtocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* **TCP**: forwards TCP packets.'."\n" + .'* **UDP**: forwards UDP packets.'."\n" + .'* **Any**: forwards all packets.'."\n", 'type' => 'string', 'required' => true, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number.'."\n", 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '3306', 'title' => ''], + 'SourceCidrIp' => ['description' => 'The source CIDR block.'."\n", 'type' => 'string', 'required' => true, 'example' => '172.16.0.0/12', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', 'example' => '', ], - 'Architecture' => [ - 'description' => 'The OS architecture of the image. Valid values:'."\n" - ."\n" - .'* x86\\_64'."\n" - .'* arm64'."\n", - 'type' => 'string', - 'example' => 'x86_64', - ], - 'BootMode' => [ - 'description' => 'The boot mode of the image. Valid values:'."\n" - ."\n" - .'* BIOS: Basic Input/Output System (BIOS).'."\n" - .'* UEFI: Unified Extensible Firmware Interface (UEFI).'."\n" - ."\n" - .'> When you change the OS boot mode of an instance, you must make sure that the boot mode matches the boot mode of the associated image. Otherwise, the instance fails to be booted.'."\n", - 'type' => 'string', - 'example' => 'BIOS', - ], - 'ImageName' => [ - 'description' => 'The image name.'."\n", - 'type' => 'string', - 'example' => 'CHESS5V5.0.27', - ], + 'title' => '', + 'example' => '', ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], - ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"PageSize\\": \\"20\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"Success\\": true,\\n \\"Images\\": [\\n {\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_2019071****\\",\\n \\"OSNameEn\\": \\"CentOS 7.9 64 bit\\",\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": \\"40\\",\\n \\"Platform\\": \\"windows\\",\\n \\"OSName\\": \\"CentOS 7.9 64位\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BootMode\\": \\"BIOS\\",\\n \\"ImageName\\": \\"CHESS5V5.0.27\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListAvailableImages', - ], - 'ListAvailableFileSystems' => [ - 'summary' => 'Queries the file systems that can be attached in a region.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227344', - 'abilityTreeNodes' => [ - 'FEATUREehpcR3Y7DN', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return. Page starts from page 1. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BF4E8AB1-02A3-5ECF-87CC-3AB7BE98**', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '65', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FileSystemList' => [ - 'description' => 'The file systems.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the file system.'."\n", - 'type' => 'object', - 'properties' => [ - 'FileSystemId' => [ - 'description' => 'The ID of the file system.'."\n", - 'type' => 'string', - 'example' => '2fa0248***', - ], - 'FileSystemType' => [ - 'description' => 'The type of the file system. Valid values:'."\n" - ."\n" - .'* standard: general-purpose network-attached storage (NAS) file system'."\n" - .'* extreme: extreme NAS file system'."\n", - 'type' => 'string', - 'example' => 'cpfs', - ], - 'Status' => [ - 'description' => 'The state of the file system. Valid values:'."\n" - ."\n" - .'* Pending: The file system is processing a task.'."\n" - .'* Running: The file system is available. You can perform subsequent operations, such as creating a mount target, only when the file system is in the Running state.'."\n" - .'* Stopped: The file system is unavailable.'."\n" - .'* Extending: The file system is being scaled out.'."\n" - .'* Stopping: The file system is being stopped.'."\n" - .'* Deleting: The file system is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'ProtocolType' => [ - 'description' => 'The protocol type of the file system. Valid values:'."\n" - ."\n" - .'* nfs'."\n" - .'* smb'."\n" - .'* cpfs'."\n", - 'type' => 'string', - 'example' => 'cpfs', - ], - 'CreateTime' => [ - 'description' => 'The time when the file system was created.'."\n", - 'type' => 'string', - 'example' => '2024-7-29 15:43:53', - ], - 'MountTargetList' => [ - 'description' => 'The mount targets of the file system.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the mount target.'."\n", + 'ResourcesSpec' => [ + 'description' => 'The resource configurations of the addon.'."\n", + 'type' => 'object', + 'properties' => [ + 'EipResource' => [ + 'description' => 'The Elastic IP Address (EIP) configurations of the service.'."\n", 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The virtual private cloud (VPC) ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', - ], - 'MountTargetDomain' => [ - 'description' => 'The address of the mount target.'."\n", - 'type' => 'string', - 'example' => 'c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com', - ], - 'Status' => [ - 'description' => 'The state of the mount target. Valid values:'."\n" - ."\n" - .'* Active: The mount target is available.'."\n" - .'* Inactive: The mount target is unavailable.'."\n" - .'* Pending: The mount target is being mounted.'."\n" - .'* Deleting: The mount target is being deleted.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze0c41hwu7lc29ris***', - ], - 'NetworkType' => [ - 'description' => 'The network type. Valid values: Valid values:'."\n" - ."\n" - .'* vpc'."\n", - 'type' => 'string', - 'example' => 'vpc', - ], + 'AutoCreate' => ['description' => 'Indicates whether the EIP is automatically created.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'EipInstanceId' => ['description' => 'The EIP ID.'."\n", 'type' => 'string', 'example' => 'eip-bp1jwtsuoiif2qf90****', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the EIP. Valid values:'."\n" + ."\n" + .'* PostPaid: pay-as-you-go.'."\n" + .'* PrePaid: subscription.'."\n" + ."\n" + .'Default value: PostPaid'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay by bandwidth.'."\n" + .'* PayByTraffic: pay by data transfer.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''], ], + 'title' => '', + 'example' => '', + ], + 'EcsResources' => [ + 'description' => 'The Elastic Compute Service (ECS) resource configurations of the addon.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The configurations of the ECS instance.'."\n", '$ref' => '#/components/schemas/AddonNodeTemplate', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', ], ], - 'StorageType' => [ - 'description' => 'The storage type of the file system.'."\n" - ."\n" - .'* Valid values if FileSystemType is set to standard: Capacity and Performance.'."\n" - .'* Valid values if FileSystemType is set to extreme: standard and advance.'."\n", - 'type' => 'string', - 'example' => 'Performance', - ], - 'VpcId' => [ - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp132kgui8n0targb****', - ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'NasError', - 'errorMessage' => 'NAS API request failed.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BF4E8AB1-02A3-5ECF-87CC-3AB7BE98**\\",\\n \\"TotalCount\\": 65,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"FileSystemList\\": [\\n {\\n \\"FileSystemId\\": \\"2fa0248***\\",\\n \\"FileSystemType\\": \\"cpfs\\",\\n \\"Status\\": \\"Running\\",\\n \\"ProtocolType\\": \\"cpfs\\",\\n \\"CreateTime\\": \\"2024-7-29 15:43:53\\",\\n \\"MountTargetList\\": [\\n {\\n \\"VpcId\\": \\"vpc-8vbvb34rtyh6xb3zrehs1****\\",\\n \\"MountTargetDomain\\": \\"c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com\\",\\n \\"Status\\": \\"Active\\",\\n \\"VSwitchId\\": \\"vsw-2ze0c41hwu7lc29ris***\\",\\n \\"NetworkType\\": \\"vpc\\"\\n }\\n ],\\n \\"StorageType\\": \\"Performance\\",\\n \\"VpcId\\": \\"vpc-bp132kgui8n0targb****\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListAvailableFileSystems', - ], - 'ListAddons' => [ - 'summary' => 'Queries installed addons of an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"Addon\\": {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"Logon node\\",\\n \\"Description\\": \\"Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.\\",\\n \\"Icon\\": \\"/assets/icons/your_icon.svg\\",\\n \\"LastUpdate\\": \\"2024-08-22 18:11:17\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\",\\n \\"InputParams\\": [\\n {\\n \\"Name\\": \\"MYSQL_HOME\\",\\n \\"Label\\": \\"MySQL installation path\\",\\n \\"Value\\": \\"usr/local/mysql\\",\\n \\"Type\\": \\"String\\",\\n \\"HelpText\\": \\"MySQL installation root directory\\"\\n }\\n ],\\n \\"NetworkACL\\": [\\n {\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"Port\\": 3306,\\n \\"SourceCidrIp\\": \\"172.16.0.0/12\\"\\n }\\n ]\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipResource\\": {\\n \\"AutoCreate\\": true,\\n \\"EipInstanceId\\": \\"eip-bp1jwtsuoiif2qf90****\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"Bandwidth\\": \\"100\\"\\n },\\n \\"EcsResources\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"InstanceId\\": \\"i-bp1bzqq4rj1eemun****\\",\\n \\"PrivateIpAddress\\": \\"172.16.**.**\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"OsName\\": \\"CentOS 7.6 64 位\\",\\n \\"OsNameEN\\": \\"CentOS 7.6 64 bit\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeAddonTemplate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddonTemplate'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:DescribeAddonTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DetachSharedStorages' => [ + 'summary' => 'Unmounts shared storage from the mount directory of a cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '228012', - 'abilityTreeNodes' => [ - 'FEATUREehpcXOL4GQ', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '227345', + 'abilityTreeNodes' => ['FEATUREehpcR3Y7DN'], ], 'parameters' => [ [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], - ], - [ - 'name' => 'AddonIds', + 'name' => 'SharedStorages', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The addon IDs.'."\n", + 'description' => 'The information about mounted shared storage resources.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', + 'description' => 'The information about the mounted shared storage resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountDirectory' => ['description' => 'The local mount directory of the mounted file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '/test', 'title' => ''], + ], 'required' => false, - 'example' => 'Login-1.0-W4g****', + 'title' => '', ], - 'required' => false, + 'required' => true, + 'title' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ @@ -4430,164 +2392,62 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageSize' => [ - 'title' => 'PageSize', - 'description' => 'The page number of the returned page. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageNumber' => [ - 'title' => 'PageNumber', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Addons' => [ - 'title' => 'Addons', - 'description' => 'The information about the addons.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the addon.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'AddonId' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login-1.0-W4g****'."\n", - ], - 'Label' => [ - 'description' => 'The addon label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Description' => [ - 'description' => 'The addon description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'InstallTime' => [ - 'description' => 'The time when the addon was installed.'."\n", - 'type' => 'string', - 'example' => '2024-08-22 18:11:17', - ], - 'Status' => [ - 'description' => 'The addon state.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'VolumeNotFound', 'errorMessage' => 'The specified volume does not exist.', 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DetachSharedStorages', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:DetachSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": \\"true\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachSharedStorages'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 20,\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AddonId\\": \\"Login-1.0-W4g****\\\\n\\",\\n \\"Label\\": \\"登录节点。\\",\\n \\"Description\\": \\"登录节点,主要用于E-HPC集群环境的连接登录及用户任务的提交。\\",\\n \\"InstallTime\\": \\"2024-08-22 18:11:17\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListAddons', ], - 'ListAddonTemplates' => [ - 'summary' => 'Queries supported addon templates.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAddon' => [ + 'summary' => 'Queries the details of an installed addon.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4599,75 +2459,19 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '228026', + 'abilityTreeNodes' => ['FEATUREehpcXOL4GQ'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return. Pages start from page 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'AddonNames', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The addon names.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Login', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ClusterCategory', + 'name' => 'AddonId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster type. Valid values:'."\n" - ."\n" - .'* Standard'."\n" - .'* Serverless'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], + 'schema' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login-1.0-W4g****'."\n", 'title' => ''], ], ], 'responses' => [ @@ -4677,146 +2481,178 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageSize' => [ - 'title' => 'PageSize', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'PageNumber' => [ - 'title' => 'PageNumber', - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Addons' => [ - 'title' => 'Addons', - 'description' => 'The information about the addon templates.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the addon template.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'Label' => [ - 'description' => 'The addon label'."\n", - 'type' => 'string', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****'], + 'Addon' => [ + 'title' => 'Addon', + 'description' => 'The information about the addon.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'AddonId' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login-1.0-W2g****', 'title' => ''], + 'Label' => ['description' => 'The addon label.'."\n", 'type' => 'string', 'example' => 'Logon node', 'title' => ''], + 'Description' => ['description' => 'The addon description.'."\n", 'type' => 'string', 'example' => 'Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.', 'title' => ''], + 'Icon' => ['description' => 'The addon icon.'."\n", 'type' => 'string', 'example' => '/assets/icons/your_icon.svg'."\n", 'title' => ''], + 'InstallTime' => ['description' => 'The time when the addon was installed.'."\n", 'type' => 'string', 'example' => '2024-08-22 18:11:17'."\n", 'title' => ''], + 'Status' => ['description' => 'The addon status.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'ServicesSpec' => [ + 'description' => 'The service configurations of the addon.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The service configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The service name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Web Portal', 'title' => ''], + 'ServiceAccessType' => ['description' => 'The service access type.'."\n", 'type' => 'string', 'example' => 'URL', 'title' => ''], + 'ServiceAccessUrl' => ['description' => 'The service access URL.'."\n", 'type' => 'string', 'example' => 'https://47.96.xx.xx:12008', 'title' => ''], + 'InputParams' => [ + 'description' => 'The parameter configurations of the service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The parameter details.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The parameter name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'MYSQL_HOME'."\n", 'title' => ''], + 'Label' => ['description' => 'The parameter label.'."\n", 'type' => 'string', 'example' => 'MySQL installation path', 'title' => ''], + 'Value' => ['description' => 'The parameter value.'."\n", 'type' => 'string', 'required' => true, 'example' => 'usr/local/mysql'."\n", 'title' => ''], + 'Type' => ['description' => 'The parameter type.'."\n", 'type' => 'string', 'required' => true, 'example' => 'String'."\n", 'title' => ''], + 'HelpText' => ['description' => 'The help information of the parameter.'."\n", 'type' => 'string', 'example' => 'MySQL installation root directory', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NetworkACL' => [ + 'description' => 'The security group configurations of the service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The security group rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'IpProtocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'TCP: forwards TCP packets.'."\n" + ."\n" + .'UDP: forwards UDP packets.'."\n" + ."\n" + .'Any: forwards all packets.'."\n", 'type' => 'string', 'required' => true, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number.'."\n", 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '3306'."\n", 'title' => ''], + 'SourceCidrIp' => ['description' => 'The source CIDR block.'."\n", 'type' => 'string', 'required' => true, 'example' => '172.16.0.0/12'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', 'example' => '', ], - 'Description' => [ - 'description' => 'The addon description.'."\n", - 'type' => 'string', - 'example' => '', + 'title' => '', + 'example' => '', + ], + 'ResourcesSpec' => [ + 'description' => 'The resource configurations of the addon.'."\n", + 'type' => 'object', + 'properties' => [ + 'EipResource' => [ + 'description' => 'The Elastic IP Address (EIP) configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'AutoCreate' => ['description' => 'Indicates whether the EIP is automatically created.'."\n", 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'EipInstanceId' => ['description' => 'The EIP ID.'."\n", 'type' => 'string', 'example' => 'eip-bp1vi9124tbx1g3kr****', 'title' => ''], + 'EipAddress' => ['description' => 'The EIP.'."\n", 'type' => 'string', 'example' => '39.108.xx.xx', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the EIP.'."\n" + ."\n" + .'* PostPaid: pay-as-you-go.'."\n" + .'* PrePaid: subscription.'."\n" + ."\n" + .'Default value: PostPaid.'."\n", 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method of the EIP. Valid values:'."\n" + ."\n" + .'* PayByBandwidth: pay by bandwidth.'."\n" + .'* PayByTraffic: pay by data transfer.'."\n" + ."\n" + .'Valid values of N: 1 to 10.'."\n", 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'EcsResources' => [ + 'description' => 'The Elastic Compute Service (ECS) resource configurations of the addon.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The configurations of the ECS node.'."\n", '$ref' => '#/components/schemas/AddonNodeTemplate', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\",\\n \\"Addon\\": {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AddonId\\": \\"Login-1.0-W2g****\\",\\n \\"Label\\": \\"Logon node\\",\\n \\"Description\\": \\"Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.\\",\\n \\"Icon\\": \\"/assets/icons/your_icon.svg\\\\n\\",\\n \\"InstallTime\\": \\"2024-08-22 18:11:17\\\\n\\",\\n \\"Status\\": \\"Running\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\",\\n \\"InputParams\\": [\\n {\\n \\"Name\\": \\"MYSQL_HOME\\\\n\\",\\n \\"Label\\": \\"MySQL installation path\\",\\n \\"Value\\": \\"usr/local/mysql\\\\n\\",\\n \\"Type\\": \\"String\\\\n\\",\\n \\"HelpText\\": \\"MySQL installation root directory\\"\\n }\\n ],\\n \\"NetworkACL\\": [\\n {\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"Port\\": 3306,\\n \\"SourceCidrIp\\": \\"172.16.0.0/12\\\\n\\"\\n }\\n ]\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipResource\\": {\\n \\"AutoCreate\\": true,\\n \\"EipInstanceId\\": \\"eip-bp1vi9124tbx1g3kr****\\",\\n \\"EipAddress\\": \\"39.108.xx.xx\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"Bandwidth\\": \\"100\\"\\n },\\n \\"EcsResources\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"InstanceId\\": \\"i-bp1bzqq4rj1eemun****\\",\\n \\"PrivateIpAddress\\": \\"172.16.**.**\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"OsName\\": \\"CentOS 7.6 64 位\\",\\n \\"OsNameEN\\": \\"CentOS 7.6 64 bit\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetAddon', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAddon'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"登录节点\\",\\n \\"Description\\": \\"登录节点,主要用于E-HPC集群环境的连接登录及用户任务的提交。\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListAddonTemplates', ], 'GetCluster' => [ - 'summary' => 'Queries information about an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4829,446 +2665,290 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '227340', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => 'E-HPC集群ID', - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'ehpc-hz-FYUr32****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'Returned parameter collection.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'ClusterId' => [ - 'title' => 'E-HPC集群ID', - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - 'ClusterName' => [ - 'title' => 'E-HPC集群名称', - 'description' => 'The cluster name.'."\n", - 'type' => 'string', - 'example' => 'slurm22.05.8-cluster-20240614', - ], - 'ClusterCategory' => [ - 'title' => '', - 'description' => 'The cluster type. Valid values:'."\n" - ."\n" - .'* Standard'."\n" - .'* Serverless'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'MaxCount' => [ - 'description' => 'The maximum number of compute nodes that the cluster can manage.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'MaxCoreCount' => [ - 'description' => 'The maximum total number of vCPUs that can be used by all compute nodes managed by the cluster.'."\n", - 'type' => 'string', - 'example' => '10000', - ], - 'DeleteProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph****', - ], - 'ClusterCreateTime' => [ - 'description' => 'The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2024-08-06T12:43:01.000Z'."\n", - ], - 'ClusterModifyTime' => [ - 'description' => 'The time when the cluster was last modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2024-08-06T12:43:01.000Z'."\n", - ], - 'ClusterVpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) used by the cluster.'."\n", - 'type' => 'string', - 'example' => 'vpc-uf6u3lk1pjy28eg*****', - ], - 'ClusterVSwitchId' => [ - 'description' => 'The ID of the vSwitch used by the cluster.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1p2uugqsjppno******', - ], - 'SecurityGroupId' => [ - 'description' => 'The security group ID.'."\n", - 'type' => 'string', - 'example' => 'sg-f8z9vb2zaezpkr69a21k', - ], - 'EhpcVersion' => [ - 'description' => 'The E-HPC version.'."\n", - 'type' => 'string', - 'example' => '2.0.0', - ], - 'ClientVersion' => [ - 'description' => 'The E-HPC Util version.'."\n", - 'type' => 'string', - 'example' => '2.0.31', - ], - 'ClusterStatus' => [ - 'description' => 'The cluster state. Valid values:'."\n" - ."\n" - .'* uninit: The cluster is being installed.'."\n" - .'* creating: The cluster is being created.'."\n" - .'* initing: The cluster is being initialized.'."\n" - .'* running: The cluster is running.'."\n" - .'* exception: The cluster has run into an exception.'."\n" - .'* raleasing: The cluster is being released.'."\n" - .'* stopping: The cluster is being stopped.'."\n" - .'* stopped: The cluster is stopped.'."\n" - .'* pending: The cluster is waiting to be configured.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'ClusterMode' => [ - 'description' => 'The deployment type of the cluster. Valid values:'."\n" - ."\n" - .'* Integrated: The cluster is deployed on a public cloud.'."\n" - .'* Hybrid: The cluster is deployed on a hybrid cloud.'."\n" - .'* Custom: The cluster is a custom cluster.'."\n", - 'type' => 'string', - 'example' => 'Integrated', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'ClusterId' => ['description' => 'The E-HPC cluster ID.', 'type' => 'string', 'title' => '', 'example' => 'ehpc-hz-FYUr32****'], + 'ClusterName' => ['description' => 'The E-HPC cluster name.', 'type' => 'string', 'title' => '', 'example' => 'slurm22.05.8-cluster-20240614'], + 'ClusterCategory' => ['description' => 'The cluster series. Valid values:'."\n" + ."\n" + .'- Standard'."\n" + ."\n" + .'- Serverless', 'type' => 'string', 'title' => '', 'example' => 'Standard'], + 'MaxCount' => ['description' => 'The number of compute nodes the cluster can manage.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'MaxCoreCount' => ['description' => 'The total number of cores of compute nodes the cluster can manage.', 'type' => 'string', 'example' => '10000', 'title' => ''], + 'DeleteProtection' => ['description' => 'Indicates whether delete protection is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Enable delete protection.'."\n" + ."\n" + .'- false: Do not enable delete protection.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], + 'ClusterCreateTime' => ['description' => 'The cluster creation time. The time follows the ISO 8601 standard and is in UTC+0. The format is yyyy-MM-ddTHH:mmZ. For more information, see [ISO 8601](~~25696~~).', 'type' => 'string', 'example' => '2024-08-06T12:43:01.000Z'."\n", 'title' => ''], + 'ClusterModifyTime' => ['description' => 'The cluster modification time. The time follows the ISO 8601 standard and is in UTC+0. The format is yyyy-MM-ddTHH:mmZ. For more information, see [ISO 8601](~~25696~~).', 'type' => 'string', 'example' => '2024-08-06T12:43:01.000Z'."\n", 'title' => ''], + 'ClusterVpcId' => ['description' => 'The Virtual Private Cloud (VPC) ID used by the cluster.', 'type' => 'string', 'example' => 'vpc-uf6u3lk1pjy28eg*****', 'title' => ''], + 'ClusterVSwitchId' => ['description' => 'The virtual switch ID used by the cluster.', 'type' => 'string', 'example' => 'vsw-bp1p2uugqsjppno******', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-f8z9vb2zaezpkr69a21k', 'title' => ''], + 'EhpcVersion' => ['description' => 'The E-HPC product version number.', 'type' => 'string', 'example' => '2.0.0', 'title' => ''], + 'ClientVersion' => ['description' => 'The E-HPC Util version used by the cluster.', 'type' => 'string', 'example' => '2.0.31', 'title' => ''], + 'ClusterStatus' => ['description' => 'The cluster status. Valid values:'."\n" + ."\n" + .'- uninit: Installing'."\n" + ."\n" + .'- creating: Creating'."\n" + ."\n" + .'- initing: Initializing'."\n" + ."\n" + .'- running: Running'."\n" + ."\n" + .'- exception: Abnormal'."\n" + ."\n" + .'- releasing: Releasing'."\n" + ."\n" + .'- stopping: Stopping'."\n" + ."\n" + .'- stopped: Stopped'."\n" + ."\n" + .'- pending: Pending configuration', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'ClusterMode' => ['description' => 'The deployment type of the cluster. Valid values:'."\n" + ."\n" + .'- Integrated: Public cloud'."\n" + ."\n" + .'- Hybrid: Hybrid cloud'."\n" + ."\n" + .'- Custom: Custom cluster', 'type' => 'string', 'example' => 'Integrated', 'title' => ''], 'Manager' => [ - 'description' => 'The management node configurations.'."\n", + 'description' => 'The cluster control plane node configuration.', 'type' => 'object', 'properties' => [ 'Scheduler' => [ - 'description' => 'The information about the scheduler.'."\n", + 'description' => 'The scheduler service information.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The scheduler type. Valid values:'."\n" - ."\n" - .'* SLURM'."\n" - .'* PBS'."\n" - .'* OPENGRIDSCHEDULER'."\n" - .'* LSF_PLUGIN'."\n" - .'* PBS_PLUGIN'."\n", - 'type' => 'string', - 'example' => 'SLURM', - ], - 'Version' => [ - 'description' => 'The scheduler version.'."\n", - 'type' => 'string', - 'example' => '22.05.8', - ], - 'Status' => [ - 'description' => 'The scheduler state. Valid values:'."\n" - ."\n" - .'* uninit: The scheduler is being installed.'."\n" - .'* initing: The scheduler is being initialized.'."\n" - .'* running: The scheduler is running.'."\n" - .'* exception: The scheduler has run into an exception.'."\n" - .'* releasing: The scheduler is being released.'."\n" - .'* stopped: The scheduler is stopped.'."\n" - .'* pending: The scheduler is waiting to be configured.'."\n", - 'type' => 'string', - 'example' => 'running', - ], + 'Type' => ['description' => 'The scheduler type. Valid values:'."\n" + ."\n" + .'- SLURM'."\n" + ."\n" + .'- PBS'."\n" + ."\n" + .'- OPENGRIDSCHEDULER'."\n" + ."\n" + .'- LSF\\_PLUGIN'."\n" + ."\n" + .'- PBS\\_PLUGIN', 'type' => 'string', 'example' => 'SLURM', 'title' => ''], + 'Version' => ['description' => 'The scheduler version.', 'type' => 'string', 'example' => '22.05.8', 'title' => ''], + 'Status' => ['description' => 'The scheduler service status. Valid values:'."\n" + ."\n" + .'- uninit: Installing'."\n" + ."\n" + .'- initing: Initializing'."\n" + ."\n" + .'- running: Running'."\n" + ."\n" + .'- exception: Abnormal'."\n" + ."\n" + .'- releasing: Releasing'."\n" + ."\n" + .'- stopped: Stopped'."\n" + ."\n" + .'- pending: Pending configuration', 'type' => 'string', 'example' => 'running', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'DirectoryService' => [ - 'description' => 'The information about the domain account service.'."\n", + 'description' => 'The domain account service information.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the domain account.'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'Version' => [ - 'description' => 'The version of the domain account service.'."\n", - 'type' => 'string', - 'example' => '2.31', - ], - 'Status' => [ - 'description' => 'The state of the domain account service. Valid values:'."\n" - ."\n" - .'* uninit: The service is being installed.'."\n" - .'* initing: The service is being initialized.'."\n" - .'* running: The service is running.'."\n" - .'* exception: The service has run into an exception.'."\n" - .'* releasing: The service is being released.'."\n" - .'* stopped: The service is stopped.'."\n" - .'* pending: The service is waiting to be configured.'."\n", - 'type' => 'string', - 'example' => 'running', - ], + 'Type' => ['description' => 'The domain account type.', 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'Version' => ['description' => 'The domain account version.', 'type' => 'string', 'example' => '2.31', 'title' => ''], + 'Status' => ['description' => 'The domain account service status. Valid values:'."\n" + ."\n" + .'- uninit: Installing'."\n" + ."\n" + .'- initing: Initializing'."\n" + ."\n" + .'- running: Running'."\n" + ."\n" + .'- exception: Abnormal'."\n" + ."\n" + .'- releasing: Releasing'."\n" + ."\n" + .'- stopped: Stopped'."\n" + ."\n" + .'- pending: Pending configuration', 'type' => 'string', 'example' => 'running', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'DNS' => [ - 'description' => 'The configurations of the domain name resolution service.'."\n", + 'description' => 'The domain name resolution service configuration.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The resolution type.'."\n", - 'type' => 'string', - 'example' => 'nis', - ], - 'Version' => [ - 'description' => 'The version of the resolution service.'."\n", - 'type' => 'string', - 'example' => '2.31', - ], - 'Status' => [ - 'description' => 'The state of the domain name resolution service. Valid values:'."\n" - ."\n" - .'* uninit: The service is being installed.'."\n" - .'* initing: The service is being initialized.'."\n" - .'* running: The service is running.'."\n" - .'* exception: The service has run into an exception.'."\n" - .'* releasing: The service is being released.'."\n" - .'* stopped: The service is stopped.'."\n" - .'* pending: The service is waiting to be configured.'."\n", - 'type' => 'string', - 'example' => 'running', - ], + 'Type' => ['description' => 'The domain name resolution type.', 'type' => 'string', 'example' => 'nis', 'title' => ''], + 'Version' => ['description' => 'The domain name resolution version.', 'type' => 'string', 'example' => '2.31', 'title' => ''], + 'Status' => ['description' => 'The domain name resolution service status. Valid values:'."\n" + ."\n" + .'- uninit: Installing'."\n" + ."\n" + .'- initing: Initializing'."\n" + ."\n" + .'- running: Running'."\n" + ."\n" + .'- exception: Abnormal'."\n" + ."\n" + .'- releasing: Releasing'."\n" + ."\n" + .'- stopped: Stopped'."\n" + ."\n" + .'- pending: Pending configuration', 'type' => 'string', 'example' => 'running', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'ManagerNode' => [ - 'description' => 'The configurations of the management node.'."\n", + 'description' => 'The control plane node configuration.', 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance ID of the management node.'."\n", - 'type' => 'string', - 'example' => 'i-bp1a170jgea1vl******', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the management node.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.4xlarge', - ], - 'InstanceChargeType' => [ - 'description' => 'The instance billing method of the management node. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go'."\n" - .'* PrePaid: subscription'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'ExpiredTime' => [ - 'description' => 'The expiration time of the management node.'."\n", - 'type' => 'string', - 'example' => '2099-12-31T15:59Z', - ], - 'ImageId' => [ - 'title' => '集群管理节点使用的镜像ID。', - 'type' => 'string', - 'example' => 'aliyun_2_1903_x64_20G_alibase_20200324.vhd', - ], - 'PeriodUnit' => [ - 'title' => '集群管理节点包年包月计费方式的时长单位。', - 'type' => 'string', - 'example' => 'Month', - ], - 'Period' => [ - 'title' => '集群管理节点包年包月付费类型是否开启自动续费。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'AutoRenew' => [ - 'title' => '集群管理节点包你那包月付费类型是否开启自动续费。', - 'type' => 'boolean', - 'default' => 'false', - ], - 'AutoRenewPeriod' => [ - 'title' => '集群管理节点包年包月付费类型单词自动续费的续费时长。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => 'Month', - ], - 'SpotStrategy' => [ - 'title' => '集群管理节点按量付费的竞价策略。', - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'SpotPriceLimit' => [ - 'title' => '集群管理节点抢占式实例的每小时最高价格。', - 'type' => 'number', - 'format' => 'float', - 'example' => '1', - ], - 'Duration' => [ - 'title' => '集群管理节点抢占式实例的保有时长。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'EnableHt' => [ - 'title' => '集群管理节点是否开启HT。', - 'type' => 'boolean', - ], + 'InstanceId' => ['description' => 'The control plane node instance ID.', 'type' => 'string', 'example' => 'i-bp1a170jgea1vl******', 'title' => ''], + 'InstanceType' => ['description' => 'The control plane node instance type.', 'type' => 'string', 'example' => 'ecs.g6.4xlarge', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the control plane node instance. Valid values:'."\n" + ."\n" + .'- PostPaid: Pay-as-you-go'."\n" + ."\n" + .'- PrePaid: Subscription', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + 'ExpiredTime' => ['description' => 'The expiration time of the control plane node.', 'type' => 'string', 'example' => '2099-12-31T15:59Z', 'title' => ''], + 'ImageId' => ['type' => 'string', 'example' => 'aliyun_2_1903_x64_20G_alibase_20200324.vhd', 'description' => '', 'title' => ''], + 'PeriodUnit' => ['type' => 'string', 'example' => 'Month', 'description' => '', 'title' => ''], + 'Period' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + 'AutoRenew' => ['type' => 'boolean', 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], + 'AutoRenewPeriod' => ['type' => 'integer', 'format' => 'int64', 'example' => 'Month', 'description' => '', 'title' => ''], + 'SpotStrategy' => ['type' => 'string', 'example' => 'NoSpot', 'description' => '', 'title' => ''], + 'SpotPriceLimit' => ['type' => 'number', 'format' => 'float', 'example' => '1', 'description' => '', 'title' => ''], + 'Duration' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + 'EnableHt' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'SystemDisk' => [ - 'title' => '集群管理节点的系统盘配置。', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'title' => '集群管理节点系统盘的云盘种类。', - 'type' => 'string', - 'example' => 'cloud_ssd', - ], - 'Size' => [ - 'title' => '集群管理节点系统盘的大小,单位是GiB。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '40', - ], - 'Level' => [ - 'title' => '集群管理节点ESSD系统盘的性能等级。', - 'type' => 'string', - 'example' => 'PL0', - ], + 'Category' => ['type' => 'string', 'example' => 'cloud_ssd', 'description' => '', 'title' => ''], + 'Size' => ['type' => 'integer', 'format' => 'int64', 'example' => '40', 'description' => '', 'title' => ''], + 'Level' => ['type' => 'string', 'example' => 'PL0', 'description' => '', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], 'ClusterCustomConfiguration' => [ - 'description' => 'The post-processing script of the cluster.'."\n", + 'description' => 'The cluster post-processing script.', 'type' => 'object', 'properties' => [ - 'Script' => [ - 'description' => 'The URL that is used to download the post-processing script.'."\n", - 'type' => 'string', - 'example' => 'http://*****'."\n", - ], - 'Args' => [ - 'description' => 'The arguments that are used to run the script after the scrip is installed.'."\n", - 'type' => 'string', - 'example' => 'E-HPC cn-hangzhou'."\n", - ], + 'Script' => ['description' => 'The download URL of the post-processing script.', 'type' => 'string', 'example' => 'http://*****'."\n", 'title' => ''], + 'Args' => ['description' => 'The runtime parameters of the post-installation script.', 'type' => 'string', 'example' => 'E-HPC cn-hangzhou'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'GrowInterval' => [ - 'description' => 'The interval at which the cluster is automatically scaled out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'IdleInterval' => [ - 'description' => 'The idle duration of the compute nodes allowed by the cluster.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'EnableScaleOut' => [ - 'description' => 'Indicates whether automatic scale-out is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableScaleIn' => [ - 'description' => 'Indicates whether automatic scale-in is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'GrowInterval' => ['description' => 'The interval for cluster auto scale-out.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'IdleInterval' => ['description' => 'The idle time of the cluster\'s compute nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'EnableScaleOut' => ['description' => 'Indicates whether auto scale-out is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Enable'."\n" + ."\n" + .'- false: Disable', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableScaleIn' => ['description' => 'Indicates whether auto scale-in is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Enable'."\n" + ."\n" + .'- false: Disable', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'MonitorSpec' => [ - 'description' => 'The monitoring details of the cluster.'."\n", + 'description' => 'The cluster monitoring details.', 'type' => 'object', 'properties' => [ - 'EnableComputeLoadMonitor' => [ - 'description' => 'Indicates whether the monitoring component of compute nodes is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'EnableComputeLoadMonitor' => ['description' => 'Indicates whether the monitoring component for compute nodes is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Enable'."\n" + ."\n" + .'- false: Disable', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'SchedulerSpec' => [ - 'description' => 'The scheduler specifications of the cluster.'."\n", + 'description' => 'The cluster scheduling details.', 'type' => 'object', 'properties' => [ - 'EnableTopologyAwareness' => [ - 'description' => 'Indicates whether the topology awareness feature is enabled for the cluster. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnablePowerSaving' => [ - 'type' => 'boolean', - ], + 'EnableTopologyAwareness' => ['description' => 'Indicates whether the topology awareness feature is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Enable'."\n" + ."\n" + .'- false: Disable', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnablePowerSaving' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"ClusterName\\": \\"slurm22.05.8-cluster-20240614\\",\\n \\"ClusterCategory\\": \\"Standard\\",\\n \\"MaxCount\\": \\"100\\",\\n \\"MaxCoreCount\\": \\"10000\\",\\n \\"DeleteProtection\\": \\"true\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"ClusterCreateTime\\": \\"2024-08-06T12:43:01.000Z\\\\n\\",\\n \\"ClusterModifyTime\\": \\"2024-08-06T12:43:01.000Z\\\\n\\",\\n \\"ClusterVpcId\\": \\"vpc-uf6u3lk1pjy28eg*****\\",\\n \\"ClusterVSwitchId\\": \\"vsw-bp1p2uugqsjppno******\\",\\n \\"SecurityGroupId\\": \\"sg-f8z9vb2zaezpkr69a21k\\",\\n \\"EhpcVersion\\": \\"2.0.0\\",\\n \\"ClientVersion\\": \\"2.0.31\\",\\n \\"ClusterStatus\\": \\"running\\",\\n \\"ClusterMode\\": \\"Integrated\\",\\n \\"Manager\\": {\\n \\"Scheduler\\": {\\n \\"Type\\": \\"SLURM\\",\\n \\"Version\\": \\"22.05.8\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"DirectoryService\\": {\\n \\"Type\\": \\"nis\\",\\n \\"Version\\": \\"2.31\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"DNS\\": {\\n \\"Type\\": \\"nis\\",\\n \\"Version\\": \\"2.31\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"ManagerNode\\": {\\n \\"InstanceId\\": \\"i-bp1a170jgea1vl******\\",\\n \\"InstanceType\\": \\"ecs.g6.4xlarge\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"ExpiredTime\\": \\"2099-12-31T15:59Z\\",\\n \\"ImageId\\": \\"aliyun_2_1903_x64_20G_alibase_20200324.vhd\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": true,\\n \\"AutoRenewPeriod\\": 0,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 1,\\n \\"Duration\\": 1,\\n \\"EnableHt\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n }\\n }\\n },\\n \\"ClusterCustomConfiguration\\": {\\n \\"Script\\": \\"http://*****\\\\n\\",\\n \\"Args\\": \\"E-HPC cn-hangzhou\\\\n\\"\\n },\\n \\"GrowInterval\\": 2,\\n \\"IdleInterval\\": 4,\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MonitorSpec\\": {\\n \\"EnableComputeLoadMonitor\\": true\\n },\\n \\"SchedulerSpec\\": {\\n \\"EnableTopologyAwareness\\": true,\\n \\"EnablePowerSaving\\": true\\n }\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetCluster', - 'translator' => 'machine', - ], - 'GetAddon' => [ - 'summary' => 'Queries the details of an installed addon.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Query information about a specified E-HPC cluster.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCluster'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"ClusterName\\": \\"slurm22.05.8-cluster-20240614\\",\\n \\"ClusterCategory\\": \\"Standard\\",\\n \\"MaxCount\\": \\"100\\",\\n \\"MaxCoreCount\\": \\"10000\\",\\n \\"DeleteProtection\\": \\"true\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"ClusterCreateTime\\": \\"2024-08-06T12:43:01.000Z\\\\n\\",\\n \\"ClusterModifyTime\\": \\"2024-08-06T12:43:01.000Z\\\\n\\",\\n \\"ClusterVpcId\\": \\"vpc-uf6u3lk1pjy28eg*****\\",\\n \\"ClusterVSwitchId\\": \\"vsw-bp1p2uugqsjppno******\\",\\n \\"SecurityGroupId\\": \\"sg-f8z9vb2zaezpkr69a21k\\",\\n \\"EhpcVersion\\": \\"2.0.0\\",\\n \\"ClientVersion\\": \\"2.0.31\\",\\n \\"ClusterStatus\\": \\"running\\",\\n \\"ClusterMode\\": \\"Integrated\\",\\n \\"Manager\\": {\\n \\"Scheduler\\": {\\n \\"Type\\": \\"SLURM\\",\\n \\"Version\\": \\"22.05.8\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"DirectoryService\\": {\\n \\"Type\\": \\"nis\\",\\n \\"Version\\": \\"2.31\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"DNS\\": {\\n \\"Type\\": \\"nis\\",\\n \\"Version\\": \\"2.31\\",\\n \\"Status\\": \\"running\\"\\n },\\n \\"ManagerNode\\": {\\n \\"InstanceId\\": \\"i-bp1a170jgea1vl******\\",\\n \\"InstanceType\\": \\"ecs.g6.4xlarge\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"ExpiredTime\\": \\"2099-12-31T15:59Z\\",\\n \\"ImageId\\": \\"aliyun_2_1903_x64_20G_alibase_20200324.vhd\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 0,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 1,\\n \\"Duration\\": 1,\\n \\"EnableHt\\": false,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n }\\n }\\n },\\n \\"ClusterCustomConfiguration\\": {\\n \\"Script\\": \\"http://*****\\\\n\\",\\n \\"Args\\": \\"E-HPC cn-hangzhou\\\\n\\"\\n },\\n \\"GrowInterval\\": 2,\\n \\"IdleInterval\\": 4,\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MonitorSpec\\": {\\n \\"EnableComputeLoadMonitor\\": true\\n },\\n \\"SchedulerSpec\\": {\\n \\"EnableTopologyAwareness\\": true,\\n \\"EnablePowerSaving\\": false\\n }\\n}","type":"json"}]', + ], + 'GetCommonLogDetail' => [ + 'summary' => 'Query logs based on a request ID. Logs for specific actions can be queried thanks to an Action-Stage-Method three-layer log splitting structure.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5280,31 +2960,33 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228026', - 'abilityTreeNodes' => [ - 'FEATUREehpcXOL4GQ', - ], + 'abilityTreeNodes' => ['FEATUREehpc8EEMGZ'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'From', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The start time of the time range within which the logs that you want to query were generated. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1703821542', 'title' => ''], ], [ - 'name' => 'AddonId', + 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login-1.0-W4g****'."\n", - ], + 'schema' => ['description' => 'The end time of the time range within which the logs that you want to query were generated. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1703821666', 'title' => ''], + ], + [ + 'name' => 'LogRequestId', + 'in' => 'query', + 'schema' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'."\n", 'title' => ''], + ], + [ + 'name' => 'HiddenProcess', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to hide the process of each step. Valid values:'."\n" + ."\n" + .'* true: hides the process and returns only the result log of each step.'."\n" + .'* false: does not hide the process and displays the start and result logs of each step.'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -5314,220 +2996,59 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BBC2F93D-003A-49C4-850C-B826EECF****', - ], - 'Addon' => [ - 'title' => 'Addon', - 'description' => 'The information about the addon.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'AddonId' => [ - 'description' => 'The addon ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login-1.0-W2g****', - ], - 'Label' => [ - 'description' => 'The addon label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Description' => [ - 'description' => 'The addon description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Icon' => [ - 'description' => 'The addon icon.'."\n", - 'type' => 'string', - 'example' => '/assets/icons/your_icon.svg'."\n", - ], - 'InstallTime' => [ - 'description' => 'The time when the addon was installed.'."\n", - 'type' => 'string', - 'example' => '2024-08-22 18:11:17'."\n", - ], - 'Status' => [ - 'description' => 'The addon status.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'ServicesSpec' => [ - 'description' => 'The service configurations of the addon.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The service configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Web Portal', - ], - 'ServiceAccessType' => [ - 'description' => 'The service access type.'."\n", - 'type' => 'string', - 'example' => 'URL', - ], - 'ServiceAccessUrl' => [ - 'description' => 'The service access URL.'."\n", - 'type' => 'string', - 'example' => 'https://47.96.xx.xx:12008', - ], - 'InputParams' => [ - 'description' => 'The parameter configurations of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter details.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'MYSQL_HOME'."\n", - ], - 'Label' => [ - 'description' => 'The parameter label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Value' => [ - 'description' => 'The parameter value.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usr/local/mysql'."\n", - ], - 'Type' => [ - 'description' => 'The parameter type.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'String'."\n", - ], - 'HelpText' => [ - 'description' => 'The help information of the parameter.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - 'NetworkACL' => [ - 'description' => 'The security group configurations of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security group rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'IpProtocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'TCP: forwards TCP packets.'."\n" - ."\n" - .'UDP: forwards UDP packets.'."\n" - ."\n" - .'Any: forwards all packets.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '3306'."\n", - ], - 'SourceCidrIp' => [ - 'description' => 'The source CIDR block.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '172.16.0.0/12'."\n", - ], - ], - ], - ], - ], - ], - ], - 'ResourcesSpec' => [ - 'description' => 'The resource configurations of the addon.'."\n", - 'type' => 'object', - 'properties' => [ - 'EipResource' => [ - 'description' => 'The Elastic IP Address (EIP) configurations.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '464E9919-D04F-4D1D-B375-15989492****'."\n"], + 'Uid' => ['description' => 'The ID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '137***', 'title' => ''], + 'OperatorUid' => ['description' => 'The account ID of the operator.'."\n", 'type' => 'string', 'example' => '239***', 'title' => ''], + 'Action' => ['description' => 'The action name.'."\n", 'type' => 'string', 'example' => 'CreateCluster', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-abc***', 'title' => ''], + 'LogType' => ['description' => 'The log type.'."\n", 'type' => 'string', 'example' => 'operation', 'title' => ''], + 'LogDetail' => [ + 'description' => 'The information about the logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the log.'."\n", + 'type' => 'object', + 'properties' => [ + 'StageName' => ['description' => 'The stage name of the log.'."\n", 'type' => 'string', 'example' => 'ConfigNetwork', 'title' => ''], + 'Stages' => [ + 'description' => 'The information about the log stages.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the log stage.'."\n", 'type' => 'object', 'properties' => [ - 'AutoCreate' => [ - 'description' => 'Indicates whether the EIP is automatically created.'."\n", - 'type' => 'boolean', - 'example' => 'True', - ], - 'EipInstanceId' => [ - 'description' => 'The EIP ID.'."\n", - 'type' => 'string', - 'example' => 'eip-bp1vi9124tbx1g3kr****', - ], - 'EipAddress' => [ - 'description' => 'The EIP.'."\n", - 'type' => 'string', - 'example' => '39.108.xx.xx', - ], - 'InstanceChargeType' => [ - 'description' => 'The billing method of the EIP.'."\n" - ."\n" - .'* PostPaid: pay-as-you-go.'."\n" - .'* PrePaid: subscription.'."\n" - ."\n" - .'Default value: PostPaid.'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the EIP. Valid values:'."\n" + 'RequestId' => ['description' => 'The request ID associated with the log.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'Time' => ['description' => 'The time when the log was generated.'."\n", 'type' => 'string', 'example' => '2024-08-22 14:21:54'."\n", 'title' => ''], + 'Method' => ['description' => 'The method involved in the log.'."\n", 'type' => 'string', 'example' => 'CreateSecurityGroup', 'title' => ''], + 'Status' => ['description' => 'The action state involved in the log. Valid values:'."\n" + ."\n" + .'* InProgress: The action is being performed.'."\n" + .'* Finished: The action is completed.'."\n" + .'* Failed: The action failed.'."\n", 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'LogLevel' => [ + 'description' => 'The log level.'."\n" ."\n" - .'* PayByBandwidth: pay by bandwidth.'."\n" - .'* PayByTraffic: pay by data transfer.'."\n" + .'Valid values:'."\n" ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", + .'* ERROR'."\n" + .'* INFO'."\n" + .'* WARN'."\n", 'type' => 'string', - 'example' => '100', + 'enumValueTitles' => ['ERROR' => '错误', 'INFO' => '信息', 'WARN' => '警告'], + 'example' => 'INFO', + 'title' => '', ], + 'Target' => ['description' => 'The resource involved in the log.'."\n", 'type' => 'string', 'example' => 'sg-bcd***', 'title' => ''], + 'Message' => ['description' => 'The output message of the log.'."\n", 'type' => 'string', 'example' => 'Successfully created security group sg-bcd***', 'title' => ''], ], + 'title' => '', ], - 'EcsResources' => [ - 'description' => 'The Elastic Compute Service (ECS) resource configurations of the addon.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the ECS node.'."\n", - '$ref' => '#/components/schemas/AddonNodeTemplate', - ], - ], + 'title' => '', ], ], + 'title' => '', ], + 'title' => '', ], ], ], @@ -5535,82 +3056,42 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetCommonLogDetail', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetCommonLogDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\\\n\\",\\n \\"Uid\\": \\"137***\\",\\n \\"OperatorUid\\": \\"239***\\",\\n \\"Action\\": \\"CreateCluster\\",\\n \\"ClusterId\\": \\"ehpc-hz-abc***\\",\\n \\"LogType\\": \\"operation\\",\\n \\"LogDetail\\": [\\n {\\n \\"StageName\\": \\"ConfigNetwork\\",\\n \\"Stages\\": [\\n {\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Time\\": \\"2024-08-22 14:21:54\\\\n\\",\\n \\"Method\\": \\"CreateSecurityGroup\\",\\n \\"Status\\": \\"Finished\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"Target\\": \\"sg-bcd***\\",\\n \\"Message\\": \\"Successfully created security group sg-bcd***\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCommonLogDetail'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BBC2F93D-003A-49C4-850C-B826EECF****\\",\\n \\"Addon\\": {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AddonId\\": \\"Login-1.0-W2g****\\",\\n \\"Label\\": \\"登录节点\\",\\n \\"Description\\": \\"登录节点,主要用于E-HPC集群环境的连接登录及用户任务的提交。\\",\\n \\"Icon\\": \\"/assets/icons/your_icon.svg\\\\n\\",\\n \\"InstallTime\\": \\"2024-08-22 18:11:17\\\\n\\",\\n \\"Status\\": \\"Running\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\",\\n \\"InputParams\\": [\\n {\\n \\"Name\\": \\"MYSQL_HOME\\\\n\\",\\n \\"Label\\": \\"Mysql安装路径\\\\n\\",\\n \\"Value\\": \\"usr/local/mysql\\\\n\\",\\n \\"Type\\": \\"String\\\\n\\",\\n \\"HelpText\\": \\"Mysql安装根目录\\"\\n }\\n ],\\n \\"NetworkACL\\": [\\n {\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"Port\\": 3306,\\n \\"SourceCidrIp\\": \\"172.16.0.0/12\\\\n\\"\\n }\\n ]\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipResource\\": {\\n \\"AutoCreate\\": true,\\n \\"EipInstanceId\\": \\"eip-bp1vi9124tbx1g3kr****\\",\\n \\"EipAddress\\": \\"39.108.xx.xx\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"Bandwidth\\": \\"100\\"\\n },\\n \\"EcsResources\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"InstanceId\\": \\"\\",\\n \\"PrivateIpAddress\\": \\"\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"OsName\\": \\"CentOS 7.6 64 位\\",\\n \\"OsNameEN\\": \\"CentOS 7.6 64 bit\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => 'GetAddon', ], - 'DescribeAddonTemplate' => [ - 'summary' => 'Queries the details of an addon template.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetJob' => [ + 'summary' => 'Obtains the details of a job.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5622,74 +3103,19 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREehpcL8RMWH', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '235267', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page returned. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'AddonName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - ], - [ - 'name' => 'AddonVersion', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ZoneId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The job ID. You can call the ListJobs operation to query the job ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.manager', 'title' => ''], ], ], 'responses' => [ @@ -5699,323 +3125,175 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageSize' => [ - 'title' => 'PageSize', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'PageNumber' => [ - 'title' => 'PageNumber', - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Addon' => [ - 'title' => 'Addon', - 'description' => 'The details of the addon template.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0****-1335-****-A1D7-6C044FE7****'], + 'JobInfo' => [ + 'description' => 'The job details.'."\n", 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The addon name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Login', - ], - 'Version' => [ - 'description' => 'The addon version.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0', - ], - 'Label' => [ - 'description' => 'The addon label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Description' => [ - 'description' => 'The addon description.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Icon' => [ - 'description' => 'The addon icon.'."\n", - 'type' => 'string', - 'example' => '/assets/icons/your_icon.svg', - ], - 'LastUpdate' => [ - 'description' => 'The date when the addon template was last updated.'."\n", - 'type' => 'string', - 'example' => '2024-08-22 18:11:17', + 'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => '1.manager', 'title' => ''], + 'JobName' => ['description' => 'The job name.'."\n", 'type' => 'string', 'example' => 'testJob'."\n", 'title' => ''], + 'RunasUser' => ['description' => 'The user to which the job belongs or that is used to submit the job. This user is a cluster-side user.'."\n", 'type' => 'string', 'example' => 'testuser', 'title' => ''], + 'State' => ['description' => 'The job state.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'JobQueue' => ['description' => 'The queue to which the job belongs.'."\n", 'type' => 'string', 'example' => 'workq', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the job was submitted.'."\n", 'type' => 'string', 'example' => '2024-08-16T10:52:48', 'title' => ''], + 'LastModifyTime' => ['description' => 'The time when the job was last modified.'."\n", 'type' => 'string', 'example' => '2024-08-16T10:52:48', 'title' => ''], + 'ErrorLog' => ['description' => 'The error log file of the job.'."\n", 'type' => 'string', 'example' => '/home/xxx/STDIN.e1', 'title' => ''], + 'StartTime' => ['description' => 'The time when the job was started.'."\n", 'type' => 'string', 'example' => '2024-08-16T10:52:48', 'title' => ''], + 'Priority' => ['description' => 'The priority of the job.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], + 'CommandLine' => ['description' => 'The command that is used to run the job.'."\n", 'type' => 'string', 'example' => '/home/huangsf/ehpc/job_meta.pbs', 'title' => ''], + 'OutputLog' => ['description' => 'The standard output log file of the job.'."\n", 'type' => 'string', 'example' => '/home/xxx/STDIN.o1', 'title' => ''], + 'NodeList' => ['description' => 'The compute nodes that are used to run the job.'."\n", 'type' => 'string', 'example' => 'compute000', 'title' => ''], + 'ArrayRequest' => ['description' => 'The job queue. If the job is not in a queue, the output is empty.'."\n" + ."\n" + .'The format is X-Y:Z. X indicates the first index, Y indicates the final index, and Z indicates the step size. For example, 2-7:2 indicates three sub-jobs numbered 2, 4, and 6.'."\n", 'type' => 'string', 'example' => '1-5:2', 'title' => ''], + 'Resources' => [ + 'description' => 'The resources that were requested when the job was submitted.'."\n", + 'type' => 'object', + 'properties' => [ + 'Nodes' => ['description' => 'The number of nodes that are used to run the job.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPUs used by the job on each node.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size used by the job on each node.'."\n", 'type' => 'string', 'example' => '1gb', 'title' => ''], + 'Gpus' => ['description' => 'The number of GPUs used by the job on each node.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', ], - 'ServicesSpec' => [ - 'description' => 'The addon configurations.'."\n", + 'Variables' => [ + 'description' => 'The variables of the job.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The service configurations.'."\n", + 'description' => 'The environment variables.'."\n", 'type' => 'object', 'properties' => [ - 'ServiceName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Web Portal', - ], - 'ServiceAccessType' => [ - 'description' => 'The service access type.'."\n", - 'type' => 'string', - 'example' => 'URL', - ], - 'ServiceAccessUrl' => [ - 'description' => 'The service access URL.'."\n", - 'type' => 'string', - 'example' => 'https://47.96.xx.xx:12008', - ], - 'InputParams' => [ - 'description' => 'The parameter configurations of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter details.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'MYSQL_HOME', - ], - 'Label' => [ - 'description' => 'The parameter label.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Value' => [ - 'description' => 'The parameter value.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usr/local/mysql', - ], - 'Type' => [ - 'description' => 'The parameter type.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'String', - ], - 'HelpText' => [ - 'description' => 'The help information of the parameter.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - 'NetworkACL' => [ - 'description' => 'The security group configurations of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security group rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'IpProtocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* **TCP**: forwards TCP packets.'."\n" - .'* **UDP**: forwards UDP packets.'."\n" - .'* **Any**: forwards all packets.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '3306', - ], - 'SourceCidrIp' => [ - 'description' => 'The source CIDR block.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '172.16.0.0/12', - ], - ], - ], - ], + 'Name' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'ProxyIP', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '10.x.x.x', 'title' => ''], ], + 'title' => '', ], + 'title' => '', ], - 'ResourcesSpec' => [ - 'description' => 'The resource configurations of the addon.'."\n", + 'ExtraInfo' => ['description' => 'Additional information.'."\n", 'type' => 'string', 'example' => '{}', 'title' => ''], + 'ResourcesUsed' => [ + 'description' => 'The resources that are actually used by the job.'."\n", 'type' => 'object', 'properties' => [ - 'EipResource' => [ - 'description' => 'The Elastic IP Address (EIP) configurations of the service.'."\n", - 'type' => 'object', - 'properties' => [ - 'AutoCreate' => [ - 'description' => 'Indicates whether the EIP is automatically created.'."\n", - 'type' => 'boolean', - 'example' => 'True', - ], - 'EipInstanceId' => [ - 'description' => 'The EIP ID.'."\n", - 'type' => 'string', - 'example' => 'eip-bp1jwtsuoiif2qf90****', - ], - 'InstanceChargeType' => [ - 'description' => 'The billing method of the EIP. Valid values:'."\n" - ."\n" - .'* PostPaid: pay-as-you-go.'."\n" - .'* PrePaid: subscription.'."\n" - ."\n" - .'Default value: PostPaid'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the EIP. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay by bandwidth.'."\n" - .'* PayByTraffic: pay by data transfer.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the EIP. Unit: Mbit/s.'."\n", - 'type' => 'string', - 'example' => '100', - ], - ], - ], - 'EcsResources' => [ - 'description' => 'The Elastic Compute Service (ECS) resource configurations of the addon.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the ECS instance.'."\n", - '$ref' => '#/components/schemas/AddonNodeTemplate', - ], - ], + 'Nodes' => ['description' => 'The number of nodes that are used to run the job.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPUs used by the job on each node.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size used by the job on each node.'."\n", 'type' => 'string', 'example' => '512mb', 'title' => ''], ], + 'title' => '', ], + 'ArrayJobId' => ['description' => 'The parent job ID. If the return value is a non-empty string, the job is an array job.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'ArrayJobSubId' => ['description' => 'The sub-job ID. This parameter is valid when the ArrayJobId parameter is a non-empty string.'."\n", 'type' => 'string', 'example' => '3', 'title' => ''], ], + 'title' => '', ], + 'Success' => ['description' => 'The request result. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'RedisError', - 'errorMessage' => 'A Redis service error occurred.', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], - [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetJob', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0****-1335-****-A1D7-6C044FE7****\\",\\n \\"JobInfo\\": {\\n \\"JobId\\": \\"1.manager\\",\\n \\"JobName\\": \\"testJob\\\\n\\",\\n \\"RunasUser\\": \\"testuser\\",\\n \\"State\\": \\"Running\\",\\n \\"JobQueue\\": \\"workq\\",\\n \\"CreateTime\\": \\"2024-08-16T10:52:48\\",\\n \\"LastModifyTime\\": \\"2024-08-16T10:52:48\\",\\n \\"ErrorLog\\": \\"/home/xxx/STDIN.e1\\",\\n \\"StartTime\\": \\"2024-08-16T10:52:48\\",\\n \\"Priority\\": \\"0\\",\\n \\"CommandLine\\": \\"/home/huangsf/ehpc/job_meta.pbs\\",\\n \\"OutputLog\\": \\"/home/xxx/STDIN.o1\\",\\n \\"NodeList\\": \\"compute000\\",\\n \\"ArrayRequest\\": \\"1-5:2\\",\\n \\"Resources\\": {\\n \\"Nodes\\": \\"1\\",\\n \\"Cores\\": \\"2\\",\\n \\"Memory\\": \\"1gb\\",\\n \\"Gpus\\": \\"1\\"\\n },\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"ProxyIP\\",\\n \\"Value\\": \\"10.x.x.x\\"\\n }\\n ],\\n \\"ExtraInfo\\": \\"{}\\",\\n \\"ResourcesUsed\\": {\\n \\"Nodes\\": \\"2\\",\\n \\"Cores\\": \\"2\\",\\n \\"Memory\\": \\"512mb\\"\\n },\\n \\"ArrayJobId\\": \\"1\\",\\n \\"ArrayJobSubId\\": \\"3\\"\\n },\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJob'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"Addon\\": {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"登录节点\\",\\n \\"Description\\": \\"登录节点,主要用于E-HPC集群环境的连接登录及用户任务的提交。\\",\\n \\"Icon\\": \\"/assets/icons/your_icon.svg\\",\\n \\"LastUpdate\\": \\"2024-08-22 18:11:17\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\",\\n \\"InputParams\\": [\\n {\\n \\"Name\\": \\"MYSQL_HOME\\",\\n \\"Label\\": \\"Mysql安装路径\\",\\n \\"Value\\": \\"usr/local/mysql\\",\\n \\"Type\\": \\"String\\",\\n \\"HelpText\\": \\"Mysql安装根目录\\"\\n }\\n ],\\n \\"NetworkACL\\": [\\n {\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"Port\\": 3306,\\n \\"SourceCidrIp\\": \\"172.16.0.0/12\\"\\n }\\n ]\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipResource\\": {\\n \\"AutoCreate\\": true,\\n \\"EipInstanceId\\": \\"eip-bp1jwtsuoiif2qf90****\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"Bandwidth\\": \\"100\\"\\n },\\n \\"EcsResources\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"InstanceId\\": \\"\\",\\n \\"PrivateIpAddress\\": \\"\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"OsName\\": \\"CentOS 7.6 64 位\\",\\n \\"OsNameEN\\": \\"CentOS 7.6 64 bit\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => 'DescribeAddonTemplate', ], - 'DeleteCluster' => [ - 'summary' => 'Releases an Enterprise High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetJobLog' => [ + 'summary' => 'Queries the output logs of a job, including standard output logs and error output logs.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '235286', + 'abilityTreeNodes' => ['FEATUREehpc8EEMGZ'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the E-HPC cluster to be released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-QKKVqO****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-jeJki6****', 'title' => ''], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.manager', 'title' => ''], + ], + [ + 'name' => 'LogType', + 'in' => 'query', + 'schema' => ['description' => 'The log type. Valid values:'."\n" + ."\n" + .'* stdout: standard output logs.'."\n" + .'* stderr: error output logs.'."\n" + .'* all: all logs.'."\n" + ."\n" + .'Default value: all.'."\n", 'type' => 'string', 'required' => false, 'example' => 'stdout', 'title' => ''], + ], + [ + 'name' => 'Size', + 'in' => 'query', + 'schema' => ['description' => 'The maximum size of logs that you can read in a single request.'."\n" + ."\n" + .'Unit: bytes.'."\n" + ."\n" + .'Default value: 10240.'."\n", 'type' => 'string', 'required' => false, 'example' => '20480', 'title' => ''], + ], + [ + 'name' => 'Offset', + 'in' => 'query', + 'schema' => ['description' => 'The position where logs start to be read.'."\n" + ."\n" + .'Unit: bytes.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ @@ -6025,212 +3303,207 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', - ], - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => 'F1AB6D8D-E185-4D94-859C-7CE7B8B7****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****'], + 'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => '1.manager', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], + 'StdoutLog' => ['description' => 'The standard output log that is encoded in Base64.'."\n", 'type' => 'string', 'example' => 'aG9zdG5hbWU=', 'title' => ''], + 'StderrLog' => ['description' => 'The error output log that is encoded in Base64.'."\n", 'type' => 'string', 'example' => 'aG9zdG5hbWU=', 'title' => ''], + 'StdoutLogSize' => ['description' => 'The size of the standard output file.'."\n", 'type' => 'string', 'example' => '4096', 'title' => ''], + 'StderrLogSize' => ['description' => 'The size of the error output file.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], ], ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\",\\n \\"TaskId\\": \\"F1AB6D8D-E185-4D94-859C-7CE7B8B7****\\"\\n}","type":"json"}]', - 'title' => 'DeleteCluster', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetJobLog', 'description' => '## [](#)Usage notes'."\n" ."\n" - .'Make sure that data of the cluster to be deleted is backed up before you call this operation.'."\n" - ."\n" - .'> After a cluster is released, you cannot restore the data stored in the cluster. Exercise caution when you release a cluster.'."\n", - ], - 'CreateUsers' => [ - 'summary' => 'Adds users to an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + .'Currently, only Slurm and PBS Pro schedulers for Standard Edition clusters are supported.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetJobLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"JobId\\": \\"1.manager\\",\\n \\"Success\\": \\"true\\",\\n \\"StdoutLog\\": \\"aG9zdG5hbWU=\\",\\n \\"StderrLog\\": \\"aG9zdG5hbWU=\\",\\n \\"StdoutLogSize\\": \\"4096\\",\\n \\"StderrLogSize\\": \\"0\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJobLog'], + ], ], + ], + 'GetQueue' => [ + 'summary' => 'Query the details of a specified queue in an E-HPC cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227336', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeCode' => '227337', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The ID of the cluster.'."\n" + ."\n" + .'You can call [ListClusters](~~87116~~) to query the cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'User', + 'name' => 'QueueName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The users that you want to add.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the user.'."\n", - 'type' => 'object', - 'properties' => [ - 'UserName' => [ - 'description' => 'The username. The username must be 1 to 30 characters in length. It must start with a letter and can contain digits, letters, and periods (.).'."\n" - ."\n" - .'You can add up to 20 users in a call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testuser', - ], - 'Group' => [ - 'description' => 'The permission group to which the user belongs. Valid values:'."\n" - ."\n" - .'users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs. wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes. You can add up to 20 users in a call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'users', - ], - 'Password' => [ - 'description' => 'The password of the user. The password must be 6 to 30 characters in length and must contain three of the following character types:'."\n" - ."\n" - .'* Uppercase letters'."\n" - .'* Lowercase letters'."\n" - .'* Digits'."\n" - .'* Special characters ()~!@#$%^&\\*-\\_+=|{}\\[]:;\'/<>,.?/'."\n" - ."\n" - .'You can add up to 20 users in a call.'."\n" - ."\n" - .'Specify one of the Password and AuthKey parameters. The Password parameter takes effect only when the cluster authentication method is set to Password. Password authentication is recommended.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1@a2****', - ], - 'AuthKey' => [ - 'description' => 'The public key of the user.'."\n" - ."\n" - .'You can add up to 20 users in a call.'."\n" - ."\n" - .'Specify one of the Password and AuthKey parameters. The AuthKey parameter takes effect only when the cluster authentication method is set to Key. Key authentication is not recommended.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Abc****', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The name of the queue.', 'type' => 'string', 'required' => false, 'example' => 'comp', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'Queue' => [ + 'description' => 'The configuration of the queue.', + 'type' => 'object', + 'properties' => [ + 'QueueName' => ['title' => 'QueueName', 'description' => 'The name of the queue.', 'type' => 'string', 'required' => true, 'example' => 'comp'], + 'EnableScaleOut' => ['title' => 'EnableScaleOut', 'description' => 'Specifies whether automatic scale-out is enabled for the queue. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true'], + 'EnableScaleIn' => ['title' => 'EnableScaleIn', 'description' => 'Specifies whether automatic scale-in is enabled for the queue. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true'], + 'MinCount' => ['title' => 'MinCount', 'description' => 'The minimum number of compute nodes that the queue maintains.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'MaxCount' => ['title' => 'MaxCount', 'description' => 'The maximum number of compute nodes that the queue maintains.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'InitialCount' => ['title' => 'InitialCount', 'description' => 'The initial number of nodes in the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'InterConnect' => ['title' => 'HPCInterConnect', 'description' => 'The network type between compute nodes in the queue. Valid values:'."\n" + ."\n" + .'- vpc'."\n" + ."\n" + .'- eRDMA', 'type' => 'string', 'example' => 'erdma'], + 'VSwitchIds' => [ + 'title' => 'VSwitchIds', + 'description' => 'The list of virtual switches available to compute nodes in the queue. N ranges from 1 to 5.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the virtual switch.', 'type' => 'string', 'example' => 'vsw-t4nw7upbpzb3u071twiys', 'title' => ''], + 'example' => '', + ], + 'ComputeNodes' => [ + 'title' => 'Resources', + 'description' => 'The hardware configurations of compute nodes in the queue.', + 'type' => 'array', + 'items' => ['description' => 'The configuration details of the compute node.', '$ref' => '#/components/schemas/NodeTemplate', 'title' => '', 'example' => ''], + 'example' => '', + ], + 'AllocationStrategy' => ['title' => 'AllocationStrategy', 'description' => 'The strategy used for automatic scale-out of the queue.', 'type' => 'string', 'example' => 'PriorityInstanceType'], + 'RamRole' => ['title' => 'RamRole', 'description' => 'The name of the RAM role attached to compute nodes in the queue.', 'type' => 'string', 'example' => 'AliyunECSInstanceForEHPCRole'], + 'HostnamePrefix' => ['title' => 'HostNamePrefix', 'description' => 'The hostname prefix for compute nodes in the queue.', 'type' => 'string', 'example' => 'compute'], + 'HostnameSuffix' => ['title' => 'HostNameSuffix', 'description' => 'The hostname suffix for compute nodes in the queue.', 'type' => 'string', 'example' => 'demo'], + 'MaxCountPerCycle' => ['title' => 'MaxCountPerCycle', 'description' => 'The minimum number of nodes delivered per scale-out cycle.', 'type' => 'integer', 'format' => 'int64', 'example' => '99'], + 'KeepAliveNodes' => [ + 'description' => 'The list of nodes with deletion protection enabled in the queue.', + 'type' => 'array', + 'items' => ['description' => 'The hostname of a node with deletion protection enabled.', 'type' => 'string', 'example' => 'compute000', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ReservedNodePoolId' => ['description' => 'The ID of the reserved node pool.', 'type' => 'string', 'example' => 'rnp-756vlp7a', 'title' => ''], + 'CreateTime' => ['type' => 'string', 'example' => '2025-01-01T12:05:00Z', 'description' => '', 'title' => ''], + 'UpdateTime' => ['type' => 'string', 'example' => '2025-01-01T12:05:00Z', 'description' => '', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AgentError.Account.UserAddFailure', - 'errorMessage' => 'Failed to add user to domain: %s.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', - 'title' => 'CreateUsers', - ], - 'UpdateUser' => [ - 'summary' => 'Updates the information of a user in an Elastic High Performance Computing (E-HPC) cluster, including the user group and password.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetQueue', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetQueue'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Queue\\": {\\n \\"QueueName\\": \\"comp\\",\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MinCount\\": 0,\\n \\"MaxCount\\": 1000,\\n \\"InitialCount\\": 0,\\n \\"InterConnect\\": \\"erdma\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-t4nw7upbpzb3u071twiys\\"\\n ],\\n \\"ComputeNodes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false,\\n \\"MountDir\\": \\"/data1\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"SnapshotId\\": \\"s-bp1ei2b44ripxuo46hym\\"\\n }\\n ]\\n }\\n ],\\n \\"AllocationStrategy\\": \\"PriorityInstanceType\\",\\n \\"RamRole\\": \\"AliyunECSInstanceForEHPCRole\\",\\n \\"HostnamePrefix\\": \\"compute\\",\\n \\"HostnameSuffix\\": \\"demo\\",\\n \\"MaxCountPerCycle\\": 99,\\n \\"KeepAliveNodes\\": [\\n \\"compute000\\"\\n ],\\n \\"ReservedNodePoolId\\": \\"rnp-756vlp7a\\",\\n \\"CreateTime\\": \\"2025-01-01T12:05:00Z\\",\\n \\"UpdateTime\\": \\"2025-01-01T12:05:00Z\\"\\n }\\n}","type":"json"}]', + ], + 'InstallAddon' => [ + 'summary' => 'Installs an addon.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6239,191 +3512,225 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '228355', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '228008', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'AddonName', 'in' => 'query', 'schema' => [ - 'description' => 'The cluster ID.'."\n", + 'description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'enumValueTitles' => [], + 'example' => 'Login', + 'title' => '', ], ], [ - 'name' => 'UserName', + 'name' => 'AddonVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The username.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testuser', - ], + 'schema' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'Group', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The user group attribute of the user that you want to update. Valid values:'."\n" - ."\n" - .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" - .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'users', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'Password', + 'name' => 'ServicesSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'The password attribute of the user that you want to update. The password must be 6 to 30 characters in length and must contain three of the following four character types:'."\n" - ."\n" - .'* Uppercase letters'."\n" - .'* Lowercase letters'."\n" - .'* Digits'."\n" - .'* Special characters ()~!@#$%^&\\*-\\_+=|{}\\[]:;\'/<>,.?/'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123****', - ], + 'schema' => ['description' => 'The service configurations of the addon.'."\n", 'type' => 'string', 'required' => true, 'example' => '`[{"ServiceName": "SSH", "ServiceAccessType": null, "ServiceAccessUrl": null, "NetworkACL": [{"IpProtocol": "TCP", "Port": 22, "SourceCidrIp": "0.0.0.0/0"}]}, {"ServiceName": "VNC", "ServiceAccessType": null, "ServiceAccessUrl": null, "NetworkACL": [{"IpProtocol": "TCP", "Port": 12016, "SourceCidrIp": "0.0.0.0/0"}]}]`', 'title' => ''], + ], + [ + 'name' => 'ResourcesSpec', + 'in' => 'query', + 'schema' => ['description' => 'The resource configurations of the addon.'."\n", 'type' => 'string', 'required' => true, 'example' => '`{"EipResource": {"AutoCreate": true}, "EcsResources": [{"InstanceType": "ecs.c7.xlarge", "ImageId": "centos_7_6_xxx.vhd", "SystemDisk": {"Category": "cloud_essd", "Size": 40, "Level": "PL0"}]}`', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Success' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****'], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + 'AddonId' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login-1.0-W4g****', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - [ - 'errorCode' => 'NotEnabled', - 'errorMessage' => 'You have not enabled this service', - ], - [ - 'errorCode' => 'InDebt', - 'errorMessage' => 'Your account has overdue payments.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAlreadyExist', - 'errorMessage' => 'The specified user already exists in domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserAddFailure', - 'errorMessage' => 'Failed to add user to domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserNotExist', - 'errorMessage' => 'The specified user is not found in the domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserModifyGroupFailure', - 'errorMessage' => 'Failed to modify user groups in domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserChangePasswordFailure', - 'errorMessage' => 'Failed to modify user password in domain: %s.', + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'InstallAddon', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Take note of the following items when you call this operation:'."\n" + ."\n" + .'* The cluster must be in the `Running` state.'."\n" + ."\n" + .'* Clusters fall into two types:'."\n" + ."\n" + .' * Regular clusters on Alibaba Cloud Public Cloud'."\n" + .' * Managed clusters on Alibaba Cloud Public Cloud'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:InstallAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"AddonId\\": \\"Login-1.0-W4g****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallAddon'], + ], + ], + ], + 'InstallSoftwares' => [ + 'summary' => 'Install software for the specified cluster.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227329', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], + ], + 'parameters' => [ + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', + 'name' => 'AdditionalPackages', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The information about the software systems that you want to install.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'List of software to be installed', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The software name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gromacs', 'title' => ''], + 'Version' => ['description' => 'The software version.'."\n", 'type' => 'string', 'required' => false, 'example' => '2024.1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'title' => '', ], ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], + 'title' => '', ], ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'UpdateUser', - ], - 'ListUsers' => [ - 'summary' => 'Queries the users of a cluster.', - 'methods' => [ - 'get', + 'title' => 'InstallSoftwares', + 'description' => '## Interface Description'."\n" + .'When calling this interface, please note the following:'."\n" + .'- The cluster status must be `Running`. '."\n" + .'- If the cluster series is `Serverless`, ensure that there is at least one login node or compute node in the cluster; otherwise, software cannot be added to the target cluster.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:InstallSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'translator' => 'machine', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallSoftwares'], + ], ], + ], + 'ListAddonTemplates' => [ + 'summary' => 'Queries supported addon templates.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6432,423 +3739,378 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228357', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'RegionId', 'in' => 'query', 'schema' => [ - 'description' => 'The cluster ID.'."\n", + 'description' => 'The region ID.'."\n", 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'cn-shanghai', + 'title' => '', ], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AddonNames', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The addon names.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Login', 'title' => ''], 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ClusterCategory', + 'in' => 'query', + 'schema' => ['description' => 'The cluster type. Valid values:'."\n" + ."\n" + .'* Standard'."\n" + .'* Serverless'."\n", 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Users' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UserInfo' => [ - 'description' => 'The information about the users.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the user.'."\n", - 'type' => 'object', - 'properties' => [ - 'UserName' => [ - 'description' => 'The username.'."\n", - 'type' => 'string', - 'example' => 'testuser', - ], - 'AddTime' => [ - 'description' => 'The time when the user was first added.'."\n", - 'type' => 'string', - 'example' => '2014-08-22T17:46:47', - ], - 'Group' => [ - 'description' => 'The name of the permission group. Valid values:'."\n" - ."\n" - .'users: ordinary permissions, which are suitable for regular users that need only to submit and debug jobs.'."\n" - ."\n" - .'wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", - 'type' => 'string', - 'example' => 'users', - ], - 'UserId' => [ - 'description' => 'The user ID.'."\n", - 'type' => 'string', - 'example' => '1001', - ], - 'GroupId' => [ - 'description' => 'The permission group ID.'."\n", - 'type' => 'string', - 'example' => '100', - ], - ], - ], + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'PageSize' => ['title' => 'PageSize', 'description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'PageNumber' => ['title' => 'PageNumber', 'description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'Addons' => [ + 'title' => 'Addons', + 'description' => 'The information about the addon templates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the addon template.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'Label' => ['description' => 'The addon label'."\n", 'type' => 'string', 'example' => 'Logon node', 'title' => ''], + 'Description' => ['description' => 'The addon description.'."\n", 'type' => 'string', 'example' => 'Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetUserListFailure', - 'errorMessage' => 'Get user list fail: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 15,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"UserName\\": \\"testuser\\",\\n \\"AddTime\\": \\"2014-08-22T17:46:47\\",\\n \\"Group\\": \\"users\\",\\n \\"UserId\\": \\"1001\\",\\n \\"GroupId\\": \\"100\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListUsers', - ], - 'DeleteUsers' => [ - 'summary' => 'Deletes users from a cluster.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"Logon node\\",\\n \\"Description\\": \\"Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListAddonTemplates', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddonTemplates'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListAddonTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAddons' => [ + 'summary' => 'Queries installed addons of an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228356', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '228012', + 'abilityTreeNodes' => ['FEATUREehpcXOL4GQ'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'User', + 'name' => 'AddonIds', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The users that you want to delete.'."\n", + 'description' => 'The addon IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The information about the user that you want to delete.'."\n", - 'type' => 'object', - 'properties' => [ - 'UserName' => [ - 'description' => 'The name of user N that you want to delete.'."\n" - ."\n" - .'Valid values of N: 1 to 100.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testuser', - ], - ], - 'required' => false, - ], - 'required' => true, + 'items' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Login-1.0-W4g****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the page to return. Default value: 1'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE****', + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'PageSize' => ['title' => 'PageSize', 'description' => 'The page number of the returned page. Default value: 1'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageNumber' => ['title' => 'PageNumber', 'description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'Addons' => [ + 'title' => 'Addons', + 'description' => 'The information about the addons.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the addon.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The addon name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The addon version.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'AddonId' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login-1.0-W4g****'."\n", 'title' => ''], + 'Label' => ['description' => 'The addon label.'."\n", 'type' => 'string', 'example' => 'Logon node.', 'title' => ''], + 'Description' => ['description' => 'The addon description.'."\n", 'type' => 'string', 'example' => 'Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.', 'title' => ''], + 'InstallTime' => ['description' => 'The time when the addon was installed.'."\n", 'type' => 'string', 'example' => '2024-08-22 18:11:17', 'title' => ''], + 'Status' => ['description' => 'The addon state.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - [ - 'errorCode' => 'ManagerNotFound', - 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], ], 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed.', - ], - [ - 'errorCode' => 'AgentError.Account.DomainNotExist', - 'errorMessage' => 'The specified domain does not exist: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.GetentPasswdFailure', - 'errorMessage' => 'Failed to get the user list: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserNotExist', - 'errorMessage' => 'The specified user is not found in the domain: %s.', - ], - [ - 'errorCode' => 'AgentError.Account.UserDeleteFailure', - 'errorMessage' => 'Failed to delete user from domain: %s.', - ], - [ - 'errorCode' => 'AgentResponseTimeout', - 'errorMessage' => 'Agent response timeout: %s', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'NotAuthorized', - 'errorMessage' => 'You are not authorized by RAM for this request.', - ], - ], - 409 => [ - [ - 'errorCode' => 'PartFailure', - 'errorMessage' => 'Part of the batch operation failed.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], 500 => [ - [ - 'errorCode' => 'UnknownError', - 'errorMessage' => 'An unknown error occurred.', - ], + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE****\\"\\n}","type":"json"}]', - 'title' => 'DeleteUsers', - ], - 'CreateQueue' => [ - 'summary' => 'Creates a queue for an Enterprise High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 20,\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"AddonId\\": \\"Login-1.0-W4g****\\\\n\\",\\n \\"Label\\": \\"Logon node.\\",\\n \\"Description\\": \\"Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.\\",\\n \\"InstallTime\\": \\"2024-08-22 18:11:17\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListAddons', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAvailableFileSystems' => [ + 'summary' => 'Queries the file systems that can be attached in a region.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228055', - 'abilityTreeNodes' => [ - 'FEATUREehpcAB36B2', - ], + 'abilityTreeCode' => '227344', + 'abilityTreeNodes' => ['FEATUREehpcR3Y7DN'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The page number of the page to return. Page starts from page 1. Default value: 1'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Queue', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The configurations of the queue to be created.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/QueueTemplate', - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Name' => [ - 'description' => 'The name of the created queue.'."\n", - 'type' => 'string', - 'example' => 'test', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BF4E8AB1-02A3-5ECF-87CC-3AB7BE98**'], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '65', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'FileSystemList' => [ + 'description' => 'The file systems.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the file system.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '2fa0248***', 'title' => ''], + 'FileSystemType' => ['description' => 'The type of the file system. Valid values:'."\n" + ."\n" + .'* standard: general-purpose network-attached storage (NAS) file system'."\n" + .'* extreme: extreme NAS file system'."\n", 'type' => 'string', 'example' => 'cpfs', 'title' => ''], + 'Status' => ['description' => 'The state of the file system. Valid values:'."\n" + ."\n" + .'* Pending: The file system is processing a task.'."\n" + .'* Running: The file system is available. You can perform subsequent operations, such as creating a mount target, only when the file system is in the Running state.'."\n" + .'* Stopped: The file system is unavailable.'."\n" + .'* Extending: The file system is being scaled out.'."\n" + .'* Stopping: The file system is being stopped.'."\n" + .'* Deleting: The file system is being deleted.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'ProtocolType' => ['description' => 'The protocol type of the file system. Valid values:'."\n" + ."\n" + .'* nfs'."\n" + .'* smb'."\n" + .'* cpfs'."\n", 'type' => 'string', 'example' => 'cpfs', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the file system was created.'."\n", 'type' => 'string', 'example' => '2024-7-29 15:43:53', 'title' => ''], + 'MountTargetList' => [ + 'description' => 'The mount targets of the file system.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the mount target.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The virtual private cloud (VPC) ID.'."\n", 'type' => 'string', 'example' => 'vpc-8vbvb34rtyh6xb3zrehs1****', 'title' => ''], + 'MountTargetDomain' => ['description' => 'The address of the mount target.'."\n", 'type' => 'string', 'example' => 'c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com', 'title' => ''], + 'Status' => ['description' => 'The state of the mount target. Valid values:'."\n" + ."\n" + .'* Active: The mount target is available.'."\n" + .'* Inactive: The mount target is unavailable.'."\n" + .'* Pending: The mount target is being mounted.'."\n" + .'* Deleting: The mount target is being deleted.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-2ze0c41hwu7lc29ris***', 'title' => ''], + 'NetworkType' => ['description' => 'The network type. Valid values: Valid values:'."\n" + ."\n" + .'* vpc'."\n", 'type' => 'string', 'example' => 'vpc', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', + ], + 'StorageType' => ['description' => 'The storage type of the file system.'."\n" + ."\n" + .'* Valid values if FileSystemType is set to standard: Capacity and Performance.'."\n" + .'* Valid values if FileSystemType is set to extreme: standard and advance.'."\n", 'type' => 'string', 'example' => 'Performance', 'title' => ''], + 'VpcId' => ['description' => 'The VPC ID.'."\n", 'type' => 'string', 'example' => 'vpc-bp132kgui8n0targb****', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', ], ], ], @@ -6856,463 +4118,645 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + ['errorCode' => 'NasError', 'errorMessage' => 'NAS API request failed.', 'description' => 'Failed to request the NAS interface.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Name\\": \\"test\\"\\n}","type":"json"}]', - 'title' => 'CreateQueue', - ], - 'CreateNodes' => [ - 'summary' => 'Creates compute nodes for an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BF4E8AB1-02A3-5ECF-87CC-3AB7BE98**\\",\\n \\"TotalCount\\": 65,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"FileSystemList\\": [\\n {\\n \\"FileSystemId\\": \\"2fa0248***\\",\\n \\"FileSystemType\\": \\"cpfs\\",\\n \\"Status\\": \\"Running\\",\\n \\"ProtocolType\\": \\"cpfs\\",\\n \\"CreateTime\\": \\"2024-7-29 15:43:53\\",\\n \\"MountTargetList\\": [\\n {\\n \\"VpcId\\": \\"vpc-8vbvb34rtyh6xb3zrehs1****\\",\\n \\"MountTargetDomain\\": \\"c0967****.cn-hangzhou.cpfs.nas.aliyuncs.com\\",\\n \\"Status\\": \\"Active\\",\\n \\"VSwitchId\\": \\"vsw-2ze0c41hwu7lc29ris***\\",\\n \\"NetworkType\\": \\"vpc\\"\\n }\\n ],\\n \\"StorageType\\": \\"Performance\\",\\n \\"VpcId\\": \\"vpc-bp132kgui8n0targb****\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListAvailableFileSystems', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableFileSystems'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableFileSystems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAvailableImages' => [ + 'summary' => 'Queries images that are available for Elastic High Performance Computing (E-HPC) clusters.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '228052', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'ImageOwnerAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The image source. Valid values:'."\n" + ."\n" + .'* system: system image.'."\n" + .'* self: custom image.'."\n" + .'* others: shared image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'self', 'title' => ''], ], [ - 'name' => 'QueueName', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the queue for which you want to create compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test1', - ], + 'schema' => ['description' => 'The instance type.'."\n" + ."\n" + .'> By default, if you do not specify an instance type, the list of images that are supported by all instance types are queried. For more information, see [Instance families](~~25378~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c7.large', 'title' => ''], ], [ - 'name' => 'Count', + 'name' => 'IsPublic', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of compute nodes that you want to add. Valid values: 1 to 99. The MinCount value must be smaller than the Count value.'."\n" - ."\n" - .'* If the number of available Elastic Compute Service (ECS) instances is smaller than the MinCount value, the nodes fail to be added.'."\n" - .'* If the number of available ECS instances is larger than the MinCount value but smaller than the Count value, nodes are added based on the MinCount value.'."\n" - .'* If the number of available ECS instances is larger than the Count value, nodes are added based on the Count value.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to return published community images. Valid values:'."\n" + ."\n" + .'* true: returns published community images. If you set the value of this parameter to `true`, the `ImageOwnerAlias` parameter must be set to `others`.'."\n" + .'* false: returns non-community images. The value of the `ImageOwnerAlias` parameter prevails.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'MinCount', + 'name' => 'HPCInterConnect', 'in' => 'query', - 'schema' => [ - 'title' => '添加的计算节点最小数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'schema' => ['description' => 'The network type of the images that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc', 'title' => ''], ], [ - 'name' => 'ComputeNode', + 'name' => 'EnableHT', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The hardware configurations of the compute nodes.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/NodeTemplate', - ], + 'schema' => ['description' => 'Specifies whether to return images in which hyper-threading is enabled.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'HPCInterConnect', + 'name' => 'Scheduler', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The type of the network between compute nodes. Valid values:'."\n" - ."\n" - .'* vpc'."\n" - .'* eRDMA'."\n", - 'type' => 'string', + 'description' => 'The scheduler information about the images that you want to query.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The scheduler type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SLURM', 'title' => ''], + 'Version' => ['description' => 'The scheduler version.'."\n", 'type' => 'string', 'required' => false, 'example' => '22.05.8', 'title' => ''], + ], 'required' => false, - 'example' => 'vpc', + 'title' => '', ], ], [ - 'name' => 'VSwitchId', + 'name' => 'DirectoryService', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the vSwitch to be used by the added nodes.'."\n", - 'type' => 'string', + 'description' => 'The information about the domain account service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the domain account.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NIS', 'title' => ''], + 'Version' => ['description' => 'The version of the domain account service.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.0', 'title' => ''], + ], 'required' => false, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', + 'title' => '', ], ], [ - 'name' => 'RamRole', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The Resource Access Management (RAM) role to be assumed by the added nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AliyunServiceRoleForOOSBandwidthScheduler', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'HostnamePrefix', + 'name' => 'PageSize', 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The hostname prefix of the added compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'TotalCount' => ['title' => 'Id of the request', 'description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '1'], + 'PageSize' => ['title' => 'Id of the request', 'description' => 'The number of entries per page.'."\n", 'type' => 'string', 'example' => '20'], + 'PageNumber' => ['title' => 'Id of the request', 'description' => 'The page number of the returned page.'."\n" + ."\n" + .'* Pages start from page 1.'."\n" + .'* Default value: 1.'."\n", 'type' => 'string', 'example' => '1'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Images' => [ + 'description' => 'The information about the images.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image.'."\n", + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.'."\n", 'type' => 'string', 'example' => 'centos_7_06_64_20G_alibase_2019071****', 'title' => ''], + 'OSNameEn' => ['description' => 'The OS name in English.'."\n", 'type' => 'string', 'example' => 'CentOS 7.9 64 bit', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The image source. Valid values:'."\n" + ."\n" + .'* system: system image.'."\n" + .'* self: custom image.'."\n" + .'* others: shared image.'."\n", 'type' => 'string', 'example' => 'self', 'title' => ''], + 'Description' => ['description' => 'The image description.'."\n", 'type' => 'string', 'example' => 'ExampleDescription', 'title' => ''], + 'Size' => ['description' => 'The image size. Unit: GiB'."\n", 'type' => 'string', 'example' => '40', 'title' => ''], + 'Platform' => ['description' => 'The OS. Valid values:'."\n" + ."\n" + .'* CentOS'."\n" + .'* windows'."\n", 'type' => 'string', 'example' => 'windows', 'title' => ''], + 'OSName' => ['description' => 'The OS name in Chinese.'."\n", 'type' => 'string', 'example' => 'CentOS 7.9 64位', 'title' => ''], + 'Architecture' => ['description' => 'The OS architecture of the image. Valid values:'."\n" + ."\n" + .'* x86\\_64'."\n" + .'* arm64'."\n", 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + 'BootMode' => ['description' => 'The boot mode of the image. Valid values:'."\n" + ."\n" + .'* BIOS: Basic Input/Output System (BIOS).'."\n" + .'* UEFI: Unified Extensible Firmware Interface (UEFI).'."\n" + ."\n" + .'> When you change the OS boot mode of an instance, you must make sure that the boot mode matches the boot mode of the associated image. Otherwise, the instance fails to be booted.'."\n", 'type' => 'string', 'example' => 'BIOS', 'title' => ''], + 'ImageName' => ['description' => 'The image name.'."\n", 'type' => 'string', 'example' => 'CHESS5V5.0.27', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', + ], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"PageSize\\": \\"20\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"Success\\": true,\\n \\"Images\\": [\\n {\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_2019071****\\",\\n \\"OSNameEn\\": \\"CentOS 7.9 64 bit\\",\\n \\"ImageOwnerAlias\\": \\"self\\",\\n \\"Description\\": \\"ExampleDescription\\",\\n \\"Size\\": \\"40\\",\\n \\"Platform\\": \\"windows\\",\\n \\"OSName\\": \\"CentOS 7.9 64位\\",\\n \\"Architecture\\": \\"x86_64\\",\\n \\"BootMode\\": \\"BIOS\\",\\n \\"ImageName\\": \\"CHESS5V5.0.27\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListAvailableImages', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableImages'], + ], + ], + 'ramActions' => [ [ - 'name' => 'HostnameSuffix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname suffix of the added compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ListClusters' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'KeepAlive', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227335', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], + ], + 'parameters' => [ + [ + 'name' => 'ClusterIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the added compute nodes.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the clusters to query. Valid values of N: 0 to 20.', + 'type' => 'array', + 'items' => ['description' => 'The cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-cn-wulanchabu-llsu******', 'title' => ''], 'required' => false, - 'example' => 'false', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DeploymentSetId', + 'name' => 'ClusterNames', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Deployment set ID. You can obtain the deployment set ID through [DescribeDeploymentSets](~~91313~~). Currently, only deployment sets with a low network latency strategy are supported.', - 'type' => 'string', + 'description' => 'The names of the clusters to query. Valid values of N: 0 to 20.', + 'type' => 'array', + 'items' => ['description' => 'The cluster name.', 'type' => 'string', 'required' => false, 'example' => 'slurm22.05.8-cluster-20240802'."\n", 'title' => ''], 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pzq****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ReservedNodePoolId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'Preset node pool ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'rnp-756vlp7a', - ], + 'schema' => ['description' => 'The page number of the list. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Hostnames', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Settings the number of rows per page for paging. Valid values: 10 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['title' => '', 'description' => 'The number of entries on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'EhpcVersionStatistics' => [ + 'type' => 'object', + 'properties' => [ + 'V1Count' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'V2Count' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'InstanceIds' => [ - 'description' => 'The IDs of the compute nodes to be created.'."\n", + 'Clusters' => [ + 'description' => 'The cluster details.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of the compute node to be created.'."\n", - 'type' => 'string', - 'example' => '[ "i-uf68t1zu3jkhs8w****", "i-uf6abz34m2714bp****", "i-uf65bh2113hlqvyx****", "i-uf68t1zu3jkhs8wx****", "i-uf6b0mtpx166fxxi****", "i-uf6faknz4dy1bit7****" ]', + 'description' => 'The cluster information.', + 'type' => 'object', + 'properties' => [ + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => 'ehpc-hz-VMKe******', 'title' => ''], + 'ClusterName' => ['description' => 'The cluster name.', 'type' => 'string', 'example' => 'slurm22.05.8-cluster-20240227', 'title' => ''], + 'ClusterDescription' => ['description' => 'The cluster description.', 'type' => 'string', 'example' => 'Demo', 'title' => ''], + 'ClusterCreateTime' => ['description' => 'The time when the cluster was created. The time is displayed in UTC+0 in the ISO 8601 standard format of yyyy-MM-ddTHH:mmZ. For more information, see [ISO 8601](~~25696~~).', 'type' => 'string', 'example' => '2024-08-06T12:43:01.000Z', 'title' => ''], + 'ClusterModifyTime' => ['description' => 'The time when the cluster was last modified. The time is displayed in UTC+0 in the ISO 8601 standard format of yyyy-MM-ddTHH:mmZ. For more information, see [ISO 8601](~~25696~~).', 'type' => 'string', 'example' => '2024-08-06T12:43:01.000Z', 'title' => ''], + 'ClusterCategory' => ['description' => 'The cluster edition. Valid values:'."\n" + .'- Standard'."\n" + ."\n" + .'- Serverless', 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'ClusterStatus' => ['description' => 'The cluster status. Valid values:'."\n" + ."\n" + .'- uninit: installing.'."\n" + .'- creating: being created.'."\n" + .'- initing: being initialized.'."\n" + .'- running: running.'."\n" + .'- releasing: being released.'."\n" + .'- stopping: being stopped.'."\n" + .'- stopped: stopped.'."\n" + .'- exception: abnormal.'."\n" + .'- pending: pending configuration.', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'ClusterVpcId' => ['description' => 'The VPC ID used by the cluster.', 'type' => 'string', 'example' => 'vpc-m5efjevmclc0xdmys****'."\n", 'title' => ''], + 'ClusterVSwitchId' => ['description' => 'The vSwitch ID used by the cluster.', 'type' => 'string', 'example' => 'vsw-f8za5p0mwzgdu3wgx****'."\n", 'title' => ''], + 'SecurityGroupId' => ['description' => 'The security group ID used by the cluster.', 'type' => 'string', 'example' => 'sg-bp13n61xsydodfyg****'."\n", 'title' => ''], + 'ClusterCustomConfiguration' => [ + 'description' => 'The post-processing script used by the cluster.', + 'type' => 'object', + 'properties' => [ + 'Script' => ['description' => 'The URL of the cluster post-processing script.', 'type' => 'string', 'example' => 'https://xxxxx', 'title' => ''], + 'Args' => ['description' => 'The parameters of the cluster post-processing script.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'MaxCount' => ['description' => 'The maximum number of compute nodes that the cluster can manage.', 'type' => 'integer', 'format' => 'int64', 'example' => '500', 'title' => ''], + 'MaxCoreCount' => ['description' => 'The maximum total number of vCPUs of compute nodes that the cluster can manage.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''], + 'DeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled for the cluster. Valid values:'."\n" + ."\n" + .'- true: Deletion protection is enabled.'."\n" + .'- false: Deletion protection is not enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph****', 'title' => ''], + 'Manager' => [ + 'description' => 'The management node configuration of the cluster.', + 'type' => 'object', + 'properties' => [ + 'Scheduler' => [ + 'description' => 'The scheduler service configuration.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The scheduler type.', 'type' => 'string', 'example' => 'SLURM', 'title' => ''], + 'Version' => ['description' => 'The scheduler version.', 'type' => 'string', 'example' => '22.05.8'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'DirectoryService' => [ + 'description' => 'The domain account service configuration.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The domain account type.', 'type' => 'string', 'example' => 'NIS', 'title' => ''], + 'Version' => ['description' => 'The domain account version.', 'type' => 'string', 'example' => '2.31'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'DNS' => [ + 'description' => 'The domain name resolution service configuration.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The domain name resolution type.', 'type' => 'string', 'example' => 'NIS', 'title' => ''], + 'Version' => ['description' => 'The domain name resolution version.', 'type' => 'string', 'example' => '2.31', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'EhpcVersion' => ['description' => 'The version of the E-HPC cluster.', 'type' => 'string', 'example' => '2.0.0', 'title' => ''], + 'Nodes' => [ + 'description' => 'The node count information of the cluster.', + 'type' => 'object', + 'properties' => [ + 'RunningCounts' => ['description' => 'The number of running compute nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AbnormalCounts' => ['description' => 'The number of abnormal compute nodes.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CreatingCounts' => ['description' => 'The number of compute nodes being created.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Users' => [ + 'description' => 'The user attribute information of the cluster.', + 'type' => 'object', + 'properties' => [ + 'SudoCounts' => ['description' => 'The number of sudo users.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'NormalCounts' => ['description' => 'The number of regular users.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'AdditionalPackages' => [ + 'description' => 'The software installed on the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The software details.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The software name.', 'type' => 'string', 'example' => 'gromacs', 'title' => ''], + 'Version' => ['description' => 'The software version.', 'type' => 'string', 'example' => '2024.1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Addons' => [ + 'description' => 'The custom service component information of the cluster.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom service component details.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the custom service component.', 'type' => 'string', 'required' => true, 'example' => 'Login', 'title' => ''], + 'Version' => ['description' => 'The version of the custom service component.', 'type' => 'string', 'required' => true, 'example' => '1.0', 'title' => ''], + 'Label' => ['description' => 'The label of the custom service component.', 'type' => 'string', 'example' => 'Logon node', 'title' => ''], + 'AddonId' => ['description' => 'The ID of the custom service component.', 'type' => 'string', 'example' => 'Login-1.0-W2g****'."\n", 'title' => ''], + 'Description' => ['description' => 'The description of the custom service component.', 'type' => 'string', 'example' => 'Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.', 'title' => ''], + 'Status' => ['description' => 'The status of the custom service component.', 'type' => 'string', 'example' => 'Running'."\n", 'title' => ''], + 'ServicesSpec' => [ + 'description' => 'The service configuration of the component.', + 'type' => 'array', + 'items' => [ + 'description' => 'The service configuration details.', + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The service name.', 'type' => 'string', 'required' => true, 'example' => 'Web Portal'."\n", 'title' => ''], + 'ServiceAccessType' => ['description' => 'The service access type.', 'type' => 'string', 'example' => 'URL', 'title' => ''], + 'ServiceAccessUrl' => ['description' => 'The service access URL.', 'type' => 'string', 'example' => 'https://47.96.xx.xx:12008'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ResourcesSpec' => [ + 'description' => 'The resource configuration of the component.', + 'type' => 'object', + 'properties' => [ + 'EipInstanceId' => ['description' => 'The elastic IP address (EIP) ID.', 'type' => 'string', 'example' => 'eip-bp1vi9124tbx1g3kr****'."\n", 'title' => ''], + 'EcsInstanceId' => ['description' => 'The component instance ID.', 'type' => 'string', 'example' => 'i-bp1bg85d2q6laic8****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ClusterUsedCoreTime' => ['description' => 'The core-hours consumed by the cluster.', 'type' => 'number', 'format' => 'float', 'example' => '1000', 'title' => ''], + 'ClusterMode' => ['description' => 'The deployment type of the cluster. Valid values:'."\n" + .'- Integrated: public cloud'."\n" + .'- Hybrid: hybrid cloud'."\n" + .'- Custom: custom cluster', 'type' => 'string', 'example' => 'Integrated', 'title' => ''], + 'ClusterCredentials' => [ + 'description' => 'The logon credential types of the cluster. Valid values:'."\n" + ."\n" + .'- password: uses a password to log on to the cluster.'."\n" + .'- keypair: uses a key pair to log on to the cluster.', + 'type' => 'array', + 'items' => ['description' => 'The credential type.', 'type' => 'string', 'example' => 'password', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 407 => [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - 403 => [ - [ - 'errorCode' => 'ConflictOpt', - 'errorMessage' => 'A conflicting operation is running.', - ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'InsufficientReservedNodes', - 'errorMessage' => 'There is no more available reserved nodes.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query cluster list', + 'summary' => 'Queries the list of all clusters in each region under your account.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusters'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true,\\n \\"InstanceIds\\": [\\n \\"[ \\\\\\"i-uf68t1zu3jkhs8w****\\\\\\", \\\\\\"i-uf6abz34m2714bp****\\\\\\", \\\\\\"i-uf65bh2113hlqvyx****\\\\\\", \\\\\\"i-uf68t1zu3jkhs8wx****\\\\\\", \\\\\\"i-uf6b0mtpx166fxxi****\\\\\\", \\\\\\"i-uf6faknz4dy1bit7****\\\\\\" ]\\"\\n ]\\n}","type":"json"}]', - 'title' => 'CreateNodes', - 'description' => '## [](#)'."\n", - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": 10,\\n \\"EhpcVersionStatistics\\": {\\n \\"V1Count\\": 0,\\n \\"V2Count\\": 0\\n },\\n \\"Clusters\\": [\\n {\\n \\"ClusterId\\": \\"ehpc-hz-VMKe******\\",\\n \\"ClusterName\\": \\"slurm22.05.8-cluster-20240227\\",\\n \\"ClusterDescription\\": \\"Demo\\",\\n \\"ClusterCreateTime\\": \\"2024-08-06T12:43:01.000Z\\",\\n \\"ClusterModifyTime\\": \\"2024-08-06T12:43:01.000Z\\",\\n \\"ClusterCategory\\": \\"Standard\\",\\n \\"ClusterStatus\\": \\"running\\",\\n \\"ClusterVpcId\\": \\"vpc-m5efjevmclc0xdmys****\\\\n\\",\\n \\"ClusterVSwitchId\\": \\"vsw-f8za5p0mwzgdu3wgx****\\\\n\\",\\n \\"SecurityGroupId\\": \\"sg-bp13n61xsydodfyg****\\\\n\\",\\n \\"ClusterCustomConfiguration\\": {\\n \\"Script\\": \\"https://xxxxx\\",\\n \\"Args\\": \\"demo\\"\\n },\\n \\"MaxCount\\": 500,\\n \\"MaxCoreCount\\": 10000,\\n \\"DeletionProtection\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph****\\",\\n \\"Manager\\": {\\n \\"Scheduler\\": {\\n \\"Type\\": \\"SLURM\\",\\n \\"Version\\": \\"22.05.8\\\\n\\"\\n },\\n \\"DirectoryService\\": {\\n \\"Type\\": \\"NIS\\",\\n \\"Version\\": \\"2.31\\\\n\\"\\n },\\n \\"DNS\\": {\\n \\"Type\\": \\"NIS\\",\\n \\"Version\\": \\"2.31\\"\\n }\\n },\\n \\"EhpcVersion\\": \\"2.0.0\\",\\n \\"Nodes\\": {\\n \\"RunningCounts\\": 1,\\n \\"AbnormalCounts\\": 0,\\n \\"CreatingCounts\\": 0\\n },\\n \\"Users\\": {\\n \\"SudoCounts\\": 2,\\n \\"NormalCounts\\": 2\\n },\\n \\"AdditionalPackages\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Version\\": \\"2024.1\\"\\n }\\n ],\\n \\"Addons\\": [\\n {\\n \\"Name\\": \\"Login\\",\\n \\"Version\\": \\"1.0\\",\\n \\"Label\\": \\"Logon node\\",\\n \\"AddonId\\": \\"Login-1.0-W2g****\\\\n\\",\\n \\"Description\\": \\"Logon node, mainly used for connecting to the E-HPC cluster environment and submitting user tasks.\\",\\n \\"Status\\": \\"Running\\\\n\\",\\n \\"ServicesSpec\\": [\\n {\\n \\"ServiceName\\": \\"Web Portal\\\\n\\",\\n \\"ServiceAccessType\\": \\"URL\\",\\n \\"ServiceAccessUrl\\": \\"https://47.96.xx.xx:12008\\\\n\\"\\n }\\n ],\\n \\"ResourcesSpec\\": {\\n \\"EipInstanceId\\": \\"eip-bp1vi9124tbx1g3kr****\\\\n\\",\\n \\"EcsInstanceId\\": \\"i-bp1bg85d2q6laic8****\\"\\n }\\n }\\n ],\\n \\"ClusterUsedCoreTime\\": 1000,\\n \\"ClusterMode\\": \\"Integrated\\",\\n \\"ClusterCredentials\\": [\\n \\"password\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'UpdateQueue' => [ - 'summary' => 'Modifies the configurations of a queue in an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListCommonLogs' => [ + 'summary' => 'Queries the logs of a cluster that are generated within a time range.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227338', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeCode' => '227331', + 'abilityTreeNodes' => ['FEATUREehpc8EEMGZ'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => ['description' => 'The start time of the time range. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1703821542', 'title' => ''], + ], + [ + 'name' => 'To', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the time range. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1703821666', 'title' => ''], + ], + [ + 'name' => 'ActionName', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', + 'description' => 'The action types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The action type. Logs of the specific action type are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CreateCluster', 'title' => ''], 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + 'title' => '', ], ], [ - 'name' => 'Queue', + 'name' => 'OperatorUid', + 'in' => 'query', + 'schema' => ['description' => 'The account ID of the operator.'."\n", 'type' => 'string', 'required' => false, 'example' => '137***', 'title' => ''], + ], + [ + 'name' => 'LogRequestId', + 'in' => 'query', + 'schema' => ['description' => 'The request ID of the action. Logs associated with the specific request ID are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + ], + [ + 'name' => 'ActionStatus', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'description' => 'The information about the queue to be updated.'."\n", - 'type' => 'object', - 'properties' => [ - 'QueueName' => [ - 'title' => 'QueueName', - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'comp', - ], - 'EnableScaleOut' => [ - 'title' => 'EnableScaleOut', - 'description' => 'Specifies whether to enable auto scale-out for the queue. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnableScaleIn' => [ - 'title' => 'EnableScaleIn', - 'description' => 'Specifies whether to enable auto scale-in for the queue. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'MinCount' => [ - 'title' => 'MinCount', - 'description' => 'The minimum number of compute nodes that the queue must contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - 'MaxCount' => [ - 'title' => 'MaxCount', - 'description' => 'The maximum number of compute nodes that the queue can contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], - 'InitialCount' => [ - 'title' => 'InitialCount', - 'description' => 'The initial number of compute nodes in the queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - 'InterConnect' => [ - 'title' => 'HPCInterConnect', - 'description' => 'The type of the network for interconnecting compute nodes in the queue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'erdma', - ], - 'VSwitchIds' => [ - 'title' => 'VSwitchIds', - 'description' => 'The vSwitches available for use by compute nodes in the queue.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'VSwitchId', - ], - 'required' => false, - ], - 'ComputeNodes' => [ - 'title' => 'Resources', - 'description' => 'The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the compute node.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/NodeTemplate', - ], - 'required' => false, - ], - 'AllocationStrategy' => [ - 'title' => 'AllocationStrategy', - 'description' => 'The policy based on which instance types are selected for compute nodes during auto scale-outs. Valid values:'."\n" - ."\n" - .'* PriorityInstanceType'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PriorityInstanceType', - ], - 'RamRole' => [ - 'title' => 'RamRole', - 'description' => 'The Resource Access Management (RAM) role that is assumed by compute nodes in the queue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AliyunECSInstanceForEHPCRole', - ], - 'HostnamePrefix' => [ - 'title' => 'HostNamePrefix', - 'description' => 'The hostname prefix of the added compute nodes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute', - ], - 'HostnameSuffix' => [ - 'title' => 'HostNameSuffix', - 'description' => 'The hostname suffix of the compute nodes in the queue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc', - ], - 'MaxCountPerCycle' => [ - 'title' => 'MaxCountPerCycle', - 'description' => 'The minimum number of compute nodes that are added to the queue during an automatic scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '99', - ], - 'KeepAliveNodes' => [ - 'description' => 'List of excluded compute nodes in the queue.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the excluded compute node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute000', - ], - 'required' => false, - ], - 'ReservedNodePoolId' => [ - 'type' => 'string', - 'required' => false, - ], - ], + 'description' => 'The action status. Logs associated with the specific action status are returned.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* Finished: The action is completed.'."\n" + .'* Failed: The action failed.'."\n" + .'* InProgress: The action is being performed.'."\n", + 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['Finished' => '结束', 'Failed' => '失败', 'InProgress' => '运行中'], + 'example' => 'Finished', + 'title' => '', ], ], + [ + 'name' => 'LogType', + 'in' => 'query', + 'schema' => ['description' => 'The log type. Logs of the specific type are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Operation', 'title' => ''], + ], + [ + 'name' => 'Resource', + 'in' => 'query', + 'schema' => ['description' => 'The name of the resource involved in the action. Logs associated with the specific resource are returned. This parameter is not recommended.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-abc***', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the page to return.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'IsReverse', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display results in reverse order.'."\n" + ."\n" + .'Default value: true'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], ], 'responses' => [ 200 => [ @@ -7321,19 +4765,35 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '464E9919-D04F-4D1D-B375-15989492****'], + 'Uid' => ['description' => 'The ID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '137***', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of returned entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Logs' => [ + 'description' => 'The brief information of operation logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The brief information of the log.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID associated with the action that generated the log.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'Time' => ['description' => 'The time when the log was generated.'."\n", 'type' => 'string', 'example' => '2024-08-22 14:21:54', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-9T3xPNezoS', 'title' => ''], + 'OperatorUid' => ['description' => 'The account ID of the operator.'."\n", 'type' => 'string', 'example' => '137***', 'title' => ''], + 'Action' => ['description' => 'The name of the action corresponding to the log.'."\n", 'type' => 'string', 'example' => 'CreaterCluster', 'title' => ''], + 'Status' => ['description' => 'The action state in the log. Valid values:'."\n" + ."\n" + .'* InProgress: The action is being performed.'."\n" + .'* Finished: The action is completed.'."\n" + .'* Failed: The action failed.'."\n", 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'LogType' => ['description' => 'The log type.'."\n", 'type' => 'string', 'example' => 'Operation', 'title' => ''], + 'Target' => ['description' => 'The involved resource.'."\n", 'type' => 'string', 'example' => 'i-abc***', 'title' => ''], + 'Message' => ['description' => 'The message of the log.'."\n", 'type' => 'string', 'example' => 'ok', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', ], ], ], @@ -7341,38 +4801,42 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListCommonLogs', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListCommonLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\",\\n \\"Uid\\": \\"137***\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 15,\\n \\"Logs\\": [\\n {\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Time\\": \\"2024-08-22 14:21:54\\",\\n \\"ClusterId\\": \\"ehpc-hz-9T3xPNezoS\\",\\n \\"OperatorUid\\": \\"137***\\",\\n \\"Action\\": \\"CreaterCluster\\",\\n \\"Status\\": \\"Finished\\",\\n \\"LogType\\": \\"Operation\\",\\n \\"Target\\": \\"i-abc***\\",\\n \\"Message\\": \\"ok\\"\\n }\\n ]\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommonLogs'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateQueue', ], - 'UpdateNodes' => [ - 'summary' => 'Updates the configurations of compute nodes in an Enterprise High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListInstalledSoftwares' => [ + 'summary' => 'Queries the installed software of a cluster.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7381,111 +4845,132 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228050', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeCode' => '227332', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The page number.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'Instances', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The information about the compute nodes that you want to update.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the compute node.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The instance ID of the compute node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp1bzqq1ddeemuddn****', - ], - 'KeepAlive' => [ - 'description' => 'Specifies whether to enable deletion protection for the compute node.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], + ], + [ + 'name' => 'ClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Success' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'AdditionalPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AdditionalPackageInfos' => [ + 'description' => 'The list of installed software.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The software name.'."\n", 'type' => 'string', 'example' => 'gromacs', 'title' => ''], + 'Category' => ['description' => 'The category into which the software falls.'."\n", 'type' => 'string', 'example' => 'NWP', 'title' => ''], + 'Icon' => ['description' => 'The URL of the software icon.'."\n", 'type' => 'string', 'example' => 'https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg', 'title' => ''], + 'Description' => ['description' => 'The software description.'."\n", 'type' => 'string', 'example' => 'Gromacs 2024.1 version', 'title' => ''], + 'Version' => ['description' => 'The software version.'."\n", 'type' => 'string', 'example' => '2024.1', 'title' => ''], + 'Status' => [ + 'description' => 'The installation status of the software.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* Installed'."\n" + .'* Uninstalled'."\n" + .'* Installing'."\n" + .'* Exception'."\n", + 'type' => 'string', + 'enumValueTitles' => ['Installed' => 'Installed', 'Uninstalled' => 'Uninstalled', 'Installing' => 'Installing', 'Exception' => 'Exception'], + 'example' => 'Installed', + 'title' => '', + ], + 'CreateTime' => ['description' => 'The time when the software was installed.'."\n", 'type' => 'string', 'example' => '2024-03-05 18:24:08', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidNodeStatus', - 'errorMessage' => 'The operation failed due to invalid node status.', - ], + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['errorCode' => 'LoginNotFound', 'errorMessage' => 'The specified login node does not exist.', 'description' => 'The specified login node does not exist.'], ], 406 => [ - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateNodes', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Before you delete a compute node, we recommend that you export all job data from the node to prevent data loss.'."\n", - ], - 'ListQueues' => [ - 'summary' => 'Queries queues in an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"AdditionalPackages\\": {\\n \\"AdditionalPackageInfos\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Category\\": \\"NWP\\",\\n \\"Icon\\": \\"https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg\\",\\n \\"Description\\": \\"Gromacs 2024.1 version\\",\\n \\"Version\\": \\"2024.1\\",\\n \\"Status\\": \\"Installed\\",\\n \\"CreateTime\\": \\"2024-03-05 18:24:08\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListInstalledSoftwares', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListInstalledSoftwares'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListInstalledSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListJobs' => [ + 'summary' => 'Queries the list of jobs in a specified cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -7497,215 +4982,272 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228051', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeCode' => '227488', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call [ListClusters](~~87116~~) to query the cluster ID.', 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-csbua72***', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the list.'."\n" + .'- Minimum value: 1.'."\n" + .'- Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', 'schema' => [ - 'description' => 'The cluster ID.'."\n", + 'description' => 'The number of entries per page when using paged query. Paging is applied to the results.'."\n" + .'- Maximum value: 50.'."\n" + .'- Default value: 10.', + 'enumValueTitles' => [], 'type' => 'string', 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + 'example' => '10', + 'title' => '', ], ], [ - 'name' => 'QueueNames', + 'name' => 'JobFilter', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The names of the queues that you want to query. You can specify up to eight names.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'comp', + 'description' => 'The job filter information.', + 'type' => 'object', + 'properties' => [ + 'Users' => [ + 'description' => 'The list of users who run the jobs.', + 'type' => 'array', + 'items' => ['description' => 'The username of the user who runs the job. Fuzzy match is supported. '."\n" + ."\n" + .'You can call [ListUsers](url) to query the usernames in the cluster.', 'type' => 'string', 'required' => false, 'example' => 'testuser1', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Queues' => [ + 'description' => 'The list of queues that run the jobs.', + 'type' => 'array', + 'items' => ['description' => 'The name of the queue that runs the job. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'comp', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Nodes' => [ + 'description' => 'The list of compute nodes that run the jobs.', + 'type' => 'array', + 'items' => ['description' => 'The hostname of the compute node. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'compute000', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'JobName' => ['description' => 'The job name. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'testjob', 'title' => ''], + 'JobStatus' => ['description' => 'The job status. Valid values:'."\n" + .'- all: all statuses.'."\n" + .'- finished: completed.'."\n" + .'- notfinish: not completed.'."\n" + ."\n" + .'Default value: all.', 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => ''], + 'CreateTimeStart' => ['description' => 'The start time of the job. The value is a UNIX timestamp representing the number of seconds that have elapsed since 1970-01-01T00:00:00Z.', 'type' => 'string', 'required' => false, 'example' => '1724122486', 'title' => ''], + 'CreateTimeEnd' => ['description' => 'The last update time of the job. The value is a UNIX timestamp representing the number of seconds that have elapsed since 1970-01-01T00:00:00Z.', 'type' => 'string', 'required' => false, 'example' => '1724123085', 'title' => ''], + 'SortBy' => [ + 'description' => 'The sorting configuration for the job list.', + 'type' => 'object', + 'properties' => [ + 'ExecuteOrder' => ['description' => 'Sorts jobs by execution time. Valid values:'."\n" + .'- asc: ascending order.'."\n" + .'- desc: descending order.'."\n" + ."\n" + .'Default value: desc.', 'type' => 'string', 'required' => false, 'example' => 'asc', 'title' => ''], + 'SubmitOrder' => ['description' => 'Sorts jobs by submission time. Valid values:'."\n" + .'- asc: ascending order.'."\n" + .'- desc: descending order.'."\n" + ."\n" + .'Default value: desc.', 'type' => 'string', 'required' => false, 'example' => 'asc', 'title' => ''], + 'PendOrder' => ['description' => 'Sorts jobs by queue wait time. Valid values:'."\n" + .'- asc: ascending order.'."\n" + .'- desc: descending order.'."\n" + ."\n" + .'Default value: desc.', 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Diagnosis' => [ + 'description' => 'The job diagnostic analysis list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The job diagnostic analysis details.', + 'type' => 'object', + 'properties' => [ + 'Option' => ['description' => 'The job diagnostic analysis metric.', 'type' => 'string', 'required' => false, 'example' => 'run_duration', 'title' => ''], + 'Operator' => [ + 'description' => 'The comparison operator for the job diagnostic threshold.', + 'enumValueTitles' => ['greater_or_equal' => 'greater than or equal to.', 'less' => 'less than.', 'less_or_equal' => 'less than or equal to.', 'greater' => 'greater than.'], + 'type' => 'string', + 'required' => false, + 'example' => 'greater', + 'title' => '', + ], + 'Threshold' => ['description' => 'The job diagnostic threshold.', 'type' => 'string', 'required' => false, 'example' => '24', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The results returned.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C6E5005C-00B0-4F27-98BB-95AB88016C22', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-FYUr32****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Queues' => [ - 'description' => 'The information about the queues.'."\n", + 'TotalCount' => ['title' => '', 'description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'EABFBD93-58BE-53F3-BBFE-8654BB2E****'], + 'PageNumber' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['title' => '', 'description' => 'The number of entries per page set for the paged query. Paging settings apply. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'Success' => ['description' => 'Indicates whether the command was run and the result was obtained. Valid values:'."\n" + .'- true: Succeeded.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Jobs' => [ + 'description' => 'The job list.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the queue.'."\n", + 'description' => 'The job information.', 'type' => 'object', 'properties' => [ - 'QueueName' => [ - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'example' => 'comp', - ], - 'EnableScaleOut' => [ - 'description' => 'Indicates whether auto scale-out is enabled for the queue. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableScaleIn' => [ - 'description' => 'Indicates whether auto scale-in is enabled for the queue. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'MinCount' => [ - 'description' => 'The minimum number of compute nodes that the queue must contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'MaxCount' => [ - 'description' => 'The maximum number of compute nodes that the queue can contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MaxCountPerCycle' => [ - 'description' => 'The minimum number of compute nodes that are added to the queue in each auto scale-out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ComputeNodes' => [ - 'description' => 'The hardware configurations of the compute nodes that are added in auto scale-outs. Up to five nodes are displayed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hardware configurations of the compute nodes.'."\n", - '$ref' => '#/components/schemas/NodeTemplate', - ], - ], - 'VSwitchIds' => [ - 'description' => 'The vSwitches that can be used for added nodes during auto scale-outs. Up to three vSwitches are displayed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp12pmqe9gh0pi7i1f2ed', - ], - ], - 'Nodes' => [ - 'description' => 'The statistics about the compute nodes in the queue.'."\n", + 'JobName' => ['description' => 'The job name.', 'type' => 'string', 'example' => 'testjob', 'title' => ''], + 'JobSpec' => [ + 'description' => 'The job configuration.', 'type' => 'object', 'properties' => [ - 'RunningCounts' => [ - 'description' => 'The number of running compute nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ExceptionCounts' => [ - 'description' => 'The number of malfunctioning compute nodes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'Id' => ['description' => 'The job ID.', 'type' => 'string', 'example' => '12', 'title' => ''], + 'RunasUser' => ['description' => 'The username of the user who runs the job.', 'type' => 'string', 'example' => 'testuser1', 'title' => ''], + 'Comment' => ['description' => 'The job description.', 'type' => 'string', 'example' => 'jobDescription', 'title' => ''], + 'State' => ['description' => 'The job status. Valid values: (PBS cluster/Slurm cluster)'."\n" + .'- FINISHED/Completed: completed.'."\n" + .'- RUNNING/Running: running.'."\n" + .'- QUEUED/Pending: queued and waiting.'."\n" + .'- FAILED/Failed: failed.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'StderrPath' => ['description' => 'The standard error output path.', 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'StdoutPath' => ['description' => 'The standard output path.', 'type' => 'string', 'example' => './Temp', 'title' => ''], + 'Priority' => ['description' => 'The priority of the job. Valid values: 0 to 9. A larger value indicates a higher priority.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'ArrayRequest' => ['description' => 'The array job format.'."\n" + .'- If the job is not an array job, the output is empty.'."\n" + .'- The format is X-Y:Z, where X is the first index, Y is the last index, and Z is the step size. For example, 2-7:2 indicates that the array job contains three sub-jobs numbered 2, 4, and 6.', 'type' => 'string', 'example' => '1-5:2', 'title' => ''], + 'LastModifyTime' => ['description' => 'The last update time of the job.', 'type' => 'string', 'example' => '1724123085', 'title' => ''], + 'NodeList' => ['description' => 'The list of compute nodes that run the job.', 'type' => 'string', 'example' => 'compute[002,005,003]', 'title' => ''], + 'SubmitTime' => ['description' => 'The submission time of the job.', 'type' => 'string', 'example' => '1724122486', 'title' => ''], + 'JobQueue' => ['description' => 'The name of the queue that runs the job.', 'type' => 'string', 'example' => 'comp', 'title' => ''], + 'Variables' => ['description' => 'The list of job variables.', 'type' => 'string', 'example' => '{"PBS_O_SHELL":"/bin/bash", "PBS_O_HOST":"manager", "PBS_O_SYSTEM":"Linux", "PBS_O_LANG":"en_US.UTF-8", "PBS_O_QUEUE":"workq"}', 'title' => ''], + 'Resources' => [ + 'description' => 'The resource information required to run the job.', + 'type' => 'object', + 'properties' => [ + 'Nodes' => ['description' => 'The number of compute nodes that run the job.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'Cores' => ['description' => 'The number of CPU cores used to run the job.', 'type' => 'string', 'example' => '6', 'title' => ''], + 'Memory' => ['description' => 'The memory size used to run the job.', 'type' => 'string', 'example' => '1536MB', 'title' => ''], + 'Gpus' => ['description' => 'The number of GPUs used to run the job.', 'type' => 'string', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'CreatingCounts' => [ - 'description' => 'The number of compute nodes that are not ready.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', + 'ArrayJobId' => ['description' => 'The array job ID.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'ArrayJobSubId' => ['description' => 'The array sub-job ID.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ResourcesActualOccupied' => [ + 'description' => 'The resources actually occupied by the job.', + 'type' => 'object', + 'properties' => [ + 'Nodes' => ['description' => 'The number of compute nodes.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of CPU cores.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'Memory' => ['description' => 'The memory size.', 'type' => 'string', 'example' => '982MB', 'title' => ''], + 'Gpus' => ['description' => 'The number of GPUs.', 'type' => 'string', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'StartTime' => ['description' => 'The start time of the job.', 'type' => 'string', 'example' => '1724122486', 'title' => ''], ], - ], - 'CreateTime' => [ - 'description' => 'The time when the queue was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2023-11-10T02:04:00Z', - ], - 'UpdateTime' => [ - 'description' => 'The time when the queue was updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", - 'type' => 'string', - 'example' => '2024-04-25T02:02:32', - ], - 'TotalCores' => [ - 'description' => 'The total number of vCPUs that are used by all compute nodes in the queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '24', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"EABFBD93-58BE-53F3-BBFE-8654BB2E****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"Success\\": true,\\n \\"Jobs\\": [\\n {\\n \\"JobName\\": \\"testjob\\",\\n \\"JobSpec\\": {\\n \\"Id\\": \\"12\\",\\n \\"RunasUser\\": \\"testuser1\\",\\n \\"Comment\\": \\"jobDescription\\",\\n \\"State\\": \\"Running\\",\\n \\"StderrPath\\": \\"./Temp\\",\\n \\"StdoutPath\\": \\"./Temp\\",\\n \\"Priority\\": \\"0\\",\\n \\"ArrayRequest\\": \\"1-5:2\\",\\n \\"LastModifyTime\\": \\"1724123085\\",\\n \\"NodeList\\": \\"compute[002,005,003]\\",\\n \\"SubmitTime\\": \\"1724122486\\",\\n \\"JobQueue\\": \\"comp\\",\\n \\"Variables\\": \\"{\\\\\\"PBS_O_SHELL\\\\\\":\\\\\\"/bin/bash\\\\\\", \\\\t\\\\\\"PBS_O_HOST\\\\\\":\\\\\\"manager\\\\\\", \\\\t\\\\\\"PBS_O_SYSTEM\\\\\\":\\\\\\"Linux\\\\\\", \\\\t\\\\\\"PBS_O_LANG\\\\\\":\\\\\\"en_US.UTF-8\\\\\\", \\\\t\\\\\\"PBS_O_QUEUE\\\\\\":\\\\\\"workq\\\\\\"}\\",\\n \\"Resources\\": {\\n \\"Nodes\\": \\"3\\",\\n \\"Cores\\": \\"6\\",\\n \\"Memory\\": \\"1536MB\\",\\n \\"Gpus\\": \\"0\\"\\n },\\n \\"ArrayJobId\\": \\"4\\",\\n \\"ArrayJobSubId\\": \\"1\\",\\n \\"ResourcesActualOccupied\\": {\\n \\"Nodes\\": \\"2\\",\\n \\"Cores\\": \\"4\\",\\n \\"Memory\\": \\"982MB\\",\\n \\"Gpus\\": \\"0\\"\\n },\\n \\"StartTime\\": \\"1724122486\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query job list', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6E5005C-00B0-4F27-98BB-95AB88016C22\\",\\n \\"TotalCount\\": 1,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"Queues\\": [\\n {\\n \\"QueueName\\": \\"comp\\",\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MinCount\\": 0,\\n \\"MaxCount\\": 100,\\n \\"MaxCountPerCycle\\": 1,\\n \\"ComputeNodes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false,\\n \\"MountDir\\": \\"/data1\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"SnapshotId\\": \\"s-bp1ei2b44ripxuo46hym\\"\\n }\\n ]\\n }\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp12pmqe9gh0pi7i1f2ed\\"\\n ],\\n \\"Nodes\\": {\\n \\"RunningCounts\\": 1,\\n \\"ExceptionCounts\\": 0,\\n \\"CreatingCounts\\": 2\\n },\\n \\"CreateTime\\": \\"2023-11-10T02:04:00Z\\",\\n \\"UpdateTime\\": \\"2024-04-25T02:02:32\\",\\n \\"TotalCores\\": 24\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListQueues', ], 'ListNodes' => [ 'summary' => 'Queries the nodes of an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -7718,9 +5260,7 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '228053', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], @@ -7728,12 +5268,7 @@ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID. You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID. You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'Hostnames', @@ -7742,13 +5277,9 @@ 'schema' => [ 'description' => 'The hostnames of the compute nodes that you want to query.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute000', - ], + 'items' => ['description' => 'The hostname.'."\n", 'type' => 'string', 'required' => false, 'example' => 'compute000', 'title' => ''], 'required' => false, + 'title' => '', ], ], [ @@ -7758,66 +5289,40 @@ 'schema' => [ 'description' => 'The IP addresses of the compute nodes that you want to query.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The Virtual Private Cloud (VPC) IP address of the compute node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.16.**.**', - ], + 'items' => ['description' => 'The Virtual Private Cloud (VPC) IP address of the compute node.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.**.**', 'title' => ''], 'required' => false, + 'title' => '', ], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Sequence', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the results are sorted in ascending or descending order. Valid values:'."\n" - ."\n" - .'* Forward: ascending'."\n" - .'* Backward: descending'."\n" - ."\n" - .'Default value: Forward.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Forward', - ], + 'schema' => ['description' => 'Specifies whether the results are sorted in ascending or descending order. Valid values:'."\n" + ."\n" + .'* Forward: ascending'."\n" + .'* Backward: descending'."\n" + ."\n" + .'Default value: Forward.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Forward', 'title' => ''], ], [ 'name' => 'SortBy', 'in' => 'query', - 'schema' => [ - 'description' => 'The sorting method of the node list. Valid values:'."\n" - ."\n" - .'* AddedTime: sorts the nodes by the time that they were added.'."\n" - .'* HostName: sorts the nodes by their hostnames.'."\n" - ."\n" - .'Default value: addedtime.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AddedTime', - ], + 'schema' => ['description' => 'The sorting method of the node list. Valid values:'."\n" + ."\n" + .'* AddedTime: sorts the nodes by the time that they were added.'."\n" + .'* HostName: sorts the nodes by their hostnames.'."\n" + ."\n" + .'Default value: addedtime.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AddedTime', 'title' => ''], ], [ 'name' => 'QueueNames', @@ -7826,13 +5331,9 @@ 'schema' => [ 'description' => 'The queues to which the nodes belong.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'comp', - ], + 'items' => ['description' => 'The queue name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'comp', 'title' => ''], 'required' => false, + 'title' => '', ], ], [ @@ -7842,21 +5343,17 @@ 'schema' => [ 'description' => 'The states of the compute nodes to be queried.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The state of the compute node. Valid values:'."\n" - ."\n" - .'* uninit: The node is being installed.'."\n" - .'* initing: The node is being initialized.'."\n" - .'* running: The node is running.'."\n" - .'* releasing: The node is being released.'."\n" - .'* stopped: The node is stopped.'."\n" - .'* exception: The node has run into an exception.'."\n" - .'* untracking: The node is not added to the cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'running', - ], + 'items' => ['description' => 'The state of the compute node. Valid values:'."\n" + ."\n" + .'* uninit: The node is being installed.'."\n" + .'* initing: The node is being initialized.'."\n" + .'* running: The node is running.'."\n" + .'* releasing: The node is being released.'."\n" + .'* stopped: The node is stopped.'."\n" + .'* exception: The node has run into an exception.'."\n" + .'* untracking: The node is not added to the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'running', 'title' => ''], 'required' => false, + 'title' => '', ], ], ], @@ -7866,29 +5363,10 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89A1AC0F-4A6C-4F3D-98F9-BEF9A823****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Nodes' => [ 'description' => 'The information about the nodes.'."\n", 'type' => 'array', @@ -7896,156 +5374,86 @@ 'description' => 'The information about the node.'."\n", 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The VPC ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1gnu8br4ay7beb2w****', - ], - 'Status' => [ - 'description' => 'The node state. Valid values:'."\n" - ."\n" - .'* uninit: The node is being installed.'."\n" - .'* initing: The node is being initialized.'."\n" - .'* running: The node is running.'."\n" - .'* releasing: The node is being released.'."\n" - .'* stopped: The node is stopped.'."\n" - .'* exception: The node has run into an exception.'."\n" - .'* untracking: The node is not added to the cluster.'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'HtEnabled' => [ - 'description' => 'Indicates whether hyper-threading is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Hostname' => [ - 'description' => 'The hostname of the node.'."\n", - 'type' => 'string', - 'example' => 'edas.cn-shanghai.aliyuncs.com', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the node.'."\n", - 'type' => 'string', - 'example' => 'ecs.c5.large', - ], - 'PublicIpAddress' => [ - 'description' => 'The public IP address of the node.'."\n", - 'type' => 'string', - 'example' => '172.16.**.**', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy of the node. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The node is a preemptible instance for which the market price at the time of purchase is automatically used as the bidding price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID of the node.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1e47optm9g58zcu****', - ], - 'IpAddress' => [ - 'description' => 'The VPC IP address of the node.'."\n", - 'type' => 'string', - 'example' => '172.16.**.**', - ], - 'ExpiredTime' => [ - 'description' => 'The time when the node expires.'."\n", - 'type' => 'string', - 'example' => '2020-06-09T06:22:02.000Z', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the node.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'AddTime' => [ - 'description' => 'The time when the node was created.'."\n", - 'type' => 'string', - 'example' => '2020-06-09T06:22:02.000Z', - ], - 'ImageId' => [ - 'description' => 'The image ID of the node.'."\n", - 'type' => 'string', - 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', - ], - 'Id' => [ - 'description' => 'The instance ID of the node.'."\n", - 'type' => 'string', - 'example' => 'i-bp15707mys2rsy0j****', - ], + 'VpcId' => ['description' => 'The VPC ID.'."\n", 'type' => 'string', 'example' => 'vpc-bp1gnu8br4ay7beb2w****', 'title' => ''], + 'Status' => ['description' => 'The node state. Valid values:'."\n" + ."\n" + .'* uninit: The node is being installed.'."\n" + .'* initing: The node is being initialized.'."\n" + .'* running: The node is running.'."\n" + .'* releasing: The node is being released.'."\n" + .'* stopped: The node is stopped.'."\n" + .'* exception: The node has run into an exception.'."\n" + .'* untracking: The node is not added to the cluster.'."\n", 'type' => 'string', 'example' => 'running', 'title' => ''], + 'HtEnabled' => ['description' => 'Indicates whether hyper-threading is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Hostname' => ['description' => 'The hostname of the node.'."\n", 'type' => 'string', 'example' => 'edas.cn-shanghai.aliyuncs.com', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the node.'."\n", 'type' => 'string', 'example' => 'ecs.c5.large', 'title' => ''], + 'PublicIpAddress' => ['description' => 'The public IP address of the node.'."\n", 'type' => 'string', 'example' => '172.16.**.**', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding policy of the node. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances of the compute node are pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The node is a preemptible instance for which the market price at the time of purchase is automatically used as the bidding price.'."\n", 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the node.'."\n", 'type' => 'string', 'example' => 'vsw-bp1e47optm9g58zcu****', 'title' => ''], + 'IpAddress' => ['description' => 'The VPC IP address of the node.'."\n", 'type' => 'string', 'example' => '172.16.**.**', 'title' => ''], + 'ExpiredTime' => ['description' => 'The time when the node expires.'."\n", 'type' => 'string', 'example' => '2020-06-09T06:22:02.000Z', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the node.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'AddTime' => ['description' => 'The time when the node was created.'."\n", 'type' => 'string', 'example' => '2020-06-09T06:22:02.000Z', 'title' => ''], + 'ImageId' => ['description' => 'The image ID of the node.'."\n", 'type' => 'string', 'example' => 'centos_7_06_64_20G_alibase_20190711.vhd', 'title' => ''], + 'Id' => ['description' => 'The instance ID of the node.'."\n", 'type' => 'string', 'example' => 'i-bp15707mys2rsy0j****', 'title' => ''], 'TotalResources' => [ 'description' => 'The hardware configurations of the node.'."\n", 'type' => 'object', 'properties' => [ - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The amount of memory. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], + 'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The amount of memory. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], ], + 'title' => '', ], - 'StateInSched' => [ - 'description' => 'The node state in the scheduler.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - 'QueueName' => [ - 'description' => 'The name of the queue to which the node belongs.'."\n", - 'type' => 'string', - 'example' => 'autoque3', - ], - 'KeepAlive' => [ - 'description' => 'Indicates whether deletion protection is enabled for the node. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'DeploymentSetId' => [ - 'description' => 'The deployment set ID.'."\n", - 'type' => 'string', - 'example' => 'ds-8vbe4av4gededlqg****', - ], + 'StateInSched' => ['description' => 'The node state in the scheduler.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''], + 'QueueName' => ['description' => 'The name of the queue to which the node belongs.'."\n", 'type' => 'string', 'example' => 'autoque3', 'title' => ''], + 'KeepAlive' => ['description' => 'Indicates whether deletion protection is enabled for the node. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'DeploymentSetId' => ['description' => 'The deployment set ID.'."\n", 'type' => 'string', 'example' => 'ds-8vbe4av4gededlqg****', 'title' => ''], ], + 'title' => '', ], + 'title' => '', ], ], + 'title' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"running\\",\\n \\"HtEnabled\\": true,\\n \\"Hostname\\": \\"edas.cn-shanghai.aliyuncs.com\\",\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"PublicIpAddress\\": \\"172.16.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.16.**.**\\",\\n \\"ExpiredTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20190711.vhd\\",\\n \\"Id\\": \\"i-bp15707mys2rsy0j****\\",\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"StateInSched\\": \\"active\\",\\n \\"QueueName\\": \\"autoque3\\",\\n \\"KeepAlive\\": true,\\n \\"DeploymentSetId\\": \\"ds-8vbe4av4gededlqg****\\"\\n }\\n ]\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListNodes', - ], - 'GetQueue' => [ - 'summary' => 'Queries the details of a queue in an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"89A1AC0F-4A6C-4F3D-98F9-BEF9A823****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Nodes\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1gnu8br4ay7beb2w****\\",\\n \\"Status\\": \\"running\\",\\n \\"HtEnabled\\": true,\\n \\"Hostname\\": \\"edas.cn-shanghai.aliyuncs.com\\",\\n \\"InstanceType\\": \\"ecs.c5.large\\",\\n \\"PublicIpAddress\\": \\"172.16.**.**\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"VSwitchId\\": \\"vsw-bp1e47optm9g58zcu****\\",\\n \\"IpAddress\\": \\"172.16.**.**\\",\\n \\"ExpiredTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"AddTime\\": \\"2020-06-09T06:22:02.000Z\\",\\n \\"ImageId\\": \\"centos_7_06_64_20G_alibase_20190711.vhd\\",\\n \\"Id\\": \\"i-bp15707mys2rsy0j****\\",\\n \\"TotalResources\\": {\\n \\"Gpu\\": 0,\\n \\"Cpu\\": 1,\\n \\"Memory\\": 1024\\n },\\n \\"StateInSched\\": \\"active\\",\\n \\"QueueName\\": \\"autoque3\\",\\n \\"KeepAlive\\": true,\\n \\"DeploymentSetId\\": \\"ds-8vbe4av4gededlqg****\\"\\n }\\n ]\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodes'], + ], ], + ], + 'ListQueues' => [ + 'summary' => 'Queries queues in an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8054,35 +5462,28 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227337', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeCode' => '228051', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'QueueName', + 'name' => 'QueueNames', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The queue name.'."\n", - 'type' => 'string', + 'description' => 'The names of the queues that you want to query. You can specify up to eight names.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The queue name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'comp', 'title' => ''], 'required' => false, - 'example' => 'comp', + 'title' => '', ], ], ], @@ -8090,293 +5491,229 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The results returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Queue' => [ - 'description' => 'The queue configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'QueueName' => [ - 'title' => 'QueueName', - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'comp', - ], - 'EnableScaleOut' => [ - 'title' => 'EnableScaleOut', - 'description' => 'Indicates whether auto scale-out is enabled for the queue. Valid values:'."\n" + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'C6E5005C-00B0-4F27-98BB-95AB88016C22'], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Queues' => [ + 'description' => 'The information about the queues.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the queue.'."\n", + 'type' => 'object', + 'properties' => [ + 'QueueName' => ['description' => 'The queue name.'."\n", 'type' => 'string', 'example' => 'comp', 'title' => ''], + 'EnableScaleOut' => ['description' => 'Indicates whether auto scale-out is enabled for the queue. Valid values:'."\n" ."\n" .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableScaleIn' => [ - 'title' => 'EnableScaleIn', - 'description' => 'Indicates whether auto scale-in is enabled for the queue. Valid values:'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableScaleIn' => ['description' => 'Indicates whether auto scale-in is enabled for the queue. Valid values:'."\n" ."\n" .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'MinCount' => [ - 'title' => 'MinCount', - 'description' => 'The minimum number of compute nodes that the queue must contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'MaxCount' => [ - 'title' => 'MaxCount', - 'description' => 'The maximum number of compute nodes that the queue can contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'InitialCount' => [ - 'title' => 'InitialCount', - 'description' => 'The initial number of nodes in the queue.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InterConnect' => [ - 'title' => 'HPCInterConnect', - 'description' => 'The type of the network between compute nodes in the queue. Valid values:'."\n" - ."\n" - .'* vpc'."\n" - .'* eRDMA'."\n", - 'type' => 'string', - 'example' => 'erdma', - ], - 'VSwitchIds' => [ - 'title' => 'VSwitchIds', - 'description' => 'The available vSwitches for compute nodes in the queue. Valid values of N: 1 to 5.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-t4nw7upbpzb3u071twiys', + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MinCount' => ['description' => 'The minimum number of compute nodes that the queue must contain.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'MaxCount' => ['description' => 'The maximum number of compute nodes that the queue can contain.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'MaxCountPerCycle' => ['description' => 'The minimum number of compute nodes that are added to the queue in each auto scale-out.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ComputeNodes' => [ + 'description' => 'The hardware configurations of the compute nodes that are added in auto scale-outs. Up to five nodes are displayed.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The hardware configurations of the compute nodes.'."\n", '$ref' => '#/components/schemas/NodeTemplate', 'title' => ''], + 'title' => '', ], - ], - 'ComputeNodes' => [ - 'title' => 'Resources', - 'description' => 'The hardware configurations of the compute nodes in the queue.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the compute node.'."\n", - '$ref' => '#/components/schemas/NodeTemplate', + 'VSwitchIds' => [ + 'description' => 'The vSwitches that can be used for added nodes during auto scale-outs. Up to three vSwitches are displayed.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The vSwitch ID.'."\n", 'type' => 'string', 'example' => 'vsw-bp12pmqe9gh0pi7i1f2ed', 'title' => ''], + 'title' => '', ], - ], - 'AllocationStrategy' => [ - 'title' => 'AllocationStrategy', - 'description' => 'The auto scale-out policy of the queue.'."\n", - 'type' => 'string', - 'example' => 'PriorityInstanceType', - ], - 'RamRole' => [ - 'title' => 'RamRole', - 'description' => 'The Resource Access Management (RAM) role that is assumed by compute nodes in the queue.'."\n", - 'type' => 'string', - 'example' => 'AliyunECSInstanceForEHPCRole', - ], - 'HostnamePrefix' => [ - 'title' => 'HostNamePrefix', - 'description' => 'The hostname prefix of the compute nodes in the queue.'."\n", - 'type' => 'string', - 'example' => 'compute', - ], - 'HostnameSuffix' => [ - 'title' => 'HostNameSuffix', - 'description' => 'The hostname suffix of the compute nodes in the queue.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - 'MaxCountPerCycle' => [ - 'title' => 'MaxCountPerCycle', - 'description' => 'The minimum number of nodes that are delivered to the queue in each scale-out cycle.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '99', - ], - 'KeepAliveNodes' => [ - 'description' => 'The nodes for which deletion protection is enabled in the queue.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the node for which deletion protection is enabled.'."\n", - 'type' => 'string', - 'example' => 'compute000', + 'Nodes' => [ + 'description' => 'The statistics about the compute nodes in the queue.'."\n", + 'type' => 'object', + 'properties' => [ + 'RunningCounts' => ['description' => 'The number of running compute nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ExceptionCounts' => ['description' => 'The number of malfunctioning compute nodes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CreatingCounts' => ['description' => 'The number of compute nodes that are not ready.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', ], + 'CreateTime' => ['description' => 'The time when the queue was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", 'type' => 'string', 'example' => '2023-11-10T02:04:00Z', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the queue was updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see [ISO 8601](~~25696~~).'."\n", 'type' => 'string', 'example' => '2024-04-25T02:02:32', 'title' => ''], + 'TotalCores' => ['description' => 'The total number of vCPUs that are used by all compute nodes in the queue.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''], ], - 'ReservedNodePoolId' => [ - 'description' => 'Preset node pool ID.', - 'type' => 'string', - 'example' => 'rnp-756vlp7a', - ], - 'CreateTime' => [ - 'title' => '队列创建时间。'."\n", - 'type' => 'string', - 'example' => '2025-01-01T12:05:00Z', - ], - 'UpdateTime' => [ - 'title' => '队列更新时间。', - 'type' => 'string', - 'example' => '2025-01-01T12:05:00Z', - ], + 'title' => '', ], + 'title' => '', ], ], ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], - ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListQueues', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6E5005C-00B0-4F27-98BB-95AB88016C22\\",\\n \\"TotalCount\\": 1,\\n \\"ClusterId\\": \\"ehpc-hz-FYUr32****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"Queues\\": [\\n {\\n \\"QueueName\\": \\"comp\\",\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MinCount\\": 0,\\n \\"MaxCount\\": 100,\\n \\"MaxCountPerCycle\\": 1,\\n \\"ComputeNodes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_essd\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false,\\n \\"MountDir\\": \\"/data1\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"SnapshotId\\": \\"s-bp1ei2b44ripxuo46hym\\"\\n }\\n ]\\n }\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp12pmqe9gh0pi7i1f2ed\\"\\n ],\\n \\"Nodes\\": {\\n \\"RunningCounts\\": 1,\\n \\"ExceptionCounts\\": 0,\\n \\"CreatingCounts\\": 2\\n },\\n \\"CreateTime\\": \\"2023-11-10T02:04:00Z\\",\\n \\"UpdateTime\\": \\"2024-04-25T02:02:32\\",\\n \\"TotalCores\\": 24\\n }\\n ]\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListQueues'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Queue\\": {\\n \\"QueueName\\": \\"comp\\",\\n \\"EnableScaleOut\\": true,\\n \\"EnableScaleIn\\": true,\\n \\"MinCount\\": 0,\\n \\"MaxCount\\": 1000,\\n \\"InitialCount\\": 0,\\n \\"InterConnect\\": \\"erdma\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-t4nw7upbpzb3u071twiys\\"\\n ],\\n \\"ComputeNodes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.4xlarge\\",\\n \\"ImageId\\": \\"aliyun_3_x64_20G_alibase_20221102.vhd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"PeriodUnit\\": \\"Month\\",\\n \\"Period\\": 1,\\n \\"AutoRenew\\": false,\\n \\"AutoRenewPeriod\\": 1,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"SpotPriceLimit\\": 0.97,\\n \\"Duration\\": 1,\\n \\"EnableHT\\": true,\\n \\"SystemDisk\\": {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\"\\n },\\n \\"DataDisks\\": [\\n {\\n \\"Category\\": \\"cloud_auto\\",\\n \\"Size\\": 40,\\n \\"Level\\": \\"PL0\\",\\n \\"DeleteWithInstance\\": false,\\n \\"MountDir\\": \\"/data1\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"SnapshotId\\": \\"s-bp1ei2b44ripxuo46hym\\"\\n }\\n ]\\n }\\n ],\\n \\"AllocationStrategy\\": \\"PriorityInstanceType\\",\\n \\"RamRole\\": \\"AliyunECSInstanceForEHPCRole\\",\\n \\"HostnamePrefix\\": \\"compute\\",\\n \\"HostnameSuffix\\": \\"demo\\",\\n \\"MaxCountPerCycle\\": 99,\\n \\"KeepAliveNodes\\": [\\n \\"compute000\\"\\n ],\\n \\"ReservedNodePoolId\\": \\"rnp-756vlp7a\\",\\n \\"CreateTime\\": \\"2025-01-01T12:05:00Z\\",\\n \\"UpdateTime\\": \\"2025-01-01T12:05:00Z\\"\\n }\\n}","type":"json"}]', - 'title' => 'GetQueue', - 'translator' => 'machine', ], - 'DeleteQueues' => [ - 'summary' => 'Deletes queues from an Enterprise High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListRegions' => [ + 'summary' => 'Queries the available regions for the product.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228049', - 'abilityTreeNodes' => [ - 'FEATUREehpcAB36B2', - ], + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'SpecCode', 'in' => 'query', 'schema' => [ - 'description' => 'The cluster ID.'."\n", + 'description' => 'The product name. The default value is Next. Valid values:'."\n" + ."\n" + .'- Next: The E-HPC Cluster product, formerly known as E-HPC NEXT.'."\n" + ."\n" + .'- Instant: The E-HPC Instant product.', 'type' => 'string', + 'enum' => ['Next', 'Instant'], 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + 'example' => 'Next', + 'title' => '', ], ], [ - 'name' => 'QueueNames', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'style' => 'json', 'schema' => [ - 'description' => 'The queues that you want to delete.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The queue that you want to delete.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test1', - ], + 'description' => 'The language of the response. The default value is zh-CN. Valid values:'."\n" + ."\n" + .'- zh-CN (default): Chinese.'."\n" + ."\n" + .'- en-US: English.', + 'type' => 'string', + 'enum' => ['zh-CN', 'en-US'], 'required' => false, + 'example' => 'zh-CN', + 'title' => '', ], ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token to retrieve the next page of results.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The returned data.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'TotalCount' => ['description' => 'The total number of entries that meet the query conditions.<br>This parameter is optional and may not be returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries returned per page.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'NextToken' => ['description' => 'The token to retrieve the next page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', 'title' => ''], + 'Regions' => [ + 'description' => 'The list of available regions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an available region.', + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '华东1(杭州)', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 406 => [ - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - [ - 'errorCode' => 'AliyunError', - 'errorMessage' => 'An Alibaba Cloud product error occurred.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 16,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0axxxx\\",\\n \\"Regions\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LocalName\\": \\"华东1(杭州)\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListRegions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteQueues', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Before you delete a queue, you must delete all compute nodes in the queue.'."\n", ], - 'DeleteNodes' => [ - 'summary' => 'Deletes compute nodes from an Enterprise High Performance Computing (E-HPC) cluster at a time.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListSharedStorages' => [ + 'summary' => 'Queries the shared storage that is attached to a cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8385,40 +5722,32 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '228056', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], + 'abilityTreeCode' => '228377', + 'abilityTreeNodes' => ['FEATUREehpcR3Y7DN'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID. You can call the [listclusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'FileSystemType', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The instance IDs of the compute nodes that you want to delete.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID of the compute node that you want to delete.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-hp3347creaivnt******', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The type of the attached file system. Valid values:'."\n" + ."\n" + .'* nas'."\n" + .'* cpfs'."\n", 'type' => 'string', 'required' => false, 'example' => 'nas', 'title' => ''], + ], + [ + 'name' => 'FileSystemId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the attached file system.'."\n", 'type' => 'string', 'required' => false, 'example' => '0bd504b0**', 'title' => ''], ], ], 'responses' => [ @@ -8428,306 +5757,305 @@ 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'TaskId' => [ - 'description' => 'The task ID.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F6757FA4-8FED-4602-B7F5-3550C084****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], + 'SharedStorages' => [ + 'description' => 'The information about the attached shared storage.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the shared storage.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileSystemId' => ['description' => 'The ID of the attached file system.'."\n", 'type' => 'string', 'example' => '08c7f4b***', 'title' => ''], + 'FileSystemType' => ['description' => 'The type of the attached file system. Valid values:'."\n" + ."\n" + .'* nas'."\n" + .'* cpfs'."\n", 'type' => 'string', 'example' => 'nas', 'title' => ''], + 'MountInfo' => [ + 'description' => 'The mount information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mount configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountDirectory' => ['description' => 'The local mount directory of the attached file system.'."\n", 'type' => 'string', 'example' => '/test', 'title' => ''], + 'StorageDirectory' => ['description' => 'The storage directory of the attached file system.'."\n", 'type' => 'string', 'example' => '/testehpc', 'title' => ''], + 'MountOptions' => ['description' => 'The mount options for the attached file system. Valid values:'."\n" + ."\n" + .'* \\-t nfs -o vers=3,nolock,proto=tcp,noresvport'."\n" + .'* \\-t nfs -o vers=4.0,noresvport'."\n", 'type' => 'string', 'example' => '-t nfs -o vers=4.0,noresvport', 'title' => ''], + 'MountTarget' => ['description' => 'The mount target of the attached file system.'."\n", 'type' => 'string', 'example' => '0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com', 'title' => ''], + 'ProtocolType' => ['description' => 'The protocol used by the mount target of the attached file system. Valid values:'."\n" + ."\n" + .'* nfs3'."\n" + .'* nfs4'."\n" + .'* cpfs'."\n", 'type' => 'string', 'example' => 'nfs3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'FileSystemProtocol' => ['description' => 'The protocol used by the attached file system. Valid values:'."\n" + ."\n" + .'* nfs3'."\n" + .'* nfs4'."\n" + .'* cpfs'."\n", 'type' => 'string', 'example' => 'nfs4', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F6757FA4-8FED-4602-B7F5-3550C084****\\",\\n \\"Success\\": \\"true\\",\\n \\"SharedStorages\\": [\\n {\\n \\"FileSystemId\\": \\"08c7f4b***\\",\\n \\"FileSystemType\\": \\"nas\\",\\n \\"MountInfo\\": [\\n {\\n \\"MountDirectory\\": \\"/test\\",\\n \\"StorageDirectory\\": \\"/testehpc\\",\\n \\"MountOptions\\": \\"-t nfs -o vers=4.0,noresvport\\",\\n \\"MountTarget\\": \\"0bd504b***-ngq26.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"ProtocolType\\": \\"nfs3\\"\\n }\\n ],\\n \\"FileSystemProtocol\\": \\"nfs4\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListSharedStorages', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSharedStorages'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": true,\\n \\"TaskId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', - 'title' => 'DeleteNodes', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Before you delete a compute node, we recommend that you export all job data from the node to prevent data loss.'."\n", - ], - 'CreateJob' => [ - 'summary' => 'Creates a job for a cluster.', - 'methods' => [ - 'post', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ], ], + ], + 'ListSoftwares' => [ + 'summary' => 'Queries the software that can be installed in an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227376', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], + 'abilityTreeCode' => '227328', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], ], 'parameters' => [ [ - 'name' => 'ClusterId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The page number.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ - 'name' => 'JobName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The job name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestJob', - ], + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ - 'name' => 'JobSpec', + 'name' => 'ClusterId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'default' => '10', 'title' => ''], + ], + [ + 'name' => 'OsInfos', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The job configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'CommandLine' => [ - 'description' => 'The command or script that is used to run the job. If you want to use a command, you must specify the full path of the command, for example, /bin/ping.'."\n" - ."\n" - .'If you want to use a script, you must make sure that you have the execution permissions on it. By default, the user root directory ~/ is used as the default script path on the cluster side. If your script is not in that directory, you must specify the full path in this parameter, such as /home/xxx/job.sh Note that in this mode, if requirements on resources such as CPU and memory are specified in the script, the job will be run based on the resource requirements specified in the script. In this case, do not specify resource requirements in the Resource parameter. Otherwise, the job may fail to run.'."\n" - ."\n" - .'If you want to run the job directly by using the CLI, you must specify the absolute path of the command and add two hyphens and a space (-- ) before the path, such as -- /bin/ping -c 10 localhost.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '/home/xxx/test.job', - ], - 'RunasUser' => [ - 'description' => 'The cluster-side user as which you want to submit the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testuser', - ], - 'RunasUserPassword' => [ - 'description' => 'The password of the user specified by the RunasUser parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], - 'Priority' => [ - 'description' => 'The job priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - 'StdoutPath' => [ - 'description' => 'The path of the standard output file of the job. You need to specify the full path.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home/xxx/job.out', - ], - 'StderrPath' => [ - 'description' => 'The path of the standard error output file of the job. You need to specify the full path.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/home/xxx/job.err', - ], - 'JobQueue' => [ - 'description' => 'The queue to which the job belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'comp', - ], - 'ArrayRequest' => [ - 'description' => 'The jobs in the queue.'."\n" + 'description' => 'The operating system (OS) information.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OsTag' => ['description' => 'The image tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CentOS_7.9_64', 'title' => ''], + 'Architecture' => ['description' => 'The OS architecture. Valid values:'."\n" ."\n" - .'Format: X-Y:Z. X is the minimum index value. Y is the maximum index value. Z is the step size. For example, 2-7:2 indicates that three jobs need to be run and their index values are 2, 4, and 6.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1-5:2', - ], - 'Variables' => [ - 'description' => 'The environment variables of the job. The value is a string in the JSON array format. Each array member is a JSON object that contains two members: Name and Value. Name indicates the name of the environment variable, and Value indicates the value of the environment variable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"Name":"x", "Value":"y"}]', - ], - 'PostCmdLine' => [ - 'description' => 'The post-processing command of the job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/bin/sleep 10', - ], - 'WallTime' => [ - 'description' => 'The maximum duration for which the job can be run. Format: `hour: minute: second`. For example, `01:00:00` indicates 1 hour.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '360:48:50', - ], - 'Resources' => [ - 'description' => 'The resource configurations of the job.'."\n", - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of compute nodes to be allocated to the job.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs to be allocated to each compute node.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size to be allocated to each compute node. The memory size is in string format. Unit: MB or GB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4gb', - ], - 'Gpus' => [ - 'description' => 'The number of GPUs to be allocated to each compute node.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, + .'* x86\\_64'."\n" + .'* arm64'."\n", 'type' => 'string', 'required' => false, 'example' => 'x86_64', 'title' => ''], ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Category', + 'in' => 'query', + 'schema' => ['description' => 'The application category.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NWP', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The software name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gromacs', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A0A38A38-1565-555E-B597-E48A2E******', - ], - 'JobId' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => 'Submitted batch job 10\\n', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful.'."\n", - 'type' => 'string', - 'example' => 'true', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], + 'AdditionalPackages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AdditionalPackageInfos' => [ + 'description' => 'The information about the software that can be installed in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The software name.'."\n", 'type' => 'string', 'example' => 'gromacs', 'title' => ''], + 'Category' => ['description' => 'The application category.'."\n", 'type' => 'string', 'example' => 'NWP', 'title' => ''], + 'Icon' => ['description' => 'The URL of the software icon.'."\n", 'type' => 'string', 'example' => 'https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg', 'title' => ''], + 'Description' => ['description' => 'The software description.'."\n", 'type' => 'string', 'example' => 'Gromacs 2024.1 version', 'title' => ''], + 'Versions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VersionInfos' => [ + 'description' => 'The information about the software versions that can be installed in the cluster.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the software.'."\n", + 'type' => 'object', + 'properties' => [ + 'Version' => ['description' => 'The software version.'."\n", 'type' => 'string', 'example' => '2024.1', 'title' => ''], + 'Latest' => ['description' => 'Indicates whether the version is the latest.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''], + 'SupportOs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportOsInfos' => [ + 'description' => 'The information about the supported OSs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OsTag' => ['description' => 'The image tag.'."\n", 'type' => 'string', 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64 bit ARM Edition', 'title' => ''], + 'Architecture' => ['description' => 'The OS architecture. Valid values:'."\n" + ."\n" + .'* x86\\_64'."\n" + .'* arm64'."\n", 'type' => 'string', 'example' => 'x86_64', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], - [ - 'errorCode' => 'AgentError.Job.SubmitFailure', - 'errorMessage' => 'Failed to submit jobs: %s', - ], - [ - 'errorCode' => 'AgentError.Job.DeleteFailure', - 'errorMessage' => 'Failed to delete job: %s', - ], - [ - 'errorCode' => 'AgentError.Job.InvalidContainerType', - 'errorMessage' => 'Unsupported container type: %s.', - ], - [ - 'errorCode' => 'AgentError.Job.ListFailure', - 'errorMessage' => 'Failed to list jobs: %s.', - ], - [ - 'errorCode' => 'AgentError.Job.RerunFailure', - 'errorMessage' => 'Failed to run the job again: %s.', - ], - [ - 'errorCode' => 'AgentError.Job.StopFailure', - 'errorMessage' => 'Failed to stop jobs: %s.', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', - ], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A0A38A38-1565-555E-B597-E48A2E******\\",\\n \\"JobId\\": \\"Submitted batch job 10\\\\\\\\n\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'CreateJob', - 'description' => 'Before you call this operation, make sure that you understand the billing and [pricing](https://www.aliyun.com/price/product#/ecs/detail) of E-HPC.'."\n", - ], - 'ListJobs' => [ - 'summary' => 'Queries the jobs in a cluster.', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"2\\",\\n \\"AdditionalPackages\\": {\\n \\"AdditionalPackageInfos\\": [\\n {\\n \\"Name\\": \\"gromacs\\",\\n \\"Category\\": \\"NWP\\",\\n \\"Icon\\": \\"https://gw.alicdn.com/imgextra/i2/O1CN01FIkxZ81LmE0fvrAyR_!!6000000001341-55-tps-6349-1603.svg\\",\\n \\"Description\\": \\"Gromacs 2024.1 version\\",\\n \\"Versions\\": {\\n \\"VersionInfos\\": [\\n {\\n \\"Version\\": \\"2024.1\\",\\n \\"Latest\\": \\"false\\",\\n \\"SupportOs\\": {\\n \\"SupportOsInfos\\": [\\n {\\n \\"OsTag\\": \\"Alibaba Cloud Linux 3.2104 LTS 64 bit ARM Edition\\",\\n \\"Architecture\\": \\"x86_64\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListSoftwares', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSoftwares'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListUsers' => [ + 'summary' => 'Queries the users of a cluster.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8739,546 +6067,164 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227488', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], + 'abilityTreeCode' => '228357', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-csbua72***', - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'* Maximum value: 50.'."\n" - .'* Default value: 10'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => '10', - ], - ], - [ - 'name' => 'JobFilter', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The job filter information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Users' => [ - 'description' => 'The users that run the jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The user that runs the job. Fuzzy match is supported.'."\n" - ."\n" - .'You can call the [ListUsers](url) to obtain the user.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testuser1', - ], - 'required' => false, - ], - 'Queues' => [ - 'description' => 'The queues to which the jobs belong.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The queue name. Fuzzy match is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'comp', - ], - 'required' => false, - ], - 'Nodes' => [ - 'description' => 'The compute nodes that run the jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the compute node. Fuzzy match is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'compute000', - ], - 'required' => false, - ], - 'JobName' => [ - 'description' => 'The job name. Fuzzy match is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testjob', - ], - 'JobStatus' => [ - 'description' => 'The job status. Valid values:'."\n" - ."\n" - .'* all: returns all jobs.'."\n" - .'* finished: returns completed jobs.'."\n" - .'* notfinish: returns uncompleted jobs.'."\n" - ."\n" - .'Default value: all.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'all', - ], - 'CreateTimeStart' => [ - 'description' => 'The time when the job started. The value is a UNIX timestamp representing the number of seconds that have elapsed since 1970-01-01T00:00:00Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1724122486', - ], - 'CreateTimeEnd' => [ - 'description' => 'The time when the job was last updated. The value is a UNIX timestamp representing the number of seconds that have elapsed since 1970-01-01T00:00:00Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1724123085', - ], - 'SortBy' => [ - 'description' => 'The result sorting configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'ExecuteOrder' => [ - 'description' => 'The order in which jobs are sorted based on their execution time. Valid values:'."\n" - ."\n" - .'* asc: in ascending order.'."\n" - .'* desc: in descending order.'."\n" - ."\n" - .'Default value: desc.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc', - ], - 'SubmitOrder' => [ - 'description' => 'The order in which jobs are sorted based on their submitting time. Valid values:'."\n" - ."\n" - .'* asc: in ascending order.'."\n" - .'* desc: in descending order.'."\n" - ."\n" - .'Default value: desc.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc', - ], - 'PendOrder' => [ - 'description' => 'The order in which jobs are sorted based on their queuing time. Valid values:'."\n" - ."\n" - .'* asc: in ascending order.'."\n" - .'* desc: in descending order.'."\n" - ."\n" - .'Default value: desc.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], - ], - 'required' => false, - ], - 'Diagnosis' => [ - 'description' => 'Job diagnosis and analysis list.', - 'type' => 'array', - 'items' => [ - 'description' => 'Job diagnosis and analysis details.', - 'type' => 'object', - 'properties' => [ - 'Option' => [ - 'description' => 'Job diagnosis and analysis metrics', - 'type' => 'string', - 'required' => false, - 'example' => 'run_duration', - ], - 'Operator' => [ - 'description' => 'Job diagnosis threshold comparator.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'greater_or_equal' => '大于等于', - 'less' => '小于', - 'less_or_equal' => '小于等于', - 'greater' => '大于', - ], - 'example' => 'greater', - ], - 'Threshold' => [ - 'description' => 'Job diagnosis threshold.', - 'type' => 'string', - 'required' => false, - 'example' => '24', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'EABFBD93-58BE-53F3-BBFE-8654BB2E****', - ], - 'PageNumber' => [ - 'description' => 'The page number. Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'title' => 'MaxResults本次请求所返回的最大记录条数', - 'description' => 'The number of entries per page. Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Jobs' => [ - 'description' => 'The jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the job.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobName' => [ - 'description' => 'The job name.'."\n", - 'type' => 'string', - 'example' => 'testjob', - ], - 'JobSpec' => [ - 'description' => 'The job configurations.'."\n", + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'Users' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserInfo' => [ + 'description' => 'The information about the users.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the user.'."\n", 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => '12', - ], - 'RunasUser' => [ - 'description' => 'The user that ran the job.'."\n", - 'type' => 'string', - 'example' => 'testuser1', - ], - 'Comment' => [ - 'description' => 'The job description.'."\n", - 'type' => 'string', - 'example' => 'jobDescription', - ], - 'State' => [ - 'description' => 'The job state. Valid values: (PBS cluster and Slurm cluster)'."\n" - ."\n" - .'* FINISHED/Completed'."\n" - .'* RUNNING/Running'."\n" - .'* QUEUED/Pending'."\n" - .'* FAILED/Failed'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'StderrPath' => [ - 'description' => 'The error output path.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'StdoutPath' => [ - 'description' => 'The standard output path.'."\n", - 'type' => 'string', - 'example' => './Temp', - ], - 'Priority' => [ - 'description' => 'The job priority. Valid values: 0 to 9. A larger value indicates a higher priority.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'ArrayRequest' => [ - 'description' => 'The queue format of the job.'."\n" - ."\n" - .'* If the job is not in a queue, the output is empty.'."\n" - .'* The format is X-Y:Z. X indicates the first index, Y indicates the final index, and Z indicates the step size. For example, 2-7:2 indicates three sub-jobs numbered 2, 4, and 6.'."\n", - 'type' => 'string', - 'example' => '1-5:2', - ], - 'LastModifyTime' => [ - 'description' => 'The time when the job was last updated.'."\n", - 'type' => 'string', - 'example' => '1724123085', - ], - 'NodeList' => [ - 'description' => 'The compute nodes that were used to run the job.'."\n", - 'type' => 'string', - 'example' => 'compute[002,005,003]', - ], - 'SubmitTime' => [ - 'description' => 'The time when the job was submitted.'."\n", - 'type' => 'string', - 'example' => '1724122486', - ], - 'JobQueue' => [ - 'description' => 'The queue name.'."\n", - 'type' => 'string', - 'example' => 'comp', - ], - 'Variables' => [ - 'description' => 'The variables of the job.'."\n", - 'type' => 'string', - 'example' => '{"PBS_O_SHELL":"/bin/bash", "PBS_O_HOST":"manager", "PBS_O_SYSTEM":"Linux", "PBS_O_LANG":"en_US.UTF-8", "PBS_O_QUEUE":"workq"}', - ], - 'Resources' => [ - 'description' => 'The information about the resources required to run the job.'."\n", - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of compute nodes that were used to run the job.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs that were used to run the job.'."\n", - 'type' => 'string', - 'example' => '6', - ], - 'Memory' => [ - 'description' => 'The size of memory that was used to run the job.'."\n", - 'type' => 'string', - 'example' => '1536MB', - ], - 'Gpus' => [ - 'description' => 'The number of GPUs that were used to run the job.'."\n", - 'type' => 'string', - 'example' => '0', - ], - ], - ], - 'ArrayJobId' => [ - 'description' => 'The array job ID.'."\n", - 'type' => 'string', - 'example' => '4', - ], - 'ArrayJobSubId' => [ - 'description' => 'The ID of the job in the array.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ResourcesActualOccupied' => [ - 'description' => 'Actual resource usage of the job program', - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'Number of compute nodes.', - 'type' => 'string', - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'Number of CPU cores.', - 'type' => 'string', - 'example' => '4', - ], - 'Memory' => [ - 'description' => 'Number of memory.', - 'type' => 'string', - 'example' => '982MB', - ], - 'Gpus' => [ - 'description' => 'Number of CPUs', - 'type' => 'string', - 'example' => '0', - ], - ], - ], - 'StartTime' => [ - 'description' => 'Job start time.', - 'type' => 'string', - 'example' => '1724122486', - ], + 'UserName' => ['description' => 'The username.'."\n", 'type' => 'string', 'example' => 'testuser', 'title' => ''], + 'AddTime' => ['description' => 'The time when the user was first added.'."\n", 'type' => 'string', 'example' => '2014-08-22T17:46:47', 'title' => ''], + 'Group' => ['description' => 'The name of the permission group. Valid values:'."\n" + ."\n" + .'users: ordinary permissions, which are suitable for regular users that need only to submit and debug jobs.'."\n" + ."\n" + .'wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", 'type' => 'string', 'example' => 'users', 'title' => ''], + 'UserId' => ['description' => 'The user ID.'."\n", 'type' => 'string', 'example' => '1001', 'title' => ''], + 'GroupId' => ['description' => 'The permission group ID.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''], ], + 'title' => '', ], + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], + 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.GetUserListFailure', 'errorMessage' => 'Get user list fail: %s', 'description' => 'Failed to query the list of users: %s'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListUsers', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 15,\\n \\"Users\\": {\\n \\"UserInfo\\": [\\n {\\n \\"UserName\\": \\"testuser\\",\\n \\"AddTime\\": \\"2014-08-22T17:46:47\\",\\n \\"Group\\": \\"users\\",\\n \\"UserId\\": \\"1001\\",\\n \\"GroupId\\": \\"100\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUsers'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"EABFBD93-58BE-53F3-BBFE-8654BB2E****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"Success\\": true,\\n \\"Jobs\\": [\\n {\\n \\"JobName\\": \\"testjob\\",\\n \\"JobSpec\\": {\\n \\"Id\\": \\"12\\",\\n \\"RunasUser\\": \\"testuser1\\",\\n \\"Comment\\": \\"jobDescription\\",\\n \\"State\\": \\"Running\\",\\n \\"StderrPath\\": \\"./Temp\\",\\n \\"StdoutPath\\": \\"./Temp\\",\\n \\"Priority\\": \\"0\\",\\n \\"ArrayRequest\\": \\"1-5:2\\",\\n \\"LastModifyTime\\": \\"1724123085\\",\\n \\"NodeList\\": \\"compute[002,005,003]\\",\\n \\"SubmitTime\\": \\"1724122486\\",\\n \\"JobQueue\\": \\"comp\\",\\n \\"Variables\\": \\"{\\\\\\"PBS_O_SHELL\\\\\\":\\\\\\"/bin/bash\\\\\\", \\\\t\\\\\\"PBS_O_HOST\\\\\\":\\\\\\"manager\\\\\\", \\\\t\\\\\\"PBS_O_SYSTEM\\\\\\":\\\\\\"Linux\\\\\\", \\\\t\\\\\\"PBS_O_LANG\\\\\\":\\\\\\"en_US.UTF-8\\\\\\", \\\\t\\\\\\"PBS_O_QUEUE\\\\\\":\\\\\\"workq\\\\\\"}\\",\\n \\"Resources\\": {\\n \\"Nodes\\": \\"3\\",\\n \\"Cores\\": \\"6\\",\\n \\"Memory\\": \\"1536MB\\",\\n \\"Gpus\\": \\"0\\"\\n },\\n \\"ArrayJobId\\": \\"4\\",\\n \\"ArrayJobSubId\\": \\"1\\",\\n \\"ResourcesActualOccupied\\": {\\n \\"Nodes\\": \\"2\\",\\n \\"Cores\\": \\"4\\",\\n \\"Memory\\": \\"982MB\\",\\n \\"Gpus\\": \\"0\\"\\n },\\n \\"StartTime\\": \\"1724122486\\"\\n }\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListJobs', - 'translator' => 'machine', ], - 'GetJobLog' => [ - 'summary' => 'Queries the output logs of a job, including standard output logs and error output logs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'StopJobs' => [ + 'summary' => 'Stops uncompleted jobs in a batch in an Elastic High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '235286', - 'abilityTreeNodes' => [ - 'FEATUREehpc8EEMGZ', - ], + 'abilityTreeCode' => '227790', + 'abilityTreeNodes' => ['FEATUREehpcH08VYA'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-jeJki6****', - ], - ], - [ - 'name' => 'JobId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.manager', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'LogType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The log type. Valid values:'."\n" - ."\n" - .'* stdout: standard output logs.'."\n" - .'* stderr: error output logs.'."\n" - .'* all: all logs.'."\n" - ."\n" - .'Default value: all.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'stdout', - ], - ], - [ - 'name' => 'Size', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum size of logs that you can read in a single request.'."\n" - ."\n" - .'Unit: bytes.'."\n" - ."\n" - .'Default value: 10240.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20480', - ], - ], - [ - 'name' => 'Offset', + 'name' => 'JobIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The position where logs start to be read.'."\n" - ."\n" - .'Unit: bytes.'."\n" + 'description' => 'The IDs of the jobs that you want to stop.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The job ID.'."\n" ."\n" - .'Default value: 0.'."\n", - 'type' => 'string', + .'> The job to be stopped must be in the RUNNING or QUEUED state.'."\n", 'type' => 'string', 'required' => false, 'example' => '14', 'title' => ''], 'required' => false, - 'example' => '0', + 'title' => '', ], ], ], @@ -9286,670 +6232,400 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B745C159-3155-4B94-95D0-4B73D4D2****', - ], - 'JobId' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => '1.manager', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'StdoutLog' => [ - 'description' => 'The standard output log that is encoded in Base64.'."\n", - 'type' => 'string', - 'example' => 'aG9zdG5hbWU=', - ], - 'StderrLog' => [ - 'description' => 'The error output log that is encoded in Base64.'."\n", - 'type' => 'string', - 'example' => 'aG9zdG5hbWU=', - ], - 'StdoutLogSize' => [ - 'description' => 'The size of the standard output file.'."\n", - 'type' => 'string', - 'example' => '4096', - ], - 'StderrLogSize' => [ - 'description' => 'The size of the error output file.'."\n", - 'type' => 'string', - 'example' => '0', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F8868A00-6757-5542-BDD6-E1040D94****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'StopJobs', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F8868A00-6757-5542-BDD6-E1040D94****\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopJobs'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B745C159-3155-4B94-95D0-4B73D4D2****\\",\\n \\"JobId\\": \\"1.manager\\",\\n \\"Success\\": \\"true\\",\\n \\"StdoutLog\\": \\"aG9zdG5hbWU=\\",\\n \\"StderrLog\\": \\"aG9zdG5hbWU=\\",\\n \\"StdoutLogSize\\": \\"4096\\",\\n \\"StderrLogSize\\": \\"0\\"\\n}","type":"json"}]', - 'title' => 'GetJobLog', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Currently, only Slurm and PBS Pro schedulers for Standard Edition clusters are supported.'."\n", ], - 'GetJob' => [ - 'summary' => 'Obtains the details of a job.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'UnInstallAddon' => [ + 'summary' => 'Uninstalls an addon.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '235267', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], + 'abilityTreeCode' => '228010', + 'abilityTreeNodes' => ['FEATUREehpcXOL4GQ'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'JobId', + 'name' => 'AddonId', 'in' => 'query', - 'schema' => [ - 'description' => 'The job ID. You can call the ListJobs operation to query the job ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.manager', - ], + 'schema' => ['description' => 'The addon ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Login-1.0-W2g****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '04F0****-1335-****-A1D7-6C044FE7****', - ], - 'JobInfo' => [ - 'description' => 'The job details.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => '1.manager', - ], - 'JobName' => [ - 'description' => 'The job name.'."\n", - 'type' => 'string', - 'example' => 'testJob'."\n", - ], - 'RunasUser' => [ - 'description' => 'The user to which the job belongs or that is used to submit the job. This user is a cluster-side user.'."\n", - 'type' => 'string', - 'example' => 'testuser', - ], - 'State' => [ - 'description' => 'The job state.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'JobQueue' => [ - 'description' => 'The queue to which the job belongs.'."\n", - 'type' => 'string', - 'example' => 'workq', - ], - 'CreateTime' => [ - 'description' => 'The time when the job was submitted.'."\n", - 'type' => 'string', - 'example' => '2024-08-16T10:52:48', - ], - 'LastModifyTime' => [ - 'description' => 'The time when the job was last modified.'."\n", - 'type' => 'string', - 'example' => '2024-08-16T10:52:48', - ], - 'ErrorLog' => [ - 'description' => 'The error log file of the job.'."\n", - 'type' => 'string', - 'example' => '/home/xxx/STDIN.e1', - ], - 'StartTime' => [ - 'description' => 'The time when the job was started.'."\n", - 'type' => 'string', - 'example' => '2024-08-16T10:52:48', - ], - 'Priority' => [ - 'description' => 'The priority of the job.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'CommandLine' => [ - 'description' => 'The command that is used to run the job.'."\n", - 'type' => 'string', - 'example' => '/home/huangsf/ehpc/job_meta.pbs', - ], - 'OutputLog' => [ - 'description' => 'The standard output log file of the job.'."\n", - 'type' => 'string', - 'example' => '/home/xxx/STDIN.o1', - ], - 'NodeList' => [ - 'description' => 'The compute nodes that are used to run the job.'."\n", - 'type' => 'string', - 'example' => 'compute000', - ], - 'ArrayRequest' => [ - 'description' => 'The job queue. If the job is not in a queue, the output is empty.'."\n" - ."\n" - .'The format is X-Y:Z. X indicates the first index, Y indicates the final index, and Z indicates the step size. For example, 2-7:2 indicates three sub-jobs numbered 2, 4, and 6.'."\n", - 'type' => 'string', - 'example' => '1-5:2', - ], - 'Resources' => [ - 'description' => 'The resources that were requested when the job was submitted.'."\n", - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of nodes that are used to run the job.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs used by the job on each node.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size used by the job on each node.'."\n", - 'type' => 'string', - 'example' => '1gb', - ], - 'Gpus' => [ - 'description' => 'The number of GPUs used by the job on each node.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'Variables' => [ - 'description' => 'The variables of the job.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'ProxyIP', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '10.x.x.x', - ], - ], - ], - ], - 'ExtraInfo' => [ - 'description' => 'Additional information.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'ResourcesUsed' => [ - 'description' => 'The resources that are actually used by the job.'."\n", - 'type' => 'object', - 'properties' => [ - 'Nodes' => [ - 'description' => 'The number of nodes that are used to run the job.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs used by the job on each node.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size used by the job on each node.'."\n", - 'type' => 'string', - 'example' => '512mb', - ], - ], - ], - 'ArrayJobId' => [ - 'description' => 'The parent job ID. If the return value is a non-empty string, the job is an array job.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ArrayJobSubId' => [ - 'description' => 'The sub-job ID. This parameter is valid when the ArrayJobId parameter is a non-empty string.'."\n", - 'type' => 'string', - 'example' => '3', - ], - ], - ], - 'Success' => [ - 'description' => 'The request result. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + 404 => [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ['errorCode' => 'EcsError', 'errorMessage' => 'An error occurred while calling the ECS API operation.', 'description' => 'ECS API call error. %s'], + ['errorCode' => 'RedisError', 'errorMessage' => 'A Redis service error occurred.', 'description' => 'Redis request failed.'], + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed: %s', 'description' => 'Operation unsuccessful: %s'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], - [ - 'errorCode' => 'AgentError', - 'errorMessage' => 'The agent service request failed: %s', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UnInstallAddon', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Take note of the following items when you call this operation:'."\n" + ."\n" + .'* The cluster must be in the `Running` state.'."\n" + ."\n" + .'* Clusters fall into the following types:'."\n" + ."\n" + .' * Regular clusters on Alibaba Cloud Public Cloud'."\n" + .' * Managed clusters on Alibaba Cloud Public Cloud'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:UnInstallAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallAddon'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0****-1335-****-A1D7-6C044FE7****\\",\\n \\"JobInfo\\": {\\n \\"JobId\\": \\"1.manager\\",\\n \\"JobName\\": \\"testJob\\\\n\\",\\n \\"RunasUser\\": \\"testuser\\",\\n \\"State\\": \\"Running\\",\\n \\"JobQueue\\": \\"workq\\",\\n \\"CreateTime\\": \\"2024-08-16T10:52:48\\",\\n \\"LastModifyTime\\": \\"2024-08-16T10:52:48\\",\\n \\"ErrorLog\\": \\"/home/xxx/STDIN.e1\\",\\n \\"StartTime\\": \\"2024-08-16T10:52:48\\",\\n \\"Priority\\": \\"0\\",\\n \\"CommandLine\\": \\"/home/huangsf/ehpc/job_meta.pbs\\",\\n \\"OutputLog\\": \\"/home/xxx/STDIN.o1\\",\\n \\"NodeList\\": \\"compute000\\",\\n \\"ArrayRequest\\": \\"1-5:2\\",\\n \\"Resources\\": {\\n \\"Nodes\\": \\"1\\",\\n \\"Cores\\": \\"2\\",\\n \\"Memory\\": \\"1gb\\",\\n \\"Gpus\\": \\"1\\"\\n },\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"ProxyIP\\",\\n \\"Value\\": \\"10.x.x.x\\"\\n }\\n ],\\n \\"ExtraInfo\\": \\"{}\\",\\n \\"ResourcesUsed\\": {\\n \\"Nodes\\": \\"2\\",\\n \\"Cores\\": \\"2\\",\\n \\"Memory\\": \\"512mb\\"\\n },\\n \\"ArrayJobId\\": \\"1\\",\\n \\"ArrayJobSubId\\": \\"3\\"\\n },\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'GetJob', ], - 'StopJobs' => [ - 'summary' => 'Stops uncompleted jobs in a batch in an Elastic High Performance Computing (E-HPC) cluster.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UninstallSoftwares' => [ + 'summary' => 'Uninstalls software systems from an Enterprise High Performance Computing (E-HPC) cluster.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '227790', - 'abilityTreeNodes' => [ - 'FEATUREehpcH08VYA', - ], + 'abilityTreeCode' => '228511', + 'abilityTreeNodes' => ['FEATUREehpcL8RMWH'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n" - ."\n" - .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'You can call the [ListClusters](~~87116~~) operation to query the cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'JobIds', + 'name' => 'AdditionalPackages', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of the jobs that you want to stop.'."\n", + 'description' => 'The information about the software systems that you want to uninstall.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The job ID.'."\n" - ."\n" - .'> The job to be stopped must be in the RUNNING or QUEUED state.'."\n", - 'type' => 'string', + 'description' => 'The information about the software system that you want to uninstall.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The software name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gromacs', 'title' => ''], + 'Version' => ['description' => 'The software version.'."\n", 'type' => 'string', 'required' => false, 'example' => '2024.1', 'title' => ''], + ], 'required' => false, - 'example' => '14', + 'title' => '', ], 'required' => false, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The data returned.'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F8868A00-6757-5542-BDD6-E1040D94****', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true: The request was successful.'."\n" - .'* false: The request failed.'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'title' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + 404 => [ + ['errorCode' => 'ImageNotFound', 'errorMessage' => 'The specified image does not exist.', 'description' => 'The specified image does not exist. Please verify the parameter.'], ], - 403 => [ - [ - 'errorCode' => 'InvalidClusterStatus', - 'errorMessage' => 'The operation failed due to invalid cluster status.', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], ], - 406 => [ - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], ], 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'title' => 'UninstallSoftwares', + 'description' => '## Interface Description'."\n" + .'When calling this interface, please note:'."\n" + .'The cluster status must be `Running`.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:UninstallSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'translator' => 'machine', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UninstallSoftwares'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F8868A00-6757-5542-BDD6-E1040D94****\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'StopJobs', ], - 'ListCommonLogs' => [ - 'summary' => 'Queries the logs of a cluster that are generated within a time range.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UpdateCluster' => [ + 'summary' => 'Modify the basic information of a specified cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227331', - 'abilityTreeNodes' => [ - 'FEATUREehpc8EEMGZ', - ], + 'abilityTreeCode' => '227339', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', - ], + 'schema' => ['description' => 'The client version. By default, the latest version is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'From', + 'name' => 'ClusterName', 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the time range. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1703821542', - ], + 'schema' => ['description' => 'The post-processing script of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'slurm22.05.8-serverless-cluster-20240805', 'title' => ''], ], [ - 'name' => 'To', + 'name' => 'ClusterDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the time range. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1703821666', - ], + 'schema' => ['description' => 'The URL that is used to download the post-processing script.'."\n", 'type' => 'string', 'required' => false, 'example' => 'slurm22.05.8-serverless-cluster-20240805'."\n", 'title' => ''], ], [ - 'name' => 'ActionName', + 'name' => 'MaxCount', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The action types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The action type. Logs of the specific action type are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CreateCluster', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The arguments that are used to run the post-processing script.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '500', 'title' => ''], ], [ - 'name' => 'OperatorUid', + 'name' => 'MaxCoreCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The account ID of the operator.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '137***', - ], + 'schema' => ['description' => 'The interval at which the cluster is automatically scaled out.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000', 'title' => ''], ], [ - 'name' => 'LogRequestId', + 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The request ID of the action. Logs associated with the specific request ID are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], + 'schema' => ['description' => 'The idle duration of the compute nodes allowed by the cluster.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ActionStatus', + 'name' => 'ClientVersion', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable auto scale-out for the cluster. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'required' => false, 'example' => '2.1.0', 'title' => ''], + ], + [ + 'name' => 'ClusterCustomConfiguration', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The action status. Logs associated with the specific action status are returned.'."\n" - ."\n" - .'Valid values:'."\n" + 'description' => 'Specifies whether to enable auto scale-in for the cluster. Valid values:'."\n" ."\n" - .'* Finished: The action is completed.'."\n" - .'* Failed: The action failed.'."\n" - .'* InProgress: The action is being performed.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Finished' => '', - 'Failed' => '', - 'InProgress' => '', + .'* true'."\n" + .'* false'."\n", + 'type' => 'object', + 'properties' => [ + 'Script' => ['description' => 'The monitoring details of the cluster.'."\n", 'type' => 'string', 'required' => false, 'example' => 'http://*****'."\n", 'title' => ''], + 'Args' => ['description' => 'Specifies whether to enable the monitoring component of compute nodes. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'required' => false, 'example' => 'E-HPC cn-hangzhou'."\n", 'title' => ''], ], - 'example' => 'Finished', + 'required' => false, + 'title' => '', ], ], [ - 'name' => 'LogType', + 'name' => 'GrowInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The log type. Logs of the specific type are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Operation', - ], + 'schema' => ['description' => 'The scheduler specifications of the cluster.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'Resource', + 'name' => 'IdleInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the resource involved in the action. Logs associated with the specific resource are returned. This parameter is not recommended.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-abc***', - ], + 'schema' => ['description' => 'Specifies whether to enable the topology awareness feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'EnableScaleOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The response parameters.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'EnableScaleIn', 'in' => 'query', + 'schema' => ['description' => 'The request result. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MonitorSpec', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The monitoring details of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnableComputeLoadMonitor' => ['description' => 'Specifies whether to enable the monitoring component of compute nodes. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], 'required' => false, - 'example' => '10', + 'title' => '', ], ], [ - 'name' => 'IsReverse', + 'name' => 'SchedulerSpec', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to display results in reverse order.'."\n" - ."\n" - .'Default value: true'."\n", - 'type' => 'boolean', + 'description' => 'The scheduler specifications of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnableTopologyAwareness' => ['description' => 'Specifies whether to enable the topology awareness feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], 'required' => false, - 'example' => 'true', + 'title' => '', ], ], ], @@ -9957,135 +6633,56 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '464E9919-D04F-4D1D-B375-15989492****', - ], - 'Uid' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => '137***', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'Logs' => [ - 'description' => 'The brief information of operation logs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The brief information of the log.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID associated with the action that generated the log.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Time' => [ - 'description' => 'The time when the log was generated.'."\n", - 'type' => 'string', - 'example' => '2024-08-22 14:21:54', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-9T3xPNezoS', - ], - 'OperatorUid' => [ - 'description' => 'The account ID of the operator.'."\n", - 'type' => 'string', - 'example' => '137***', - ], - 'Action' => [ - 'description' => 'The name of the action corresponding to the log.'."\n", - 'type' => 'string', - 'example' => 'CreaterCluster', - ], - 'Status' => [ - 'description' => 'The action state in the log. Valid values:'."\n" - ."\n" - .'* InProgress: The action is being performed.'."\n" - .'* Finished: The action is completed.'."\n" - .'* Failed: The action failed.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'LogType' => [ - 'description' => 'The log type.'."\n", - 'type' => 'string', - 'example' => 'Operation', - ], - 'Target' => [ - 'description' => 'The involved resource.'."\n", - 'type' => 'string', - 'example' => 'i-abc***', - ], - 'Message' => [ - 'description' => 'The message of the log.'."\n", - 'type' => 'string', - 'example' => 'ok', - ], - ], - ], - ], + 'Success' => ['description' => 'Request result, possible values: '."\n" + .'- true: request succeeded '."\n" + .'- false: request failed', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 406 => [ + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateCluster', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\"\\n}","type":"json"}]', + 'translator' => 'machine', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCluster'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\",\\n \\"Uid\\": \\"137***\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 15,\\n \\"Logs\\": [\\n {\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Time\\": \\"2024-08-22 14:21:54\\",\\n \\"ClusterId\\": \\"ehpc-hz-9T3xPNezoS\\",\\n \\"OperatorUid\\": \\"137***\\",\\n \\"Action\\": \\"CreaterCluster\\",\\n \\"Status\\": \\"Finished\\",\\n \\"LogType\\": \\"Operation\\",\\n \\"Target\\": \\"i-abc***\\",\\n \\"Message\\": \\"ok\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListCommonLogs', ], - 'GetCommonLogDetail' => [ - 'summary' => 'Query logs based on a request ID. Logs for specific actions can be queried thanks to an Action-Stage-Method three-layer log splitting structure.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UpdateNodes' => [ + 'summary' => 'Updates the configurations of compute nodes in an Enterprise High Performance Computing (E-HPC) cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -10094,59 +6691,37 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREehpc8EEMGZ', - ], + 'abilityTreeCode' => '228050', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ - 'name' => 'From', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the time range within which the logs that you want to query were generated. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1703821542', - ], - ], - [ - 'name' => 'To', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the time range within which the logs that you want to query were generated. The time is a timestamp. This value is a UNIX timestamp representing the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1703821666', - ], - ], - [ - 'name' => 'LogRequestId', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'."\n", - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'HiddenProcess', + 'name' => 'Instances', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to hide the process of each step. Valid values:'."\n" - ."\n" - .'* true: hides the process and returns only the result log of each step.'."\n" - .'* false: does not hide the process and displays the start and result logs of each step.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + 'description' => 'The information about the compute nodes that you want to update.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the compute node.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The instance ID of the compute node.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp1bzqq1ddeemuddn****', 'title' => ''], + 'KeepAlive' => ['description' => 'Specifies whether to enable deletion protection for the compute node.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => 'true', + 'title' => '', ], ], ], @@ -10154,154 +6729,56 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '464E9919-D04F-4D1D-B375-15989492****'."\n", - ], - 'Uid' => [ - 'description' => 'The ID of the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'example' => '137***', - ], - 'OperatorUid' => [ - 'description' => 'The account ID of the operator.'."\n", - 'type' => 'string', - 'example' => '239***', - ], - 'Action' => [ - 'description' => 'The action name.'."\n", - 'type' => 'string', - 'example' => 'CreateCluster', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => 'ehpc-hz-abc***', - ], - 'LogType' => [ - 'description' => 'The log type.'."\n", - 'type' => 'string', - 'example' => 'operation', - ], - 'LogDetail' => [ - 'description' => 'The information about the logs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the log.'."\n", - 'type' => 'object', - 'properties' => [ - 'StageName' => [ - 'description' => 'The stage name of the log.'."\n", - 'type' => 'string', - 'example' => 'ConfigNetwork', - ], - 'Stages' => [ - 'description' => 'The information about the log stages.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the log stage.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID associated with the log.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', - ], - 'Time' => [ - 'description' => 'The time when the log was generated.'."\n", - 'type' => 'string', - 'example' => '2024-08-22 14:21:54'."\n", - ], - 'Method' => [ - 'description' => 'The method involved in the log.'."\n", - 'type' => 'string', - 'example' => 'CreateSecurityGroup', - ], - 'Status' => [ - 'description' => 'The action state involved in the log. Valid values:'."\n" - ."\n" - .'* InProgress: The action is being performed.'."\n" - .'* Finished: The action is completed.'."\n" - .'* Failed: The action failed.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'LogLevel' => [ - 'description' => 'The log level.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ERROR'."\n" - .'* INFO'."\n" - .'* WARN'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ERROR' => '', - 'INFO' => '', - 'WARN' => '', - ], - 'example' => 'INFO', - ], - 'Target' => [ - 'description' => 'The resource involved in the log.'."\n", - 'type' => 'string', - 'example' => 'sg-bcd***', - ], - 'Message' => [ - 'description' => 'The output message of the log.'."\n", - 'type' => 'string', - 'example' => 'Successfully created security group sg-bcd***', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Success' => ['description' => 'The request result. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', - ], + ['errorCode' => 'InvalidNodeStatus', 'errorMessage' => 'The operation failed due to invalid node status.', 'description' => 'The node status does not allow the operation.'], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 406 => [ + ['errorCode' => 'AliyunError', 'errorMessage' => 'An Alibaba Cloud product error occurred.', 'description' => 'Alibaba Cloud product error. %s'], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateNodes', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'Before you delete a compute node, we recommend that you export all job data from the node to prevent data loss.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNodes'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"464E9919-D04F-4D1D-B375-15989492****\\\\n\\",\\n \\"Uid\\": \\"137***\\",\\n \\"OperatorUid\\": \\"239***\\",\\n \\"Action\\": \\"CreateCluster\\",\\n \\"ClusterId\\": \\"ehpc-hz-abc***\\",\\n \\"LogType\\": \\"operation\\",\\n \\"LogDetail\\": [\\n {\\n \\"StageName\\": \\"ConfigNetwork\\",\\n \\"Stages\\": [\\n {\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Time\\": \\"2024-08-22 14:21:54\\\\n\\",\\n \\"Method\\": \\"CreateSecurityGroup\\",\\n \\"Status\\": \\"Finished\\",\\n \\"LogLevel\\": \\"INFO\\",\\n \\"Target\\": \\"sg-bcd***\\",\\n \\"Message\\": \\"Successfully created security group sg-bcd***\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'GetCommonLogDetail', ], - 'AttachNodes' => [ - 'summary' => 'Adds Elastic Compute Service (ECS) instances as compute nodes to Elastic High Performance Computing (E-HPC) clusters.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UpdateQueue' => [ + 'summary' => 'Updates the configuration of a specified queue in an E-HPC cluster.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -10313,65 +6790,76 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '269549', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '227338', + 'abilityTreeNodes' => ['FEATUREehpcQU2WXS'], ], 'parameters' => [ [ 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'title' => '集群ID', - 'description' => 'The ID of the cluster.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ehpc-hz-xxxxxxx', - ], - ], - [ - 'name' => 'QueueName', - 'in' => 'query', - 'schema' => [ - 'title' => '队列名', - 'description' => 'The name of the queue to which the instance is to be added.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'comp', - ], + 'schema' => ['description' => 'The cluster ID.'."\n" + ."\n" + .'Call [ListClusters](~~87116~~) to get the cluster ID.', 'type' => 'string', 'required' => false, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'ComputeNode', + 'name' => 'Queue', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'title' => '计算节点信息', - 'description' => 'The list of compute nodes.'."\n", + 'description' => 'The queue information to update.', 'type' => 'object', 'properties' => [ - 'InstanceIds' => [ - 'title' => '实例ID数组', - 'description' => 'The IDs of ECS instances.'."\n", + 'QueueName' => ['title' => 'QueueName', 'description' => 'The queue name.', 'type' => 'string', 'required' => true, 'example' => 'comp'], + 'EnableScaleOut' => ['title' => 'EnableScaleOut', 'description' => 'Enable auto scale-out for the queue. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'required' => false], + 'EnableScaleIn' => ['title' => 'EnableScaleIn', 'description' => 'Enable auto scale-in for the queue. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'required' => false], + 'MinCount' => ['title' => 'MinCount', 'description' => 'The minimum number of nodes that the queue retains.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'required' => false], + 'MaxCount' => ['title' => 'MaxCount', 'description' => 'The maximum number of compute nodes that the queue can retain.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'required' => false], + 'InitialCount' => ['title' => 'InitialCount', 'description' => 'The initial number of compute nodes in the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'required' => false], + 'InterConnect' => ['title' => 'HPCInterConnect', 'description' => 'The interconnect network type for compute nodes in the queue.', 'type' => 'string', 'example' => 'erdma', 'required' => false], + 'VSwitchIds' => [ + 'title' => 'VSwitchIds', + 'description' => 'The list of vSwitches available for compute nodes in the queue.', 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-xxxxxxxx', - ], - 'required' => true, + 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'VSwitchId', 'required' => false, 'title' => ''], + 'required' => false, + 'example' => '', ], - 'ImageId' => [ - 'title' => '镜像ID。纳管后将使用该镜像替换原有系统盘镜像。', - 'description' => 'The image ID. This image will be used to replace the original system disk image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'm-bp1h765oyqyxxxxxxxxx', + 'ComputeNodes' => [ + 'title' => 'Resources', + 'description' => 'The hardware configuration of compute nodes in the queue. Valid values for N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The detailed configuration of a compute node.', '$ref' => '#/components/schemas/NodeTemplate', 'required' => false, 'title' => '', 'example' => ''], + 'required' => false, + 'example' => '', ], + 'AllocationStrategy' => ['title' => 'AllocationStrategy', 'description' => 'The strategy for selecting instance types when the queue scales out automatically. Valid values:'."\n" + ."\n" + .'- PriorityInstanceType', 'type' => 'string', 'example' => 'PriorityInstanceType', 'required' => false], + 'RamRole' => ['title' => 'RamRole', 'description' => 'The name of the instance role attached to compute nodes in the queue.', 'type' => 'string', 'example' => 'AliyunECSInstanceForEHPCRole', 'required' => false], + 'HostnamePrefix' => ['title' => 'HostNamePrefix', 'description' => 'The hostname prefix for compute nodes in the queue.', 'type' => 'string', 'example' => 'compute', 'required' => false], + 'HostnameSuffix' => ['title' => 'HostNameSuffix', 'description' => 'The hostname suffix for compute nodes in the queue.', 'type' => 'string', 'required' => false, 'example' => 'hpc'], + 'MaxCountPerCycle' => ['title' => 'MaxCountPerCycle', 'description' => 'The minimum number of compute nodes created during auto scale-out.', 'type' => 'integer', 'format' => 'int64', 'example' => '99', 'required' => false], + 'KeepAliveNodes' => [ + 'description' => 'The list of exceptional compute nodes in the queue.', + 'type' => 'array', + 'items' => ['description' => 'Hostname of the compute node to exclude.', 'type' => 'string', 'required' => false, 'example' => 'compute000', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'ReservedNodePoolId' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], - 'required' => true, + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -10379,544 +6867,978 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2263XXXX-XXXX-XXXX-XXXX-XXXX2448XXXX', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Success' => ['description' => 'Indicates whether the command succeeded. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'Invalid parameters: %s.', - ], - ], - [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', - ], + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], ], 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database error occurred.', - ], - [ - 'errorCode' => 'EcsError', - 'errorMessage' => 'An error occurred while calling the ECS API operation.', - ], + ['errorCode' => 'DbError', 'errorMessage' => 'A database service error occurred.', 'description' => 'Database request failed.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateQueue', + 'description' => 'When you update a queue configuration, the system sets all fields based on the parameters in your current request. If you call this operation multiple times, only the parameters from the last call take effect.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateQueue'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2263XXXX-XXXX-XXXX-XXXX-XXXX2448XXXX\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'AttachNodes', - 'description' => 'The ECS instances must meet the following requirements:'."\n" - ."\n" - .'* The ECS instances do not belong to any E-HPC cluster.'."\n" - .'* The ECS instances reside in the same virtual private cloud (VPC) as the cluster.'."\n" - .'* The ECS instances are in the Stopped state.'."\n" - ."\n" - .'Take of the following limits:'."\n" - ."\n" - .'* You can specify multiple instance IDs to add them at a time. However, the instances must be of the same type.'."\n" - .'* When an instance is added to the cluster, [the system disk is reset](https://help.aliyun.com/zh/ecs/user-guide/re-initialize-a-system-disk) by using the image specified by the input parameters.'."\n" - .'* If the instance has data disks, they are not automatically created and mounted after the instance is added.'."\n" - .'* The hostname of the instance remains the same. Therefore, you must ensure that the hostname of the instance to be added is different from the hostname of an existing node in the cluster.'."\n", ], - 'ListRegions' => [ - 'summary' => 'Queries the list of product support regions.', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UpdateUser' => [ + 'summary' => 'Updates the information of a user in an Elastic High Performance Computing (E-HPC) cluster, including the user group and password.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREehpcOQU2XV', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '228355', + 'abilityTreeNodes' => ['FEATUREehpcOQU2XV'], ], 'parameters' => [ [ - 'name' => 'SpecCode', + 'name' => 'ClusterId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Next', - 'enum' => [ - 'Next', - 'Instant', - ], - ], + 'schema' => ['description' => 'The cluster ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ehpc-hz-FYUr32****', 'title' => ''], ], [ - 'name' => 'AcceptLanguage', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', - 'enum' => [ - 'zh-CN', - 'en-US', - ], - ], + 'schema' => ['description' => 'The username.'."\n", 'type' => 'string', 'required' => true, 'example' => 'testuser', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'Group', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The user group attribute of the user that you want to update. Valid values:'."\n" + ."\n" + .'* users: ordinary permissions, which are suitable for ordinary users that need only to submit and debug jobs.'."\n" + .'* wheel: sudo permissions, which are suitable for administrators who need to manage clusters. In addition to submitting and debugging jobs, you can also run sudo commands to install software and restart nodes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'users', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', - ], + 'schema' => ['description' => 'The password attribute of the user that you want to update. The password must be 6 to 30 characters in length and must contain three of the following four character types:'."\n" + ."\n" + .'* Uppercase letters'."\n" + .'* Lowercase letters'."\n" + .'* Digits'."\n" + .'* Special characters ()~!@#$%^&\\*-\\_+=|{}\\[]:;\'/<>,.?/'."\n", 'type' => 'string', 'required' => false, 'example' => '123****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'MaxResults' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'NextToken' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0axxxx', - ], - 'Regions' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'LocalName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****'], + 'Success' => ['description' => 'The request result. Valid values:'."\n" + ."\n" + .'* true: The request was successful.'."\n" + .'* false: The request failed.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The specified parameter %s is invalid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'NotEnabled', 'errorMessage' => 'You have not enabled this service', 'description' => 'You have not enabled this service'], + ['errorCode' => 'InDebt', 'errorMessage' => 'Your account has overdue payments.', 'description' => 'Your account has overdue payments.'], + ], + 403 => [ + ['errorCode' => 'InvalidClusterStatus', 'errorMessage' => 'The operation failed due to invalid cluster status.', 'description' => 'The cluster status does not support the operation.'], + ], + [ + ['errorCode' => 'ClusterNotFound', 'errorMessage' => 'The specified cluster does not exist.', 'description' => 'The specified instance does not exist.'], + ['errorCode' => 'ManagerNotFound', 'errorMessage' => 'The manager nodes do not exist or their status is abnormal.', 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ], + 406 => [ + ['errorCode' => 'AgentError', 'errorMessage' => 'The agent service request failed.', 'description' => 'The cluster-side command failed to run. %s'], + ['errorCode' => 'AgentError.Account.DomainNotExist', 'errorMessage' => 'The specified domain does not exist: %s.', 'description' => 'The domain service does not exist: %s'], + ['errorCode' => 'AgentError.Account.GetentPasswdFailure', 'errorMessage' => 'Failed to get the user list: %s.', 'description' => 'Failed to obtain the domain user list: %s'], + ['errorCode' => 'AgentError.Account.UserAlreadyExist', 'errorMessage' => 'The specified user already exists in domain: %s.', 'description' => 'The user already exists in domain: %s'], + ['errorCode' => 'AgentError.Account.UserAddFailure', 'errorMessage' => 'Failed to add user to domain: %s.', 'description' => 'Failed to add the user to domain: %s'], + ['errorCode' => 'AgentError.Account.UserNotExist', 'errorMessage' => 'The specified user is not found in the domain: %s.', 'description' => 'The user does not exist in the domain: %s.'], + ['errorCode' => 'AgentError.Account.UserModifyGroupFailure', 'errorMessage' => 'Failed to modify user groups in domain: %s.', 'description' => 'Failed to modify the user permission group: %s'], + ['errorCode' => 'AgentError.Account.UserChangePasswordFailure', 'errorMessage' => 'Failed to modify user password in domain: %s.', 'description' => 'Failed to change the user password.'], + ], + [ + ['errorCode' => 'NotAuthorized', 'errorMessage' => 'You are not authorized by RAM for this request.', 'description' => 'The request is not authorized by RAM.'], + ], + 409 => [ + ['errorCode' => 'PartFailure', 'errorMessage' => 'Part of the batch operation failed.', 'description' => 'Part of the batch operation failed.'], + ], + 500 => [ + ['errorCode' => 'UnknownError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server', 'description' => 'The request has failed due to a temporary failure of the server.'], + ], + ], + 'title' => 'UpdateUser', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateUser'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 16,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0axxxx\\",\\n \\"Regions\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LocalName\\": \\"华东1(杭州)\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListRegions', ], - 'CreateReservedNodePool' => [ - 'summary' => 'Creates a reserved node pool. A reserved node pool preempts IP addresses provided in a vSwitch and maps them one by one to host names that are generated based on rules. Resources are also maintained based on the mapping table. When you use a reserved node pool to scale out or scale in nodes, the resources in the node pool are occupied or released accordingly.', - 'methods' => [ - 'post', + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ehpc.ap-northeast-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-2.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ehpc.ap-southeast-5.aliyuncs.com', 'vpc' => 'ehpc-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-beijing.aliyuncs.com', 'endpoint' => 'ehpc.cn-beijing.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-chengdu.aliyuncs.com', 'endpoint' => 'ehpc.cn-chengdu.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ehpc.cn-guangzhou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ehpc.cn-hangzhou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-heyuan.aliyuncs.com', 'endpoint' => 'ehpc.cn-heyuan.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-hongkong.aliyuncs.com', 'endpoint' => 'ehpc.cn-hongkong.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ehpc.cn-huhehaote.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-qingdao.aliyuncs.com', 'endpoint' => 'ehpc.cn-qingdao.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-shanghai.aliyuncs.com', 'endpoint' => 'ehpc.cn-shanghai.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-shenzhen.aliyuncs.com', 'endpoint' => 'ehpc.cn-shenzhen.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'ehpc.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ehpc.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ehpc.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ehpc.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ehpc-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ehpc.eu-central-1.aliyuncs.com', 'endpoint' => 'ehpc.eu-central-1.aliyuncs.com', 'vpc' => 'ehpc-vpc.eu-central-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'AckError', 'message' => 'An error occurred while calling the ACK API operation.', 'http_code' => 406, 'description' => 'An error occurred when calling the ACK API.'], + ['code' => 'AgentError', 'message' => 'The agent service request failed: %s', 'http_code' => 406, 'description' => 'Operation unsuccessful: %s'], + ['code' => 'AgentError', 'message' => 'The agent service request failed.', 'http_code' => 406, 'description' => 'The cluster-side command failed to run. %s'], + ['code' => 'AgentError.Account.AccountValidateCredentialFailure', 'message' => 'Cannot get user info', 'http_code' => 406, 'description' => 'Failed to retrieve user information.'], + ['code' => 'AgentError.Account.DomainNotExist', 'message' => 'The specified domain does not exist: %s.', 'http_code' => 406, 'description' => 'The domain service does not exist: %s'], + ['code' => 'AgentError.Account.GetentPasswdFailure', 'message' => 'Failed to get the user list: %s.', 'http_code' => 406, 'description' => 'Failed to obtain the domain user list: %s'], + ['code' => 'AgentError.Account.GetUserListFailure', 'message' => 'Get user list fail: %s', 'http_code' => 406, 'description' => 'Failed to query the list of users: %s'], + ['code' => 'AgentError.Account.UserAddFailure', 'message' => 'Failed to add user to domain: %s.', 'http_code' => 406, 'description' => 'Failed to add the user to domain: %s'], + ['code' => 'AgentError.Account.UserAlreadyExist', 'message' => 'The specified user already exists in domain: %s.', 'http_code' => 406, 'description' => 'The user already exists in domain: %s'], + ['code' => 'AgentError.Account.UserChangePasswordFailure', 'message' => 'Failed to modify user password in domain: %s.', 'http_code' => 406, 'description' => 'Failed to change the user password.'], + ['code' => 'AgentError.Account.UserDeleteFailure', 'message' => 'Failed to delete user from domain: %s.', 'http_code' => 406, 'description' => 'Failed to remove the user from domain: %s'], + ['code' => 'AgentError.Account.UserModifyGroupFailure', 'message' => 'Failed to modify user groups in domain: %s.', 'http_code' => 406, 'description' => 'Failed to modify the user permission group: %s'], + ['code' => 'AgentError.Account.UserNotExist', 'message' => 'The specified user is not found in the domain: %s.', 'http_code' => 406, 'description' => 'The user does not exist in the domain: %s.'], + ['code' => 'AgentError.Account.UserSynFailure', 'message' => 'synchronize users failed: %s', 'http_code' => 406, 'description' => 'Failed to synchronize the user: %s.'], + ['code' => 'AgentError.Account.ValidateCredentialFailure', 'message' => 'Username or password verification failed.', 'http_code' => 403, 'description' => 'Username or password verification failed.'], + ['code' => 'AgentError.Job.DeleteFailure', 'message' => 'Failed to delete job: %s', 'http_code' => 406, 'description' => 'Failed to delete the job: {}'], + ['code' => 'AgentError.Job.InvalidContainerType', 'message' => 'Unsupported container type: %s.', 'http_code' => 406, 'description' => 'The container type is not supported: %s.'], + ['code' => 'AgentError.Job.ListFailure', 'message' => 'Failed to list jobs: %s.', 'http_code' => 406, 'description' => 'Failed to obtain the job list: %s'], + ['code' => 'AgentError.Job.RerunFailure', 'message' => 'Failed to run the job again: %s.', 'http_code' => 406, 'description' => 'Failed to run the job again: %s'], + ['code' => 'AgentError.Job.StopFailure', 'message' => 'Failed to stop jobs: %s.', 'http_code' => 406, 'description' => 'Failed to stop the job: %s'], + ['code' => 'AgentError.Job.SubmitFailure', 'message' => 'Failed to submit jobs: %s', 'http_code' => 406, 'description' => 'Failed to submit the jobs.'], + ['code' => 'AgentError.Report.NotSupported', 'message' => 'The specified cluster does not support this operation.', 'http_code' => 406, 'description' => 'The current cluster does not support this operation.'], + ['code' => 'AgentResponseTimeout', 'message' => 'Agent response timeout: %s', 'http_code' => 406, 'description' => 'The proxy response timed out.'], + ['code' => 'AliyunError', 'message' => 'Aliyun api service error', 'http_code' => null, 'description' => 'Failed to request other cloud service APIs.'], + ['code' => 'AliyunError', 'message' => 'An Alibaba Cloud product error occurred.', 'http_code' => 406, 'description' => 'Alibaba Cloud product error. %s'], + ['code' => 'ArtifactError', 'message' => 'Artifact API request failed.', 'http_code' => 406, 'description' => 'An error occurred when calling the Artifact API.'], + ['code' => 'Cluster.NotSupported', 'message' => 'Current cluster does not support this operation.', 'http_code' => 400, 'description' => 'The current cluster does not support this operation.'], + ['code' => 'ClusterCannotRecover', 'message' => 'Cluster cannot recover', 'http_code' => 400, 'description' => 'The cluster cannot be repaired.'], + ['code' => 'ClusterNotCompatible', 'message' => 'The cluster is not compatible with this interface: %s.', 'http_code' => 403, 'description' => 'The cluster is not compatible with this API due to certain reasons.'], + ['code' => 'ClusterNotFound', 'message' => 'The specified cluster does not exist.', 'http_code' => 404, 'description' => 'The specified instance does not exist.'], + ['code' => 'ClusterNotFound', 'message' => 'The target cluster is not found.', 'http_code' => 404, 'description' => 'The target cluster is not found.'], + ['code' => 'CodeParsingError', 'message' => 'Code Parsing Error: %s', 'http_code' => 401, 'description' => 'Failed to parse the error code. The error message contains the actual error information for troubleshooting.'], + ['code' => 'ComputeNotFound', 'message' => 'The specified compute node does not exist.', 'http_code' => 404, 'description' => 'The specified compute node does not exist.'], + ['code' => 'ConflictOpt', 'message' => 'A conflicting operation is running.', 'http_code' => 403, 'description' => 'A conflicting operation is running. Please try again later.'], + ['code' => 'ContainerNameExist', 'message' => 'The container name already exists.', 'http_code' => 403, 'description' => 'The container name already exists.'], + ['code' => 'ContainerNotFound', 'message' => 'The specified container does not exist.', 'http_code' => 404, 'description' => 'The specified container does not exist.'], + ['code' => 'DbError', 'message' => 'A database service error occurred.', 'http_code' => 406, 'description' => 'Database request failed.'], + ['code' => 'DbError', 'message' => 'A database error occurred.', 'http_code' => 406, 'description' => 'A database error occurred.'], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate key.', 'http_code' => 403, 'description' => 'Duplicate values exist in the tag keys.'], + ['code' => 'EcsError', 'message' => 'ECS api request error', 'http_code' => null, 'description' => 'The ECS interface failed.'], + ['code' => 'EcsError', 'message' => 'An error occurred while calling the ECS API operation.', 'http_code' => 406, 'description' => 'ECS API call error. %s'], + ['code' => 'EipError', 'message' => 'The EIP API request failed.', 'http_code' => 406, 'description' => 'EIP API request failed.'], + ['code' => 'EntityAlreadyExists.RoleError', 'message' => 'AliyunServiceRoleForEHPC already exists.', 'http_code' => 406, 'description' => 'AliyunServiceRoleForEHPC already exists.'], + ['code' => 'EntityAlreadyExists.RoleError', 'message' => 'The role already exists.', 'http_code' => 406, 'description' => 'The role already exists.'], + ['code' => 'EntityNotExist.Role', 'message' => 'The role does not exist.', 'http_code' => 407, 'description' => 'The role does not exist.'], + ['code' => 'ExecFail', 'message' => 'Failed to execute the command: %s.', 'http_code' => 403, 'description' => 'Failed to execute the command: %s.'], + ['code' => 'ExecutorNotFound', 'message' => 'The specified job executor was not found.', 'http_code' => 400, 'description' => 'The specified job executor was not found.'], + ['code' => 'FailToGenId', 'message' => 'Generating cluster ID failed.', 'http_code' => 400, 'description' => 'Failed to generate the cluster ID. Please try again.'], + ['code' => 'GetResourceFailed', 'message' => 'Failed to get resource.', 'http_code' => 403, 'description' => 'Failed to get resource'], + ['code' => 'IdempotentParameterMismatch', 'message' => 'Arguments on this idempotent request are inconsistent with arguments used in previous request', 'http_code' => 403, 'description' => 'Arguments on this idempotent request are inconsistent with arguments used in previous request.'], + ['code' => 'ImageAlreadyExists', 'message' => 'The image id already exists.', 'http_code' => 400, 'description' => 'Mirror already exists'], + ['code' => 'ImageInUse', 'message' => 'Image is still used by jobs.', 'http_code' => 403, 'description' => 'Mirror still in use'], + ['code' => 'ImageNotFound', 'message' => 'The specified image does not exist.', 'http_code' => 404, 'description' => 'The specified image does not exist. Please verify the parameter.'], + ['code' => 'ImageNotMatched', 'message' => 'The image is not matched.', 'http_code' => 400, 'description' => 'The image does not match.'], + ['code' => 'ImageNotSupported', 'message' => 'The specified image is not supported.', 'http_code' => 403, 'description' => 'The specified image does not exist. Change the image and try again.'], + ['code' => 'IncorrectCredential', 'message' => 'The username or password is incorrect.', 'http_code' => 403, 'description' => 'The username or password is incorrect.'], + ['code' => 'InDebt', 'message' => 'Your account has overdue payments.', 'http_code' => 400, 'description' => 'Your account has overdue payments.'], + ['code' => 'InstanceLoginFailed', 'message' => 'Failed to log on to the ECS instance. Please check the username and password.', 'http_code' => 400, 'description' => 'Failed to log on to the ECS instance. Please check the username and password.'], + ['code' => 'InstanceLoginFailed', 'message' => 'Failed to log on to the instance. Please check the username and password.', 'http_code' => 400, 'description' => 'Failed to log on to the instance. Please check the username and password.'], + ['code' => 'InstanceNotFound', 'message' => 'Instance not Found', 'http_code' => 400, 'description' => 'The instance does not exist.'], + ['code' => 'InsufficientReservedNodes', 'message' => 'There is no more available reserved nodes.', 'http_code' => 406, 'description' => 'Insufficient number of reserved nodes'], + ['code' => 'InvaildImage', 'message' => 'The image ID is invalid.', 'http_code' => 400, 'description' => 'The image ID is invalid.'], + ['code' => 'InvaildSystemDiskSize', 'message' => 'The system disk size must be greater than or equal to image size.', 'http_code' => 400, 'description' => 'The system disk size must be greater than or equal to image size.'], + ['code' => 'InvalidAccessGroup', 'message' => 'NAS AccessGroup Not Found.', 'http_code' => 400, 'description' => 'The permission group for the mount target of the NAS instance does not exist.'], + ['code' => 'InvalidCapacityNum.ValueNotSupported', 'message' => 'The specified TargetCapacity is invalid.', 'http_code' => 403, 'description' => 'The specified target capacity is invalid.'], + ['code' => 'InvalidClientVersion', 'message' => 'The client version is invalid.', 'http_code' => 403, 'description' => 'The client version is invalid.'], + ['code' => 'InvalidClusterStatus', 'message' => 'The operation failed due to invalid cluster status.', 'http_code' => 403, 'description' => 'The cluster status does not support the operation.'], + ['code' => 'InvalidContainerType', 'message' => 'Unsupported container type: %s.', 'http_code' => 400, 'description' => 'Unsupported container type: %s.'], + ['code' => 'InvalidDAG', 'message' => 'Invalid DAG', 'http_code' => 400, 'description' => 'The DAG format is invalid.'], + ['code' => 'InvalidImage', 'message' => 'The image ID is invalid.', 'http_code' => 400, 'description' => 'The image ID is invalid.'], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The instance type is invalid.', 'http_code' => 400, 'description' => 'The instance type is invalid.'], + ['code' => 'InvalidNodeStatus', 'message' => 'The operation failed due to invalid node status.', 'http_code' => 400, 'description' => 'The node status does not allow the operation.'], + ['code' => 'InvalidOpt', 'message' => 'The specified operation is invalid. Please try again later.', 'http_code' => 403, 'description' => 'The operation is unknown. Please check arguments and try again later.'], + ['code' => 'InvalidParams', 'message' => 'The specified parameter %s is invalid.', 'http_code' => 400, 'description' => 'The specified parameter %s is invalid.'], + ['code' => 'InvalidParams', 'message' => 'The parameters are invalid.', 'http_code' => 400, 'description' => 'Invalid parameter. %s'], + ['code' => 'InvalidParams', 'message' => 'Invalid parameters: %s.', 'http_code' => 403, 'description' => 'Parameter error.'], + ['code' => 'InvalidReservedNodePoolStatus', 'message' => 'The reserved nodepool status does not allow this operation.', 'http_code' => 406, 'description' => 'The reserved node pool status does not allow this operation.'], + ['code' => 'InvalidSecurityGroup', 'message' => 'The security group ID is invalid.', 'http_code' => 404, 'description' => 'The security group ID is invalid.'], + ['code' => 'InvalidSoftware', 'message' => 'The specified software is not supported.', 'http_code' => 400, 'description' => 'The requested software is not supported.'], + ['code' => 'InvalidVolume', 'message' => 'The specified volume is invalid.', 'http_code' => 400, 'description' => 'The specified volume is invalid.'], + ['code' => 'InvalidVolumeMountpoint', 'message' => 'The specified volume mount point is invalid.', 'http_code' => 400, 'description' => 'The specified volume mount point is invalid.'], + ['code' => 'InvalidVolumeProtocal', 'message' => 'The specified volume protocol is invalid.', 'http_code' => 400, 'description' => 'The storage protocol is invalid.'], + ['code' => 'InvalidVpc', 'message' => 'The specified VPC is invalid.', 'http_code' => 400, 'description' => 'The VPC information is invalid.'], + ['code' => 'InvalidVswitch', 'message' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', 'http_code' => 400, 'description' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.'], + ['code' => 'InvalidZoneId.ValueNotSupported', 'message' => 'The specified ZoneId is invalid.', 'http_code' => 400, 'description' => 'The specified zone ID is invalid.'], + ['code' => 'JobNotFound', 'message' => 'The specified job id is not found.', 'http_code' => 400, 'description' => 'Job ID not found'], + ['code' => 'KeyPairNotFound', 'message' => 'The specified KeyPair does not exist.', 'http_code' => 404, 'description' => 'The specified key pair does not exist. Check whether this parameter is correct.'], + ['code' => 'LocationInvalid', 'message' => 'Location Invalid', 'http_code' => 400, 'description' => 'The cluster location is invalid.'], + ['code' => 'LogExpired', 'message' => 'Dependent logs is expired: %s.', 'http_code' => 403, 'description' => 'The log resource that the operation depends on has expired. The query failed.'], + ['code' => 'LoginNotFound', 'message' => 'The specified login node does not exist.', 'http_code' => 404, 'description' => 'The specified login node does not exist.'], + ['code' => 'ManagerNotFound', 'message' => 'The manager nodes do not exist or their status is abnormal.', 'http_code' => 404, 'description' => 'The manager nodes do not exist or their status is abnormal.'], + ['code' => 'MissingParams', 'message' => 'The %s parameter is required.', 'http_code' => 400, 'description' => 'The required parameter is missing: %s.'], + ['code' => 'NasError', 'message' => 'NAS API request failed.', 'http_code' => 406, 'description' => 'Failed to request the NAS interface.'], + ['code' => 'NasServiceNotOpen', 'message' => 'The NAS service is not activated.', 'http_code' => 406, 'description' => 'You have not activated NAS.'], + ['code' => 'NoPermission', 'message' => 'The user is not authorized to perform the operation. Details:', 'http_code' => 406, 'description' => 'You are not authorized to perform this operation.'], + ['code' => 'NoPermission', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 406, 'description' => 'You are not authorized to perform the operation.'], + ['code' => 'NotAuthorized', 'message' => 'You are not authorized by RAM for this request.', 'http_code' => 407, 'description' => 'The request is not authorized by RAM.'], + ['code' => 'NotAuthorized', 'message' => 'No authorization is granted.', 'http_code' => 407, 'description' => 'No authorization is granted.'], + ['code' => 'NotEnabled', 'message' => 'You have not enabled this service', 'http_code' => 400, 'description' => 'You have not enabled this service'], + ['code' => 'ObjectNotFound', 'message' => 'The specified object is not found.', 'http_code' => 404, 'description' => 'The specified object does not exist. Please verify the parameter.'], + ['code' => 'OrderError', 'message' => 'An order request error occurred.', 'http_code' => 406, 'description' => 'An order request error occurred.'], + ['code' => 'OrderError.Arrearage', 'message' => 'Your account balance is less than CNY 100. Please add funds to your account and try again.', 'http_code' => 400, 'description' => 'Your account balance is less than CNY 100. Add funds to your account and try again.'], + ['code' => 'OrderError.InstHasUnpaidOrder', 'message' => 'Your account has an unpaid order.', 'http_code' => 400, 'description' => 'Your account has an unpaid order. Please pay the order and try again.'], + ['code' => 'OrderError.InsufficientBalance', 'message' => 'The account balance is insufficient. Please add funds first and try again.', 'http_code' => 400, 'description' => 'Your account has overdue payments. Add funds to your account and try again.'], + ['code' => 'OrderError.InvalidPayMethod', 'message' => 'No valid default payment method is specified for your account.', 'http_code' => 400, 'description' => 'No valid payment method is found. Please check again.'], + ['code' => 'OrderError.NoCard', 'message' => 'No credit card is bound to your account.', 'http_code' => 400, 'description' => 'You have not bound a card. Please perform binding first.'], + ['code' => 'OrderError.NoRealNameAuthentication', 'message' => 'You have not completed the real name authentication.', 'http_code' => 400, 'description' => 'You must complete the real-name verification first.'], + ['code' => 'OrderError.NoRealNameRegistration', 'message' => 'Real name registration is required for instances launched in mainland China.', 'http_code' => 400, 'description' => 'To purchase cloud services in mainland China regions on the international site, the user must first complete real-name registration.'], + ['code' => 'OrderError.UserProfileIncomplete', 'message' => 'You have not completed your user profile.', 'http_code' => 400, 'description' => 'The user has not completed personal information on the international site.'], + ['code' => 'PartFailure', 'message' => 'Part of the batch operation failed.', 'http_code' => 409, 'description' => 'Part of the batch operation failed.'], + ['code' => 'PluginActivateFailure', 'message' => 'The plugin activate failed because %s.', 'http_code' => 400, 'description' => 'Failed to activate plugin'], + ['code' => 'PluginDeleteFailure', 'message' => 'The plugin delete failed because %s.', 'http_code' => 400, 'description' => 'Failed to delete plugin'], + ['code' => 'PluginNameDuplicate', 'message' => 'The plugin name %s is duplicated, please rename it and retry.', 'http_code' => 403, 'description' => 'The name of the plugin name is duplicate, please change it and try again.'], + ['code' => 'PluginNotFound', 'message' => 'The plugin %s is not found.', 'http_code' => 404, 'description' => 'Plugin does not exist'], + ['code' => 'PluginParserError', 'message' => 'The plugin attribute %s, parse error.', 'http_code' => 406, 'description' => 'Plugin property parsing error'], + ['code' => 'QuotaExceed.PayasyougoInstance', 'message' => 'The pay-as-you-go instance exceeds the quota.', 'http_code' => 403, 'description' => 'The pay-as-you-go instance exceeds the quota.'], + ['code' => 'QuotaExceeded.PrivateIpAddress', 'message' => 'Insufficient private IP addresses in vSwitch: %s.', 'http_code' => 403, 'description' => 'Insufficient private IP addresses in vSwitch: %s.'], + ['code' => 'RecommendEmpty.InstanceTypeNoStock', 'message' => 'The instanceTypes are out of usage.', 'http_code' => 403, 'description' => 'The instance type is unavailable.'], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommend instanceTypes are not authorized.', 'http_code' => 403, 'description' => 'The recommendation set is empty. No suitable alternative instance types are available in the specified region or zone.'], + ['code' => 'RecommendEmpty.InstanceTypeSoldOut', 'message' => 'The resource is out of stock.', 'http_code' => 403, 'description' => 'The resource is out of stock.'], + ['code' => 'RecommendEmpty.PriceNotSatisfied', 'message' => 'The price limit is not satisfied.', 'http_code' => 403, 'description' => 'The price limit is not satisfied.'], + ['code' => 'RedisError', 'message' => 'A Redis service error occurred.', 'http_code' => 406, 'description' => 'Redis request failed.'], + ['code' => 'RervedNodePoolNotFound', 'message' => 'The reserved nodepool is not exist.', 'http_code' => 404, 'description' => 'The specified reserved node pool does not exist'], + ['code' => 'ResourceTargetAmount.NotSatisfied', 'message' => 'The resource application is not satisfied.', 'http_code' => 403, 'description' => 'The resource application is not satisfied.'], + ['code' => 'SecurityGroupAlreadyExists', 'message' => 'The security group already exists.', 'http_code' => 404, 'description' => 'The security group already exists.'], + ['code' => 'SecurityGroupNotSupported', 'message' => 'The security group is not supported.', 'http_code' => 404, 'description' => 'The security group is not supported.'], + ['code' => 'ServiceAPIError', 'message' => 'Failed to call the operation. Cause:%s', 'http_code' => 406, 'description' => 'An error occurred while calling the API. %s'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server', 'http_code' => 503, 'description' => 'The request has failed due to a temporary failure of the server.'], + ['code' => 'SlsError', 'message' => 'SLS API request failed.', 'http_code' => 406, 'description' => 'Failed to request the SLS interface.'], + ['code' => 'TagError', 'message' => 'TAG API request failed.', 'http_code' => 406, 'description' => 'The TAG API request failed.'], + ['code' => 'TemplateNameExist', 'message' => 'The template name already exists.', 'http_code' => 403, 'description' => 'The template name already exists.'], + ['code' => 'TemplateNotExist', 'message' => 'The template ID does not exist.', 'http_code' => 404, 'description' => 'The template ID does not exist.'], + ['code' => 'TooManyClusters', 'message' => 'The number of user clusters exceeds the quota.', 'http_code' => 403, 'description' => 'The number of user clusters exceeds the quota. By default, the number of user clusters cannot exceed three.'], + ['code' => 'TooManyComputes', 'message' => 'The number of computing nodes exceeds the quota.', 'http_code' => 403, 'description' => 'The number of computing nodes exceeds the quota.'], + ['code' => 'TooManyContainers', 'message' => 'The number of containers exceeds the quota.', 'http_code' => 403, 'description' => 'The number of containers exceeds the quota.'], + ['code' => 'TooManyLogins', 'message' => 'The maximum number of logged on nodes is exceeded.', 'http_code' => 403, 'description' => 'The maximum number of logged on nodes is exceeded. The default maximum value is 2.'], + ['code' => 'TooManyScc', 'message' => 'The maximum number of SCC instances is exceeded.', 'http_code' => 403, 'description' => 'The maximum number of SCC instances is exceeded. The default maximum value is 15.'], + ['code' => 'TooMuchTemplates', 'message' => 'The number of templates exceeds the quota.', 'http_code' => 407, 'description' => 'The number of templates exceeds the quota.'], + ['code' => 'UnknownError', 'message' => 'An unknown error occurred.', 'http_code' => 500, 'description' => 'An unknown error occurred.'], + ['code' => 'UnKnownError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => 'Unknown error, please check the parameters or try again.'."\n"], + ['code' => 'UsernameExist', 'message' => 'The username already exists.', 'http_code' => 403, 'description' => 'The username already exists.'], + ['code' => 'UserScriptError.DownloadFailure', 'message' => 'UserScript Error: Download Failure', 'http_code' => 400, 'description' => 'A user script error occurred. The download failed.'], + ['code' => 'UserScriptError.ExecuteFailure', 'message' => 'UserScript Error: Execute Failure', 'http_code' => 400, 'description' => 'A user script error occurred. The execution failed.'], + ['code' => 'VolumeAuthGroupNotFound', 'message' => 'NAS AuthGroup Not Found', 'http_code' => 400, 'description' => 'The default ordinary permission group for the NAS instance does not exist.'], + ['code' => 'VolumeNotFound', 'message' => 'The specified volume does not exist.', 'http_code' => 404, 'description' => 'The specified storage does not exist. Please verify the parameter.'], + ['code' => 'VpcNotFound', 'message' => 'The specified VPC does not exist.', 'http_code' => 404, 'description' => 'The specified VPC does not exist.'], + ['code' => 'VswitchNotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 404, 'description' => 'The specified vSwitch does not exist.'], + ['code' => 'VswitchOccupied', 'message' => 'The vSwitch resource is occupied by other reserved nodepool.', 'http_code' => 406, 'description' => 'This switch resource is occupied by other reserved node pools'], + ['code' => 'WorkbenchFailed', 'message' => 'Failed to connect to ECS Workbench.', 'http_code' => 400, 'description' => 'Failed to connect to ECS workbench.'], + ['code' => 'ImageClientVersionTooLow', 'message' => 'The image requires a higher ehpcutil version than the cluster currently has, please upgrade the cluster first.', 'http_code' => 400, 'description' => 'The minimum ehpcutil version required for mirroring is higher than the current cluster version, upgrade the cluster first'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UninstallSoftwares'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCommonLogDetail'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJob'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSoftwares'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListQueues'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallSoftwares'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAddonTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAddon'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableImages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachSharedStorages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListClusters'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJob'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateQueue'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableFileSystems'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnInstallAddon'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachSharedStorages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSharedStorages'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddons'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetJobLog'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'InstallAddon'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateQueue'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAddonTemplates'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteQueues'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommonLogs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListInstalledSoftwares'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateUser'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateUsers'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNodes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCluster'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCluster'], + ], + ], + 'ram' => [ + 'productCode' => 'Ehpc', + 'productName' => 'Elastic High Performance Computing', + 'ramCodes' => ['ehpc'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'CreateCluster', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DetachSharedStorages', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:DetachSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListInstalledSoftwares', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListInstalledSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'UnInstallAddon', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:UnInstallAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateUsers', + 'description' => '', 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '258584', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', + 'ramAction' => [ + 'action' => 'ehpc:CreateUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + [ + 'apiName' => 'ListAddonTemplates', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListAddonTemplates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'nodepool', + ], + [ + 'apiName' => 'StopJobs', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:StopJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test', + ], + [ + 'apiName' => 'AttachNodes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:AttachNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Count', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'InstallAddon', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:InstallAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1lfcjbfb099rrjn****', + ], + [ + 'apiName' => 'ListJobs', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'HostPrefix', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', + ], + [ + 'apiName' => 'UpdateUser', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'HostPostfix', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ed', + ], + [ + 'apiName' => 'GetQueue', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'ReservedNodePoolId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'rnp-cdx****', - ], - ], + [ + 'apiName' => 'ListAddons', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListAddons', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', + [ + 'apiName' => 'DescribeAddonTemplate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:DescribeAddonTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidVswitch', - 'errorMessage' => 'The vSwitch parameter is invalid, or the number of available IP addresses is insufficient.', + ], + ], + [ + 'apiName' => 'AttachSharedStorages', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:AttachSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'FailToGenId', - 'errorMessage' => 'Generating cluster ID failed.', + ], + ], + [ + 'apiName' => 'GetAddon', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetAddon', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', + ], + [ + 'apiName' => 'InstallSoftwares', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:InstallSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', + ], + [ + 'apiName' => 'UpdateNodes', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'VswitchOccupied', - 'errorMessage' => 'The vSwitch resource is occupied by other reserved nodepool.', + ], + ], + [ + 'apiName' => 'DeleteNodes', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + [ + 'apiName' => 'CreateQueue', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DeleteReservedNodePool', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteReservedNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ReservedNodePoolId\\": \\"rnp-cdx****\\"\\n}","type":"json"}]', - 'title' => 'CreateReservedNodePool', - ], - 'DeleteReservedNodePool' => [ - 'summary' => 'Deletes a reserved node pool.', - 'methods' => [ - 'post', + [ + 'apiName' => 'GetCluster', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ListAvailableImages', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableImages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListQueues', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ListCommonLogs', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListCommonLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListSoftwares', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:ListSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListNodes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateReservedNodePool', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateReservedNodePool', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJobLog', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetJobLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListRegions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListUsers', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetJob', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAvailableFileSystems', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListAvailableFileSystems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetCommonLogDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ehpc:GetCommonLogDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteQueues', + 'description' => '', 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '259198', - 'abilityTreeNodes' => [ - 'FEATUREehpcQU2WXS', + 'ramAction' => [ + 'action' => 'ehpc:DeleteQueues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ehpc-hz-FYUr32****', + [ + 'apiName' => 'CreateNodes', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ehpc:CreateNodes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Id', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'rnp-cdx****'."\n", + ], + [ + 'apiName' => 'UninstallSoftwares', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:UninstallSoftwares', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - ], + [ + 'apiName' => 'UpdateQueue', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateQueue', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The specified parameter %s is invalid.', + [ + 'apiName' => 'ListSharedStorages', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListSharedStorages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 404 => [ - [ - 'errorCode' => 'ClusterNotFound', - 'errorMessage' => 'The specified cluster does not exist.', + ], + [ + 'apiName' => 'DeleteUsers', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteUsers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'RervedNodePoolNotFound', - 'errorMessage' => 'The reserved nodepool is not exist.', + ], + ], + [ + 'apiName' => 'ListClusters', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ehpc:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 406 => [ - [ - 'errorCode' => 'DbError', - 'errorMessage' => 'A database service error occurred.', + ], + [ + 'apiName' => 'UpdateCluster', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ehpc:UpdateCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server', + ], + [ + 'apiName' => 'DeleteCluster', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ehpc:DeleteCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Ehpc', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'DeleteReservedNodePool', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ehpc.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ehpc.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ehpc.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ehpc.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ehpc.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ehpc.cn-hangzhou.aliyuncs.com', ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ehpc.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ehpc.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ehpc.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ehpc.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ehpc.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ehpc.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ehpc.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ehpc.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ehpc.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ehpc.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ehpc.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ehpc.eu-central-1.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Cluster', 'arn' => 'acs:ehpc:{#regionId}:{#accountId}:cluster/{#ClusterId}'], ], ], ]; |
