openapi: 3.0.0 info: title: Elastic Metal API description: |- 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. (switchcolumn) Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip) for Elastic Metal servers. (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/compute/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID="" export ACCESS_KEY="" export SECRET_KEY="" export ZONE="" ``` 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. ```json { "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" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | To find your Project ID you can either use the [IAM API](https://www.scaleway.com/en/developers/api/account#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash 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.** ```bash 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 ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) (switchcolumn) ## 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](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip)) ### Availability Zones Scaleway's infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/console/my-account/reference-content/products-availability/). Elastic Metal servers are available in the Paris and Amsterdam regions, with product availability in the following AZs: - `fr-par-1` - `fr-par-2` - `nl-ams-1` - `nl-ams-2` ## 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](https://www.scaleway.com/en/docs/compute/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/console/my-account/how-to/open-a-support-ticket) ### 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](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip). version: v1 servers: - url: https://api.scaleway.com tags: - name: Servers description: | Elastic Metal allow you to order dedicated servers on-demand, like cloud Instances. A server refers to physical server used to provide the service. - name: Server Actions description: | Server actions allows you to start, stop or reboot your servers. - name: BMC Access description: | 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`](#path-offers-list-offers). Then you can [add the option](#path-servers-add-server-option). Once added, [create remote access](#path-bmc-access-start-bmc-access). Use [Get Remote Access](#path-bmc-access-get-bmc-access) to retrieve the login/password. Do not forget to disable the option after use. - name: Offers description: Lists the IDs of the commercial offers available to deploy. - name: Options description: Lists the optional features available for this Elastic Metal server. - name: OS description: An Operating System (OS) is the underlying software installed on your server. This command lists the IDs of the OS available for this server. components: schemas: google.protobuf.StringValue: type: string nullable: true scaleway.baremetal.v1.BMCAccess: type: object properties: url: type: string description: URL to access to the server console. login: type: string description: The login to use for the BMC (Baseboard Management Controller) access authentification. password: type: string description: The password to use for the BMC (Baseboard Management Controller) access authentification. expires_at: type: string description: The date after which the BMC (Baseboard Management Controller) access will be closed. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - url - login - password - expires_at scaleway.baremetal.v1.CPU: type: object properties: name: type: string description: Name of the CPU. core_count: type: integer description: Number of CPU cores. format: uint32 thread_count: type: integer description: Number CPU threads. format: uint32 frequency: type: integer description: Frequency of the CPU in MHz. format: uint32 benchmark: type: string description: Benchmark of the CPU. x-properties-order: - name - core_count - thread_count - frequency - benchmark scaleway.baremetal.v1.Disk: type: object properties: capacity: type: integer description: Capacity of the disk in bytes. (in bytes) format: uint64 type: type: string description: Type of the disk. x-properties-order: - capacity - type scaleway.baremetal.v1.GetServerMetricsResponse: type: object properties: pings: type: object description: Timeseries object representing pings on the server. properties: name: type: string points: type: array items: $ref: '#/components/schemas/scaleway.std.TimeSeries.Point' metadata: type: object properties: : type: string additionalProperties: true x-properties-order: - name - points - metadata x-properties-order: - pings scaleway.baremetal.v1.IP: type: object properties: id: type: string description: ID of the IP. address: type: string description: Address of the IP. (IP address) example: 1.2.3.4 reverse: type: string description: Reverse IP value. version: type: string description: Version of IP (v4 or v6). enum: - IPv4 - IPv6 default: IPv4 reverse_status: type: string description: Status of the reverse. enum: - unknown - pending - active - error default: unknown reverse_status_message: type: string description: A message related to the reverse status, e.g. in case of an error. x-properties-order: - id - address - reverse - version - reverse_status - reverse_status_message scaleway.baremetal.v1.ListOSResponse: type: object properties: total_count: type: integer description: Total count of matching OS. format: uint32 os: type: array description: OS that match filters. items: $ref: '#/components/schemas/scaleway.baremetal.v1.OS' x-properties-order: - total_count - os scaleway.baremetal.v1.ListOffersResponse: type: object properties: total_count: type: integer description: Total count of matching offers. format: uint32 offers: type: array description: Offers that match filters. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Offer' x-properties-order: - total_count - offers scaleway.baremetal.v1.ListOptionsResponse: type: object properties: total_count: type: integer description: Total count of matching options. format: uint32 options: type: array description: Options that match filters. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Option' x-properties-order: - total_count - options scaleway.baremetal.v1.ListServerEventsResponse: type: object properties: total_count: type: integer description: Total count of matching events. format: uint32 events: type: array description: Server events that match filters. items: $ref: '#/components/schemas/scaleway.baremetal.v1.ServerEvent' x-properties-order: - total_count - events scaleway.baremetal.v1.ListServersResponse: type: object properties: total_count: type: integer description: Total count of matching servers. format: uint32 servers: type: array description: Array of Elastic Metal server objects matching the filters in the request. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' x-properties-order: - total_count - servers scaleway.baremetal.v1.ListSettingsResponse: type: object properties: total_count: type: integer description: Total count of matching settings. format: uint32 settings: type: array description: Settings that match filters. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Setting' x-properties-order: - total_count - settings scaleway.baremetal.v1.Memory: type: object properties: capacity: type: integer description: Capacity of the memory in bytes. (in bytes) format: uint64 type: type: string description: Type of the memory. frequency: type: integer description: Frequency of the memory in MHz. format: uint32 is_ecc: type: boolean description: True if the memory is an error-correcting code memory. x-properties-order: - capacity - type - frequency - is_ecc scaleway.baremetal.v1.OS: type: object properties: id: type: string description: ID of the OS. name: type: string description: Name of the OS. version: type: string description: Version of the OS. logo_url: type: string description: URL of this OS's logo. ssh: type: object description: Object defining the SSH requirements to install the OS. properties: editable: type: boolean required: type: boolean default_value: $ref: '#/components/schemas/google.protobuf.StringValue' x-properties-order: - editable - required - default_value user: type: object description: Object defining the username requirements to install the OS. properties: editable: type: boolean required: type: boolean default_value: $ref: '#/components/schemas/google.protobuf.StringValue' x-properties-order: - editable - required - default_value password: type: object description: Object defining the password requirements to install the OS. properties: editable: type: boolean required: type: boolean default_value: $ref: '#/components/schemas/google.protobuf.StringValue' x-properties-order: - editable - required - default_value service_user: type: object description: Object defining the username requirements to install the service. properties: editable: type: boolean required: type: boolean default_value: $ref: '#/components/schemas/google.protobuf.StringValue' x-properties-order: - editable - required - default_value service_password: type: object description: Object defining the password requirements to install the service. properties: editable: type: boolean required: type: boolean default_value: $ref: '#/components/schemas/google.protobuf.StringValue' x-properties-order: - editable - required - default_value enabled: type: boolean description: Defines if the operating system is enabled or not. license_required: type: boolean description: License required (check server options for pricing details). allowed: type: boolean description: Defines if a specific Organization is allowed to install this OS type. x-properties-order: - id - name - version - logo_url - ssh - user - password - service_user - service_password - enabled - license_required - allowed scaleway.baremetal.v1.Offer: type: object properties: id: type: string description: ID of the offer. name: type: string description: Name of the offer. stock: type: string description: Stock level. enum: - empty - low - available default: empty bandwidth: type: integer description: Public bandwidth available (in bits/s) with the offer. format: uint64 commercial_range: type: string description: Commercial range of the offer. price_per_hour: type: object description: Price of the offer for the next 60 minutes (a server order at 11h32 will be payed until 12h32). properties: currency_code: type: string units: type: integer format: int64 nanos: type: integer format: int32 x-properties-order: - currency_code - units - nanos price_per_month: type: object description: Monthly price of the offer, if subscribing on a monthly basis. properties: currency_code: type: string units: type: integer format: int64 nanos: type: integer format: int32 x-properties-order: - currency_code - units - nanos disks: type: array description: Disks specifications of the offer. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Disk' enable: type: boolean description: Defines whether the offer is currently available. cpus: type: array description: CPU specifications of the offer. items: $ref: '#/components/schemas/scaleway.baremetal.v1.CPU' memories: type: array description: Memory specifications of the offer. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Memory' quota_name: type: string description: Name of the quota associated to the offer. persistent_memories: type: array description: Persistent memory specifications of the offer. items: $ref: '#/components/schemas/scaleway.baremetal.v1.PersistentMemory' raid_controllers: type: array description: Raid controller specifications of the offer. items: $ref: '#/components/schemas/scaleway.baremetal.v1.RaidController' incompatible_os_ids: type: array description: Array of OS images IDs incompatible with the server. items: type: string subscription_period: type: string description: Period of subscription for the offer. enum: - unknown_subscription_period - hourly - monthly default: unknown_subscription_period operation_path: type: string description: Operation path of the service. fee: type: object description: One time fee invoiced by Scaleway for the setup and activation of the server. properties: currency_code: type: string units: type: integer format: int64 nanos: type: integer format: int32 x-properties-order: - currency_code - units - nanos options: type: array description: Available options for customization of the server. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Offer.OptionOffer' private_bandwidth: type: integer description: Private bandwidth available in bits/s with the offer. format: uint64 shared_bandwidth: type: boolean description: Defines whether the offer's bandwidth is shared or not. tags: type: array description: Array of tags attached to the offer. items: type: string x-properties-order: - id - name - stock - bandwidth - commercial_range - price_per_hour - price_per_month - disks - enable - cpus - memories - quota_name - persistent_memories - raid_controllers - incompatible_os_ids - subscription_period - operation_path - fee - options - private_bandwidth - shared_bandwidth - tags scaleway.baremetal.v1.Offer.OptionOffer: type: object properties: id: type: string description: ID of the option. name: type: string description: Name of the option. enabled: type: boolean description: |- If true the option is enabled and included by default in the offer. If true the option is enabled and included by default in the offer If false the option is available for the offer but not included by default. subscription_period: type: string description: Period of subscription for the offer. enum: - unknown_subscription_period - hourly - monthly default: unknown_subscription_period price: type: object description: Price of the option. properties: currency_code: type: string units: type: integer format: int64 nanos: type: integer format: int32 x-properties-order: - currency_code - units - nanos manageable: type: boolean description: Boolean to know if option could be managed. os_id: type: string description: ID of the OS linked to the option. nullable: true x-properties-order: - id - name - enabled - subscription_period - price - manageable - os_id scaleway.baremetal.v1.Option: type: object properties: id: type: string description: ID of the option. name: type: string description: Name of the option. manageable: type: boolean description: Defines whether the option is manageable (could be added or removed). x-properties-order: - id - name - manageable scaleway.baremetal.v1.PersistentMemory: type: object properties: capacity: type: integer description: Capacity of the memory in bytes. (in bytes) format: uint64 type: type: string description: Type of the memory. frequency: type: integer description: Frequency of the memory in MHz. format: uint32 x-properties-order: - capacity - type - frequency scaleway.baremetal.v1.RaidController: type: object properties: model: type: string raid_level: type: array items: type: string x-properties-order: - model - raid_level scaleway.baremetal.v1.Server: type: object properties: id: type: string description: ID of the server. organization_id: type: string description: Organization ID the server is attached to. project_id: type: string description: Project ID the server is attached to. name: type: string description: Name of the server. description: type: string description: Description of the server. updated_at: type: string description: Last modification date of the server. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true created_at: type: string description: Creation date of the server. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status: type: string description: Status of the server. enum: - unknown - delivering - ready - stopping - stopped - starting - error - deleting - locked - out_of_stock - ordered - resetting default: unknown offer_id: type: string description: Offer ID of the server. offer_name: type: string description: Offer name of the server. tags: type: array description: Array of custom tags attached to the server. items: type: string ips: type: array description: Array of IPs attached to the server. items: $ref: '#/components/schemas/scaleway.baremetal.v1.IP' domain: type: string description: Domain of the server. boot_type: type: string description: Boot type of the server. enum: - unknown_boot_type - normal - rescue default: unknown_boot_type zone: type: string description: Zone in which is the server located. install: type: object description: Configuration of the installation. properties: os_id: type: string description: ID of the OS. hostname: type: string description: Host defined during the server installation. ssh_key_ids: type: array description: SSH public key IDs defined during server installation. items: type: string status: type: string description: Status of the server installation. enum: - unknown - to_install - installing - completed - error default: unknown user: type: string description: User defined in the server installation, or the default user if none were specified. service_user: type: string description: Service user defined in the server installation, or the default user if none were specified. service_url: type: string description: Address of the installed service. x-properties-order: - os_id - hostname - ssh_key_ids - status - user - service_user - service_url ping_status: type: string description: Status of server ping. enum: - ping_status_unknown - ping_status_up - ping_status_down default: ping_status_unknown options: type: array description: Options enabled on the server. items: $ref: '#/components/schemas/scaleway.baremetal.v1.Server.Option' rescue_server: type: object description: Configuration of rescue boot. properties: user: type: string description: Rescue user name. password: type: string description: Rescue password. x-properties-order: - user - password x-properties-order: - id - organization_id - project_id - name - description - updated_at - created_at - status - offer_id - offer_name - tags - ips - domain - boot_type - zone - install - ping_status - options - rescue_server scaleway.baremetal.v1.Server.Option: type: object properties: id: type: string description: ID of the option. name: type: string description: Name of the option. status: type: string description: Status of the option on this server. enum: - option_status_unknown - option_status_enable - option_status_enabling - option_status_disabling - option_status_error default: option_status_unknown manageable: type: boolean description: Defines whether the option can be managed (added or removed). expires_at: type: string description: Auto expiration date for compatible options. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - id - name - status - manageable - expires_at scaleway.baremetal.v1.ServerEvent: type: object properties: id: type: string description: ID of the server to which the action will be applied. action: type: string description: The action that will be applied to the server. updated_at: type: string description: Date of last modification of the action. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true created_at: type: string description: Date of creation of the action. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - id - action - updated_at - created_at scaleway.baremetal.v1.Setting: type: object properties: id: type: string description: ID of the setting. type: type: string description: Type of the setting. enum: - unknown - smtp default: unknown project_id: type: string description: ID of the Project ID. enabled: type: boolean description: Defines whether the setting is enabled. x-properties-order: - id - type - project_id - enabled scaleway.std.TimeSeries.Point: type: array items: oneOf: - type: string format: date-time - type: number securitySchemes: scaleway: in: header name: X-Auth-Token type: apiKey paths: /baremetal/v1/zones/{zone}/offers: get: tags: - Offers operationId: ListOffers summary: List offers description: List all available Elastic Metal server configurations. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Number of offers per page. schema: type: integer description: Number of offers per page. format: uint32 - in: query name: subscription_period description: Subscription period type to filter offers by. schema: type: string description: Subscription period type to filter offers by. enum: - unknown_subscription_period - hourly - monthly default: unknown_subscription_period responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListOffersResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/offers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/offers" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/offers/{offer_id}: get: tags: - Offers operationId: GetOffer summary: Get offer description: Get details of an offer identified by its offer ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: offer_id description: ID of the researched Offer. required: true schema: type: string description: ID of the researched Offer. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Offer' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/offers/{offer_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/offers/{offer_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/options: get: tags: - Options operationId: ListOptions summary: List options description: List all options matching with filters. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Number of options per page. schema: type: integer description: Number of options per page. format: uint32 - in: query name: offer_id description: Offer ID to filter options for. schema: type: string description: Offer ID to filter options for. - in: query name: name description: Name to filter options for. schema: type: string description: Name to filter options for. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListOptionsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/options" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/options" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/options/{option_id}: get: tags: - Options operationId: GetOption summary: Get option description: Return specific option for the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: option_id description: ID of the option. required: true schema: type: string description: ID of the option. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Option' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/options/{option_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/options/{option_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/os: get: tags: - OS operationId: ListOS summary: List available OSes description: List all OSes that are available for installation on Elastic Metal servers. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Number of OS per page. schema: type: integer description: Number of OS per page. format: uint32 - in: query name: offer_id description: Offer IDs to filter OSes for. schema: type: string description: Offer IDs to filter OSes for. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListOSResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/os" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/os" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/os/{os_id}: get: tags: - OS operationId: GetOS summary: Get OS with an ID description: Return the specific OS for the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: os_id description: ID of the OS. required: true schema: type: string description: ID of the OS. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.OS' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/os/{os_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/os/{os_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers: get: tags: - Servers operationId: ListServers summary: List Elastic Metal servers for an Organization description: List Elastic Metal servers for a specific Organization. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Number of servers per page. schema: type: integer description: Number of servers per page. format: uint32 - in: query name: order_by description: Order of the servers. schema: type: string description: Order of the servers. enum: - created_at_asc - created_at_desc default: created_at_asc - in: query name: tags description: Tags to filter for. schema: type: array description: Tags to filter for. items: type: string - in: query name: status description: Status to filter for. schema: type: array description: Status to filter for. items: type: string - in: query name: name description: Names to filter for. schema: type: string description: Names to filter for. - in: query name: organization_id description: Organization ID to filter for. schema: type: string description: Organization ID to filter for. - in: query name: project_id description: Project ID to filter for. schema: type: string description: Project ID to filter for. - in: query name: option_id description: Option ID to filter for. schema: type: string description: Option ID to filter for. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListServersResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Servers operationId: CreateServer summary: Create an Elastic Metal server description: Create a new Elastic Metal server. Once the server is created, proceed with the [installation of an OS](#post-3e949e). parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: offer_id: type: string description: Offer ID of the new server. organization_id: type: string description: Organization ID with which the server will be created. deprecated: true nullable: true x-one-of: ProjectIdentifier project_id: type: string description: Project ID with which the server will be created. nullable: true x-one-of: ProjectIdentifier name: type: string description: Name of the server (≠hostname). description: type: string description: Description associated with the server, max 255 characters. tags: type: array description: Tags to associate to the server. items: type: string install: type: object description: Object describing the configuration details of the OS installation on the server. properties: os_id: type: string description: ID of the OS to installation on the server. hostname: type: string description: Hostname of the server. ssh_key_ids: type: array description: SSH key IDs authorized on the server. items: type: string user: type: string description: User for the installation. nullable: true password: type: string description: Password for the installation. nullable: true service_user: type: string description: Regular user that runs the service to be installed on the server. nullable: true service_password: type: string description: Password used for the service to install. nullable: true x-properties-order: - os_id - hostname - ssh_key_ids - user - password - service_user - service_password option_ids: type: array description: IDs of options to enable on server. items: type: string required: - offer_id - name - description x-properties-order: - offer_id - organization_id - project_id - name - description - tags - install - option_ids security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "name": "string", "offer_id": "string" }' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ description="string" \ name="string" \ offer_id="string" /baremetal/v1/zones/{zone}/servers/{server_id}: get: tags: - Servers operationId: GetServer summary: Get a specific Elastic Metal server description: Get full details of an existing Elastic Metal server associated with the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Servers operationId: UpdateServer summary: Update an Elastic Metal server description: Update the server associated with the ID. You can update parameters such as the server's name, tags and description. Any parameters left null in the request body are not updated. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server to update. required: true schema: type: string description: ID of the server to update. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the server (≠hostname), not updated if null. nullable: true description: type: string description: Description associated with the server, max 255 characters, not updated if null. nullable: true tags: type: array description: Tags associated with the server, not updated if null. nullable: true items: type: string x-properties-order: - name - description - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Servers operationId: DeleteServer summary: Delete an Elastic Metal server description: Delete the server associated with the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server to delete. required: true schema: type: string description: ID of the server to delete. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access: get: tags: - BMC Access operationId: GetBMCAccess summary: Get BMC access description: Get the BMC (Baseboard Management Controller) access associated with the ID, including the URL and login information needed to connect. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.BMCAccess' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - BMC Access operationId: StartBMCAccess summary: Start BMC access description: |- 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. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.BMCAccess' requestBody: required: true content: application/json: schema: type: object properties: ip: type: string description: The IP authorized to connect to the server. (IPv4 address) example: 1.2.3.4 required: - ip x-properties-order: - ip security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"ip":"1.2.3.4"}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" \ X-Auth-Token:$SCW_SECRET_KEY \ ip="1.2.3.4" delete: tags: - BMC Access operationId: StopBMCAccess summary: Stop BMC access description: Stop BMC (Baseboard Management Controller) access associated with the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/bmc-access" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/events: get: tags: - Servers operationId: ListServerEvents summary: List server events description: List event (i.e. start/stop/reboot) associated to the server ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server events searched. required: true schema: type: string description: ID of the server events searched. - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Number of server events per page. schema: type: integer description: Number of server events per page. format: uint32 - in: query name: order_by description: Order of the server events. schema: type: string description: Order of the server events. enum: - created_at_asc - created_at_desc default: created_at_asc responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListServerEventsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/events" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/events" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/install: post: tags: - Servers operationId: InstallServer summary: Install an Elastic Metal server description: Install an Operating System (OS) on the Elastic Metal server with a specific ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: Server ID to install. required: true schema: type: string description: Server ID to install. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: os_id: type: string description: ID of the OS to installation on the server. hostname: type: string description: Hostname of the server. ssh_key_ids: type: array description: SSH key IDs authorized on the server. items: type: string user: type: string description: User used for the installation. nullable: true password: type: string description: Password used for the installation. nullable: true service_user: type: string description: User used for the service to install. nullable: true service_password: type: string description: Password used for the service to install. nullable: true required: - os_id - hostname - ssh_key_ids x-properties-order: - os_id - hostname - ssh_key_ids - user - password - service_user - service_password security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "hostname": "string", "os_id": "string", "ssh_key_ids": [ "string" ] }' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/install" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/install" \ X-Auth-Token:$SCW_SECRET_KEY \ hostname="string" \ os_id="string" \ ssh_key_ids:='[ "string" ]' /baremetal/v1/zones/{zone}/servers/{server_id}/ips/{ip_id}: patch: tags: - Servers operationId: UpdateIP summary: Update IP description: 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. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. - in: path name: ip_id description: ID of the IP to update. required: true schema: type: string description: ID of the IP to update. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.IP' requestBody: required: true content: application/json: schema: type: object properties: reverse: type: string description: New reverse IP to update, not updated if null. nullable: true x-properties-order: - reverse security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/ips/{ip_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/ips/{ip_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/metrics: get: tags: - Servers operationId: GetServerMetrics summary: Return server metrics description: Get the ping status of the server associated with the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: Server ID to get the metrics. required: true schema: type: string description: Server ID to get the metrics. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.GetServerMetricsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/metrics" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/metrics" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}: post: tags: - Servers operationId: AddOptionServer summary: Add server option description: Add an option, such as Private Networks, to a specific server. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. - in: path name: option_id description: ID of the option to add. required: true schema: type: string description: ID of the option to add. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: expires_at: type: string description: Auto expire the option after this date. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - expires_at security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Servers operationId: DeleteOptionServer summary: Delete server option description: Delete an option from a specific server. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server. required: true schema: type: string description: ID of the server. - in: path name: option_id description: ID of the option to delete. required: true schema: type: string description: ID of the option to delete. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/reboot: post: tags: - Server Actions operationId: RebootServer summary: Reboot an Elastic Metal server description: Reboot the Elastic Metal server associated with the ID, use the `boot_type` `rescue` to reboot the server in rescue mode. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server to reboot. required: true schema: type: string description: ID of the server to reboot. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: boot_type: type: string description: The type of boot. enum: - unknown_boot_type - normal - rescue default: unknown_boot_type x-properties-order: - boot_type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/reboot" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/reboot" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/start: post: tags: - Server Actions operationId: StartServer summary: Start an Elastic Metal server description: Start the server associated with the ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server to start. required: true schema: type: string description: ID of the server to start. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object properties: boot_type: type: string description: The type of boot. enum: - unknown_boot_type - normal - rescue default: unknown_boot_type x-properties-order: - boot_type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/start" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/start" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/servers/{server_id}/stop: post: tags: - Server Actions operationId: StopServer summary: Stop an Elastic Metal server description: 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. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: server_id description: ID of the server to stop. required: true schema: type: string description: ID of the server to stop. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Server' requestBody: required: true content: application/json: schema: type: object security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/stop" - lang: HTTPie source: |- http POST "https://api.scaleway.com/baremetal/v1/zones/{zone}/servers/{server_id}/stop" \ X-Auth-Token:$SCW_SECRET_KEY /baremetal/v1/zones/{zone}/settings: get: tags: - Options operationId: ListSettings summary: List all settings description: Return all settings for a Project ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: query name: page description: Page number. schema: type: integer description: Page number. format: int32 - in: query name: page_size description: Set the maximum list size. schema: type: integer description: Set the maximum list size. format: uint32 - in: query name: order_by description: Sort order for items in the response. schema: type: string description: Sort order for items in the response. enum: - created_at_asc - created_at_desc default: created_at_asc - in: query name: project_id description: ID of the Project. (UUID format) schema: type: string description: ID of the Project. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.ListSettingsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/settings?project_id=6170692e-7363-616c-6577-61792e636f6d" - lang: HTTPie source: |- http GET "https://api.scaleway.com/baremetal/v1/zones/{zone}/settings" \ X-Auth-Token:$SCW_SECRET_KEY \ project_id==6170692e-7363-616c-6577-61792e636f6d /baremetal/v1/zones/{zone}/settings/{setting_id}: patch: tags: - Options operationId: UpdateSetting summary: Update setting description: Update a setting for a Project ID (enable or disable). parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string description: The zone you want to target enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - in: path name: setting_id description: ID of the setting. required: true schema: type: string description: ID of the setting. responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.baremetal.v1.Setting' requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: Defines whether the setting is enabled. nullable: true x-properties-order: - enabled security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/baremetal/v1/zones/{zone}/settings/{setting_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/baremetal/v1/zones/{zone}/settings/{setting_id}" \ X-Auth-Token:$SCW_SECRET_KEY