52 KiB
Creating a Notebook Instance
Function
This API is used to create a notebook instance based on the specified flavor, AI engine images, and storage. You can access the instance through a web page or SSH client. \r\n Calling this API is an asynchronous operation. The notebook instance status can be obtained by calling the API for querying the details about this instance.
Constraints
None
URI
POST /v1/{project_id}/notebooks
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details, see Obtaining a Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
description |
No |
String |
Instance description. The value can contain a maximum of 512 characters and cannot contain the following special characters: &<>"'/. By default, this parameter is left blank. |
duration |
No |
Long |
Running duration calculated from the current time, in milliseconds. The instance automatically stops when the duration expires. |
endpoints |
No |
Array of EndpointsReq objects |
Local IDE (such as PyCharm and vsCode) or SSH client for remotely accessing a notebook instance through SSH. |
feature |
No |
String |
Instance type. The default value is NOTEBOOK. Options: - DEFAULT: free CodeLab instance. You can create only one. - NOTEBOOK: billed instance. |
flavor |
Yes |
String |
Instance flavor. Currently, the following flavors are supported: \r\n-modelarts.vm.cpu.2u: General-purpose Intel CPU flavors, ideal for rapid data exploration and tests. \r\n- modelarts.vm.cpu.8u: General computing-plus Intel CPU flavors, ideal for compute-intensive applications. \r\n- modelarts.bm.gpu.v100NV32: One NVIDIA V100 GPU with 32 GB of memory, ideal for training and debugging deep learning algorithms. \r\n- modelarts.bm.d910.xlarge.1: One Arm-powered Ascend 910 processor with 32 GB of GPU memory, ideal for training and debugging deep learning models. \r\n- modelarts.bm.d910.xlarge.2: Two Arm-powered Ascend 910 processors, each with 32 GB of GPU memory, ideal for training and debugging deep learning models. \r\n- modelarts.bm.d910.xlarge.8: Eight Arm-powered Ascend 910 processors, each with 32 GB of GPU memory, ideal for training and debugging deep learning algorithms. \r\n\r\n The preceding flavors are for reference only. The flavors available in specific regions are displayed on the console. |
image_id |
Yes |
String |
ID of the image used for creating notebook instances. The ID is in Universally Unique Identifier (UUID) format. \r\n For details, see Querying Supported Images. |
name |
Yes |
String |
Instance name, which contains a maximum of 64 characters that can be duplicate. The name can contain uppercase letters, lowercase letters, digits, hyphens (-), and underscores (_). |
pool_id |
No |
String |
ID of a dedicated resource pool, for example, pool41664192. This parameter is mandatory if a dedicated resource pool needs to be specified for creating an instance. |
volume |
Yes |
VolumeReq object |
Storage volume. |
workspace_id |
No |
String |
Workspace ID. If no workspaces are available, the default value is 0. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
allowed_access_ips |
No |
Array of strings |
Public IP addresses that can remotely access the notebook instance. A maximum of five public IP addresses are supported. |
dev_service |
No |
String |
Supported services. Options: - NOTEBOOK: You can access the notebook instance using HTTPS.- SSH: You can remotely access the notebook instance through SSH. |
ssh_keys |
No |
Array of strings |
Name of the SSH key pair, which can be created and viewed on the Key Pair page of the Elastic Cloud Server (ECS) console. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
capacity |
No |
Integer |
Storage capacity. The default value is 5 GB for EVS and 50 GB for EFS. The maximum value is 4,096 GB. |
category |
Yes |
String |
Storage category. Options: \r\n-EFS: Scalable File Service (SFS), which is the default storage. \r\n-EVS: Elastic Volume Service (EVS). \r\n\r\n For details about the differences between the two types of storage, see Selecting a Storage Type in DevEnviron.\r\n.\r\n\r\n\r\n\r\n |
ownership |
Yes |
String |
Owner to which the resource belongs. Options: - MANAGED: Resources are managed by services.- DEDICATED: Resources are managed by the user account. This mode is supported only when the instance category is EFS. |
uri |
No |
String |
URI of the EFS. This parameter is mandatory only when the instance category is EFS and ownership is DEDICATED. An example URI is 192.168.0.1:/user-9sfdsdgdfgh5ea4d56871e75d6966aa274/mount/. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
action_progress |
Array of JobProgress objects |
Instance initialization progress. |
description |
String |
Instance description |
endpoints |
Array of EndpointsRes objects |
Local IDE (such as PyCharm and vsCode) or SSH client for remotely accessing a notebook instance through SSH. |
fail_reason |
String |
Instance failure cause |
feature |
String |
Instance type. Options: - DEFAULT: free CodeLab instance. You can create only one. - NOTEBOOK: billed instance. |
flavor |
String |
Instance flavor |
id |
String |
Instance ID. |
image |
Image object |
Instance image |
lease |
Lease object |
Countdown to automatic instance stop. |
name |
String |
Instance name |
pool |
Pool object |
Basic information about the dedicated pool, which is returned by the instance created in the dedicated pool. |
status |
String |
Instance status Options: \r\n-INIT: The instance is being initialized. \r\n-CREATING: The instance is being created. \r\n-STARTING: The instance is starting. \r\n-STOPPING: The instance is stopping. \r\n-DELETING: The instance is being deleted.\r\n-RUNNING: The instance is running.\r\n-STOPPED: The instance is stopped.\r\n-SNAPSHOTTING: A snapshot is being taken for the instance (status when the image is being saved).\r\n-CREATE_FAILED: The instance fails to be created. \r\n-START_FAILED: The instance fails to be started. \r\n-DELETE_FAILED: The instance fails to be deleted.\r\n-ERROR: An error occurs. \r\n-DELETED: The instance is deleted. \r\n-FROZEN: The instance is frozen. |
token |
String |
Token used for notebook authentication |
url |
String |
URL for accessing the notebook instance |
volume |
VolumeRes object |
Storage volume |
workspace_id |
String |
Workspace ID. If no workspaces are available, the default value is 0. |
Parameter |
Type |
Description |
---|---|---|
notebook_id |
String |
Instance ID. |
status |
String |
Job status in a specified step. Options: - WAITING: The job is waiting to begin. - PROCESSING: The job is being processed. - FAILED: The job failed. - COMPLETED: The task is complete. |
step |
Integer |
Job step. Options: - 1: Storage preparation. - 2: Computing resource preparation. - 3: Network configurations. - 4: Instance initialization. |
step_description |
String |
Description of a step in a job. |
Parameter |
Type |
Description |
---|---|---|
allowed_access_ips |
Array of strings |
Whitelist of public IP addresses that are allowed to access the notebook instance through SSH. By default, all public IP addresses can access the notebook instance. If this parameter is specified, only the clients with the specified IP addresses can access the notebook instance. |
dev_service |
String |
Supported services. Options: - NOTEBOOK: You can access the notebook instance using HTTPS.- SSH: You can remotely access the notebook instance through SSH. |
ssh_keys |
Array of strings |
List of SSH key pairs. You can set multiple key pairs to access an SSH instance at the same time. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Image ID |
name |
String |
Image name. |
swr_path |
String |
SWR image address |
type |
String |
Image type. Options: - BUILD_IN: built-in system image- DEDICATED: image saved by the user |
Parameter |
Type |
Description |
---|---|---|
create_time |
Long |
Time (UTC) when the instance is created, accurate to millisecond. |
duration |
Long |
Instance running duration, which is calculated based on the instance creation time. If the instance creation time plus the duration is greater than the current time, the system automatically stops the instance. |
enable |
Boolean |
Whether to enable auto stop of the instance. |
update_time |
Long |
Time (UTC) when the instance is last updated (excluding the keepalive heartbeat time), accurate to millisecond. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
ID of a dedicated resource pool |
name |
String |
Name of a dedicated resource pool |
Parameter |
Type |
Description |
---|---|---|
capacity |
Integer |
Storage capacity. The default value is 5 GB for EVS and 50 GB for EFS. The maximum value is 4,096 GB. |
category |
String |
Storage category. Options: \r\n-EFS: Scalable File Service (SFS), which is the default storage. \r\n-EVS: Elastic Volume Service (EVS). \r\n\r\n For details about the differences between the two types of storage, see Selecting a Storage Type in DevEnviron.\r\n.\r\n\r\n\r\n\r\n |
mount_path |
String |
Directory of the notebook instance to which OBS storage is mounted. Currently, the directory is /home/ma-user/work/. |
ownership |
String |
Owner to which the resource belongs. Options: - MANAGED: Resources are managed by services.- DEDICATED: Resources are managed by the user account. This mode is supported only when the instance category is EFS. |
status |
String |
EVS disk capacity expansion status, which is RESIZING during capacity expansion and does not affect the instance. |
Example Requests
{ "name" : "notebooks_test", "feature" : "NOTEBOOK", "workspace_id" : "0", "description" : "api-test", "flavor" : "modelarts.vm.cpu.2u", "image_id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090", "volume" : { "category" : "efs", "ownership" : "managed", "capacity" : 50 } }
Example Responses
Status code: 200
OK
{ "action_progress" : [ { "step" : 1, "status" : "WAITING", "description" : "Prepare the storage." }, { "step" : 2, "status" : "WAITING", "description" : "Prepare the compute resource." }, { "step" : 3, "status" : "WAITING", "description" : "Configuring the network." }, { "step" : 4, "status" : "WAITING", "description" : "Initialize the notebook instance." } ], "create_at" : 1638841744521, "description" : "api-test", "feature" : "NOTEBOOK", "flavor" : "modelarts.vm.cpu.2u", "id" : "f9937afa-4451-42db-a76b-72d624749f66", "image" : { "description" : "description", "id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090", "name" : "notebook2.0-mul-kernel-cpu-cp36", "swr_path" : "swr..xxxx.com/atelier/notebook2.0-mul-kernel-cpu-cp36:3.3.2-release_v1", "tag" : "3.3.2-release_v1", "type" : "BUILD_IN" }, "lease" : { "create_at" : 1638841744515, "duration" : 3600000, "enable" : true, "update_at" : 1638841744515 }, "name" : "notebooks_test", "status" : "CREATING", "token" : "3eff13f2-3d70-5456-6dc7-e3f99f562022", "update_at" : 1638841744522, "workspace_id" : "0" }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
201 |
Created |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
Error Codes
See Error Codes.