openapi: 3.1.0 info: title: Instance API description: |- Scaleway Instances are virtual machines in the cloud. Different [Instance types](https://www.scaleway.com/en/docs/instances/reference-content/choosing-instance-type/) offer different technical specifications in terms of vCPU, RAM, bandwidth and storage. Once you have created your Instance and installed your image of choice (e.g. an operating system), you can [connect to your Instance via SSH](https://www.scaleway.com/en/docs/instances/how-to/connect-to-instance/) to use it as you wish. When you are done using the Instance, you can delete it from your account. To retrieve information about the different [images](#path-images) available to install on Scaleway Instances, check out our [Marketplace API](https://www.scaleway.com/en/developers/api/marketplace/). ## Concepts Refer to our [dedicated concepts page](https://www.scaleway.com/en/docs/instances/concepts/) to find definitions of all concepts and terminology related to Instances. ## Quickstart 1. Configure your environment variables This is an optional step that seeks to simplify your usage of the Instances API. See [Availability Zones](#availability-zones) below for help choosing an Availability Zone. You can find your Project ID in the [Scaleway console](https://console.scaleway.com/project/settings). ```bash export SCW_SECRET_KEY="" export SCW_DEFAULT_ZONE="" export SCW_PROJECT_ID="" ``` 2. **Create an Instance**: Run the following command to create an Instance. You can customize the details in the payload (name, description, type, tags etc) to your needs: use the information below to adjust the payload as necessary. ```bash curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ "https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers" \ -d '{ "name": "my-new-instance", "project": "'"$SCW_PROJECT_ID"'", "commercial_type": "GP1-S", "image": "ubuntu_noble", "enable_ipv6": true, "volumes": { "0":{ "size": 300000000000, "volume_type": "l_ssd" } } }' ``` | Parameter | Description | Valid values | |:------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `name` | A name of your choice for the Instance (string) | Any string containing only alphanumeric characters, dots, spaces and dashes, e.g. `"my-new-instance"`. | | `project` | The Project in which the Instance should be created (string) | Any valid Scaleway Project ID (see above), e.g. `"b4bd99e0-b389-11ed-afa1-0242ac120002"` | | `commercial-type` | The commercial Instance type to create (string) | Any valid ID of a Scaleway commercial Instance type, e.g. `"GP1-S"`, `"PRO2-M"`. Use the [List Instance Types](#path-instance-types-list-instance-types) endpoint to get a list of all valid Instance types and their IDs. | | `image` | The image to install on the Instance, e.g. a particular OS (string) | Any Scaleway image label, e.g. `"ubuntu_noble"`, or any valid Scaleway image ID, e.g. `"6fc0ade6-d6a3-4fb9-87ab-2444ac71e5c0"` which is the ID for the `Ubuntu 24.04 Noble Numbat` image. Use the [List Instance Images](#path-images-list-instance-images) endpoint to get a list of all available images with their IDs and labels, or check out the [Scaleway Marketplace API](https://www.scaleway.com/en/developers/api/marketplace/). | | `enable_ipv6` | Whether to enable IPv6 on the Instance (boolean) | `true` or `false` | | `volumes` | An object that specifies the storage volumes to attach to the Instance. For more information, see **Creating an Instance: the volumes object** in the [Technical information](#technical-information) section of this quickstart. | A (dictionary) object with a minimum of one key (`"0"`) whose value is another object containing the parameters `"name"` (a name for the volume), `"size"` (the size for the volume, in bytes), and `"volume_type"` (`"l_ssd"`). Additional keys for additional volumes should increment by 1 each time (the second volume would have a key of `1`.) Further parameters are available, and it is possible to attach existing volumes rather than creating a new one, or create a volume from a snapshot. | 3. **List your Instances**: run the following command to get a list of all the Instances in your account, with their details: ```bash curl -X GET \ -H "Content-Type: application/json" \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers/" ``` 4. **Delete an Instance**: run the following command to delete an Instance, specified by its Instance ID: ```bash curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ "https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers/" ``` The expected successful response is empty. - You have a [Scaleway account](https://console.scaleway.com/) - 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 - You have [installed `curl`](https://curl.se/download.html) ## Technical information ### Availability Zones Instances can be deployed in the following Availability Zones: | Name | API ID | |-----------|-----------------------| | Paris | `fr-par-1` `fr-par-2` `fr-par-3` | | Amsterdam | `nl-ams-1` `nl-ams-2` `nl-ams-3` | | Warsaw | `pl-waw-1` `pl-waw-2` `pl-waw-3` | ### Pagination Most listing requests receive a paginated response. Requests against paginated endpoints accept two `query` arguments: - `page`, a positive integer to choose which page to return. - `per_page`, an positive integer lower or equal to 100 to select the number of items to return per page. The default value is `50`. Paginated endpoints usually also accept filters to search and sort results.These filters are documented along each endpoint documentation. The `X-Total-Count` header contains the total number of items returned. ### Creating an Instance: the volumes object When [creating an Instance](#path-instances-create-an-instance) using the Scaleway API, the `volumes` object is **not strictly required**. However, the defaults vary depending on certain conditions: 1. If an image label is used: - The default will be an `sbs_volume` volume. - The size of this volume will be the OS size (typically 10GB in most cases). 2. If an image ID from the marketplace is used: - If the Instance supports local storage: - The default will be an `l_ssd` volume. - The size of this volume will be the instance's maximum local storage capacity. - Else, the volume created will depend on the marketplace's local_image type: - SBS volume for instance_sbs type. - l_ssd volume for instance_local type. If you want to customize the storage configuration or add additional volumes, you will need to include the volumes object in your API request. This object should contain at least one (dictionary) object with a minimum of one key (`"0"`) whose value is another object containing the parameters `"name"` (a name for the volume), `"size"` (the size for the volume, in bytes), and `"volume_type"` (`"sbs_volume"` or `"l_ssd"`). Additional keys for additional volumes should increment by 1 each time (the second volume would have a key of `"1"`.) Note that volume `size` must respect the volume constraints of the Instance's `commercial_type`: for each type of Instance, a minimum amount of storage is required, and there is also a maximum that cannot be exceeded. All Instance types support Block Storage (`sbs_volume`), some also support local storage (`l_ssd`). Read more about these constraints in the [List Instance types](#path-instance-types-list-instance-types) documentation, specifically the `volume_constraints` parameter for each type listed in the response You can use the `volumes` object in different ways. The table below shows which parameters are required for each of the following use cases: | Use case | Required params | Optional params | Notes | |-------------------------|-----------------------|---------------------|----------------------------------------| | Create a volume (`l_ssd`, `sbs_volume`) from a snapshot of an image | | `volume_type`, `size`, `boot` | If the `size` parameter is not set, the size of the volume will equal the size of the corresponding snapshot of the image. The image snapshot type should be compatible with the `volume_type`. | | Create a volume (`l_ssd`) from a snapshot | `base_snapshot`, `name`, `volume_type` | `boot` | | | Create a volume of type `sbs_volume` from a snapshot | `base_snapshot`, `name`, `volume_type` | `size`, `boot` | | | Create an empty volume | `name`, `volume_type`, `size` | `boot` | | | Attach an existing volume (`l_ssd`) | `id` | `boot` | | | Attach an existing volume of type `sbs_volume` | `id`, `volume_type` | `boot` | | This information is designed to help you correctly configure the `volumes` object when using the [Create an Instance](#path-instances-create-an-instance) or [Update an Instance](#path-instances-update-an-instance) methods. ## Going further For more help using Scaleway Instances, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/instances/) - The #instance channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/). 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.** - name: Images description: | Images are backups of your Instances. One image will contain all the volumes of your Instance and can be used to restore your Instance and its data. You can also use it to create a series of Instances with a predefined configuration. To copy not all but only one specified volume of an Instance, you can use the snapshot feature instead. - name: Security Groups description: | A security group is a set of firewall rules on a set of Instances. Security groups enable you to create rules that either drop or allow incoming traffic from certain ports of your Instances. Security groups are stateful by default which means return traffic is automatically allowed, regardless of any rules. As a contrary, you have to switch in a stateless mode to define explicitly allowed. - name: User Data description: | User data is a key/value store you can use to provide your instance with introspective data. As an example of use, Scaleway images contain the `scw-generate-ssh-keys` script, which generates the SSH server’s host keys, then stores their fingerprints as user data under the `ssh-host-fingerprints` key. This way, before connecting to the instance using SSH, one can query the fingerprints to ensure that the remote host is the expected one, thus avoiding any man-in-the-middle attack. There are two ways of accessing user data: - **From within a running Instance**, by requesting the Metadata API at http://169.254.42.42/user_data (or http://[fd00:42::42]/user_data using IPv6). The `scaleway-ecosystem` package, installed by default on all OS images provided by Scaleway, ships with the `scw-userdata` helper command that allows you to easily query the user data from the instance. For security reasons, viewing and editing user data is only allowed to queries originating from a port below 1024 (by default, only the super-user can bind to ports below 1024). To specify the source port with cURL, use the `--local-port` option (e.g. `curl --local-port 1-1023 http://169.254.42.42/user_data`). - **From the Instance API** by using the methods described below. - name: Instance Types description: | All Instance types available in a specified zone. Each type contains all the features of the Instance (CPU, RAM, Storage) as well as their associated pricing. - name: Volume Types description: | All volume types available in a specified zone. Each of these types will contains all the capabilities and constraints of the volume (min size, max size, snapshot). - name: IPs description: | A flexible IP address is an IP address which you hold independently of any Instance. You can attach it to any of your Instances and do live migration of the IP address between your Instances. Note that attaching a flexible IP address to an Instance removes its previous public IP and interrupts any ongoing public connection to the Instance. This does not apply if you have migrated your server to the new Network stack and have at least one flexible IP attached to the Instance. - name: Volumes description: | A volume is where you store your data inside your Instance. It appears as a block device on Linux that you can use to create a filesystem and mount it. The Instance API only supports local (`l_ssd`) and `scratch` volume types. Block storage volumes can also be attached to Instances, these volumes are managed by the SBS API (https://www.scaleway.com/en/developers/api/block/). Minimum and maximum volume sizes for each volume types can be queried from the zone `/products/volumes` API endpoint. _I.e_ for: - `fr-par-1` use https://api.scaleway.com/instance/v1/zones/fr-par-1/products/volumes - `nl-ams-1` use https://api.scaleway.com/instance/v1/zones/nl-ams-1/products/volumes Each type of volume is also subject to a global quota for the sum of all the volumes. This quota depends of the level of support and may be changed on demand. When using multiple block devices, it's advised to mount them by using their UUID instead of their device name. A device name is subject to change depending on the volumes order. Block devices UUIDs can be found in `/dev/disk/by-id/`. - name: Snapshots description: | Snapshots contain the data of a specified volume at a particular point in time. The data can include the Instance's operating system, configuration information and/or files stored on the volume. A snapshot can be done from a specified volume, e.g. you have one Instance with a volume containing the OS and another one containing the application data, and you want to use different snapshot strategies on both volumes. Volumes can be created from snapshots of their own type. - name: Placement Groups description: | Placement groups allow the user to express a preference regarding the physical position of a group of Instances. The feature lets the user choose to either group Instances on the same physical hardware for best network throughput and low latency or to spread Instances across physically distanced hardware to reduce the risk of physical failure. The operating mode is selected by a `policy_type`. Two policy types are available: - `low_latency` will group Instances on the same hypervisors - `max_availability` will spread Instances across physically distanced hypervisors The `policy_type` is set to `max_availability` by default. For each policy types, one of the two `policy_mode` may be selected: - `optional` will start your Instances even if the constraint is not respected - `enforced` guarantees that if the Instance starts, the constraint is respected The `policy_mode` is set by default to `optional`. - name: Private NICs description: | A Private NIC is the network interface that connects an Instance to a Private Network. An Instance can have multiple private NICs at the same time, but each NIC must belong to a different Private Network. components: schemas: google.protobuf.BoolValue: type: boolean nullable: true google.protobuf.Int32Value: type: integer format: int32 nullable: true google.protobuf.StringValue: type: string nullable: true google.protobuf.UInt32Value: type: integer format: uint32 nullable: true scaleway.instance.v1.Arch: type: string enum: - unknown_arch - x86_64 - arm - arm64 default: unknown_arch scaleway.instance.v1.AttachServerFileSystemResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server 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.AttachServerVolumeResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.BootType: type: string enum: - local - bootscript - rescue default: local 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.CreateImageResponse: type: object properties: image: $ref: '#/components/schemas/scaleway.instance.v1.Image' x-properties-order: - image scaleway.instance.v1.CreateIpResponse: type: object properties: ip: $ref: '#/components/schemas/scaleway.instance.v1.Ip' x-properties-order: - ip scaleway.instance.v1.CreatePlacementGroupResponse: type: object properties: placement_group: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup' x-properties-order: - placement_group scaleway.instance.v1.CreatePrivateNICResponse: type: object properties: private_nic: $ref: '#/components/schemas/scaleway.instance.v1.PrivateNIC' x-properties-order: - private_nic scaleway.instance.v1.CreateSecurityGroupResponse: type: object properties: security_group: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroup' x-properties-order: - security_group scaleway.instance.v1.CreateSecurityGroupRuleResponse: type: object properties: rule: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rule scaleway.instance.v1.CreateServerResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.CreateSnapshotResponse: type: object properties: snapshot: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' task: $ref: '#/components/schemas/scaleway.instance.v1.Task' x-properties-order: - snapshot - task scaleway.instance.v1.CreateVolumeResponse: type: object properties: volume: $ref: '#/components/schemas/scaleway.instance.v1.Volume' x-properties-order: - volume scaleway.instance.v1.Dashboard: type: object properties: volumes_count: type: integer format: uint32 running_servers_count: type: integer format: uint32 servers_by_types: type: object properties: : type: integer format: uint32 additionalProperties: true images_count: type: integer format: uint32 snapshots_count: type: integer format: uint32 servers_count: type: integer format: uint32 ips_count: type: integer format: uint32 security_groups_count: type: integer format: uint32 ips_unused: type: integer format: uint32 volumes_l_ssd_count: type: integer format: uint32 volumes_l_ssd_total_size: type: integer description: (in bytes) format: uint64 private_nics_count: type: integer format: uint32 placement_groups_count: type: integer format: uint32 volumes_scratch_count: type: integer format: uint32 volumes_b_ssd_count: type: integer deprecated: true format: uint32 volumes_b_ssd_total_size: type: integer description: (in bytes) deprecated: true format: uint64 x-properties-order: - volumes_count - running_servers_count - servers_by_types - images_count - snapshots_count - servers_count - ips_count - security_groups_count - ips_unused - volumes_l_ssd_count - volumes_l_ssd_total_size - private_nics_count - placement_groups_count - volumes_scratch_count - volumes_b_ssd_count - volumes_b_ssd_total_size scaleway.instance.v1.DetachServerFileSystemResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.DetachServerVolumeResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.ExportSnapshotResponse: type: object properties: task: $ref: '#/components/schemas/scaleway.instance.v1.Task' x-properties-order: - task scaleway.instance.v1.GetDashboardResponse: type: object properties: dashboard: $ref: '#/components/schemas/scaleway.instance.v1.Dashboard' x-properties-order: - dashboard scaleway.instance.v1.GetImageResponse: type: object properties: image: $ref: '#/components/schemas/scaleway.instance.v1.Image' x-properties-order: - image scaleway.instance.v1.GetIpResponse: type: object properties: ip: $ref: '#/components/schemas/scaleway.instance.v1.Ip' x-properties-order: - ip scaleway.instance.v1.GetPlacementGroupResponse: type: object properties: placement_group: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup' x-properties-order: - placement_group scaleway.instance.v1.GetPlacementGroupServersResponse: type: object properties: servers: type: array description: Instances attached to the placement group. items: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroupServer' x-properties-order: - servers scaleway.instance.v1.GetPrivateNICResponse: type: object properties: private_nic: $ref: '#/components/schemas/scaleway.instance.v1.PrivateNIC' x-properties-order: - private_nic scaleway.instance.v1.GetSecurityGroupResponse: type: object properties: security_group: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroup' x-properties-order: - security_group scaleway.instance.v1.GetSecurityGroupRuleResponse: type: object properties: rule: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rule scaleway.instance.v1.GetServerResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.GetServerTypesAvailabilityResponse: type: object properties: servers: type: object description: Map of server types. properties: : type: object description: Map of server types. properties: availability: $ref: '#/components/schemas/scaleway.instance.v1.ServerTypesAvailability' x-properties-order: - availability additionalProperties: true x-properties-order: - servers scaleway.instance.v1.GetSnapshotResponse: type: object properties: snapshot: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' x-properties-order: - snapshot scaleway.instance.v1.GetVolumeResponse: type: object properties: volume: $ref: '#/components/schemas/scaleway.instance.v1.Volume' x-properties-order: - volume scaleway.instance.v1.Image: type: object 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 scaleway.instance.v1.Image.State: type: string enum: - available - creating - error default: available scaleway.instance.v1.Ip: type: object properties: id: type: string address: type: string description: (IP address) example: 1.2.3.4 reverse: $ref: '#/components/schemas/google.protobuf.StringValue' server: $ref: '#/components/schemas/scaleway.instance.v1.ServerSummary' organization: type: string tags: type: array items: type: string project: type: string type: $ref: '#/components/schemas/scaleway.instance.v1.IpType' state: $ref: '#/components/schemas/scaleway.instance.v1.Ip.State' prefix: type: string description: (IP network) example: 1.2.3.4/32 ipam_id: type: string description: (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d zone: type: string description: The zone you want to target x-properties-order: - id - address - reverse - server - organization - tags - project - type - state - prefix - ipam_id - zone scaleway.instance.v1.Ip.State: type: string enum: - unknown_state - detached - attached - pending - error default: unknown_state scaleway.instance.v1.IpType: type: string enum: - unknown_iptype - routed_ipv4 - routed_ipv6 default: unknown_iptype scaleway.instance.v1.ListImagesResponse: type: object properties: images: type: array description: List of images. items: $ref: '#/components/schemas/scaleway.instance.v1.Image' x-properties-order: - images scaleway.instance.v1.ListIpsResponse: type: object properties: ips: type: array description: List of ips. items: $ref: '#/components/schemas/scaleway.instance.v1.Ip' x-properties-order: - ips scaleway.instance.v1.ListPlacementGroupsResponse: type: object properties: placement_groups: type: array description: List of placement groups. items: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup' x-properties-order: - placement_groups scaleway.instance.v1.ListPrivateNICsResponse: type: object properties: private_nics: type: array items: $ref: '#/components/schemas/scaleway.instance.v1.PrivateNIC' total_count: type: integer format: uint64 x-properties-order: - private_nics - total_count scaleway.instance.v1.ListSecurityGroupRulesResponse: type: object properties: rules: type: array description: List of security rules. items: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rules scaleway.instance.v1.ListSecurityGroupsResponse: type: object properties: security_groups: type: array description: List of security groups. items: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroup' x-properties-order: - security_groups 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.ListServerUserDataResponse: type: object properties: user_data: type: array items: type: string x-properties-order: - user_data 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.ListServersTypesResponse: type: object properties: servers: type: object description: List of Instance types. properties: : type: object description: List of Instance types. properties: monthly_price: type: number description: Estimated monthly price, for a 30 days month, in Euro. deprecated: true format: float hourly_price: type: number description: Hourly price in Euro. format: float alt_names: type: array description: Alternative Instance name, if any. items: type: string per_volume_constraint: type: object description: Additional volume constraints. properties: l_ssd: type: object description: Local SSD volumes. properties: min_size: type: integer description: Minimum volume size in bytes. (in bytes) format: uint64 max_size: type: integer description: Maximum volume size in bytes. (in bytes) format: uint64 x-properties-order: - min_size - max_size x-properties-order: - l_ssd volumes_constraint: type: object description: Initial volume constraints. properties: min_size: type: integer description: Minimum volume size in bytes. (in bytes) format: uint64 max_size: type: integer description: Maximum volume size in bytes. (in bytes) format: uint64 x-properties-order: - min_size - max_size ncpus: type: integer description: Number of CPU. format: uint32 gpu: type: integer description: Number of GPU. format: uint64 nullable: true ram: type: integer description: Available RAM in bytes. format: uint64 gpu_info: type: object description: GPU information. properties: gpu_manufacturer: type: string description: GPU manufacturer. gpu_name: type: string description: GPU model name. gpu_memory: type: integer description: RAM of a single GPU, in bytes. (in bytes) format: uint64 x-properties-order: - gpu_manufacturer - gpu_name - gpu_memory arch: type: string description: CPU architecture. enum: - unknown_arch - x86_64 - arm - arm64 default: unknown_arch network: type: object description: Network available for the Instance. properties: interfaces: type: array description: List of available network interfaces. items: $ref: '#/components/schemas/scaleway.instance.v1.ServerType.Network.Interface' sum_internal_bandwidth: type: integer description: Total maximum internal bandwidth in bits per seconds. format: uint64 nullable: true sum_internet_bandwidth: type: integer description: Total maximum internet bandwidth in bits per seconds. format: uint64 nullable: true ipv6_support: type: boolean description: True if IPv6 is enabled. x-properties-order: - interfaces - sum_internal_bandwidth - sum_internet_bandwidth - ipv6_support capabilities: type: object description: Capabilities. properties: block_storage: type: boolean description: Defines whether the Instance supports block storage. nullable: true boot_types: type: array description: List of supported boot types. items: $ref: '#/components/schemas/scaleway.instance.v1.BootType' max_file_systems: type: integer description: Max number of SFS (Scaleway File Systems) that can be attached to the Instance. format: uint32 x-properties-order: - block_storage - boot_types - max_file_systems scratch_storage_max_size: type: integer description: Maximum available scratch storage. (in bytes) format: uint64 nullable: true scratch_storage_max_volumes_count: type: integer description: Maximum supported number of scratch volumes. format: uint32 block_bandwidth: type: integer description: The maximum bandwidth allocated to block storage access (in bytes per second). format: uint64 nullable: true end_of_service: type: boolean description: True if this Instance type has reached end of service. x-properties-order: - monthly_price - hourly_price - alt_names - per_volume_constraint - volumes_constraint - ncpus - gpu - ram - gpu_info - arch - network - capabilities - scratch_storage_max_size - scratch_storage_max_volumes_count - block_bandwidth - end_of_service additionalProperties: true x-properties-order: - servers scaleway.instance.v1.ListSnapshotsResponse: type: object properties: snapshots: type: array description: List of snapshots. items: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' x-properties-order: - snapshots scaleway.instance.v1.ListVolumesResponse: type: object properties: volumes: type: array description: List of volumes. items: $ref: '#/components/schemas/scaleway.instance.v1.Volume' x-properties-order: - volumes scaleway.instance.v1.ListVolumesTypesResponse: type: object properties: volumes: type: object description: Map of volume types. properties: : type: object description: Map of volume types. properties: display_name: type: string capabilities: $ref: '#/components/schemas/scaleway.instance.v1.VolumeType.Capabilities' constraints: $ref: '#/components/schemas/scaleway.instance.v1.VolumeType.Constraints' x-properties-order: - display_name - capabilities - constraints additionalProperties: true x-properties-order: - volumes scaleway.instance.v1.MigrationPlan: type: object properties: volume: type: object description: A volume which will be migrated to SBS together with the snapshots, if present. 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 snapshots: type: array description: A list of snapshots which will be migrated to SBS together and with the volume, if present. items: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' validation_key: type: string description: A value to be passed to the call to the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint, to confirm that the execution of the plan is being requested. x-properties-order: - volume - snapshots - validation_key scaleway.instance.v1.NullableStringValue: type: string nullable: true scaleway.instance.v1.PlacementGroup: type: object 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 scaleway.instance.v1.PlacementGroup.PolicyMode: type: string enum: - optional - enforced default: optional scaleway.instance.v1.PlacementGroup.PolicyType: type: string enum: - max_availability - low_latency default: max_availability scaleway.instance.v1.PlacementGroupServer: type: object properties: id: type: string description: Instance UUID. name: type: string description: Instance name. policy_respected: type: boolean description: Defines whether the placement group policy is respected (either 1 or 0). x-properties-order: - id - name - policy_respected 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 scaleway.instance.v1.SecurityGroup: type: object properties: id: type: string description: Security group unique ID. name: type: string description: Security group name. description: type: string description: Security group description. enable_default_security: type: boolean description: True if SMTP is blocked on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. inbound_default_policy: type: string description: Default inbound policy. enum: - unknown_policy - accept - drop default: unknown_policy outbound_default_policy: type: string description: Default outbound policy. enum: - unknown_policy - accept - drop default: unknown_policy organization: type: string description: Security group Organization ID. project: type: string description: Security group Project ID. tags: type: array description: Security group tags. items: type: string organization_default: type: boolean description: True if it is your default security group for this Organization ID. deprecated: true project_default: type: boolean description: True if it is your default security group for this Project ID. creation_date: type: string description: Security group creation date. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true modification_date: type: string description: Security group modification date. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true servers: type: array description: List of Instances attached to this security group. items: $ref: '#/components/schemas/scaleway.instance.v1.ServerSummary' stateful: type: boolean description: Defines whether the security group is stateful. state: type: string description: Security group state. enum: - available - syncing - syncing_error default: available zone: type: string description: Zone in which the security group is located. x-properties-order: - id - name - description - enable_default_security - inbound_default_policy - outbound_default_policy - organization - project - tags - organization_default - project_default - creation_date - modification_date - servers - stateful - state - zone scaleway.instance.v1.SecurityGroupRule: type: object properties: id: type: string protocol: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Protocol' direction: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Direction' action: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Action' ip_range: type: string description: (IP network) example: 1.2.3.4/32 dest_port_from: $ref: '#/components/schemas/google.protobuf.UInt32Value' dest_port_to: $ref: '#/components/schemas/google.protobuf.UInt32Value' position: type: integer format: uint32 editable: type: boolean zone: type: string description: The zone you want to target x-properties-order: - id - protocol - direction - action - ip_range - dest_port_from - dest_port_to - position - editable - zone scaleway.instance.v1.SecurityGroupRule.Action: type: string enum: - unknown_action - accept - drop default: unknown_action scaleway.instance.v1.SecurityGroupRule.Direction: type: string enum: - unknown_direction - inbound - outbound default: unknown_direction scaleway.instance.v1.SecurityGroupRule.Protocol: type: string enum: - unknown_protocol - TCP - UDP - ICMP - ANY default: unknown_protocol scaleway.instance.v1.SecurityGroupTemplate: type: object properties: id: type: string name: type: string x-properties-order: - id - name 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.Server.Action: type: string enum: - poweron - backup - stop_in_place - poweroff - terminate - reboot - enable_routed_ip default: poweron 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.Server.Filesystem.State: type: string enum: - unknown_state - attaching - available - detaching default: unknown_state 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.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.ServerActionResponse: type: object properties: task: $ref: '#/components/schemas/scaleway.instance.v1.Task' x-properties-order: - task 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.ServerSummary: type: object properties: id: type: string name: type: string x-properties-order: - id - name scaleway.instance.v1.ServerType.Network.Interface: type: object properties: internal_bandwidth: type: integer description: Maximum internal bandwidth in bits per seconds. format: uint64 nullable: true internet_bandwidth: type: integer description: Maximum internet bandwidth in bits per seconds. format: uint64 nullable: true x-properties-order: - internal_bandwidth - internet_bandwidth scaleway.instance.v1.ServerTypesAvailability: type: string enum: - available - scarce - shortage default: available scaleway.instance.v1.SetImageResponse: type: object properties: image: $ref: '#/components/schemas/scaleway.instance.v1.Image' x-properties-order: - image scaleway.instance.v1.SetPlacementGroupResponse: type: object properties: placement_group: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup' x-properties-order: - placement_group scaleway.instance.v1.SetPlacementGroupServersResponse: type: object properties: servers: type: array description: Instances attached to the placement group. items: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroupServer' x-properties-order: - servers scaleway.instance.v1.SetSecurityGroupResponse: type: object properties: security_group: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroup' x-properties-order: - security_group scaleway.instance.v1.SetSecurityGroupRuleResponse: type: object properties: rule: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rule scaleway.instance.v1.SetSecurityGroupRulesRequest.Rule: type: object properties: id: type: string description: UUID of the security rule to update. If no value is provided, a new rule will be created. nullable: true action: type: string description: Action to apply when the rule matches a packet. enum: - unknown_action - accept - drop default: unknown_action protocol: type: string description: Protocol family this rule applies to. enum: - unknown_protocol - TCP - UDP - ICMP - ANY default: unknown_protocol direction: type: string description: Direction the rule applies to. enum: - unknown_direction - inbound - outbound default: unknown_direction ip_range: type: string description: Range of IP addresses these rules apply to. (IP network) example: 1.2.3.4/32 dest_port_from: type: integer description: Beginning of the range of ports this rule applies to (inclusive). This value will be set to null if protocol is ICMP or ANY. format: uint32 nullable: true dest_port_to: type: integer description: End of the range of ports this rule applies to (inclusive). This value will be set to null if protocol is ICMP or ANY, or if it is equal to dest_port_from. format: uint32 nullable: true position: type: integer description: Position of this rule in the security group rules list. If several rules are passed with the same position, the resulting order is undefined. format: uint32 editable: type: boolean description: Indicates if this rule is editable. Rules with the value false will be ignored. nullable: true zone: type: string description: Zone of the rule. This field is ignored. x-properties-order: - id - action - protocol - direction - ip_range - dest_port_from - dest_port_to - position - editable - zone scaleway.instance.v1.SetSecurityGroupRulesResponse: type: object properties: rules: type: array items: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rules scaleway.instance.v1.SetSnapshotResponse: type: object properties: snapshot: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' x-properties-order: - snapshot scaleway.instance.v1.SetVolumeResponse: type: object properties: volume: $ref: '#/components/schemas/scaleway.instance.v1.Volume' x-properties-order: - volume scaleway.instance.v1.Snapshot: type: object properties: id: type: string description: Snapshot ID. name: type: string description: Snapshot name. organization: type: string description: Snapshot Organization ID. project: type: string description: Snapshot Project ID. tags: type: array description: Snapshot tags. items: type: string volume_type: type: string description: Snapshot 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 size: type: integer description: Snapshot size. (in bytes) format: uint64 state: type: string description: Snapshot state. enum: - available - snapshotting - error - invalid_data - importing - exporting default: available base_volume: type: object description: Volume on which the snapshot is based on. properties: id: type: string description: Volume ID on which the snapshot is based. name: type: string description: Volume name on which the snapshot is based on. x-properties-order: - id - name creation_date: type: string description: Snapshot creation date. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true modification_date: type: string description: Snapshot modification date. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true zone: type: string description: Snapshot zone. error_reason: type: string description: Reason for the failed snapshot import. nullable: true x-properties-order: - id - name - organization - project - tags - volume_type - size - state - base_volume - creation_date - modification_date - zone - error_reason scaleway.instance.v1.Snapshot.BaseVolume: type: object properties: id: type: string description: Volume ID on which the snapshot is based. name: type: string description: Volume name on which the snapshot is based on. x-properties-order: - id - name scaleway.instance.v1.Snapshot.State: type: string enum: - available - snapshotting - error - invalid_data - importing - exporting default: available 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.UpdateImageResponse: type: object properties: image: $ref: '#/components/schemas/scaleway.instance.v1.Image' x-properties-order: - image scaleway.instance.v1.UpdateIpResponse: type: object properties: ip: $ref: '#/components/schemas/scaleway.instance.v1.Ip' x-properties-order: - ip scaleway.instance.v1.UpdatePlacementGroupResponse: type: object properties: placement_group: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup' x-properties-order: - placement_group scaleway.instance.v1.UpdatePlacementGroupServersResponse: type: object properties: servers: type: array description: Instances attached to the placement group. items: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroupServer' x-properties-order: - servers scaleway.instance.v1.UpdateSecurityGroupResponse: type: object properties: security_group: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroup' x-properties-order: - security_group scaleway.instance.v1.UpdateSecurityGroupRuleResponse: type: object properties: rule: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule' x-properties-order: - rule scaleway.instance.v1.UpdateServerResponse: type: object properties: server: $ref: '#/components/schemas/scaleway.instance.v1.Server' x-properties-order: - server scaleway.instance.v1.UpdateSnapshotResponse: type: object properties: snapshot: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot' x-properties-order: - snapshot scaleway.instance.v1.UpdateVolumeResponse: type: object properties: volume: $ref: '#/components/schemas/scaleway.instance.v1.Volume' x-properties-order: - volume 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.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.VolumeServer.State: type: string enum: - available - snapshotting - resizing - fetching - saving - hotsyncing - attaching - error default: available 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.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.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.VolumeType.Capabilities: type: object properties: snapshot: type: boolean x-properties-order: - snapshot scaleway.instance.v1.VolumeType.Constraints: type: object properties: min: type: integer description: (in bytes) format: uint64 max: type: integer description: (in bytes) format: uint64 x-properties-order: - min - max scaleway.std.File: type: object properties: name: type: string content_type: type: string content: type: string x-properties-order: - name - content_type - content scaleway.std.StringsValue: type: array nullable: true items: type: string securitySchemes: scaleway: in: header name: X-Auth-Token type: apiKey paths: /instance/v1/zones/{zone}/block-migration/apply: post: tags: - Volumes operationId: ApplyBlockMigration summary: Migrate a volume and/or snapshots to SBS (Scaleway Block Storage) description: To be used, the call to this endpoint must be preceded by a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To migrate all resources mentioned in the migration plan, the validation_key returned in the plan must be provided. 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: "204": description: "" requestBody: required: true content: application/json: schema: type: object properties: volume_id: type: string description: The volume to migrate, along with potentially other resources, according to the migration plan generated with a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. nullable: true x-one-of: resource snapshot_id: type: string description: The snapshot to migrate, along with potentially other resources, according to the migration plan generated with a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. nullable: true x-one-of: resource validation_key: type: string description: A value to be retrieved from a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint, to confirm that the volume and/or snapshots specified in said plan should be migrated. required: - validation_key x-properties-order: - volume_id - snapshot_id - validation_key security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"validation_key":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/apply" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/apply" \ X-Auth-Token:$SCW_SECRET_KEY \ validation_key="string" /instance/v1/zones/{zone}/block-migration/check-organization-quotas: post: operationId: CheckBlockMigrationOrganizationQuotas 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: "204": description: "" requestBody: required: true content: application/json: schema: type: object properties: organization: type: string x-properties-order: - organization security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"organization":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/check-organization-quotas" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/check-organization-quotas" \ X-Auth-Token:$SCW_SECRET_KEY \ organization="string" /instance/v1/zones/{zone}/block-migration/plan: post: tags: - Volumes operationId: PlanBlockMigration summary: Get a volume or snapshot's migration plan description: |- Given a volume or snapshot, returns the migration plan but does not perform the actual migration. To perform the migration, you have to call the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint afterward. The endpoint returns the resources that should be migrated together: - the volume and any snapshots created from the volume, if the call was made to plan a volume migration. - the base volume of the snapshot (if the volume is not deleted) and its related snapshots, if the call was made to plan a snapshot migration. The endpoint also returns the validation_key, which must be provided to the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint to confirm that all resources listed in the plan should be migrated. 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: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.MigrationPlan' requestBody: required: true content: application/json: schema: type: object properties: volume_id: type: string description: The volume for which the migration plan will be generated. nullable: true x-one-of: resource snapshot_id: type: string description: The snapshot for which the migration plan will be generated. nullable: true x-one-of: resource x-properties-order: - volume_id - snapshot_id security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/plan" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/block-migration/plan" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/dashboard: get: operationId: GetDashboard 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: organization schema: $ref: '#/components/schemas/google.protobuf.StringValue' - in: query name: project schema: $ref: '#/components/schemas/google.protobuf.StringValue' responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetDashboardResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/dashboard" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/dashboard" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/images: get: tags: - Images operationId: ListImages summary: List Instance images description: List all existing Instance images. 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: organization schema: $ref: '#/components/schemas/google.protobuf.StringValue' - in: query name: per_page schema: type: integer format: uint32 - in: query name: page schema: $ref: '#/components/schemas/google.protobuf.Int32Value' - in: query name: name schema: $ref: '#/components/schemas/google.protobuf.StringValue' - in: query name: public schema: $ref: '#/components/schemas/google.protobuf.BoolValue' - in: query name: arch schema: $ref: '#/components/schemas/google.protobuf.StringValue' - in: query name: project schema: $ref: '#/components/schemas/google.protobuf.StringValue' - in: query name: tags schema: $ref: '#/components/schemas/google.protobuf.StringValue' responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListImagesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/images" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/images" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Images operationId: CreateImage summary: Create an Instance image description: Create an Instance image from the specified snapshot 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 responses: "201": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.CreateImageResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the image. root_volume: type: string description: UUID of the snapshot. arch: type: string description: Architecture of the image. enum: - unknown_arch - x86_64 - arm - arm64 default: unknown_arch extra_volumes: type: object description: Additional volumes of the image. properties: : type: object description: Additional volumes of the image. properties: id: type: string description: UUID of the volume. name: type: string description: Name of the volume. size: type: integer description: Disk size of the volume, must be a multiple of 512. (in bytes) format: uint64 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 organization: type: string description: Organization ID of the volume. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID of the volume. nullable: true x-one-of: ProjectIdentifier x-properties-order: - id - name - size - volume_type - organization - project additionalProperties: true organization: type: string description: Organization ID of the image. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID of the image. nullable: true x-one-of: ProjectIdentifier tags: type: array description: Tags of the image. items: type: string public: type: boolean description: True to create a public image. nullable: true required: - root_volume - arch x-properties-order: - name - root_volume - arch - extra_volumes - organization - project - tags - public security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "arch": "unknown_arch", "extra_volumes": { "": { "id": "string", "name": "string", "organization": "string", "project": "string", "size": 42, "volume_type": "l_ssd" } }, "name": "string", "root_volume": "string" }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/images" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/images" \ X-Auth-Token:$SCW_SECRET_KEY \ arch="unknown_arch" \ extra_volumes:='{ "": { "id": "string", "name": "string", "organization": "string", "project": "string", "size": 42, "volume_type": "l_ssd" } }' \ name="string" \ root_volume="string" /instance/v1/zones/{zone}/images/{id}: put: tags: - Images operationId: SetImage summary: Update image description: Replace all image properties with an image message. 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: id required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetImageResponse' requestBody: required: true content: application/json: schema: type: object properties: 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: $ref: '#/components/schemas/scaleway.std.StringsValue' x-properties-order: - name - arch - creation_date - modification_date - default_bootscript - extra_volumes - from_server - organization - public - root_volume - state - project - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "extra_volumes": { "": "" }, "from_server": "string", "name": "string", "organization": "string", "project": "string", "public": false }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/images/{id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/images/{id}" \ X-Auth-Token:$SCW_SECRET_KEY \ extra_volumes:='{ "": "" }' \ from_server="string" \ name="string" \ organization="string" \ project="string" \ public:=false /instance/v1/zones/{zone}/images/{image_id}: get: tags: - Images operationId: GetImage summary: Get an Instance image description: Get details of an image 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: image_id description: UUID of the image you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetImageResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Images operationId: UpdateImage summary: Update image description: Update the properties of an image. 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: image_id description: UUID of the image. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateImageResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the image. nullable: true arch: type: string description: Architecture of the image. enum: - unknown_arch - x86_64 - arm - arm64 default: unknown_arch extra_volumes: type: object description: Additional snapshots of the image, with extra_volumeKey being the position of the snapshot in the image. properties: : type: object description: Additional snapshots of the image, with extra_volumeKey being the position of the snapshot in the image. properties: id: type: string description: UUID of the snapshot. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d required: - id x-properties-order: - id additionalProperties: true tags: type: array description: Tags of the image. nullable: true items: type: string public: type: boolean description: True to set the image as public. nullable: true x-properties-order: - name - arch - extra_volumes - tags - public security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"extra_volumes":{"":{"id":"6170692e-7363-616c-6577-61792e636f6d"}}}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ extra_volumes:='{"":{"id":"6170692e-7363-616c-6577-61792e636f6d"}}' delete: tags: - Images operationId: DeleteImage summary: Delete an Instance image description: Delete the image 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: image_id description: UUID of the image you want to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/images/{image_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/ips: get: tags: - IPs operationId: ListIps summary: List all flexible IPs description: List all flexible IPs in a specified zone. 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: project description: Project ID in which the IPs are reserved. schema: type: string - in: query name: organization description: Organization ID in which the IPs are reserved. schema: type: string - in: query name: tags description: Filter IPs with these exact tags (to filter with several tags, use commas to separate them). schema: type: string - in: query name: name description: Filter on the IP address (Works as a LIKE operation on the IP address). schema: type: string - 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: type description: Filter on the IP Mobility IP type (whose value should be either 'routed_ipv4' or 'routed_ipv6'). schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListIpsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/ips" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - IPs operationId: CreateIp summary: Reserve a flexible IP description: Reserve a flexible IP and attach it to the 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 responses: "201": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.CreateIpResponse' requestBody: required: true content: application/json: schema: type: object properties: organization: type: string description: Organization ID in which the IP is reserved. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID in which the IP is reserved. nullable: true x-one-of: ProjectIdentifier tags: type: array description: Tags of the IP. items: type: string server: type: string description: UUID of the Instance you want to attach the IP to. nullable: true type: type: string description: IP type to reserve (either 'routed_ipv4' or 'routed_ipv6'). enum: - unknown_iptype - routed_ipv4 - routed_ipv6 default: unknown_iptype x-properties-order: - organization - project - tags - server - type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/ips" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/ips/{ip_id}/release-to-ipam: post: tags: - IPs operationId: ReleaseIpToIpam summary: Releases the reserved IP without deleting the reservation. description: '**The IP remains available in IPAM**, which means that it is still reserved by the Organization, and can be reattached to another resource (Instance or other product).' 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: ip_id description: ID of the IP you want to release from the Instance but retain in IPAM. required: true schema: type: string responses: "204": description: "" requestBody: required: true content: application/json: schema: type: object security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip_id}/release-to-ipam" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip_id}/release-to-ipam" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/ips/{ip}: get: tags: - IPs operationId: GetIp summary: Get a flexible IP description: Get details of an IP with the specified ID or address. 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: ip description: IP ID or address to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetIpResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - IPs operationId: UpdateIp summary: Update a flexible IP description: Update a flexible IP in the specified zone 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: ip description: IP ID or IP address. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateIpResponse' requestBody: required: true content: application/json: schema: type: object properties: reverse: type: string description: Reverse domain name. nullable: true type: type: string description: Should have no effect. enum: - unknown_iptype - routed_ipv4 - routed_ipv6 default: unknown_iptype tags: type: array description: An array of keywords you want to tag this IP with. nullable: true items: type: string server: $ref: '#/components/schemas/scaleway.instance.v1.NullableStringValue' x-properties-order: - reverse - type - tags - server security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - IPs operationId: DeleteIp summary: Delete a flexible IP description: Delete the IP 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: ip description: ID or address of the IP to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/ips/{ip}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/placement_groups: get: tags: - Placement Groups operationId: ListPlacementGroups summary: List placement groups description: List all placement groups in a specified Availability Zone. 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 placement groups of this Organization ID. schema: type: string - in: query name: project description: List only placement groups of this Project ID. schema: type: string - in: query name: tags description: List placement groups with these exact tags (to filter with several tags, use commas to separate them). schema: type: string - in: query name: name description: Filter placement groups by name (for eg. "cluster1" will return "cluster100" and "cluster1" but not "foo"). schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListPlacementGroupsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Placement Groups operationId: CreatePlacementGroup summary: Create a placement group description: Create a new placement group in a specified Availability Zone. 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.CreatePlacementGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the placement group. organization: type: string description: Organization ID of the placement group. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID of the placement group. nullable: true x-one-of: ProjectIdentifier tags: type: array description: Tags of the placement group. items: type: string policy_mode: type: string description: Operating mode of the placement group. enum: - optional - enforced default: optional policy_type: type: string description: Policy type of the placement group. enum: - max_availability - low_latency default: max_availability x-properties-order: - name - organization - project - tags - policy_mode - policy_type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" /instance/v1/zones/{zone}/placement_groups/{placement_group_id}: get: tags: - Placement Groups operationId: GetPlacementGroup summary: Get a placement group description: Get the specified placement group. 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: placement_group_id description: UUID of the placement group you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetPlacementGroupResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Placement Groups operationId: SetPlacementGroup summary: Set placement group description: Set all parameters of the specified placement group. 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: placement_group_id required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetPlacementGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string organization: type: string policy_mode: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup.PolicyMode' policy_type: $ref: '#/components/schemas/scaleway.instance.v1.PlacementGroup.PolicyType' project: type: string tags: $ref: '#/components/schemas/scaleway.std.StringsValue' x-properties-order: - name - organization - policy_mode - policy_type - project - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "organization": "string", "project": "string" }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" \ organization="string" \ project="string" patch: tags: - Placement Groups operationId: UpdatePlacementGroup summary: Update a placement group description: Update one or more parameter of the specified placement group. 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: placement_group_id description: UUID of the placement group. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdatePlacementGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the placement group. nullable: true tags: type: array description: Tags of the placement group. nullable: true items: type: string policy_mode: type: string description: Operating mode of the placement group. enum: - optional - enforced default: optional policy_type: type: string description: Policy type of the placement group. enum: - max_availability - low_latency default: max_availability x-properties-order: - name - tags - policy_mode - policy_type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Placement Groups operationId: DeletePlacementGroup summary: Delete the specified placement group 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: placement_group_id description: UUID of the placement group you want to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers: get: tags: - Placement Groups operationId: GetPlacementGroupServers summary: Get placement group servers description: Get all Instances belonging to the specified placement group. 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: placement_group_id description: UUID of the placement group you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetPlacementGroupServersResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Placement Groups operationId: SetPlacementGroupServers summary: Set placement group servers description: Set all Instances belonging to the specified placement group. 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: placement_group_id description: UUID of the placement group you want to set. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetPlacementGroupServersResponse' requestBody: required: true content: application/json: schema: type: object properties: servers: type: array description: An array of the Instances' UUIDs you want to configure. items: type: string required: - servers x-properties-order: - servers security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"servers":["string"]}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ servers:='["string"]' patch: tags: - Placement Groups operationId: UpdatePlacementGroupServers summary: Update placement group servers description: Update all Instances belonging to the specified placement group. 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: placement_group_id description: UUID of the placement group you want to update. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdatePlacementGroupServersResponse' requestBody: required: true content: application/json: schema: type: object properties: servers: type: array description: An array of the Instances' UUIDs you want to configure. items: type: string required: - servers x-properties-order: - servers security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"servers":["string"]}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ servers:='["string"]' /instance/v1/zones/{zone}/products/servers: get: tags: - Instance Types operationId: ListServersTypes summary: List Instance types description: List available Instance types and their technical details. 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 schema: type: integer format: uint32 - in: query name: page schema: $ref: '#/components/schemas/google.protobuf.Int32Value' responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListServersTypesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/products/servers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/products/servers" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/products/servers/availability: get: tags: - Instance Types operationId: GetServerTypesAvailability summary: Get availability description: Get availability for all Instance types. 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 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetServerTypesAvailabilityResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/products/servers/availability" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/products/servers/availability" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/products/volumes: get: tags: - Volume Types operationId: ListVolumesTypes summary: List volume types description: List all volume types and their technical details. 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 schema: type: integer format: uint32 - in: query name: page schema: $ref: '#/components/schemas/google.protobuf.Int32Value' responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListVolumesTypesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/products/volumes" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/products/volumes" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/security_groups: get: tags: - Security Groups operationId: ListSecurityGroups summary: List security groups description: List all existing security groups. 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: name description: Name of the security group. schema: type: string - in: query name: organization description: Security group Organization ID. schema: type: string - in: query name: project description: Security group Project ID. schema: type: string - in: query name: tags description: List security groups with these exact tags (to filter with several tags, use commas to separate them). schema: type: string - in: query name: project_default description: Filter security groups with this value for project_default. schema: type: boolean - 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 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListSecurityGroupsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Security Groups operationId: CreateSecurityGroup summary: Create a security group description: Create a security group with a specified name and description. 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.CreateSecurityGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the security group. description: type: string description: Description of the security group. organization: type: string description: Organization ID the security group belongs to. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID the security group belong to. nullable: true x-one-of: ProjectIdentifier tags: type: array description: Tags of the security group. items: type: string organization_default: type: boolean description: Defines whether this security group becomes the default security group for new Instances. deprecated: true nullable: true x-one-of: DefaultIdentifier project_default: type: boolean description: Whether this security group becomes the default security group for new Instances. nullable: true x-one-of: DefaultIdentifier stateful: type: boolean description: Whether the security group is stateful or not. inbound_default_policy: type: string description: Default policy for inbound rules. enum: - unknown_policy - accept - drop default: unknown_policy outbound_default_policy: type: string description: Default policy for outbound rules. enum: - unknown_policy - accept - drop default: unknown_policy enable_default_security: type: boolean description: True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. nullable: true required: - name x-properties-order: - name - description - organization - project - tags - organization_default - project_default - stateful - inbound_default_policy - outbound_default_policy - enable_default_security security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "name": "string", "stateful": false }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups" \ X-Auth-Token:$SCW_SECRET_KEY \ description="string" \ name="string" \ stateful:=false /instance/v1/zones/{zone}/security_groups/{id}: put: tags: - Security Groups operationId: SetSecurityGroup summary: Update a security group description: Replace all security group properties with a security group message. 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: id description: UUID of the security group. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetSecurityGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the security group. tags: type: array description: Tags of the security group. nullable: true items: type: string creation_date: type: string description: Creation date of the security group (will be ignored). (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true modification_date: type: string description: Modification date of the security group (will be ignored). (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true description: type: string description: Description of the security group. enable_default_security: type: boolean description: True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. inbound_default_policy: type: string description: Default inbound policy. enum: - unknown_policy - accept - drop default: unknown_policy outbound_default_policy: type: string description: Default outbound policy. enum: - unknown_policy - accept - drop default: unknown_policy organization: type: string description: Security groups Organization ID. project: type: string description: Security group Project ID. organization_default: type: boolean description: Please use project_default instead. deprecated: true project_default: type: boolean description: True use this security group for future Instances created in this project. servers: type: array description: Instances attached to this security group. items: $ref: '#/components/schemas/scaleway.instance.v1.ServerSummary' stateful: type: boolean description: True to set the security group as stateful. x-properties-order: - name - tags - creation_date - modification_date - description - enable_default_security - inbound_default_policy - outbound_default_policy - organization - project - organization_default - project_default - servers - stateful security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "enable_default_security": false, "name": "string", "organization": "string", "organization_default": false, "project": "string", "project_default": false, "stateful": false }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{id}" \ X-Auth-Token:$SCW_SECRET_KEY \ description="string" \ enable_default_security:=false \ name="string" \ organization="string" \ organization_default:=false \ project="string" \ project_default:=false \ stateful:=false /instance/v1/zones/{zone}/security_groups/{security_group_id}: get: tags: - Security Groups operationId: GetSecurityGroup summary: Get a security group description: Get the details of a security group 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: security_group_id description: UUID of the security group you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetSecurityGroupResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Security Groups operationId: UpdateSecurityGroup summary: Update a security group description: Update the properties of security group. 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: security_group_id description: UUID of the security group. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateSecurityGroupResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the security group. nullable: true description: type: string description: Description of the security group. nullable: true enable_default_security: type: boolean description: True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. nullable: true inbound_default_policy: type: string description: Default inbound policy. enum: - unknown_policy - accept - drop default: unknown_policy tags: type: array description: Tags of the security group. nullable: true items: type: string organization_default: type: boolean description: Please use project_default instead. deprecated: true nullable: true project_default: type: boolean description: True use this security group for future Instances created in this project. nullable: true outbound_default_policy: type: string description: Default outbound policy. enum: - unknown_policy - accept - drop default: unknown_policy stateful: type: boolean description: True to set the security group as stateful. nullable: true x-properties-order: - name - description - enable_default_security - inbound_default_policy - tags - organization_default - project_default - outbound_default_policy - stateful security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Security Groups operationId: DeleteSecurityGroup summary: Delete a security group description: Delete a security group 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: security_group_id description: UUID of the security group you want to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/security_groups/{security_group_id}/rules: get: tags: - Security Groups operationId: ListSecurityGroupRules summary: List rules description: List the rules of the a specified security group 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: security_group_id description: UUID of the security group. required: true schema: type: string - 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 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListSecurityGroupRulesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Security Groups operationId: CreateSecurityGroupRule summary: Create rule description: Create a rule in the specified security group 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: security_group_id description: UUID of the security group. required: true schema: type: string responses: "201": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.CreateSecurityGroupRuleResponse' requestBody: required: true content: application/json: schema: type: object properties: protocol: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Protocol' direction: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Direction' action: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Action' ip_range: type: string description: (IP network) example: 1.2.3.4/32 dest_port_from: type: integer description: Beginning of the range of ports to apply this rule to (inclusive). format: uint32 nullable: true dest_port_to: type: integer description: End of the range of ports to apply this rule to (inclusive). format: uint32 nullable: true position: type: integer description: Position of this rule in the security group rules list. format: uint32 editable: type: boolean description: Indicates if this rule is editable (will be ignored). required: - protocol - direction - action - ip_range x-properties-order: - protocol - direction - action - ip_range - dest_port_from - dest_port_to - position - editable security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": "unknown_action", "direction": "unknown_direction", "editable": false, "ip_range": "1.2.3.4/32", "position": 42, "protocol": "unknown_protocol" }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" \ X-Auth-Token:$SCW_SECRET_KEY \ action="unknown_action" \ direction="unknown_direction" \ editable:=false \ ip_range="1.2.3.4/32" \ position:=42 \ protocol="unknown_protocol" put: tags: - Security Groups operationId: SetSecurityGroupRules summary: Update all the rules of a security group description: Replaces the existing rules of the security group with the rules provided. This endpoint supports the update of existing rules, creation of new rules and deletion of existing rules when they are not passed in the request. 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: security_group_id description: UUID of the security group to update the rules on. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetSecurityGroupRulesResponse' requestBody: required: true content: application/json: schema: type: object properties: rules: type: array description: List of rules to update in the security group. items: $ref: '#/components/schemas/scaleway.instance.v1.SetSecurityGroupRulesRequest.Rule' x-properties-order: - rules security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}: get: tags: - Security Groups operationId: GetSecurityGroupRule summary: Get rule description: Get details of a security group rule 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: security_group_id required: true schema: type: string - in: path name: security_group_rule_id required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetSecurityGroupRuleResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Security Groups operationId: SetSecurityGroupRule summary: Set security group rule description: Replace all the properties of a rule from a specified security group. 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: security_group_id required: true schema: type: string - in: path name: security_group_rule_id required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetSecurityGroupRuleResponse' requestBody: required: true content: application/json: schema: type: object properties: id: type: string protocol: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Protocol' direction: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Direction' action: $ref: '#/components/schemas/scaleway.instance.v1.SecurityGroupRule.Action' ip_range: type: string description: (IP network) example: 1.2.3.4/32 dest_port_from: $ref: '#/components/schemas/google.protobuf.UInt32Value' dest_port_to: $ref: '#/components/schemas/google.protobuf.UInt32Value' position: type: integer format: uint32 editable: type: boolean x-properties-order: - id - protocol - direction - action - ip_range - dest_port_from - dest_port_to - position - editable security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "editable": false, "id": "string", "ip_range": "1.2.3.4/32", "position": 42 }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ editable:=false \ id="string" \ ip_range="1.2.3.4/32" \ position:=42 patch: tags: - Security Groups operationId: UpdateSecurityGroupRule summary: Update security group rule description: Update the properties of a rule from a specified security group. 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: security_group_id description: UUID of the security group. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: path name: security_group_rule_id description: UUID of the rule. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateSecurityGroupRuleResponse' requestBody: required: true content: application/json: schema: type: object properties: protocol: type: string description: Protocol family this rule applies to. enum: - unknown_protocol - TCP - UDP - ICMP - ANY default: unknown_protocol direction: type: string description: Direction the rule applies to. enum: - unknown_direction - inbound - outbound default: unknown_direction action: type: string description: Action to apply when the rule matches a packet. enum: - unknown_action - accept - drop default: unknown_action ip_range: type: string description: Range of IP addresses these rules apply to. (IP network) example: 1.2.3.4/32 nullable: true dest_port_from: type: integer description: Beginning of the range of ports this rule applies to (inclusive). If 0 is provided, unset the parameter. format: uint32 nullable: true dest_port_to: type: integer description: End of the range of ports this rule applies to (inclusive). If 0 is provided, unset the parameter. format: uint32 nullable: true position: type: integer description: Position of this rule in the security group rules list. format: uint32 nullable: true x-properties-order: - protocol - direction - action - ip_range - dest_port_from - dest_port_to - position security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Security Groups operationId: DeleteSecurityGroupRule summary: Delete rule description: Delete a security group rule 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: security_group_id required: true schema: type: string - in: path name: security_group_rule_id required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/{security_group_id}/rules/{security_group_rule_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/security_groups/default/rules: get: tags: - Security Groups operationId: ListDefaultSecurityGroupRules summary: Get default rules description: Lists the default rules applied to all the security groups. 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: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListSecurityGroupRulesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/default/rules" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/security_groups/default/rules" \ X-Auth-Token:$SCW_SECRET_KEY /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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/servers" \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "commercial_type": "string", "enable_ipv6": false, "name": "string", "protected": false, "volumes": { "": { "base_snapshot": "string", "boot": false, "id": "string", "name": "string", "organization": "string", "project": "string", "size": 42, "volume_type": "l_ssd" } } }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ commercial_type="string" \ enable_ipv6:=false \ name="string" \ protected:=false \ volumes:='{ "": { "base_snapshot": "string", "boot": false, "id": "string", "name": "string", "organization": "string", "project": "string", "size": 42, "volume_type": "l_ssd" } }' /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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "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}" \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"volumes":{"":""}}' \ "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}" \ X-Auth-Token:$SCW_SECRET_KEY \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "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}" \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "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" \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"volumes":{"":{"volume_type":"unknown_volume_type"}}}' \ "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" \ X-Auth-Token:$SCW_SECRET_KEY \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"filesystem_id":"string"}' \ "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" \ X-Auth-Token:$SCW_SECRET_KEY \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"volume_id":"string"}' \ "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" \ X-Auth-Token:$SCW_SECRET_KEY \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "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" \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"filesystem_id":"string"}' \ "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" \ X-Auth-Token:$SCW_SECRET_KEY \ 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 \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"volume_id":"string"}' \ "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" \ X-Auth-Token:$SCW_SECRET_KEY \ volume_id="string" /instance/v1/zones/{zone}/servers/{server_id}/private_nics: get: tags: - Private NICs operationId: ListPrivateNICs summary: List all private NICs description: List all private NICs 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: Instance to which the private NIC is attached. required: true schema: type: string - in: query name: tags description: Private NIC tags. schema: type: string - 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 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListPrivateNICsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Private NICs operationId: CreatePrivateNIC summary: Create a private NIC connecting an Instance to a Private Network 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 the private NIC will be attached to. required: true schema: type: string responses: "201": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.CreatePrivateNICResponse' requestBody: required: true content: application/json: schema: type: object properties: private_network_id: type: string description: UUID of the private network where the private NIC will be attached. tags: type: array description: Private NIC tags. items: type: string ipam_ip_ids: type: array description: UUID of IPAM ips, to be attached to the instance in the requested private network. (UUID format) example: - 6170692e-7363-616c-6577-61792e636f6d items: type: string required: - private_network_id x-properties-order: - private_network_id - tags - ipam_ip_ids security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"private_network_id":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics" \ X-Auth-Token:$SCW_SECRET_KEY \ private_network_id="string" /instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}: get: tags: - Private NICs operationId: GetPrivateNIC summary: Get a private NIC description: Get private NIC properties. 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: Instance to which the private NIC is attached. required: true schema: type: string - in: path name: private_nic_id description: Private NIC unique ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetPrivateNICResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Private NICs operationId: UpdatePrivateNIC summary: Update a private NIC description: Update one or more parameter(s) of a specified private NIC. 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 the private NIC will be attached to. required: true schema: type: string - in: path name: private_nic_id description: Private NIC unique ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.PrivateNIC' requestBody: required: true content: application/json: schema: type: object properties: tags: type: array description: Tags used to select private NIC/s. nullable: true items: type: string x-properties-order: - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Private NICs operationId: DeletePrivateNIC summary: Delete a private NIC 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: Instance to which the private NIC is attached. required: true schema: type: string - in: path name: private_nic_id description: Private NIC unique ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/private_nics/{private_nic_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/servers/{server_id}/user_data: get: tags: - User Data operationId: ListServerUserData summary: List user data description: List all user data keys registered on 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. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListServerUserDataResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}: get: tags: - User Data operationId: GetServerUserData summary: Get user data description: Get the content of a user data with the specified key 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 description: UUID of the Instance. required: true schema: type: string - in: path name: key description: Key of the user data to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.std.File' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - User Data operationId: SetServerUserData summary: Add/set user data description: Add or update a user data with the specified key 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 description: UUID of the Instance. required: true schema: type: string - in: path name: key description: Key of the user data to set. required: true schema: type: string responses: "204": description: "" requestBody: required: true content: '*/*': schema: type: string format: binary security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - User Data operationId: DeleteServerUserData summary: Delete user data description: Delete the specified key from an Instance's user data. 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 - in: path name: key description: Key of the user data to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/servers/{server_id}/user_data/{key}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/snapshots: get: tags: - Snapshots operationId: ListSnapshots summary: List snapshots description: List all snapshots of an Organization in a specified Availability Zone. 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: organization description: List snapshots only for this Organization ID. schema: type: string - in: query name: project description: List snapshots only for this Project ID. schema: type: string - in: query name: per_page description: Number of snapshots returned per page (positive integer lower or equal to 100). schema: type: integer format: uint32 - in: query name: page description: Page to be returned. schema: type: integer format: int32 - in: query name: name description: List snapshots of the requested name. schema: type: string - in: query name: tags description: List snapshots that have the requested tag. schema: type: string - in: query name: base_volume_id description: List snapshots originating only from this volume. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListSnapshotsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Snapshots operationId: CreateSnapshot summary: Create a snapshot from a specified volume or from a QCOW2 file description: Create a snapshot from a specified volume or from a QCOW2 file in a specified Availability Zone. 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.CreateSnapshotResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the snapshot. volume_id: type: string description: UUID of the volume. nullable: true tags: type: array description: Tags of the snapshot. nullable: true items: type: string organization: type: string description: Organization ID of the snapshot. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Project ID of the snapshot. nullable: true x-one-of: ProjectIdentifier volume_type: type: string description: |- Volume type of the snapshot. Overrides the volume_type of the snapshot. 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 bucket: type: string description: Bucket name for snapshot imports. nullable: true key: type: string description: Object key for snapshot imports. nullable: true size: type: integer description: Imported snapshot size, must be a multiple of 512. (in bytes) format: uint64 nullable: true x-properties-order: - name - volume_id - tags - organization - project - volume_type - bucket - key - size security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" /instance/v1/zones/{zone}/snapshots/{snapshot_id}: get: tags: - Snapshots operationId: GetSnapshot summary: Get a snapshot description: Get details of a snapshot 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: snapshot_id description: UUID of the snapshot you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetSnapshotResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Snapshots operationId: SetSnapshot summary: Set snapshot description: Replace all the properties of a snapshot. 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: snapshot_id required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetSnapshotResponse' requestBody: required: true content: application/json: schema: type: object properties: id: type: string name: type: string organization: type: string volume_type: $ref: '#/components/schemas/scaleway.instance.v1.Volume.VolumeType' size: type: integer description: (in bytes) format: uint64 state: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot.State' base_volume: $ref: '#/components/schemas/scaleway.instance.v1.Snapshot.BaseVolume' 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 project: type: string tags: $ref: '#/components/schemas/scaleway.std.StringsValue' x-properties-order: - id - name - organization - volume_type - size - state - base_volume - creation_date - modification_date - project - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "name": "string", "organization": "string", "project": "string", "size": 42 }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ id="string" \ name="string" \ organization="string" \ project="string" \ size:=42 patch: tags: - Snapshots operationId: UpdateSnapshot summary: Update a snapshot description: Update the properties of a snapshot. 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: snapshot_id description: UUID of the snapshot. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateSnapshotResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the snapshot. nullable: true tags: type: array description: Tags of the snapshot. nullable: true items: type: string x-properties-order: - name - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Snapshots operationId: DeleteSnapshot summary: Delete a snapshot description: Delete the snapshot 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: snapshot_id description: UUID of the snapshot you want to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}" \ X-Auth-Token:$SCW_SECRET_KEY /instance/v1/zones/{zone}/snapshots/{snapshot_id}/export: post: tags: - Snapshots operationId: ExportSnapshot summary: Export a snapshot description: Export a snapshot to a specified Object Storage bucket in the same region. 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: snapshot_id description: Snapshot ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ExportSnapshotResponse' requestBody: required: true content: application/json: schema: type: object properties: bucket: type: string description: Object Storage bucket name. key: type: string description: Object key. x-properties-order: - bucket - key security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"bucket":"string","key":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}/export" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/snapshots/{snapshot_id}/export" \ X-Auth-Token:$SCW_SECRET_KEY \ bucket="string" \ key="string" /instance/v1/zones/{zone}/volumes: get: tags: - Volumes operationId: ListVolumes summary: List volumes description: List volumes in the specified Availability Zone. You can filter the output by volume type. 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: volume_type description: Filter by volume type. schema: 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 - 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: Filter volume by Organization ID. schema: type: string - in: query name: project description: Filter volume by Project ID. schema: type: string - in: query name: tags description: Filter volumes with these exact tags (to filter with several tags, use commas to separate them). schema: type: string - in: query name: name description: Filter volume by name (for eg. "vol" will return "myvolume" but not "data"). schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.ListVolumesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/volumes" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Volumes operationId: CreateVolume summary: Create a volume description: Create a volume of a specified type in an Availability Zone. 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.CreateVolumeResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Volume name. organization: type: string description: Volume Organization ID. deprecated: true nullable: true x-one-of: ProjectIdentifier project: type: string description: Volume Project ID. nullable: true x-one-of: ProjectIdentifier tags: type: array description: Volume tags. items: type: string 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 size: type: integer description: Volume disk size, must be a multiple of 512. (in bytes) format: uint64 nullable: true x-one-of: from base_snapshot: type: string description: ID of the snapshot on which this volume will be based. nullable: true x-one-of: from x-properties-order: - name - organization - project - tags - volume_type - size - base_snapshot security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes" - lang: HTTPie source: |- http POST "https://api.scaleway.com/instance/v1/zones/{zone}/volumes" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" /instance/v1/zones/{zone}/volumes/{id}: put: tags: - Volumes operationId: SetVolume summary: Update volume description: Replace all volume properties with a volume message. 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: id description: Unique ID of the volume. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.SetVolumeResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the volume. tags: type: array description: Tags of the volume. nullable: true items: type: string export_uri: type: string description: NBD export URI of the Volume (deprecated, this field is ignored). deprecated: true size: type: integer description: Volume's disk size, must be a multiple of 512. (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. 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 x-properties-order: - name - tags - export_uri - size - volume_type - creation_date - modification_date - organization - project - server - state security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "export_uri": "string", "name": "string", "organization": "string", "project": "string", "size": 42 }' \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{id}" \ X-Auth-Token:$SCW_SECRET_KEY \ export_uri="string" \ name="string" \ organization="string" \ project="string" \ size:=42 /instance/v1/zones/{zone}/volumes/{volume_id}: get: tags: - Volumes operationId: GetVolume summary: Get a volume description: Get details of a volume 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: volume_id description: UUID of the volume you want to get. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.GetVolumeResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Volumes operationId: UpdateVolume summary: Update a volume description: Replace the name and/or size properties of a volume specified by its ID, with the specified value(s). 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: volume_id description: UUID of the volume. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.instance.v1.UpdateVolumeResponse' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Volume name. nullable: true tags: type: array description: Tags of the volume. nullable: true items: type: string size: type: integer description: Volume disk size, must be a multiple of 512. (in bytes) format: uint64 nullable: true x-properties-order: - name - tags - size security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Volumes operationId: DeleteVolume summary: Delete a volume description: Delete the volume 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: volume_id description: UUID of the volume you want to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/instance/v1/zones/{zone}/volumes/{volume_id}" \ X-Auth-Token:$SCW_SECRET_KEY