Last active 4 months ago

Пример использования динамически генерируемого inventory в ходе работы ansible

botanikanet revised this gist 4 months ago. Go to revision

No changes

botanikanet revised this gist 1 year ago. Go to revision

1 file changed, 16 insertions

Ansible dynamic hosts (file created)

@@ -0,0 +1,16 @@
1 + - name: Get dns names
2 + set_fact:
3 + __ec2_dns_names: "{{ __ec2_dns_names | default([]) + [ item ] }}"
4 + loop: "{{ __aws_ec2_vault_instances | to_json | from_json | community.general.json_query('sort_by(instances, &tags.Name)[].private_dns_name') }}"
5 + changed_when: false
6 +
7 + - name: Add hosts to group 'vault'
8 + ansible.builtin.add_host:
9 + name: "vault-{{ ansible_loop.index }}.lavka.tld"
10 + groups: vault
11 + ansible_host: "{{ item }}"
12 + ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ProxyCommand="ssh -W %h:%p -q #$ .Rsc `Jumphost.base.User` $#@#$ .Rsc `Jumphost.base.Host` $# -i ~/.ssh/robot-cloud-prime.pem" -i vault.key.pem'
13 + loop: "{{ __ec2_dns_names }}"
14 + loop_control:
15 + extended: true
16 + changed_when: false
Newer Older