ansible.builtin.add_host (v2.16.5) — module

Add a host (and alternatively a group) to the ansible-playbook in-memory inventory

| "added in version" 0.9 of ansible.builtin"

Authors: Ansible Core Team, Seth Vidal (@skvidal)

This plugin has a corresponding action plugin.

Install Ansible via pip

Install with pip install ansible-core==2.16.5

Description

Use variables to create new hosts and groups in inventory for use in later plays of the same playbook.

Takes variables so you can define the new hosts more fully.

This module is also supported for Windows targets.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add host to group 'just_created' with variable foo=42
  ansible.builtin.add_host:
    name: '{{ ip_from_ec2 }}'
    groups: just_created
    foo: 42
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add host to multiple groups
  ansible.builtin.add_host:
    hostname: '{{ new_ip }}'
    groups:
    - group1
    - group2
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add a host with a non-standard port local to your machines
  ansible.builtin.add_host:
    name: '{{ new_ip }}:{{ new_port }}'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)
  ansible.builtin.add_host:
    hostname: '{{ new_ip }}'
    ansible_ssh_host: '{{ inventory_hostname }}'
    ansible_ssh_port: '{{ new_port }}'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)
  ansible.builtin.add_host:
    hostname: '{{ new_ip }}'
    ansible_host: '{{ inventory_hostname }}'
    ansible_port: '{{ new_port }}'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)
  ansible.builtin.add_host:
    hostname: charlie
    inventory_dir: '{{ inventory_dir }}'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add all hosts running this playbook to the done group
  ansible.builtin.add_host:
    name: '{{ item }}'
    groups: done
  loop: "{{ ansible_play_hosts }}"

Inputs

    
name:
    aliases:
    - host
    - hostname
    description:
    - The hostname/ip of the host to add to the inventory, can include a colon and a port
      number.
    required: true
    type: str

groups:
    aliases:
    - group
    - groupname
    description:
    - The groups to add the hostname to.
    elements: str
    type: list

See also