community.general.scaleway – Scaleway inventory source

Note

This plugin is part of the community.general collection (version 3.7.0).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.scaleway.

Synopsis

  • Get inventory hosts from Scaleway.

Requirements

The below requirements are needed on the local controller node that executes this inventory.

  • PyYAML

Parameters

Parameter Choices/Defaults Configuration Comments
hostnames
list / elements=string
    Choices:
  • public_ipv4 ←
  • private_ipv4
  • public_ipv6
  • hostname
  • id
Default:
["public_ipv4"]
List of preference about what to use as an hostname.
oauth_token
string
env:SCW_TOKEN
env:SCW_API_KEY
env:SCW_OAUTH_TOKEN
Scaleway OAuth token.
If not explicitly defined or in environment variables, it will try to lookup in the scaleway-cli configuration file ($SCW_CONFIG_PATH, $XDG_CONFIG_HOME/scw/config.yaml, or ~/.config/scw/config.yaml).
More details on how to generate token.
plugin
string / required
    Choices:
  • scaleway
  • community.general.scaleway
Token that ensures this is a source file for the 'scaleway' plugin.
regions
list / elements=string
Default:
["ams1", "par1", "par2", "waw1"]
Filter results on a specific Scaleway region.
tags
list / elements=string
Filter results on a specific tag.
variables
dictionary
Set individual variables: keys are variable names and values are templates. Any value returned by the Scaleway API can be used.

Examples

# scaleway_inventory.yml file in YAML format
# Example command line: ansible-inventory --list -i scaleway_inventory.yml

# use hostname as inventory_hostname
# use the private IP address to connect to the host
plugin: community.general.scaleway
regions:
  - ams1
  - par1
tags:
  - foobar
hostnames:
  - hostname
variables:
  ansible_host: private_ip
  state: state

# use hostname as inventory_hostname and public IP address to connect to the host
plugin: community.general.scaleway
hostnames:
  - hostname
regions:
  - par1
variables:
  ansible_host: public_ip.address

# Using static strings as variables
plugin: community.general.scaleway
hostnames:
  - hostname
variables:
  ansible_host: public_ip.address
  ansible_connection: "'ssh'"
  ansible_user: "'admin'"

Authors

  • Remy Leone (@sieben)