summaryrefslogtreecommitdiff
path: root/data/en_us/ehpc/2024-07-30
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/ehpc/2024-07-30')
-rw-r--r--data/en_us/ehpc/2024-07-30/api-docs.php13922
1 files changed, 5422 insertions, 8500 deletions
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}'],
],
],
];