Assign a placement group

Add a Linode to your placement group. Check out our example API workflow to create a placement group and add Linodes.

📘

Your user needs the add_linodes grant and read-write permission to the Linodes you want to add to the group. Talk to your local account administrator about grant and permissions management.

Permissions and scopes

To call this operation, you need permissions, based on the model you're using:

  • OAuth scopes. Your user needs these scopes assigned. Learn more.

    • Scopes: linodes:read_write

CLI

linode-cli placement assign-linode 528 \ --linodes 123 456 \ --non-compliant true

Learn more

Path Params
string
enum
required

Enum Call either the v4 URL, or v4beta for operations still in Beta.

Allowed:
integer
required

ID of the placement group to look up. Run the List placement groups operation and store the id for the applicable placement group.

Body Params
linodes
array of integers

The linodeId values for individual Linodes included in the placement group.

linodes
Responses

Response body
object
integer

The placement group's ID. You need to provide it for all operations that affect it.

boolean

Whether all of the Linodes in your placement group are compliant. If true, all Linodes meet either the grouped-together or spread-apart model, which you determine through your selected placement_group_type. If false, a Linode isb't compliant. For example, assume you've set anti-affinity:local as your placement_group_type and your group already has three qualifying Linodes on separate hosts, to support the spread-apart model. If a fourth Linode is assigned that's on the same host as one of the existing three, the placement group is non-compliant. Enforce compliance in your group by setting a placement_group_policy.

📘

Fixing compliance is not self-service. You need to wait for our assistance to physically move Linodes to make the group compliant again.

string
length ≥ 1

Filterable The unique name set for the placement group. A label has these constraints:

  • It needs to begin and end with an alphanumeric character.
  • It can only consist of alphanumeric characters, hyphens (-), underscores (_), or periods (.).
members
array of objects

Linodes included in the placement group.

members
object
boolean

The compliance status of each individual Linode in the placement group.

integer

Read-only The unique identifier for a Linode included in the placement group.

string
enum

How requests to add future Linodes to your placement group are handled, and whether it remains compliant:

  • strict. Don't assign a new Linode if it breaks the grouped-together or spread-apart model set by the placement_group_type. Use this to ensure the placement group stays compliant (is_compliant: true).
  • flexible. Assign a new Linode, even if it breaks the grouped-together or spread-apart model set by the placement_group_type. This makes the group non-compliant (is_compliant: false). You need to wait for Akamai to move the offending Linode to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future Linodes if compliance isn't an immediate concern.

​​​​​

📘

In rare cases, non-compliance can occur with a strict placement group if Akamai needs to failover or migrate your Linodes for maintenance. Fixing non-compliance for a strict placement group is prioritized over a flexible group.

strict flexible

string
enum

Filterable, Read-only How Linodes are distributed in your placement group. A placement_group_type using anti-affinity (anti_affinity:local) places Linodes in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A placement_group_type using affinity places Linodes physically close together, possibly on the same host. This supports the grouped-together model for low-latency.

📘

Currently, only anti_affinity:local is available for placement_group_type.

anti_affinity:local

string

Filterable, Read-only The region where the placement group was deployed.

Language
Credentials