Updated on 2023-03-15 GMT+08:00

API Overview

API Introduction

Native OpenStack APIs and BMS APIs are provided.

A combination of the two types of APIs allows you to use all functions provided by the BMS service. For example, you can create a BMS using a native OpenStack API or a BMS API.

Table 1 API description

Type

Function

Description

BMS APIs

API version information query

Query the API version of the BMS service.

Lifecycle management

Create yearly/monthly BMSs and query BMS details.

Status management

Change the BMS name, reinstall the BMS OS, start, restart, and stop BMSs.

Flavor management

Query BMS flavor details and extended flavor information, such as the flavor ID, flavor name, number of CPUs, and boot device.

NIC management

Query the BMS NIC information, such as the IP address and MAC address of the NIC.

EVS disk management

Attach EVS disks to or detach EVS disks from a BMS, and query EVS disks attached to a BMS.

Metadata management

The BMS metadata includes BMS basic information on the cloud platform, such as the BMS ID, hostname, and network information. You can update the BMS metadata.

Tenant quota management

Query the quotas of all resources of a specified tenant, including used quotas.

Password management

Query whether one-click password reset is supported. If yes, you can reset the BMS password. Obtain and delete the password of a Windows BMS.

Task status query

After a task, such as creating a BMS or attaching disks, is delivered, job_id is returned, based on which you can query the execution status of the task.

Native OpenStack v2.1 APIs

Lifecycle management

Query BMS details, query BMSs, and query details about BMSs.

Status management

Start, restart, and stop BMSs.

Metadata management

The BMS metadata includes BMS basic information on the cloud platform, such as the BMS ID, hostname, and network information. You can query, update, and delete BMS metadata.

IP address query

Query the private IP address of a BMS, including the IP address version (IPv4 or IPv6) and the specific IP address.

BMS flavor query

BMS NIC query

Query all NICs of a BMS or query details about a NIC based on the NIC ID, such as the IP address and MAC address of the NIC.

EVS disk management

Query all EVS disks attached to a BMS or query details about an EVS disk attached to a BMS based on the disk ID, such as the mount directory.

SSH key management

Query SSH key pairs or details about an SSH key pair, and create and delete SSH key pairs.

1D tag management

Add, delete, modify, and query 1D tags of BMSs.

  • When using BMS APIs, you must use the endpoints of the BMS service.
  • When using native OpenStack APIs, you must use the endpoints registered by the ECS service.
  • In the current version, long HTTP connections cannot be used to call native OpenStack APIs.

BMS API Constraints

Table 2 BMS API constraints

Type

API

URI

Constraint

API version query

Querying API Versions

GET /

2000 times per minute

Querying an API Version

GET /{api_version}

2000 times per minute

Lifecycle management

Creating a BMS

POST /v1/{project_id}/baremetalservers

50 times per minute

Querying Details About a BMS

GET /v1/{project_id}/baremetalservers/detail

500 times per minute

Querying Details About BMSs

GET /v1/{project_id}/baremetalservers/{server_id}

1000 times per minute

Status management

Changing the Name of a BMS

PUT /v1/{project_id}/baremetalservers/{server_id}

100 times per minute

Reinstalling the BMS OS

POST /v1/{project_id}/baremetalservers/{server_id}/reinstallos

50 times per minute

Starting a BMS

POST /v1/{project_id}/baremetalservers/action

50 times per minute

Restarting a BMS

POST /v1/{project_id}/baremetalservers/action

50 times per minute

Stopping a BMS

POST /v1/{project_id}/baremetalservers/action

50 times per minute

Flavor management

Querying Flavor Details and Extended Flavor Information

GET /v1/{project_id}/baremetalservers/flavors

500 times per minute

NIC management

Querying BMS NICs

GET /v1/{project_id}/baremetalservers/{server_id}/os-interface

500 times per minute

EVS disk management

Attaching an EVS Disk to a BMS

POST /v1/{project_id}/baremetalservers/{server_id}/attachvolume

100 times per minute

Detaching an EVS Disk from a BMS

DELETE /v1/{project_id}/baremetalservers/{server_id}/detachvolume/{attachment_id}

100 times per minute

Querying Disks Attached to a BMS

GET /v1/{project_id}/baremetalservers/{server_id}/os-volume_attachments

500 times per minute

Metadata management

Updating the Metadata of a BMS

POST /v1/{project_id}/baremetalservers/{server_id}/metadata

100 times per minute

Tenant quota management

Querying Tenant Quotas

GET /v1/{project_id}/baremetalservers/limits

500 times per minute

Password management

Querying Whether One-Click Password Reset Is Supported

GET /v1/{project_id}/baremetalservers/{server_id}/os-resetpwd-flag

500 times per minute

Resetting the BMS Password with a Few Clicks

PUT /v1/{project_id}/baremetalservers/{server_id}/os-reset-password

50 times per minute

Obtaining the Password of a Windows BMS

GET /v1/{project_id}/baremetalservers/{server_id}/os-server-password

50 times per minute

Deleting the Password of a Windows BMS

DELETE /v1/{project_id}/baremetalservers/{server_id}/os-server-password

50 times per minute

Task management

Querying the Task Status

GET /v1/{project_id}/jobs/{jobId}

2000 times per minute