# Documentation for `scw baremetal`


:::note{title="The CLI documentation pages are currently under construction"}
The content is up to date. We're making improvements to the site over the next few weeks for a better experience.
:::

<!-- DO NOT EDIT: this file is automatically generated using scw-doc-gen -->
Elastic Metal - Private Networks API.

- [Baseboard Management Controller (BMC) management commands](#baseboard-management-controller-(bmc)-management-commands)
  - [Get BMC access](#get-bmc-access)
  - [Start BMC access](#start-bmc-access)
  - [Stop BMC access](#stop-bmc-access)
- [Server offer management commands](#server-offer-management-commands)
  - [Get offer](#get-offer)
  - [List offers](#list-offers)
- [Server options management commands](#server-options-management-commands)
  - [Add server option](#add-server-option)
  - [Delete server option](#delete-server-option)
  - [Get option](#get-option)
  - [List options](#list-options)
- [Operating System (OS) management commands](#operating-system-(os)-management-commands)
  - [Get OS with an ID](#get-os-with-an-id)
  - [List available OSes](#list-available-oses)
- [Partitioning-schemas management commands](#partitioning-schemas-management-commands)
- [Private network management command](#private-network-management-command)
  - [Add a server to a Private Network](#add-a-server-to-a-private-network)
  - [Delete a Private Network](#delete-a-private-network)
  - [List the Private Networks of a server](#list-the-private-networks-of-a-server)
  - [Set multiple Private Networks on a server](#set-multiple-private-networks-on-a-server)
- [Server management commands](#server-management-commands)
  - [Attach a new flexible IP to a server](#attach-a-new-flexible-ip-to-a-server)
  - [Create multiple Elastic Metal servers](#create-multiple-elastic-metal-servers)
  - [Create an Elastic Metal server](#create-an-elastic-metal-server)
  - [Delete an Elastic Metal server](#delete-an-elastic-metal-server)
  - [Get a specific Elastic Metal server](#get-a-specific-elastic-metal-server)
  - [Return server metrics](#return-server-metrics)
  - [Install an Elastic Metal server](#install-an-elastic-metal-server)
  - [List Elastic Metal servers for an Organization](#list-elastic-metal-servers-for-an-organization)
  - [List server events](#list-server-events)
  - [Reboot an Elastic Metal server](#reboot-an-elastic-metal-server)
  - [Start an Elastic Metal server](#start-an-elastic-metal-server)
  - [Stop an Elastic Metal server](#stop-an-elastic-metal-server)
  - [Update an Elastic Metal server](#update-an-elastic-metal-server)
  - [Update IP](#update-ip)
  - [Wait for a server to reach a stable state (delivery and installation)](#wait-for-a-server-to-reach-a-stable-state-(delivery-and-installation))
- [Settings management commands](#settings-management-commands)
  - [List all settings](#list-all-settings)
  - [Update setting](#update-setting)


## Baseboard Management Controller (BMC) management commands

A Baseboard Management Controller (BMC) allows you to remotely access the low-level parameters of your dedicated server.
For instance, your KVM-IP management console could be accessed with it.
You need first to create an Remote Access option. You will find the ID and the price with a call to listOffers (https://developers.scaleway.com/en/products/baremetal/api/#get-78db92). Then you can add the option https://developers.scaleway.com/en/products/baremetal/api/#post-b14abd. Do not forget to delete the Option.
Then you need to create Remote Access https://developers.scaleway.com/en/products/baremetal/api/#post-1af723.
And finally Get Remote Access to get the login/password https://developers.scaleway.com/en/products/baremetal/api/#get-cefc0f.


### Get BMC access

Get the BMC (Baseboard Management Controller) access associated with the ID, including the URL and login information needed to connect.

**Usage:**

```shell
scw baremetal bmc get [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Start BMC access

Start BMC (Baseboard Management Controller) access associated with the ID.
The BMC (Baseboard Management Controller) access is available one hour after the installation of the server.
You need first to create an option Remote Access. You will find the ID and the price with a call to listOffers (https://developers.scaleway.com/en/products/baremetal/api/#get-78db92). Then add the option https://developers.scaleway.com/en/products/baremetal/api/#post-b14abd.
After adding the BMC option, you need to Get Remote Access to get the login/password https://developers.scaleway.com/en/products/baremetal/api/#get-cefc0f. Do not forget to delete the Option after use.

**Usage:**

```shell
scw baremetal bmc start [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| ip | Required | The IP authorized to connect to the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Stop BMC access

Stop BMC (Baseboard Management Controller) access associated with the ID.

**Usage:**

```shell
scw baremetal bmc stop [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



## Server offer management commands

Server offers will answer with all different Elastic Metal server ranges available in a zone.
Each of them will contain all the features of the server (CPUs, memory, disks) with their associated pricing.


### Get offer

Get details of an offer identified by its offer ID.

**Usage:**

```shell
scw baremetal offer get <offer-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| offer-id | Required | ID of the researched Offer |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Get a server offer with the ID
```shell
scw baremetal offer get 11111111-1111-1111-1111-111111111111 zone=fr-par-1
```




### List offers

List all available Elastic Metal server configurations.

**Usage:**

```shell
scw baremetal offer list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| subscription-period | One of: `unknown_subscription_period`, `hourly`, `monthly` | Subscription period type to filter offers by |
| name |  | Offer name to filter offers by |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


List all server offers in the default zone
```shell
scw baremetal offer list
```

List all server offers in fr-par-1 zone
```shell
scw baremetal offer list zone=fr-par-1
```




## Server options management commands

A Server has additional options that let you personalize it to better fit your needs.


### Add server option

Add an option, such as Private Networks, to a specific server.

**Usage:**

```shell
scw baremetal options add [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| option-id | Required | ID of the option to add |
| expires-at |  | Auto expire the option after this date |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Add an option, such as Private Networks, to a server
```shell
scw baremetal options add server-id=11111111-1111-1111-1111-111111111111 option-id=11111111-1111-1111-1111-111111111111
```




### Delete server option

Delete an option from a specific server.

**Usage:**

```shell
scw baremetal options delete [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| option-id | Required | ID of the option to delete |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Delete an option from a server
```shell
scw baremetal options delete server-id=11111111-1111-1111-1111-111111111111 option-id=11111111-1111-1111-1111-111111111111
```




### Get option

Return specific option for the ID.

**Usage:**

```shell
scw baremetal options get [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| option-id | Required | ID of the option |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Get a server option with the ID
```shell
scw baremetal options get zone=fr-par-1 option-id=11111111-1111-1111-1111-111111111111
```




### List options

List all options matching with filters.

**Usage:**

```shell
scw baremetal options list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| offer-id |  | Offer ID to filter options for |
| name |  | Name to filter options for |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


List all server options in the default zone
```shell
scw baremetal options list
```

List all server options in fr-par-1 zone
```shell
scw baremetal options list zone=fr-par-1
```




## Operating System (OS) management commands

An Operating System (OS) is the underlying software installed on your server.


### Get OS with an ID

Return the specific OS for the ID.

**Usage:**

```shell
scw baremetal os get <os-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| os-id | Required | ID of the OS |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Get a specific OS ID
```shell
scw baremetal os get
```




### List available OSes

List all OSes that are available for installation on Elastic Metal servers.

**Usage:**

```shell
scw baremetal os list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| offer-id |  | Offer IDs to filter OSes for |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |



## Partitioning-schemas management commands

Allows to customize the partitioning schemas of your servers (available on some offers and OSs).

Allows to customize the partitioning schemas of your servers (available on some offers and OSs).

**Usage:**

```shell
scw baremetal partitioning-schemas
```



## Private network management command

A Private Network allows you to interconnect your resources
in an isolated and private
network. Network reachability is limited to the
resources that are on the same Private Network. A VLAN
interface is available on the server and can be freely
managed (adding IP addresses, shutdown interface etc.).

Note that a resource can be a part of multiple Private Networks.


### Add a server to a Private Network

Add an Elastic Metal server to a Private Network.

**Usage:**

```shell
scw baremetal private-network add [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server |
| private-network-id | Required | UUID of the Private Network |
| ipam-ip-ids.{index} |  | IPAM IDs of an IPs to attach to the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Delete a Private Network

Delete a Private Network.

**Usage:**

```shell
scw baremetal private-network delete [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server |
| private-network-id | Required | UUID of the Private Network |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### List the Private Networks of a server

List the Private Networks of an Elastic Metal server.

**Usage:**

```shell
scw baremetal private-network list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| order-by | One of: `created_at_asc`, `created_at_desc`, `updated_at_asc`, `updated_at_desc` | Sort order for the returned Private Networks |
| server-id |  | Filter Private Networks by server UUID |
| private-network-id |  | Filter Private Networks by Private Network UUID |
| project-id |  | Filter Private Networks by project UUID |
| ipam-ip-ids.{index} |  | Filter Private Networks by IPAM IP UUIDs |
| organization-id |  | Filter Private Networks by organization UUID |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Set multiple Private Networks on a server

Configure multiple Private Networks on an Elastic Metal server.

**Usage:**

```shell
scw baremetal private-network set [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server |
| per-private-network-ipam-ip-ids.{key} | Required | Object where the keys are the UUIDs of Private Networks and the values are arrays of IPAM IDs representing the IPs to assign to this Elastic Metal server on the Private Network. If the array supplied for a Private Network is empty, the next available IP from the Private Network's CIDR block will automatically be used for attachment. |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



## Server management commands

A server is a denomination of a type of instances provided by Scaleway.


### Attach a new flexible IP to a server

Create and attach a new flexible IP to a server

**Usage:**

```shell
scw baremetal server add-flexible-ip <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to which the newly created flexible IP will be attached. |
| description |  | Flexible IP description (max. of 255 characters) |
| ip-type | One of: `IPv4`, `IPv6` | Define whether the flexible IP is an IPv4 or IPv6 |
| tags.{index} |  | Tags to associate to the flexible IP |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1` | Zone to target. If none is passed will use default zone from the config |



### Create multiple Elastic Metal servers

Create multiple new Elastic Metal servers. Once the servers are created, proceed with the [installation of an OS](#post-3e949e).

**Usage:**

```shell
scw baremetal server batch-create [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| common-configuration.offer-id |  | Offer ID of the new server |
| common-configuration.project-id |  | Project ID with which the server will be created |
| common-configuration.name |  | Name of the server (≠hostname) |
| common-configuration.description |  | Description associated with the server, max 255 characters |
| common-configuration.tags.{index} |  | Tags to associate to the server |
| common-configuration.install.os-id |  | ID of the OS to installation on the server |
| common-configuration.install.hostname |  | Hostname of the server |
| common-configuration.install.ssh-key-ids.{index} |  | SSH key IDs authorized on the server |
| common-configuration.install.user |  | User for the installation |
| common-configuration.install.password |  | Password for the installation |
| common-configuration.install.service-user |  | Regular user that runs the service to be installed on the server |
| common-configuration.install.service-password |  | Password used for the service to install |
| common-configuration.install.partitioning-schema.disks.{index}.device |  |  |
| common-configuration.install.partitioning-schema.disks.{index}.partitions.{index}.label | One of: `unknown_partition_label`, `uefi`, `legacy`, `root`, `boot`, `swap`, `data`, `home`, `raid`, `zfs` |  |
| common-configuration.install.partitioning-schema.disks.{index}.partitions.{index}.number |  |  |
| common-configuration.install.partitioning-schema.disks.{index}.partitions.{index}.size |  |  |
| common-configuration.install.partitioning-schema.disks.{index}.partitions.{index}.use-all-available-space |  |  |
| common-configuration.install.partitioning-schema.raids.{index}.name |  |  |
| common-configuration.install.partitioning-schema.raids.{index}.level | One of: `unknown_raid_level`, `raid_level_0`, `raid_level_1`, `raid_level_5`, `raid_level_6`, `raid_level_10` |  |
| common-configuration.install.partitioning-schema.raids.{index}.devices.{index} |  |  |
| common-configuration.install.partitioning-schema.filesystems.{index}.device |  |  |
| common-configuration.install.partitioning-schema.filesystems.{index}.format | One of: `unknown_format`, `fat32`, `ext4`, `swap`, `zfs`, `xfs` |  |
| common-configuration.install.partitioning-schema.filesystems.{index}.mountpoint |  |  |
| common-configuration.install.partitioning-schema.zfs.pools.{index}.name |  |  |
| common-configuration.install.partitioning-schema.zfs.pools.{index}.type | One of: `unknown_type`, `no_raid`, `mirror`, `raidz1`, `raidz2` |  |
| common-configuration.install.partitioning-schema.zfs.pools.{index}.devices.{index} |  |  |
| common-configuration.install.partitioning-schema.zfs.pools.{index}.options.{index} |  |  |
| common-configuration.install.partitioning-schema.zfs.pools.{index}.filesystem-options.{index} |  |  |
| common-configuration.option-ids.{index} |  | IDs of options to enable on server |
| common-configuration.protected |  | If enabled, the server can not be deleted |
| common-configuration.user-data |  | Configuration data to pass to cloud-init such as a YAML cloud config data or a user-data script |
| ~~common-configuration.organization-id~~ | Deprecated | Organization ID with which the server will be created |
| common-configuration.zone |  |  |
| servers.{index}.hostname |  |  |
| servers.{index}.description |  |  |
| servers.{index}.tags.{index} |  |  |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Create an Elastic Metal server

Create a new Elastic Metal server. Once the server is created, proceed with the [installation of an OS](#post-3e949e).

**Usage:**

```shell
scw baremetal server create [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| project-id |  | Project ID to use. If none is passed the default project ID will be used |
| name | Required<br />Default: `<generated>` | Name of the server (≠hostname) |
| description |  | Description associated with the server, max 255 characters |
| type |  | Server commercial type |
| tags.{index} |  | Tags to associate to the server |
| install.os-id |  | ID of the OS to installation on the server |
| install.hostname |  | Hostname of the server |
| install.ssh-key-ids.{index} |  | SSH key IDs authorized on the server |
| install.user |  | User for the installation |
| install.password |  | Password for the installation |
| install.service-user |  | Regular user that runs the service to be installed on the server |
| install.service-password |  | Password used for the service to install |
| install.partitioning-schema.disks.{index}.device |  |  |
| install.partitioning-schema.disks.{index}.partitions.{index}.label | One of: `unknown_partition_label`, `uefi`, `legacy`, `root`, `boot`, `swap`, `data`, `home`, `raid`, `zfs` |  |
| install.partitioning-schema.disks.{index}.partitions.{index}.number |  |  |
| install.partitioning-schema.disks.{index}.partitions.{index}.size |  |  |
| install.partitioning-schema.disks.{index}.partitions.{index}.use-all-available-space |  |  |
| install.partitioning-schema.raids.{index}.name |  |  |
| install.partitioning-schema.raids.{index}.level | One of: `unknown_raid_level`, `raid_level_0`, `raid_level_1`, `raid_level_5`, `raid_level_6`, `raid_level_10` |  |
| install.partitioning-schema.raids.{index}.devices.{index} |  |  |
| install.partitioning-schema.filesystems.{index}.device |  |  |
| install.partitioning-schema.filesystems.{index}.format | One of: `unknown_format`, `fat32`, `ext4`, `swap`, `zfs`, `xfs` |  |
| install.partitioning-schema.filesystems.{index}.mountpoint |  |  |
| install.partitioning-schema.zfs.pools.{index}.name |  |  |
| install.partitioning-schema.zfs.pools.{index}.type | One of: `unknown_type`, `no_raid`, `mirror`, `raidz1`, `raidz2` |  |
| install.partitioning-schema.zfs.pools.{index}.devices.{index} |  |  |
| install.partitioning-schema.zfs.pools.{index}.options.{index} |  |  |
| install.partitioning-schema.zfs.pools.{index}.filesystem-options.{index} |  |  |
| option-ids.{index} |  | IDs of options to enable on server |
| protected |  | If enabled, the server can not be deleted |
| user-data |  | Configuration data to pass to cloud-init such as a YAML cloud config data or a user-data script |
| organization-id |  | Organization ID to use. If none is passed the default organization ID will be used |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Create instance
```shell
scw baremetal server create
```




### Delete an Elastic Metal server

Delete the server associated with the ID.

**Usage:**

```shell
scw baremetal server delete <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to delete |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Delete an Elastic Metal server
```shell
scw baremetal server delete 11111111-1111-1111-1111-111111111111
```




### Get a specific Elastic Metal server

Get full details of an existing Elastic Metal server associated with the ID.

**Usage:**

```shell
scw baremetal server get <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Get a specific server
```shell
scw baremetal server get 11111111-1111-1111-1111-111111111111
```




### Return server metrics

Get the ping status of the server associated with the ID.

**Usage:**

```shell
scw baremetal server get-metrics [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | Server ID to get the metrics |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Install an Elastic Metal server

Install an Operating System (OS) on the Elastic Metal server with a specific ID.

**Usage:**

```shell
scw baremetal server install <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | Server ID to install |
| os-id | Required | ID of the OS to installation on the server |
| hostname | Required | Hostname of the server |
| all-ssh-keys |  | Add all SSH keys on your baremetal instance (cannot be used with ssh-key-ids) |
| ssh-key-ids.{index} | Required | SSH key IDs authorized on the server (cannot be used with all-ssh-keys) |
| user |  | User used for the installation |
| password |  | Password used for the installation |
| service-user |  | User used for the service to install |
| service-password |  | Password used for the service to install |
| partitioning-schema.disks.{index}.device |  |  |
| partitioning-schema.disks.{index}.partitions.{index}.label | One of: `unknown_partition_label`, `uefi`, `legacy`, `root`, `boot`, `swap`, `data`, `home`, `raid`, `zfs` |  |
| partitioning-schema.disks.{index}.partitions.{index}.number |  |  |
| partitioning-schema.disks.{index}.partitions.{index}.size |  |  |
| partitioning-schema.disks.{index}.partitions.{index}.use-all-available-space |  |  |
| partitioning-schema.raids.{index}.name |  |  |
| partitioning-schema.raids.{index}.level | One of: `unknown_raid_level`, `raid_level_0`, `raid_level_1`, `raid_level_5`, `raid_level_6`, `raid_level_10` |  |
| partitioning-schema.raids.{index}.devices.{index} |  |  |
| partitioning-schema.filesystems.{index}.device |  |  |
| partitioning-schema.filesystems.{index}.format | One of: `unknown_format`, `fat32`, `ext4`, `swap`, `zfs`, `xfs` |  |
| partitioning-schema.filesystems.{index}.mountpoint |  |  |
| partitioning-schema.zfs.pools.{index}.name |  |  |
| partitioning-schema.zfs.pools.{index}.type | One of: `unknown_type`, `no_raid`, `mirror`, `raidz1`, `raidz2` |  |
| partitioning-schema.zfs.pools.{index}.devices.{index} |  |  |
| partitioning-schema.zfs.pools.{index}.options.{index} |  |  |
| partitioning-schema.zfs.pools.{index}.filesystem-options.{index} |  |  |
| ~~user-data.name~~ | Deprecated |  |
| ~~user-data.content-type~~ | Deprecated |  |
| ~~user-data.content~~ | Deprecated |  |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Install an OS on a server with a particular SSH key ID
```shell
scw baremetal server install 11111111-1111-1111-1111-111111111111 os-id=11111111-1111-1111-1111-111111111111 ssh-key-ids.0=11111111-1111-1111-1111-111111111111
```




### List Elastic Metal servers for an Organization

List Elastic Metal servers for a specific Organization.

**Usage:**

```shell
scw baremetal server list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| order-by | One of: `created_at_asc`, `created_at_desc` | Order of the servers |
| tags.{index} |  | Tags to filter for |
| status.{index} |  | Status to filter for |
| name |  | Names to filter for |
| project-id |  | Project ID to filter for |
| option-id |  | Option ID to filter for |
| organization-id |  | Organization ID to filter for |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


List all servers in your default zone
```shell
scw baremetal server list
```




### List server events

List event (i.e. start/stop/reboot) associated to the server ID.

**Usage:**

```shell
scw baremetal server list-events [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server events searched |
| order-by | One of: `created_at_asc`, `created_at_desc` | Order of the server events |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Reboot an Elastic Metal server

Reboot the Elastic Metal server associated with the ID, use the `boot_type` `rescue` to reboot the server in rescue mode.

**Usage:**

```shell
scw baremetal server reboot <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to reboot |
| boot-type | Default: `normal`<br />One of: `unknown_boot_type`, `normal`, `rescue` | The type of boot |
| ssh-key-ids.{index} |  | Additional SSH public key IDs to configure on rescue image |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Reboot a server using the same os
```shell
scw baremetal server reboot 11111111-1111-1111-1111-111111111111
```

Reboot a server in rescue mode
```shell
scw baremetal server reboot 11111111-1111-1111-1111-111111111111 boot-type=rescue
```




### Start an Elastic Metal server

Start the server associated with the ID.

**Usage:**

```shell
scw baremetal server start <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to start |
| boot-type | One of: `unknown_boot_type`, `normal`, `rescue` | The type of boot |
| ssh-key-ids.{index} |  | Additional SSH public key IDs to configure on rescue image |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Start an Elastic Metalx server
```shell
scw baremetal server start 11111111-1111-1111-1111-111111111111
```

Start a server in rescue mode
```shell
scw baremetal server start 11111111-1111-1111-1111-111111111111 boot-type=rescue
```




### Stop an Elastic Metal server

Stop the server associated with the ID. The server remains allocated to your account and all data remains on the local storage of the server.

**Usage:**

```shell
scw baremetal server stop <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to stop |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |


**Examples:**


Stop an Elastic Metal server
```shell
scw baremetal server stop 11111111-1111-1111-1111-111111111111
```




### Update an Elastic Metal server

Update the server associated with the ID. You can update parameters such as the server's name, tags, description and protection flag. Any parameters left null in the request body are not updated.

**Usage:**

```shell
scw baremetal server update <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server to update |
| name |  | Name of the server (≠hostname), not updated if null |
| description |  | Description associated with the server, max 255 characters, not updated if null |
| tags.{index} |  | Tags associated with the server, not updated if null |
| protected |  | If enabled, the server can not be deleted |
| user-data |  | Configuration data to pass to cloud-init such as a YAML cloud config data or a user-data script |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Update IP

Configure the IP address associated with the server ID and IP ID. You can use this method to set a reverse DNS for an IP address.

**Usage:**

```shell
scw baremetal server update-ip [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| ip-id | Required | ID of the IP to update |
| reverse |  | New reverse IP to update, not updated if null |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



### Wait for a server to reach a stable state (delivery and installation)

Wait for a server to reach a stable state. This is similar to using --wait flag on other action commands, but without requiring a new action on the server.

**Usage:**

```shell
scw baremetal server wait <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server affected by the action. |
| zone | Default: `fr-par-1` | Zone to target. If none is passed will use default zone from the config |
| timeout | Default: `20m0s` | Timeout of the wait |


**Examples:**


Wait for a server to reach a stable state
```shell
scw baremetal server wait 11111111-1111-1111-1111-111111111111
```




## Settings management commands

Allows to configure the general settings for your Elastic Metal server.


### List all settings

Return all settings for a Project ID.

**Usage:**

```shell
scw baremetal settings list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| order-by | One of: `created_at_asc`, `created_at_desc` | Sort order for items in the response |
| project-id | Required | ID of the Project |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Update setting

Update a setting for a Project ID (enable or disable).

**Usage:**

```shell
scw baremetal settings update [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| setting-id | Required | ID of the setting |
| enabled |  | Defines whether the setting is enabled |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-2`, `pl-waw-3` | Zone to target. If none is passed will use default zone from the config |



