stephrobert.scaleway.instance_ip module – Manage a Scaleway Instance IP

Note

This module is part of the stephrobert.scaleway collection (version 0.7.0).

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 stephrobert.scaleway. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: stephrobert.scaleway.instance_ip.

New in stephrobert.scaleway 0.1.0

Synopsis

  • Update a flexible IP in the specified zone with the specified ID.

  • The module reads the resource first and writes only the fields that differ, so a second run reports no change.

Requirements

The below requirements are needed on the host that executes this module.

  • scaleway >= 2.9.0

Parameters

Parameter

Comments

access_key

string

Scaleway API access key.

api_allow_insecure

boolean

Allow the API endpoint to be reached without verifying its TLS certificate.

Falls back to the Scaleway configuration file, then to false.

Choices:

  • false

  • true

api_timeout

integer

Seconds allowed for a single API call, connection and read.

Without a limit a silent connection would hang the module forever: the Scaleway SDK issues its requests with no timeout at all.

This bounds a single call, not a whole wait. Modules that can wait for a state bound the overall wait separately.

Default: 60

api_url

string

URL of the Scaleway API endpoint.

Point it at a local emulator to exercise a playbook without credentials.

Falls back to the Scaleway configuration file, then to https://api.scaleway.com. It carries no module default on purpose: a default is never unset, so it would always override the profile.

config_file

path

Path to the Scaleway configuration file.

ip

string / required

IP ID or IP address.

organization_id

string

Default Organization ID used when an operation does not name one.

profile

string

Name of the profile to read in the Scaleway configuration file.

project_id

string

Default Project ID used when an operation does not name one.

reverse

string

Reverse domain name.

To clear this field, write `reverse: “”`; omit the option to leave the current value untouched.

Setting it to null is refused: this API reads null as “field not provided” and would change nothing.

secret_key

string

Scaleway API secret key.

server

string

Instance attached to the IP.

To clear this field, write `server: “”`; omit the option to leave the current value untouched.

Setting it to null is refused: this API reads null as “field not provided” and would change nothing.

tags

list / elements=string

An array of keywords you want to tag this IP with.

To clear this field, write `tags: []`; omit the option to leave the current value untouched.

Setting it to null is refused: this API reads null as “field not provided” and would change nothing.

type

string

Should have no effect.

Choices:

  • "unknown_iptype"

  • "routed_ipv4"

  • "routed_ipv6"

user_agent

string

Value of the User-Agent header sent to the API.

zone

string / required

The zone you want to target

Choices:

  • "fr-par-1"

  • "fr-par-2"

  • "fr-par-3"

  • "nl-ams-1"

  • "nl-ams-2"

  • "nl-ams-3"

  • "pl-waw-1"

  • "pl-waw-2"

  • "pl-waw-3"

  • "it-mil-1"

Attributes

Attribute

Support

Description

check_mode

Support: full

In check mode the module reads the resource and compares it, then reports what it would write without writing it.

diff_mode

Support: full

The module reports the fields that differ, read through the same projection the comparison uses.

Notes

Note

  • Every option can be set from its environment variable, respectively SCW_PROFILE, SCW_CONFIG_PATH, SCW_ACCESS_KEY, SCW_SECRET_KEY, SCW_API_URL, SCW_DEFAULT_ORGANIZATION_ID and SCW_DEFAULT_PROJECT_ID.

  • Module options take precedence over environment variables, which take precedence over the configuration file.

Examples

# The module reads the resource, compares, and writes only what
# differs: run it twice and the second run reports no change.
#
# Check mode compares without writing, and `--diff` shows what would
# change. A parameter you do not pass is a parameter the module does
# not touch.

- name: Update a Scaleway Instance IP
  stephrobert.scaleway.instance_ip:
    zone: fr-par-1
    ip: 11111111-2222-3333-4444-555555555555
    reverse: server-1.example.com
  register: result
- name: Preview the change on a Scaleway Instance IP without writing
  stephrobert.scaleway.instance_ip:
    zone: fr-par-1
    ip: 11111111-2222-3333-4444-555555555555
    reverse: server-1.example.com
  register: result
  check_mode: true
  diff: true

Return Values

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

Key

Description

ip

dictionary

Get details of an IP with the specified ID or address.

Returned: success

address

string

(IP address)

Returned: when the API returns it

id

string

Unique ID of the IP.

Returned: when the API returns it

ipam_id

string

(UUID format)

Returned: when the API returns it

organization

string

Organization ID of the IP.

Returned: when the API returns it

prefix

string

(IP network)

Returned: when the API returns it

project

string

Project ID of the IP.

Returned: when the API returns it

reverse

string

Reverse domain name.

Returned: when the API returns it

server

dictionary

Instance attached to the volume.

Returned: when the API returns it

state

string

State of the IP.

Returned: when the API returns it

tags

list / elements=string

Tags of the IP.

Returned: when the API returns it

type

string

Type of the IP address.

Returned: when the API returns it

zone

string

The zone you want to target

Returned: when the API returns it

Authors

  • Stéphane Robert (@stephrobert)