Creating Resource Pools
Function
This API is used to create resource pools.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v2/{project_id}/pools
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details, see Obtaining a Project ID and Name. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-ModelArts-User-ID |
No |
String |
Tenant ID. If there is a tenant ID, it will be used for workspace authentication. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
apiVersion |
Yes |
String |
API version. Options:
|
kind |
Yes |
String |
Resource type. Options:
|
metadata |
Yes |
PoolMetadataCreation object |
Metadata of a resource pool. |
spec |
No |
PoolSpecCreation object |
Description of a resource pool. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
labels |
Yes |
PoolLabelsCreation object |
Resource pool labels. |
annotations |
No |
PoolAnnotationsCreation object |
Resource pool annotations. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
os.modelarts/name |
Yes |
String |
Name of a resource pool specified by a user. |
os.modelarts/workspace.id |
No |
String |
Workspace ID If no workspace is created, the default value is 0. If a workspace is created and used, the actual value prevails. |
os.modelarts/node.prefix |
No |
String |
User-defined node name prefix. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
os.modelarts/description |
No |
String |
Description of a resource pool. |
os.modelarts/billing.mode |
No |
String |
Charging mode. The options are as follows:
|
os.modelarts/period.num |
No |
String |
Duration-based subscription period, for example, 2. This parameter is mandatory when Billing Mode is set to Yearly/Monthly. |
os.modelarts/period.type |
No |
String |
Yearly/Monthly subscription type. The options are as follows:
This parameter is mandatory when the billing mode is yearly/monthly. |
os.modelarts/auto.renew |
No |
String |
Whether to enable auto-renewal. The options are as follows:
|
os.modelarts/auto.pay |
No |
String |
Specifies whether to automatically pay for a resource. This parameter takes effect only when a user purchases a yearly/monthly resource. The options are:
|
os.modelarts/promotion.info |
No |
String |
Discount information selected by a subscriber in the CBC. |
os.modelarts/service.console.url |
No |
String |
URL of the page that is displayed after the subscription order is paid. |
os.modelarts/order.id |
No |
String |
Specifies the order ID. This parameter is mandatory when a yearly/monthly pool is created or the billing mode is changed. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Resource pool type. The options are as follows:
|
scope |
Yes |
Array of strings |
Job type supported by a resource pool. You must select at least one standard resource pool when creating a standard resource pool. You can select all physical resource pools. Options:
|
resources |
Yes |
Array of PoolResourceFlavor objects |
List of resource specifications in the resource pool, including resource specifications and the number of resources of the corresponding specifications. |
network |
Yes |
network object |
Network settings for a resource pool. This parameter is mandatory when you create a physical resource pool. |
jobFlavors |
No |
Array of strings |
List of job specifications supported by the resource pool. The content is the job specification name. |
driver |
No |
PoolDriver object |
Indicates the driver information of the resource pool. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
flavor |
Yes |
String |
Resource flavor, for example, modelarts.vm.gpu.tnt004. |
count |
Yes |
Integer |
Guaranteed resource amount of a resource specification. |
maxCount |
No |
Integer |
Elastic resource amount of a resource specification. The value of this parameter must be the same as that of count in the physical pool. |
extendParams |
No |
extendParams object |
Customized configuration parameter. |
os |
No |
Os object |
Customize the OS image information. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
dockerBaseSize |
No |
String |
Specify the container engine space size of a resource pool node. The value 0 indicates that the size is not limited. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
OS name |
imageId |
No |
String |
OS image ID |
imageType |
No |
String |
OS image type.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Specifies the network name, that is, the value of metadata.name in the network details. When a user interface creates a network by specifying the network name, the system automatically creates a subnet. The user cannot create a subnet. By default, the system is created under the first subnet. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
gpuVersion |
No |
String |
GPU driver version. This parameter is available when GPUs are used in a physical resource pool. For example, the GPU driver version is 440.33. |
npuVersion |
No |
String |
NPU driver version. This parameter is mandatory when the physical resource pool contains ascend specifications, for example, C78. |
updateStrategy |
No |
String |
Indicates the driver upgrade policy. The options are as follows:
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
apiVersion |
String |
API version. The options are as follows:
|
kind |
String |
Resource type. The options are as follows:
|
metadata |
PoolMetadata object |
Specifies the metadata of the resource pool. |
spec |
PoolSpecModel object |
Expected information about a resource pool. |
status |
PoolStatus object |
Status of a resource pool. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Automatically generated resource pool name, which is equivalent to pool ID. |
creationTimestamp |
String |
Timestamp, for example, 2021-11-01T03:49:41Z. |
labels |
PoolMetaLabels object |
Resource pool labels. |
annotations |
PoolMetaAnnotations object |
Resource pool annotations. |
Parameter |
Type |
Description |
---|---|---|
os.modelarts/workspace.id |
String |
Workspace ID If no workspace is created, the default value is 0. If a workspace is created and used, the actual value prevails. |
os.modelarts/name |
String |
Specified resource pool name. |
os.modelarts/resource.id |
String |
ID of the primary resource in the resource pool, which is usually provided for CBC. |
os.modelarts/tenant.domain.id |
String |
ID of the tenant corresponding to the resource pool, which records the tenant account where the resource pool is created |
Parameter |
Type |
Description |
---|---|---|
os.modelarts/description |
String |
Description of a resource pool. |
os.modelarts/billing.mode |
String |
Billing mode. The options are as follows:
|
os.modelarts/period.num |
String |
Subscription period on a yearly/monthly basis, for example, 2. |
os.modelarts/period.type |
String |
Yearly/Monthly subscription type. The options are as follows:
|
os.modelarts/auto.renew |
String |
Whether to automatically renew the subscription. Options:
|
os.modelarts/promotion.info |
String |
Discount selected in CBC. |
os.modelarts/service.console.url |
String |
URL of the page displayed after the subscription order is paid. |
os.modelarts/order.id |
String |
Order ID, which is mandatory when creating a yearly/monthly resource pool or changing its billing mode. |
os.modelarts/flavor.resource.ids |
String |
Specifies the resource ID corresponding to each flavor, which is used for interaction with CBC. |
os.modelarts/tms.tags |
String |
TMS tag specified by the user during creation. |
Parameter |
Type |
Description |
---|---|---|
type |
String |
Resource pool type. The options are as follows:
|
scope |
Array of strings |
Job type supported by the resource pool. Select at least one type. You can select all physical resource pools. The options are as follows:
|
resources |
Array of resources objects |
List of resource specifications in the resource pool, including resource specifications and the number of resources of the corresponding specifications. |
network |
network object |
Specifies the network parameters of the resource pool. This parameter is mandatory for physical resource pools. |
jobFlavors |
Array of strings |
List of job specifications supported by the resource pool. The content is the job specification name. |
driver |
PoolDriver object |
Indicates the driver information of the resource pool. |
controlMode |
Integer |
Restriction status of a resource pool. The options are as follows:
In addition, multiple statuses are allowed. For example, a resource pool is in state 9, indicating that it is frozen and changing its billing mode to yearly/monthly is restricted. |
Parameter |
Type |
Description |
---|---|---|
flavor |
String |
Resource flavor, for example, modelarts.vm.gpu.tnt004. |
count |
Integer |
Number of resources of the corresponding specifications. |
azs |
Array of PoolNodeAz objects |
Specifies the AZ list. |
extendParams |
extendParams object |
Customize the parameter configurations. |
os |
Os object |
OS image information. |
Parameter |
Type |
Description |
---|---|---|
az |
String |
AZ name |
count |
Integer |
Specifies the number of nodes in a specified AZ when capacity expansion is performed in a specified AZ. |
Parameter |
Type |
Description |
---|---|---|
dockerBaseSize |
String |
Specify the container engine space size of a resource pool node. The value 0 indicates that the size is not limited. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
OS name |
imageId |
String |
OS image ID |
imageType |
String |
OS image type.
|
Parameter |
Type |
Description |
---|---|---|
name |
String |
Specifies the network name. When a user interface creates a network by specifying the network name, the system automatically creates a subnet. Users cannot create a subnet. By default, the system is created under the first subnet. |
Parameter |
Type |
Description |
---|---|---|
gpuVersion |
String |
GPU driver version. This parameter is available when GPUs are used in a physical resource pool. For example, the GPU driver version is 440.33. |
npuVersion |
String |
NPU driver version. This parameter is mandatory when the physical resource pool contains ascend specifications, for example, C78. |
updateStrategy |
String |
Indicates the driver upgrade policy. The options are as follows:
|
Parameter |
Type |
Description |
---|---|---|
phase |
String |
Resource pool cluster status. The options are as follows:
|
message |
String |
Message indicating that the resource pool is in the current state. |
resources |
resources object |
Number of resources in different states in a resource pool. |
scope |
Array of scope objects |
Service status of a resource pool. |
driver |
driver object |
Resource pool driver. |
parent |
String |
Name of the parent node in the resource pool. This parameter is left blank for physical pools. |
root |
String |
Name of the root node in the resource pool. For a physical pool, set this parameter to its own name. |
Parameter |
Type |
Description |
---|---|---|
creating |
PoolResourceFlavorCount object |
Number of resources that are being created. |
available |
PoolResourceFlavorCount object |
Number of available resources. |
abnormal |
PoolResourceFlavorCount object |
Number of unavailable resources. |
deleting |
PoolResourceFlavorCount object |
Number of resources that are being deleted. |
Parameter |
Type |
Description |
---|---|---|
flavor |
String |
Resource flavor name, for example, modelarts.vm.gpu.tnt004. |
count |
Integer |
Indicates the guaranteed usage of specifications. |
maxCount |
Integer |
Elastic usage of the resource specification. The value of this parameter is the same as that of count in the physical pool. |
azs |
Array of azs objects |
Number of AZs where the resource is located. |
nodePool |
String |
Node pool name, for example, nodePool-1. |
Parameter |
Type |
Description |
---|---|---|
scopeType |
String |
Service type. The options are as follows:
|
state |
String |
Service status. Options:
|
Parameter |
Type |
Description |
---|---|---|
gpu |
PoolDriverStatus object |
GPU driver. |
npu |
PoolDriverStatus object |
NPU driver. |
Parameter |
Type |
Description |
---|---|---|
version |
String |
Indicates the current driver version. |
state |
String |
Indicates the current driver status. Options:
|
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error codes of ModelArts. |
error_msg |
String |
Error message. |
Status code: 409
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error codes of ModelArts. |
error_msg |
String |
Error message. |
Example Requests
The following is an example of how to create a dedicated resource pool whose resource type is Pool, pool name is pool-001, pool type is Dedicate (physical resource pool), and supported job type is Train.
POST https://{endpoint}/v2/{project_id}/pools { "kind" : "Pool", "apiVersion" : "v2", "metadata" : { "labels" : { "os.modelarts/name" : "pool-001", "os.modelarts/workspace.id" : "0" }, "annotations" : { "os.modelarts/description" : "", "os.modelarts/billing.mode" : "0" } }, "spec" : { "type" : "Dedicate", "scope" : [ "Train" ], "network" : { "name" : "net-0123-86c13962597848eeb29c5861153a391f" }, "resources" : [ { "flavor" : "modelarts.vm.gpu.tnt004", "count" : 2 } ], "driver" : { "gpuVersion" : "440.31" } } }
Example Responses
Status code: 400
Bad request
{ "error_code" : "ModelArts.50004000", "error_msg" : "Bad request" }
Status code: 409
Already exists
{ "error_code" : "ModelArts.50015000", "error_msg" : "Pool already exists." }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad request |
409 |
Already exists |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot