openapi: 3.1.0
info:
title: Managed Database for PostgreSQL and MySQL Access Control List Instances API
description: "Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, with MySQL or PostgreSQL as database engines. The resource allows you to focus on development rather than administration or configuration. It comes with a high-availability mode, data replication, and automatic backups.\n\nCompared to traditional database management, which requires customers to provide their infrastructure and resources to manage their databases, Managed Database for PostgreSQL and MySQL Instance offers the user access to Database Instances without setting up the hardware or configuring the software. Scaleway handles the provisioning, manages the configuration, and provides useful features as high availability, automated backup, user management, and more.\n\n\n\n\n## Concepts\n\nRefer to our [dedicated concepts page](https://www.scaleway.com/en/docs/managed-databases-for-postgresql-and-mysql/concepts/) to find definitions of the different terms referring to Managed Database for PostgreSQL and MySQL.\n\n\n\n\n## Quickstart\n\n1. Configure your environment variables.\n \n This is an optional step that seeks to simplify your usage of the APIs.\n \n\n ```bash\n export SCW_ACCESS_KEY=\"\"\n export SCW_SECRET_KEY=\"\"\n export SCW_REGION=\"\"\n ```\n2. Edit the POST request payload you will use to create your Database Instance. Replace the parameters in the following example:\n ```json\n '{\n \"project_id\": \"d8e65f2b-cce9-40b7-80fc-6a2902db6826\",\n \"name\": \"myDB\",\n \"engine\": \"PostgreSQL-15\",\n \"tags\": [\"donnerstag\"],\n \"is_ha_cluster\": true,\n \"node_type\": \"db-pro2-xxs\",\n \"disable_backup\": false,\n \"user_name\": \"my_initial_user\",\n \"password\": \"thiZ_is_v0ry_s3cret\",\n \"volume_type\": \"sbs_5k\",\n \"volume_size\": \"30000000000\"\n }'\n ```\n\n | Parameter | Description |\n | :--------------- |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | `project_id` | The ID of the Project you want to create your Database Instance in. To find your Project ID you can **[list the projects](/api/account/project-api/#path-projects-list-all-projects-of-an-organization)** or consult the **[Scaleway console](https://console.scaleway.com/project/settings)**. |\n | `engine` | **REQUIRED** Version ID of the database engine. To check the list of available engines you can use the following endpoint: `https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/database-engines` |\n | `name` | Name of the Database Instance |\n | `node_type` | **REQUIRED** The node type. To check the list of available node types you can use the following endpoint: `https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/node-types` |\n | `is_ha_cluster` | **BOOLEAN** Defines whether High Availability is enabled for the Database Instance |\n | `disable_backup` | **BOOLEAN** Defines whether automated backups are disabled for the Database Instance |\n | `tags` | The list of tags `[\"tag1\", \"tag2\", ...]` that will be associated with the Database Instance. Tags can be appended to the query of the [List Database Instances](#path-database-instances-list-database-instances) call to show results for only the Database Instances using a specific tag. You can also combine tags to list Database Instances that possess all the appended tags. |\n | `user_name` | **REQUIRED** Identifier of the default user, which is created concurrently with the Database Instance |\n | `password` | **REQUIRED** Password for the default user |\n | `volume_type` | Type of volume where data is stored. You can specify either local volume (`lssd`) or block volume (`bssd`, `sbs_5k` or `sbs_15k`). The default value is `lssd` |\n | `volume_size` | Volume size when volume_type is `bssd`, `sbs_5k` or `sbs_15k`. The value should be expressed in bytes. For example 30GB is expressed as 30000000000 |\n3. Create a Database Instance by running the following command. Make sure you include the payload you edited in the previous step.\n ```bash\n curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"Content-Type: application/json\" \\\n https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/instances \\\n -d '{\n \"project_id\": \"d8e65f2b-cce9-40b7-80fc-6a2902db6826\",\n \"name\": \"myDB\",\n \"engine\": \"PostgreSQL-15\",\n \"tags\": [\"donnerstag\"],\n \"is_ha_cluster\": true,\n \"node_type\": \"db-pro2-xxs\",\n \"disable_backup\": false,\n \"user_name\": \"my_initial_user\",\n \"password\": \"thiZ_is_v0ry_s3cret\",\n \"volume_type\": \"sbs_5k\",\n \"volume_size\": \"30000000000\"\n }'\n ```\n4. List your Database Instances.\n ```bash\n curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" https://api.scaleway.com/rdb/v1/regions/$SCW_REGION/instances\n ```\n\n You should get a response like the following:\n\n \n This is a response example, the UUIDs and IP address displayed are not real.\n \n\n ```json\n {\n \"id\": \"f5122f66-fb50-4cef-aa02-487ef4fc1af0\",\n \"name\": \"myDB\",\n \"organization_id\": \"895693aa-3915-4896-8761-c2923b008be7\",\n \"project_id\": \"d8e65f2b-cce9-40b7-80fc-6a2902db6826\",\n \"status\": \"ready\",\n \"engine\": \"PostgreSQL-15\",\n \"endpoint\": {\n \"ip\": \"198.51.100.0\",\n \"port\": 22245,\n \"name\": null\n },\n \"tags\": [\n \"donnerstag\"\n ],\n \"settings\": [],\n \"backup_schedule\": {\n \"frequency\": 24,\n \"retention\": 7,\n \"disabled\": true\n },\n \"is_ha_cluster\": true,\n \"read_replicas\": [],\n \"node_type\": \"db-pro2-xxs\",\n \"volume\": {\n \"type\": \"sbs_5k\",\n \"size\": 30000000000\n }\n \"created_at\": \"2019-04-19T16:24:52.591417Z\",\n \"region\": \"fr-par\"\n }\n ```\n5. Retrieve your Database Instance IP and port from the response.\n \n In the example above, the IP and port are `198.51.100.0` and `22245`, respectively.\n \n6. Connect to your Database Instance with the database client of the engine you selected.\n For MySQL, run the following command:\n ```bash\n mysql -h --port -p -u \n ```\n\n For PostgreSQL, run:\n ```bash\n psql -h -p -U -d rdb\n ```\n\n For the recurring example, the command would look like:\n\n ```bash\n psql -h 198.51.100.0 -p 22245 -U my_initial_user -d rdb\n ```\n7. Enter the database password that you defined upon creation.\n\nYou are now connected to your Managed Database.\n\n\n\nTo perform the following steps, you must first ensure that:\n - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization)\n - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page.\n - you have [installed `curl`](https://curl.se/download.html)\n\n\n\n## Technical Information\n\n### Regions\n\nScaleway's infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/).\n\nManaged Database for PostgreSQL and MySQL is available in the Paris, Amsterdam and Warsaw regions, which are represented by the following path parameters:\n\n- `fr-par`\n- `nl-ams`\n- `pl-waw`\n\n### PostgreSQL specifications\n\n#### Versions\n\nScaleway Database for PostgreSQL supports PostgreSQL versions 11, 12, 13, 14 and 15.\n\n#### System\n\nDifferent modules are available for installation, including TimescaleDB and PostGIS. Refer to the [Managed Database for PostgreSQL and MySQL FAQ page](https://www.scaleway.com/en/docs/managed-databases-for-postgresql-and-mysql/faq/#which-postgresql-extensions-are-available) for an extensive list of PostgreSQL extensions.\n\n#### Database Management\n\nYou can create logical databases through the Scaleway console, the Scaleway APIs or SQL.\n\n- databases created using the Scaleway console or the API are owned by an internal system user. These are called \"managed databases\".\n- databases created using SQL will be owned by the creator. These are called \"unmanaged databases\".\n\n### MySQL specifications\n\n#### Versions\n\nScaleway Database for MySQL supports MySQL 8.\n\n#### System\n\n- only the [InnoDB engine](https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html) is supported\n- the [Global Transaction Identifier (GTID)](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-concepts.html) is enabled.\n- [`mysql_native_password`](https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html) (default) and [`caching_sha2_password`](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html) authentication are supported.\n\n#### User Management\n\n- users with an `admin` role have access to all logical databases and can create new ones.\n- users created via the API are authenticated using the default authentication plugin, which can be changed in the settings.\n\n## Technical Limitations\n\n### PostgreSQL\n\n#### User Management\n\n- users with an `admin` role have `CREATEROLE` and `CREATEDB` privileges.\n- users do NOT have `SUPERUSER` nor `REPLICATION` privileges.\n- permission management through the Scaleway console or API is only possible for the \"managed databases\".\n\n#### Backup and restoration\n\nDatabases that have been backed up and then restored retain the user permission settings in use at the time of backup. If you delete users after backup and then restore your backup in the same database, or if you restore a backup to a different database with different or no users, the permissions configured for them continue to exist, but with no associated owner. This error will put a stop to the restoration process.\n\nTo avoid this issue, we recommend you re-create the users you deleted. In the occasion you restore the backup to a new database, you must create new users with the same names.\n\n## Going Further\n\nFor more information about Managed Database for PostgreSQL and MySQL, you can check out the following pages:\n\n* [Managed Database for PostgreSQL and MySQL Documentation](https://www.scaleway.com/en/docs/managed-databases/postgresql-and-mysql/)\n* [Managed Database for PostgreSQL and MySQL FAQ](https://www.scaleway.com/en/docs/managed-databases-for-postgresql-and-mysql/faq/)\n* [Scaleway Slack Community](https://scaleway-community.slack.com/) join the #database channel\n* [Contact our support team](https://console.scaleway.com/support/tickets)\n\n### How to migrate a database\n\nIf you wish to migrate existing databases to a Managed Database for PostgreSQL or MySQL, you can refer to the [Migrating existing databases to a Database Instance](https://www.scaleway.com/en/docs/tutorials/migrate-databases-instance/) tutorial page.\n\n### Troubleshoooting\n\n#### Disk full status\n\nIf your Database Instance uses local storage, your local volume might eventually approach full capacity and shift to `disk_full` mode. This mode grants you enough space to either [upgrade your node type](https://www.scaleway.com/en/docs/managed-databases-for-postgresql-and-mysql/how-to/upgrade-version/#how-to-change-the-node-type) or [clear out space in your volume](https://www.scaleway.com/en/docs/managed-databases-for-postgresql-and-mysql/troubleshooting/disk-full/)."
version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Instances
description: 'Instances are computing units providing resources to run your applications on.
Scaleway offers various Instance types including **Virtual Instances** and **dedicated GPU Instances**.
**Note: Instances can be referenced as "servers" in API endpoints.**
'
paths:
/instance/v1/zones/{zone}/servers:
get:
tags:
- Instances
operationId: ListServers
summary: List all Instances
description: List all Instances in a specified Availability Zone, e.g. `fr-par-1`.
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: query
name: per_page
description: A positive integer lower or equal to 100 to select the number of items to return.
schema:
type: integer
format: uint32
- in: query
name: page
description: A positive integer to choose the page to return.
schema:
type: integer
format: int32
- in: query
name: organization
description: List only Instances of this Organization ID.
schema:
type: string
- in: query
name: project
description: List only Instances of this Project ID.
schema:
type: string
- in: query
name: name
description: Filter Instances by name (eg. "server1" will return "server100" and "server1" but not "foo").
schema:
type: string
- in: query
name: private_ip
description: List Instances by private_ip. (IP address)
schema:
type: string
deprecated: true
example: 1.2.3.4
- in: query
name: without_ip
description: List Instances that are not attached to a public IP.
schema:
type: boolean
- in: query
name: with_ip
description: List Instances by IP (both private_ip and public_ip are supported). (IP address)
schema:
type: string
example: 1.2.3.4
- in: query
name: commercial_type
description: List Instances of this commercial type.
schema:
type: string
- in: query
name: state
description: List Instances in this state.
schema:
type: string
enum:
- running
- stopped
- stopped in place
- starting
- stopping
- locked
default: running
- in: query
name: tags
description: List Instances with these exact tags (to filter with several tags, use commas to separate them).
schema:
type: string
- in: query
name: private_network
description: List Instances in this Private Network.
schema:
type: string
- in: query
name: order
description: Define the order of the returned servers.
schema:
type: string
enum:
- creation_date_desc
- creation_date_asc
- modification_date_desc
- modification_date_asc
default: creation_date_desc
- in: query
name: private_networks
description: List Instances from the given Private Networks (use commas to separate them).
schema:
type: string
- in: query
name: private_nic_mac_address
description: List Instances associated with the given private NIC MAC address.
schema:
type: string
- in: query
name: servers
description: List Instances from these server ids (use commas to separate them).
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.ListServersResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X GET \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers\""
- lang: HTTPie
source: "http GET \"https://api.scaleway.com/instance/v1/zones/{zone}/servers\" \\\n X-Auth-Token:$SCW_SECRET_KEY"
post:
tags:
- Instances
operationId: CreateServer
summary: Create an Instance
description: 'Create a new Instance of the specified commercial type in the specified zone. Pay attention to the volumes parameter, which takes an object which can be used in different ways to achieve different behaviors.
Get more information in the [Technical Information](#technical-information) section of the introduction.'
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.CreateServerResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Instance name.
dynamic_ip_required:
type: boolean
description: 'Define if a dynamic IPv4 is required for the Instance.
By default, `dynamic_ip_required` is true, a dynamic ip is attached to the instance (if no flexible ip is already attached).'
nullable: true
routed_ip_enabled:
type: boolean
description: If true, configure the Instance so it uses the new routed IP mode.
deprecated: true
nullable: true
commercial_type:
type: string
description: Define the Instance commercial type (i.e. GP1-S).
image:
type: string
description: 'Instance image ID or label.
When an image label is used, it will be converted to the latest image available on the Marketplace.
By default, the selected local image will be the `instance_sbs` local image.
If an `l_ssd` volume is specified in the volumes argument, an `instance_local` local image will be selected instead.'
volumes:
type: object
description: Volumes attached to the server.
properties:
:
type: object
description: Volumes attached to the server.
properties:
id:
type: string
description: UUID of the volume.
nullable: true
boot:
type: boolean
description: Force the Instance to boot on this volume.
nullable: true
default: false
name:
type: string
description: Name of the volume.
nullable: true
size:
type: integer
description: Disk size of the volume, must be a multiple of 512. (in bytes)
format: uint64
nullable: true
volume_type:
type: string
description: Type of the volume.
enum:
- l_ssd
- b_ssd
- unified
- scratch
- sbs_volume
- sbs_snapshot
x-enum-descriptions:
values:
b_ssd: Deprecated
unified: Deprecated
default: l_ssd
base_snapshot:
type: string
description: ID of the snapshot on which this volume will be based.
nullable: true
organization:
type: string
description: Organization ID of the volume.
nullable: true
project:
type: string
description: Project ID of the volume.
nullable: true
x-properties-order:
- id
- boot
- name
- size
- volume_type
- base_snapshot
- organization
- project
additionalProperties: true
enable_ipv6:
type: boolean
description: True if IPv6 is enabled on the server (deprecated and always `False` when `routed_ip_enabled` is `True`).
deprecated: true
public_ip:
type: string
description: ID of the reserved IP to attach to the Instance.
deprecated: true
nullable: true
public_ips:
type: array
description: A list of reserved IP IDs to attach to the Instance.
nullable: true
items:
type: string
boot_type:
type: string
description: Boot type to use.
enum:
- local
- bootscript
- rescue
default: local
organization:
type: string
description: Instance Organization ID.
deprecated: true
nullable: true
x-one-of: ProjectIdentifier
project:
type: string
description: Instance Project ID.
nullable: true
x-one-of: ProjectIdentifier
tags:
type: array
description: Instance tags.
items:
type: string
security_group:
type: string
description: Security group ID.
nullable: true
placement_group:
type: string
description: Placement group ID if Instance must be part of a placement group.
nullable: true
admin_password_encryption_ssh_key_id:
type: string
description: 'UUID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it. Mandatory for Windows OS.
The public_key value of this key is used to encrypt the admin password.'
nullable: true
protected:
type: boolean
description: True to activate server protection option.
required:
- name
- commercial_type
x-properties-order:
- name
- dynamic_ip_required
- routed_ip_enabled
- commercial_type
- image
- volumes
- enable_ipv6
- public_ip
- public_ips
- boot_type
- organization
- project
- tags
- security_group
- placement_group
- admin_password_encryption_ssh_key_id
- protected
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"commercial_type\": \"string\",\n \"enable_ipv6\": false,\n \"name\": \"string\",\n \"protected\": false,\n \"volumes\": {\n \"\": {\n \"base_snapshot\": \"string\",\n \"boot\": false,\n \"id\": \"string\",\n \"name\": \"string\",\n \"organization\": \"string\",\n \"project\": \"string\",\n \"size\": 42,\n \"volume_type\": \"l_ssd\"\n }\n }\n }' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n commercial_type=\"string\" \\\n enable_ipv6:=false \\\n name=\"string\" \\\n protected:=false \\\n volumes:='{\n \"\": {\n \"base_snapshot\": \"string\",\n \"boot\": false,\n \"id\": \"string\",\n \"name\": \"string\",\n \"organization\": \"string\",\n \"project\": \"string\",\n \"size\": 42,\n \"volume_type\": \"l_ssd\"\n }\n }'"
/instance/v1/zones/{zone}/servers/{server_id}:
get:
tags:
- Instances
operationId: GetServer
summary: Get an Instance
description: Get the details of a specified Instance.
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
description: UUID of the Instance you want to get.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.GetServerResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X GET \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\""
- lang: HTTPie
source: "http GET \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\" \\\n X-Auth-Token:$SCW_SECRET_KEY"
patch:
tags:
- Instances
operationId: UpdateServer
summary: Update an Instance
description: Update the Instance information, such as name, boot mode, or tags.
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
description: UUID of the Instance.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.UpdateServerResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of the Instance.
nullable: true
boot_type:
$ref: '#/components/schemas/scaleway.instance.v1.BootType'
tags:
type: array
description: Tags of the Instance.
nullable: true
items:
type: string
volumes:
type: object
properties:
:
$ref: '#/components/schemas/scaleway.instance.v1.VolumeServerTemplate'
additionalProperties: true
dynamic_ip_required:
$ref: '#/components/schemas/google.protobuf.BoolValue'
routed_ip_enabled:
type: boolean
description: True to configure the instance so it uses the new routed IP mode (once this is set to True you cannot set it back to False).
deprecated: true
nullable: true
public_ips:
type: array
description: A list of reserved IP IDs to attach to the Instance.
nullable: true
items:
type: string
enable_ipv6:
deprecated: true
$ref: '#/components/schemas/google.protobuf.BoolValue'
protected:
type: boolean
description: True to activate server protection option.
nullable: true
security_group:
$ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupTemplate'
placement_group:
type: string
description: Placement group ID if Instance must be part of a placement group.
nullable: true
private_nics:
type: array
description: Instance private NICs.
nullable: true
items:
type: string
commercial_type:
type: string
description: 'Set the commercial_type for this Instance.
Warning: This field has some restrictions:
- Cannot be changed if the Instance is not in `stopped` state.
- Cannot be changed if the Instance is in a placement group.
- Cannot be changed from/to a Windows offer to/from a Linux offer.
- Local storage requirements of the target commercial_types must be fulfilled (i.e. if an Instance has 80GB of local storage, it can be changed into a GP1-XS, which has a maximum of 150GB, but it cannot be changed into a DEV1-S, which has only 20GB).'
nullable: true
admin_password_encryption_ssh_key_id:
type: string
description: 'UUID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it. Mandatory for Windows OS.
The public_key value of this key is used to encrypt the admin password. When set to an empty string, reset this value and admin_password_encrypted_value to an empty string so a new password may be generated.'
nullable: true
x-properties-order:
- name
- boot_type
- tags
- volumes
- dynamic_ip_required
- routed_ip_enabled
- public_ips
- enable_ipv6
- protected
- security_group
- placement_group
- private_nics
- commercial_type
- admin_password_encryption_ssh_key_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X PATCH \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"volumes\":{\"\":\"\"}}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\""
- lang: HTTPie
source: "http PATCH \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n volumes:='{\"\":\"\"}'"
delete:
tags:
- Instances
operationId: DeleteServer
summary: Delete an Instance
description: Delete the Instance with the specified ID.
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'204':
description: ''
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X DELETE \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\""
- lang: HTTPie
source: "http DELETE \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}\" \\\n X-Auth-Token:$SCW_SECRET_KEY"
/instance/v1/zones/{zone}/servers/{server_id}/action:
get:
tags:
- Instances
operationId: ListServerActions
summary: List Instance actions
description: List all actions (e.g. power on, power off, reboot) that can currently be performed on an Instance.
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.ListServerActionsResponse'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X GET \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/action\""
- lang: HTTPie
source: "http GET \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/action\" \\\n X-Auth-Token:$SCW_SECRET_KEY"
post:
tags:
- Instances
operationId: ServerAction
summary: Perform action
description: 'Perform an action on an Instance.
Available actions are:
* `poweron`: Start a stopped Instance.
* `poweroff`: Fully stop the Instance and release the hypervisor slot.
* `stop_in_place`: Stop the Instance, but keep the slot on the hypervisor.
* `reboot`: Stop the instance and restart it.
* `backup`: Create an image with all the volumes of an Instance.
* `terminate`: Delete the Instance along with its attached local volumes.
* `enable_routed_ip`: Migrate the Instance to the new network stack.
The `terminate` action will result in the deletion of `l_ssd` and `scratch` volumes types, `sbs_volume` volumes will only be detached.
If you want to preserve your `l_ssd` volumes, you should stop your Instance, detach the volumes to be preserved, then delete your Instance.
The `backup` action can be done with:
* No `volumes` key in the body: an image is created with snapshots of all the server volumes, except for the `scratch` volumes types.
* `volumes` key in the body with a dictionary as value, in this dictionary volumes UUID as keys and empty dictionaries as values : an image is created with the snapshots of the volumes in `volumes` key. `scratch` volumes types can''t be shapshotted.'
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
description: UUID of the Instance.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.ServerActionResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
action:
type: string
description: Action to perform on the Instance.
enum:
- poweron
- backup
- stop_in_place
- poweroff
- terminate
- reboot
- enable_routed_ip
default: poweron
name:
type: string
description: 'Name of the backup you want to create.
Name of the backup you want to create.
This field should only be specified when performing a backup action.'
nullable: true
volumes:
type: object
description: 'For each volume UUID, the snapshot parameters of the volume.
For each volume UUID, the snapshot parameters of the volume.
This field should only be specified when performing a backup action.'
properties:
:
type: object
description: 'For each volume UUID, the snapshot parameters of the volume.
For each volume UUID, the snapshot parameters of the volume.
This field should only be specified when performing a backup action.'
properties:
volume_type:
type: string
description: 'Snapshot''s volume type.
Overrides the `volume_type` of the snapshot for this volume.
If omitted, the volume type of the original volume will be used.'
enum:
- unknown_volume_type
- l_ssd
- b_ssd
- unified
x-enum-descriptions:
values:
b_ssd: Deprecated
unified: Deprecated
default: unknown_volume_type
x-properties-order:
- volume_type
additionalProperties: true
disable_ipv6:
type: boolean
description: 'Disable IPv6 on the Instance (true by default).
Disable IPv6 on the Instance while performing migration to routed IPs.
This field should only be specified when performing a enable_routed_ip action.'
x-properties-order:
- action
- name
- volumes
- disable_ipv6
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"volumes\":{\"\":{\"volume_type\":\"unknown_volume_type\"}}}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/action\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/action\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n volumes:='{\"\":{\"volume_type\":\"unknown_volume_type\"}}'"
/instance/v1/zones/{zone}/servers/{server_id}/attach-filesystem:
post:
tags:
- Instances
operationId: AttachServerFileSystem
summary: Attach a filesystem volume to an Instance
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.AttachServerFileSystemResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filesystem_id:
type: string
x-properties-order:
- filesystem_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"filesystem_id\":\"string\"}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/attach-filesystem\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/attach-filesystem\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n filesystem_id=\"string\""
/instance/v1/zones/{zone}/servers/{server_id}/attach-volume:
post:
tags:
- Instances
operationId: AttachServerVolume
summary: Attach a volume to an Instance
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.AttachServerVolumeResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
volume_id:
type: string
volume_type:
$ref: '#/components/schemas/scaleway.instance.v1.AttachServerVolumeRequest.VolumeType'
boot:
$ref: '#/components/schemas/google.protobuf.BoolValue'
x-properties-order:
- volume_id
- volume_type
- boot
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"volume_id\":\"string\"}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/attach-volume\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/attach-volume\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n volume_id=\"string\""
/instance/v1/zones/{zone}/servers/{server_id}/compatible-types:
get:
tags:
- Instances
operationId: GetServerCompatibleTypes
summary: Get Instance compatible types
description: 'Get compatible commercial types that can be used to update the Instance. The compatibility of an Instance offer is based on:
* the CPU architecture
* the OS type
* the required l_ssd storage size
* the required scratch storage size
If the specified Instance offer is flagged as end of service, the best compatible offer is the first returned.'
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
description: UUID of the Instance you want to get.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.ServerCompatibleTypes'
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X GET \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/compatible-types\""
- lang: HTTPie
source: "http GET \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/compatible-types\" \\\n X-Auth-Token:$SCW_SECRET_KEY"
/instance/v1/zones/{zone}/servers/{server_id}/detach-filesystem:
post:
tags:
- Instances
operationId: DetachServerFileSystem
summary: Detach a filesystem volume from an Instance
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.DetachServerFileSystemResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filesystem_id:
type: string
x-properties-order:
- filesystem_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"filesystem_id\":\"string\"}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/detach-filesystem\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/detach-filesystem\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n filesystem_id=\"string\""
/instance/v1/zones/{zone}/servers/{server_id}/detach-volume:
post:
tags:
- Instances
operationId: DetachServerVolume
summary: Detach a volume from an Instance
parameters:
- in: path
name: zone
description: The zone you want to target
required: true
schema:
type: string
enum:
- fr-par-1
- fr-par-2
- fr-par-3
- nl-ams-1
- nl-ams-2
- nl-ams-3
- pl-waw-1
- pl-waw-2
- pl-waw-3
- it-mil-1
- in: path
name: server_id
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/scaleway.instance.v1.DetachServerVolumeResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
volume_id:
type: string
x-properties-order:
- volume_id
security:
- scaleway: []
x-codeSamples:
- lang: cURL
source: "curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"volume_id\":\"string\"}' \\\n \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/detach-volume\""
- lang: HTTPie
source: "http POST \"https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/detach-volume\" \\\n X-Auth-Token:$SCW_SECRET_KEY \\\n volume_id=\"string\""
components:
schemas:
scaleway.instance.v1.BootType:
type: string
enum:
- local
- bootscript
- rescue
default: local
scaleway.instance.v1.AttachServerFileSystemResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.Bootscript:
type: object
properties:
architecture:
$ref: '#/components/schemas/scaleway.instance.v1.Arch'
bootcmdargs:
type: string
default:
type: boolean
dtb:
type: string
id:
type: string
initrd:
type: string
kernel:
type: string
organization:
type: string
public:
type: boolean
title:
type: string
project:
type: string
zone:
type: string
description: The zone you want to target
x-properties-order:
- architecture
- bootcmdargs
- default
- dtb
- id
- initrd
- kernel
- organization
- public
- title
- project
- zone
scaleway.instance.v1.DetachServerVolumeResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
google.protobuf.BoolValue:
type: boolean
nullable: true
scaleway.instance.v1.UpdateServerResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.Volume.VolumeType:
type: string
enum:
- l_ssd
- b_ssd
- unified
- scratch
- sbs_volume
- sbs_snapshot
x-enum-descriptions:
values:
b_ssd: Deprecated
unified: Deprecated
default: l_ssd
scaleway.instance.v1.ListServersResponse:
type: object
properties:
servers:
type: array
description: List of Instances.
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- servers
scaleway.instance.v1.AttachServerVolumeRequest.VolumeType:
type: string
enum:
- unknown_volume_type
- l_ssd
- b_ssd
- sbs_volume
x-enum-descriptions:
values:
b_ssd: Deprecated
default: unknown_volume_type
scaleway.instance.v1.ServerSummary:
type: object
properties:
id:
type: string
name:
type: string
x-properties-order:
- id
- name
scaleway.instance.v1.Task:
type: object
properties:
id:
type: string
description: Unique ID of the task.
description:
type: string
description: Description of the task.
progress:
type: integer
description: Progress of the task in percent.
format: int32
started_at:
type: string
description: Task start date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
terminated_at:
type: string
description: Task end date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
status:
type: string
description: Task status.
enum:
- pending
- started
- success
- failure
- retry
default: pending
href_from:
type: string
href_result:
type: string
zone:
type: string
description: Zone in which the task is executed.
x-properties-order:
- id
- description
- progress
- started_at
- terminated_at
- status
- href_from
- href_result
- zone
scaleway.instance.v1.Server.Filesystem:
type: object
properties:
filesystem_id:
type: string
description: (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
state:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Filesystem.State'
x-properties-order:
- filesystem_id
- state
scaleway.instance.v1.Volume:
type: object
properties:
id:
type: string
description: Volume unique ID.
name:
type: string
description: Volume name.
export_uri:
type: string
description: Show the volume NBD export URI (deprecated, will always be empty).
deprecated: true
size:
type: integer
description: Volume disk size. (in bytes)
format: uint64
volume_type:
type: string
description: Volume type.
enum:
- l_ssd
- b_ssd
- unified
- scratch
- sbs_volume
- sbs_snapshot
x-enum-descriptions:
values:
b_ssd: Deprecated
unified: Deprecated
default: l_ssd
creation_date:
type: string
description: Volume creation date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
modification_date:
type: string
description: Volume modification date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
organization:
type: string
description: Volume Organization ID.
project:
type: string
description: Volume Project ID.
tags:
type: array
description: Volume tags.
items:
type: string
server:
type: object
description: Instance attached to the volume.
properties:
id:
type: string
name:
type: string
x-properties-order:
- id
- name
state:
type: string
description: Volume state.
enum:
- available
- snapshotting
- fetching
- saving
- attaching
- resizing
- hotsyncing
- error
default: available
zone:
type: string
description: Zone in which the volume is located.
x-properties-order:
- id
- name
- export_uri
- size
- volume_type
- creation_date
- modification_date
- organization
- project
- tags
- server
- state
- zone
scaleway.instance.v1.Image.State:
type: string
enum:
- available
- creating
- error
default: available
scaleway.instance.v1.GetServerResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.ListServerActionsResponse:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Action'
x-properties-order:
- actions
scaleway.instance.v1.Arch:
type: string
enum:
- unknown_arch
- x86_64
- arm
- arm64
default: unknown_arch
scaleway.instance.v1.Server.Filesystem.State:
type: string
enum:
- unknown_state
- attaching
- available
- detaching
default: unknown_state
scaleway.instance.v1.Server:
type: object
properties:
id:
type: string
description: Instance unique ID.
name:
type: string
description: Instance name.
organization:
type: string
description: Instance Organization ID.
project:
type: string
description: Instance Project ID.
allowed_actions:
type: array
description: List of allowed actions on the Instance.
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Action'
tags:
type: array
description: Tags associated with the Instance.
items:
type: string
commercial_type:
type: string
description: Instance commercial type (eg. GP1-M).
creation_date:
type: string
description: Instance creation date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
dynamic_ip_required:
type: boolean
description: True if a dynamic IPv4 is required.
routed_ip_enabled:
type: boolean
description: True to configure the instance so it uses the routed IP mode. Use of `routed_ip_enabled` as `False` is deprecated.
deprecated: true
enable_ipv6:
type: boolean
description: True if IPv6 is enabled (deprecated and always `False` when `routed_ip_enabled` is `True`).
deprecated: true
hostname:
type: string
description: Instance host name.
image:
type: object
description: Information about the Instance image.
properties:
id:
type: string
name:
type: string
arch:
$ref: '#/components/schemas/scaleway.instance.v1.Arch'
creation_date:
type: string
description: (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
modification_date:
type: string
description: (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
default_bootscript:
deprecated: true
$ref: '#/components/schemas/scaleway.instance.v1.Bootscript'
extra_volumes:
type: object
properties:
:
$ref: '#/components/schemas/scaleway.instance.v1.Volume'
additionalProperties: true
from_server:
type: string
organization:
type: string
public:
type: boolean
root_volume:
$ref: '#/components/schemas/scaleway.instance.v1.VolumeSummary'
state:
$ref: '#/components/schemas/scaleway.instance.v1.Image.State'
project:
type: string
tags:
type: array
items:
type: string
zone:
type: string
description: The zone you want to target
x-properties-order:
- id
- name
- arch
- creation_date
- modification_date
- default_bootscript
- extra_volumes
- from_server
- organization
- public
- root_volume
- state
- project
- tags
- zone
protected:
type: boolean
description: Defines whether the Instance protection option is activated.
private_ip:
type: string
description: Private IP address of the Instance (deprecated and always `null` when `routed_ip_enabled` is `True`).
nullable: true
public_ip:
type: object
description: Information about the public IP (deprecated in favor of `public_ips`).
deprecated: true
properties:
id:
type: string
description: Unique ID of the IP address.
address:
type: string
description: Instance's public IP-Address. (IP address)
example: 1.2.3.4
gateway:
type: string
description: Gateway's IP address. (IP address)
example: 1.2.3.4
netmask:
type: string
description: CIDR netmask.
family:
type: string
description: IP address family (inet or inet6).
enum:
- inet
- inet6
default: inet
dynamic:
type: boolean
description: True if the IP address is dynamic.
provisioning_mode:
type: string
description: Information about this address provisioning mode.
enum:
- manual
- dhcp
- slaac
default: manual
tags:
type: array
description: Tags associated with the IP.
items:
type: string
ipam_id:
type: string
description: The ip_id of an IPAM ip if the ip is created from IPAM, null if not. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
state:
type: string
description: IP address state.
enum:
- unknown_state
- detached
- attached
- pending
- error
default: unknown_state
x-properties-order:
- id
- address
- gateway
- netmask
- family
- dynamic
- provisioning_mode
- tags
- ipam_id
- state
public_ips:
type: array
description: Information about all the public IPs attached to the server.
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Ip'
mac_address:
type: string
description: The server's MAC address.
modification_date:
type: string
description: Instance modification date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
state:
type: string
description: Instance state.
enum:
- running
- stopped
- stopped in place
- starting
- stopping
- locked
default: running
location:
type: object
description: Instance location.
properties:
cluster_id:
type: string
hypervisor_id:
type: string
node_id:
type: string
platform_id:
type: string
zone_id:
type: string
x-properties-order:
- cluster_id
- hypervisor_id
- node_id
- platform_id
- zone_id
ipv6:
type: object
description: Instance IPv6 address (deprecated when `routed_ip_enabled` is `True`).
deprecated: true
properties:
address:
type: string
description: Instance IPv6 IP-Address. (IPv6 address)
example: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
gateway:
type: string
description: IPv6 IP-addresses gateway. (IPv6 address)
example: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
netmask:
type: string
description: IPv6 IP-addresses CIDR netmask.
x-properties-order:
- address
- gateway
- netmask
boot_type:
type: string
description: Instance boot type.
enum:
- local
- bootscript
- rescue
default: local
volumes:
type: object
description: Instance volumes.
properties:
:
type: object
description: Instance volumes.
properties:
id:
type: string
name:
type: string
export_uri:
type: string
deprecated: true
organization:
type: string
server:
$ref: '#/components/schemas/scaleway.instance.v1.ServerSummary'
size:
type: integer
description: (in bytes)
format: uint64
volume_type:
$ref: '#/components/schemas/scaleway.instance.v1.VolumeServer.VolumeType'
creation_date:
type: string
description: (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
modification_date:
type: string
description: (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
state:
$ref: '#/components/schemas/scaleway.instance.v1.VolumeServer.State'
project:
type: string
boot:
type: boolean
zone:
type: string
description: The zone you want to target
x-properties-order:
- id
- name
- export_uri
- organization
- server
- size
- volume_type
- creation_date
- modification_date
- state
- project
- boot
- zone
additionalProperties: true
security_group:
type: object
description: Instance security group.
properties:
id:
type: string
name:
type: string
x-properties-order:
- id
- name
maintenances:
type: array
description: Instance planned maintenance.
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Maintenance'
state_detail:
type: string
description: Detailed information about the Instance state.
arch:
type: string
description: Instance architecture.
enum:
- unknown_arch
- x86_64
- arm
- arm64
default: unknown_arch
placement_group:
type: object
description: Instance placement group.
properties:
id:
type: string
description: Placement group unique ID.
name:
type: string
description: Placement group name.
organization:
type: string
description: Placement group Organization ID.
project:
type: string
description: Placement group Project ID.
tags:
type: array
description: Placement group tags.
items:
type: string
policy_mode:
type: string
description: Select the failure mode when the placement cannot be respected, either optional or enforced.
enum:
- optional
- enforced
default: optional
policy_type:
type: string
description: Select the behavior of the placement group, either low_latency (group) or max_availability (spread).
enum:
- max_availability
- low_latency
default: max_availability
policy_respected:
type: boolean
description: 'True if the policy is respected, false otherwise.
In the server endpoints the value is always false as it is deprecated.
In the placement group endpoints the value is correct.'
zone:
type: string
description: Zone in which the placement group is located.
x-properties-order:
- id
- name
- organization
- project
- tags
- policy_mode
- policy_type
- policy_respected
- zone
private_nics:
type: array
description: Instance private NICs.
items:
$ref: '#/components/schemas/scaleway.instance.v1.PrivateNIC'
zone:
type: string
description: Zone in which the Instance is located.
admin_password_encryption_ssh_key_id:
type: string
description: 'UUID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it. Mandatory for Windows OS.
The public_key value of this key is used to encrypt the admin password. When set to an empty string, reset this value and admin_password_encrypted_value to an empty string so a new password may be generated.'
nullable: true
admin_password_encrypted_value:
type: string
description: 'A base64 encoded string containing the admin password encrypted with the public key pointed to by admin_password_encryption_ssh_key_id.
This value is reset when admin_password_encryption_ssh_key_id is set to an empty string.'
nullable: true
filesystems:
type: array
description: List of attached filesystems.
items:
$ref: '#/components/schemas/scaleway.instance.v1.Server.Filesystem'
end_of_service:
type: boolean
description: True if the Instance type has reached end of service.
dns:
type: string
description: Public DNS of the server.
nullable: true
x-properties-order:
- id
- name
- organization
- project
- allowed_actions
- tags
- commercial_type
- creation_date
- dynamic_ip_required
- routed_ip_enabled
- enable_ipv6
- hostname
- image
- protected
- private_ip
- public_ip
- public_ips
- mac_address
- modification_date
- state
- location
- ipv6
- boot_type
- volumes
- security_group
- maintenances
- state_detail
- arch
- placement_group
- private_nics
- zone
- admin_password_encryption_ssh_key_id
- admin_password_encrypted_value
- filesystems
- end_of_service
- dns
scaleway.instance.v1.SecurityGroupTemplate:
type: object
properties:
id:
type: string
name:
type: string
x-properties-order:
- id
- name
scaleway.instance.v1.Server.Ip:
type: object
properties:
id:
type: string
description: Unique ID of the IP address.
address:
type: string
description: Instance's public IP-Address. (IP address)
example: 1.2.3.4
gateway:
type: string
description: Gateway's IP address. (IP address)
example: 1.2.3.4
netmask:
type: string
description: CIDR netmask.
family:
type: string
description: IP address family (inet or inet6).
enum:
- inet
- inet6
default: inet
dynamic:
type: boolean
description: True if the IP address is dynamic.
provisioning_mode:
type: string
description: Information about this address provisioning mode.
enum:
- manual
- dhcp
- slaac
default: manual
tags:
type: array
description: Tags associated with the IP.
items:
type: string
ipam_id:
type: string
description: The ip_id of an IPAM ip if the ip is created from IPAM, null if not. (UUID format)
example: 6170692e-7363-616c-6577-61792e636f6d
state:
type: string
description: IP address state.
enum:
- unknown_state
- detached
- attached
- pending
- error
default: unknown_state
x-properties-order:
- id
- address
- gateway
- netmask
- family
- dynamic
- provisioning_mode
- tags
- ipam_id
- state
scaleway.instance.v1.AttachServerVolumeResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.Server.Action:
type: string
enum:
- poweron
- backup
- stop_in_place
- poweroff
- terminate
- reboot
- enable_routed_ip
default: poweron
scaleway.instance.v1.VolumeServer.VolumeType:
type: string
enum:
- l_ssd
- b_ssd
- sbs_volume
- scratch
x-enum-descriptions:
values:
b_ssd: Deprecated
default: l_ssd
scaleway.instance.v1.ServerCompatibleTypes:
type: object
properties:
compatible_types:
type: array
description: Instance compatible types.
items:
type: string
x-properties-order:
- compatible_types
scaleway.instance.v1.CreateServerResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.Server.Maintenance:
type: object
properties:
reason:
type: string
start_date:
type: string
description: (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
x-properties-order:
- reason
- start_date
scaleway.instance.v1.VolumeServer.State:
type: string
enum:
- available
- snapshotting
- resizing
- fetching
- saving
- hotsyncing
- attaching
- error
default: available
scaleway.instance.v1.DetachServerFileSystemResponse:
type: object
properties:
server:
$ref: '#/components/schemas/scaleway.instance.v1.Server'
x-properties-order:
- server
scaleway.instance.v1.VolumeServerTemplate:
type: object
properties:
id:
type: string
description: UUID of the volume.
nullable: true
boot:
type: boolean
description: Force the Instance to boot on this volume.
nullable: true
default: false
name:
type: string
description: Name of the volume.
nullable: true
size:
type: integer
description: Disk size of the volume, must be a multiple of 512. (in bytes)
format: uint64
nullable: true
volume_type:
type: string
description: Type of the volume.
enum:
- l_ssd
- b_ssd
- unified
- scratch
- sbs_volume
- sbs_snapshot
x-enum-descriptions:
values:
b_ssd: Deprecated
unified: Deprecated
default: l_ssd
base_snapshot:
type: string
description: ID of the snapshot on which this volume will be based.
nullable: true
organization:
type: string
description: Organization ID of the volume.
nullable: true
project:
type: string
description: Project ID of the volume.
nullable: true
x-properties-order:
- id
- boot
- name
- size
- volume_type
- base_snapshot
- organization
- project
scaleway.instance.v1.ServerActionResponse:
type: object
properties:
task:
$ref: '#/components/schemas/scaleway.instance.v1.Task'
x-properties-order:
- task
scaleway.instance.v1.VolumeSummary:
type: object
properties:
id:
type: string
name:
type: string
size:
type: integer
description: (in bytes)
format: uint64
volume_type:
$ref: '#/components/schemas/scaleway.instance.v1.Volume.VolumeType'
x-properties-order:
- id
- name
- size
- volume_type
scaleway.instance.v1.PrivateNIC:
type: object
properties:
id:
type: string
description: Private NIC unique ID.
server_id:
type: string
description: Instance to which the private NIC is attached.
private_network_id:
type: string
description: Private Network the private NIC is attached to.
mac_address:
type: string
description: Private NIC MAC address.
state:
type: string
description: Private NIC state.
enum:
- available
- syncing
- syncing_error
default: available
tags:
type: array
description: Private NIC tags.
items:
type: string
creation_date:
type: string
description: Private NIC creation date. (RFC 3339 format)
format: date-time
example: '2022-03-22T12:34:56.123456Z'
nullable: true
zone:
type: string
description: The zone in which the Private NIC is located.
x-properties-order:
- id
- server_id
- private_network_id
- mac_address
- state
- tags
- creation_date
- zone
securitySchemes:
scaleway:
in: header
name: X-Auth-Token
type: apiKey