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/workspace.id |
No |
String |
Workspace ID. The default value is 0. |
os.modelarts/name |
Yes |
String |
Name of a pool specified by a user. |
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 |
Duration-based subscription type. The options are as follows:
This parameter is mandatory when Billing Mode is set to Yearly/Monthly. |
os.modelarts/auto.renew |
No |
String |
Whether to enable auto-renewal. The options are as follows:
|
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 the resource pool. Select at least one type. You can select all physical resource pools. The options are as follows:
|
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 |
Specifies the network parameters of the resource pool. This parameter is mandatory for physical resource pools. |
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 |
Number of resources of the corresponding specifications. |
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. |
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. Options:
|
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:
|
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. |
Parameter |
Type |
Description |
---|---|---|
az |
String |
AZ name |
count |
Integer |
Number of nodes for expanding the capacity of a specified AZ. |
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. |
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