Scaleway logo
Instance API

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.


List placement groups

GET
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups

List all placement groups in a specified Availability Zone.

List placement groups › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2

List placement groups › query Parameters

per_page
​integer · uint32

A positive integer lower or equal to 100 to select the number of items to return.

page
​integer · int32

A positive integer to choose the page to return.

organization
​string

List only placement groups of this Organization ID.

project
​string

List only placement groups of this Project ID.

tags
​string

List placement groups with these exact tags (to filter with several tags, use commas to separate them).

name
​string

Filter placement groups by name (for eg. "cluster1" will return "cluster100" and "cluster1" but not "foo").

List placement groups › Responses


Create a placement group

POST
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups

Create a new placement group in a specified Availability Zone.

Create a placement group › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2

Create a placement group › Request Body

name
​string

Name of the placement group.

project
​string | null

Project ID of the placement group.

tags
​string[]

Tags of the placement group.

policy_mode
​scaleway.instance.v1.PlacementGroup.PolicyMode · enum

Operating mode of the placement group.

Enum values:
optional
enforced
Default: optional
policy_type
​scaleway.instance.v1.PlacementGroup.PolicyType · enum

Policy type of the placement group.

Enum values:
max_availability
low_latency
Default: max_availability

Create a placement group › Responses


Get a placement group

GET
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}

Get the specified placement group.

Get a placement group › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group you want to get.

Get a placement group › Responses


Set placement group

PUT
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}

Set all parameters of the specified placement group.

Set placement group › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

Set placement group › Request Body

name
​string
organization
​string
policy_mode
​scaleway.instance.v1.PlacementGroup.PolicyMode · enum
Enum values:
optional
enforced
Default: optional
policy_type
​scaleway.instance.v1.PlacementGroup.PolicyType · enum
Enum values:
max_availability
low_latency
Default: max_availability
project
​string

Set placement group › Responses


Delete the specified placement group

DELETE
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}

Delete the specified placement group › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group you want to delete.

Delete the specified placement group › Responses

No data returned

Update a placement group

PATCH
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}

Update one or more parameter of the specified placement group.

Update a placement group › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group.

Update a placement group › Request Body

name
​string | null

Name of the placement group.

tags
​array | null

Tags of the placement group.

policy_mode
​scaleway.instance.v1.PlacementGroup.PolicyMode · enum

Operating mode of the placement group.

Enum values:
optional
enforced
Default: optional
policy_type
​scaleway.instance.v1.PlacementGroup.PolicyType · enum

Policy type of the placement group.

Enum values:
max_availability
low_latency
Default: max_availability

Update a placement group › Responses


Get placement group servers

GET
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers

Get all Instances belonging to the specified placement group.

Get placement group servers › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group you want to get.

Get placement group servers › Responses


Set placement group servers

PUT
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers

Set all Instances belonging to the specified placement group.

Set placement group servers › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group you want to set.

Set placement group servers › Request Body

servers
​string[] · required

An array of the Instances' UUIDs you want to configure.

Set placement group servers › Responses


Update placement group servers

PATCH
https://api.scaleway.com
/instance/v1/zones/{zone}/placement_groups/{placement_group_id}/servers

Update all Instances belonging to the specified placement group.

Update placement group servers › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
placement_group_id
​string · required

UUID of the placement group you want to update.

Update placement group servers › Request Body

servers
​string[] · required

An array of the Instances' UUIDs you want to configure.

Update placement group servers › Responses