awx.awx.instance module – create, update, or destroy Automation Platform Controller instances.

Note

This module is part of the awx.awx collection (version 23.9.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 awx.awx.

To use it in a playbook, specify: awx.awx.instance.

New in awx.awx 4.3.0

Synopsis

Parameters

Parameter

Comments

capacity_adjustment

float

Capacity adjustment (0 <= capacity_adjustment <= 1)

controller_config_file

aliases: tower_config_file

path

Path to the controller config file.

If provided, the other locations for config files will not be considered.

controller_host

aliases: tower_host

string

URL to your Automation Platform Controller instance.

If value not set, will try environment variable CONTROLLER_HOST and then config files

If value not specified by any means, the value of 127.0.0.1 will be used

controller_oauthtoken

aliases: tower_oauthtoken

any

added in awx.awx 3.7.0

The OAuth token to use.

This value can be in one of two formats.

A string which is the token itself. (i.e. bqV5txm97wqJqtkxlMkhQz0pKhRMMX)

A dictionary structure as returned by the token module.

If value not set, will try environment variable CONTROLLER_OAUTH_TOKEN and then config files

controller_password

aliases: tower_password

string

Password for your controller instance.

If value not set, will try environment variable CONTROLLER_PASSWORD and then config files

controller_username

aliases: tower_username

string

Username for your controller instance.

If value not set, will try environment variable CONTROLLER_USERNAME and then config files

enabled

boolean

If true, the instance will be enabled and used.

Choices:

  • false

  • true

hostname

string / required

Hostname of this instance.

listener_port

integer

Port that Receptor will listen for incoming connections on.

managed_by_policy

boolean

Managed by policy

Choices:

  • false

  • true

node_state

string

Indicates the current life cycle stage of this instance.

Choices:

  • "deprovisioning"

  • "installed"

node_type

string

Role that this node plays in the mesh.

Choices:

  • "execution"

  • "hop"

peers

list / elements=string

List of peers to connect outbound to. Only configurable for hop and execution nodes.

To remove all current peers, set value to an empty list, [].

Each item is an ID or address of a receptor address.

If item is address, it must be unique across all receptor addresses.

peers_from_control_nodes

boolean

If enabled, control plane nodes will automatically peer to this node.

Choices:

  • false

  • true

request_timeout

float

Specify the timeout Ansible should use in requests to the controller host.

Defaults to 10s, but this is handled by the shared module_utils code

validate_certs

aliases: tower_verify_ssl

boolean

Whether to allow insecure connections to AWX.

If no, SSL certificates will not be validated.

This should only be used on personally controlled sites using self-signed certificates.

If value not set, will try environment variable CONTROLLER_VERIFY_SSL and then config files

Choices:

  • false

  • true

Notes

Note

  • If no config_file is provided we will attempt to use the tower-cli library defaults to find your host information.

  • config_file should be in the following format host=hostname username=username password=password

Examples

- name: Create an instance
  awx.awx.instance:
    hostname: my-instance.prod.example.com
    capacity_adjustment: 0.4

- name: Deprovision the instance
  awx.awx.instance:
    hostname: my-instance.prod.example.com
    node_state: deprovisioning

- name: Create execution node
  awx.awx.instance:
    hostname: execution.example.com
    node_type: execution
    peers:
      - 12
      - route.to.hop.example.com

- name: Remove peers
  awx.awx.instance:
    hostname: execution.example.com
    peers:

Authors

  • Rick Elrod (@relrod)