W3cubDocs

/Ansible

community.general.scaleway – Scaleway inventory source

Note

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

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 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)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/scaleway_inventory.html