cloudscale_ch.cloud.server_group – Manages server groups on the cloudscale.ch IaaS service

Note

This plugin is part of the cloudscale_ch.cloud collection (version 2.2.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cloudscale_ch.cloud.

To use it in a playbook, specify: cloudscale_ch.cloud.server_group.

New in version 1.0.0: of cloudscale_ch.cloud

Synopsis

  • Create, update and remove server groups.

Parameters

Parameter

Comments

api_timeout

integer

Timeout in seconds for calls to the cloudscale.ch API.

This can also be passed in the CLOUDSCALE_API_TIMEOUT environment variable.

Default: 45

api_token

string / required

cloudscale.ch API token.

This can also be passed in the CLOUDSCALE_API_TOKEN environment variable.

api_url

string

added in 1.3.0 of cloudscale_ch.cloud

cloudscale.ch API URL.

This can also be passed in the CLOUDSCALE_API_URL environment variable.

Default: “https://api.cloudscale.ch/v1”

name

string

Name of the server group.

Either name or uuid is required. These options are mutually exclusive.

state

string

State of the server group.

Choices:

  • present ← (default)

  • absent

tags

dictionary

Tags assosiated with the server groups. Set this to {} to clear any tags.

type

string

Type of the server group.

Default: “anti-affinity”

uuid

string

UUID of the server group.

Either name or uuid is required. These options are mutually exclusive.

zone

string

Zone slug of the server group (e.g. lgp1 or rma1).

Notes

Note

Examples

---
- name: Ensure server group exists
  cloudscale_ch.cloud.server_group:
    name: my-name
    type: anti-affinity
    api_token: xxxxxx

- name: Ensure server group in a specific zone
  cloudscale_ch.cloud.server_group:
    name: my-rma-group
    type: anti-affinity
    zone: lpg1
    api_token: xxxxxx

- name: Ensure a server group is absent
  cloudscale_ch.cloud.server_group:
    name: my-name
    state: absent
    api_token: xxxxxx

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

href

string

API URL to get details about this server group

Returned: if available

Sample:https://api.cloudscale.ch/v1/server-group/cfde831a-4e87-4a75-960f-89b0148aa2cc

name

string

The display name of the server group

Returned: always

Sample: “load balancers”

servers

list / elements=string

A list of servers that are part of the server group.

Returned: if available

Sample: []

state

string

State of the server group.

Returned: always

Sample: “present”

tags

dictionary

Tags assosiated with the server group.

Returned: success

Sample: {“project”: “my project”}

type

string

The type the server group

Returned: if available

Sample: “anti-affinity”

uuid

string

The unique identifier for this server

Returned: always

Sample: “cfde831a-4e87-4a75-960f-89b0148aa2cc”

zone

dictionary

The zone of the server group

Returned: success

Sample: {“slug”: “rma1”}

Authors

  • René Moser (@resmo)

  • Denis Krienbühl (@href)