NavigationContentFooter

Elastic Metal API

Introduction

Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources.

Tip

Check out our dedicated APIs to manage Private Networks and Flexible IPs for Elastic Metal servers.

Concepts

Refer to our dedicated concepts page to find definitions of the different terms referring to Elastic Metal servers.

Quickstart

  1. Configure your environment variables.

    export PROJECT_ID="<project-id>"
    export ACCESS_KEY="<access-key>"
    export SECRET_KEY="<secret-key>"
    export ZONE="<availability-zone>"
    Note

    This is an optional step that seeks to simplify your usage of the Bare Metal API.

  2. Edit the POST request payload that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help.

    {
    "offer_id": "string",
    "project_id": "string",
    "name": "string",
    "description": "string",
    "tags": [
    "tag1", "tag2"
    ],
    "install": {
    "os_id": "string",
    "hostname": "string",
    "ssh_key_ids": [
    "string"
    ],
    "user": "string",
    "password": "string",
    "service_user": "string",
    "service_password": "string"
    },
    "option_ids": [
    "string"
    ]
    }
    ParameterDescription
    offer_idREQUIRED UUID of the Elastic Metal offer
    project_idREQUIRED UUID of the project you want to create your Elastic Metal in.
    nameREQUIRED Name of the Elastic Metal server (≠hostname)
    descriptionREQUIRED A description of your server (max 255 characters)
    tagsOPTIONAL An array of tags associated with your server
    os_idThe ID of the operating system image to install on the server
    hostnameHostname of the server
    ssh_key_idsSSH key IDs authorized on the server
    userNULLABLE A regular user to be configured on the server
    passwordNULLABLE The password for the user account
    service_userNULLABLE A service user for third party services (user to login in services such as BigBlueButton)
    service passwordNULLABLE Password for the service user
    option_idsIDs of options to enable on server
    Tip

    To find your Project ID you can either use the IAM API or the Scaleway console:

  3. Run the following command to create an Elastic Metal server. Make sure you include the payload you edited in the previous step.

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "X-Auth-Token: $SECRET_KEY" https://api.scaleway.com//baremetal/v1/zones/$ZONE/servers \
    -d '{
    "offer_id": "bd757ca3-a71b-4158-9ef5-39436b6db2a4",
    "project_id": "cc6d123a-bc09-4e24-b5d9-3310f2104e13",
    "name": "MyElasticMetal",
    "description": "My_Elastic_Metal_Server",
    "tags": [
    "Ubuntu22", "Dedicated"
    ],
    "install": {
    "os_id": "96e5f0f2-d216-4de2-8a15-68730d877885",
    "hostname": "elasticmetal.exaple.com",
    "ssh_key_ids": [
    "fa05e77f-66b7-43b9-bc21-4dfe3c5bb624"
    ],
    "user": "ubuntu",
    "password": "mySecretPa$$word"
    "option_ids": [
    "string"
    ]
    }"
  4. List your Elastic Metal servers.

    curl -X GET \
    -H "Content-Type: application/json" \
    -H "X-Auth-Token: $SECRET_KEY" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers
  5. Retrieve your Elastic Metal server IP from the response.

  6. Connect to your Elastic Metal server using SSH

    ssh root@my-elastic-metal-server-ip
Requirements

To perform the following steps, you must first ensure that:

  • you have an account and are logged into the Scaleway console
  • you have created an API key and that the API key has sufficient IAM permissions to perform the actions described on this page.
  • you have installed curl

Technical information

Features

  • Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server)
  • Start/Stop/Reboot
  • Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image.
  • Billed by the minute (billing starts when the server is delivered and stops when the server is deleted)
  • IPv6, all servers are available with a /128 IPv6 subnet
  • ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint
  • Basic monitoring with ping status
  • Flexible IP is available (documentation)

Availability Zones

Scaleway's infrastructure is spread across different regions and Availability Zones.

Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs:

NameAPI ID
Parisfr-par-1 fr-par-2
Amsterdamnl-ams-1 nl-ams-2
Warsawpl-waw-2 pl-waw-3

Technical limitations

  • Failover IPs are not available in API v1, use the API v1alpha1

Going further

For more help using Scaleway Elastic Metal servers, check out the following resources:

  • Our main documentation
  • The #elastic-metal channel on our Slack Community
  • Our support ticketing system

Troubleshooting

How is the installation of Elastic Metal servers done?

  • The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media)

How can I retrieve my secret key and Project ID?

You can find your secret key and your Project ID in the Scaleway console.

How can I add my server to a Private Network?

See our dedicated documentation.

Servers

Elastic Metal allow you to order dedicated servers on-demand, like cloud Instances. A server refers to physical server used to provide the service.

GET
/baremetal/v1/zones/{zone}/servers
POST
/baremetal/v1/zones/{zone}/servers
GET
/baremetal/v1/zones/{zone}/servers/{server_id}
PATCH
/baremetal/v1/zones/{zone}/servers/{server_id}
DELETE
/baremetal/v1/zones/{zone}/servers/{server_id}
GET
/baremetal/v1/zones/{zone}/servers/{server_id}/events
POST
/baremetal/v1/zones/{zone}/servers/{server_id}/install
PATCH
/baremetal/v1/zones/{zone}/servers/{server_id}/ips/{ip_id}
GET
/baremetal/v1/zones/{zone}/servers/{server_id}/metrics
POST
/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}
DELETE
/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}

Server Actions

Server actions allows you to start, stop or reboot your servers.

POST
/baremetal/v1/zones/{zone}/servers/{server_id}/reboot
POST
/baremetal/v1/zones/{zone}/servers/{server_id}/start
POST
/baremetal/v1/zones/{zone}/servers/{server_id}/stop

BMC Access

The BMC (Baseboard Management Controller) access allow you to access the series console of your Elastic Metal server. Access to this feature is available one hour after the installation of the server. You need first to create an Remote Access option. Find the ID and the price with a call to listOffers. Then you can add the option. Once added, create remote access. Use Get Remote Access to retrieve the login/password. Do not forget to disable the option after use.

GET
/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access
POST
/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access
DELETE
/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access

Offers

Lists the IDs of the commercial offers available to deploy.

GET
/baremetal/v1/zones/{zone}/offers
GET
/baremetal/v1/zones/{zone}/offers/{offer_id}

Options

Lists the optional features available for this Elastic Metal server.

GET
/baremetal/v1/zones/{zone}/options
GET
/baremetal/v1/zones/{zone}/options/{option_id}
GET
/baremetal/v1/zones/{zone}/settings
PATCH
/baremetal/v1/zones/{zone}/settings/{setting_id}

OS

An Operating System (OS) is the underlying software installed on your server. This command lists the IDs of the OS available for this server.

GET
/baremetal/v1/zones/{zone}/os
GET
/baremetal/v1/zones/{zone}/os/{os_id}

Partitioning-schemas

You have the possibility to customize server partitioning schema on some offers/os.

GET
/baremetal/v1/zones/{zone}/partitioning-schemas/default
POST
/baremetal/v1/zones/{zone}/partitioning-schemas/validate
API DocsScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCareers
© 2023-2024 – Scaleway