add_host
module cria um host na lista dinâmica de hosts. Você então executa outra jogada (no mesmo livro de jogadas) contra este grupo de hosts e de dentro dessa jogada você poderá acessar as variáveis que você definiu.
Por exemplo, com a seguinte sintaxe:
- hosts: all
# ...
tasks:
- name: Add to host vars
add_host:
name: host_1
groups: dynamic_hosts
vpc_subnet_id: "{{ ec2_vpc.subnets[0].id }}"
vpcid: "{{ ec2_vpc.vpc_id }}"
- hosts: dynamic_hosts
# ...
tasks:
- debug: var=vpc_subnet_id
- debug: var=vpcid
O add_host
no exemplo acima cria um arquivo de inventário na memória com o seguinte conteúdo:
[dynamic_hosts]
host_1 vpc_subnet_id="{{ ec2_vpc.subnets[0].id }}" vpcid="{{ ec2_vpc.vpc_id }}"