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