ansible shell variable

Hello All,

I have an ansible script that I am writing to use meta data from an aws ec2 instance. I want to create and image of a list og servers from my inventory file them launch each one, then perform a function then terminate the instances.I am currently stuck on trying to get the subnet portion of the meta data as I need to perform two commands.

  1. get the mac address
  2. get the subnet

But I am not able to successfully get the subnet id

1) get the mac address
2) get the subnet

---
- hosts: dev
  become: true
  #connection: local
  gather_facts: true

Run the command below a see what "facts" are available when "gather_facts:
true" is enabled.

This is the output:

`

fatal: [deVPN]: FAILED! => changed=true
cmd: |-
ansible dev -m setup
delta: ‘0:00:00.033604’
end: ‘2020-05-24 23:29:51.883830’
msg: non-zero return code
rc: 127
start: ‘2020-05-24 23:29:51.850226’
stderr: ‘/bin/bash: ansible: command not found’
stderr_lines:
stdout: ‘’
stdout_lines:

`

> > 1) get the mac address
> > 2) get the subnet
> >
> > ---
> > - hosts: dev
> > become: true
> > #connection: local
> > gather_facts: true

> Run the command below a see what "facts" are available when "gather_facts:
> true" is enabled.
> > ansible dev -m setup

This is the output:

fatal: [deVPN]: FAILED! => changed=true
  cmd: |-
    ansible dev -m setup
  delta: '0:00:00.033604'
  end: '2020-05-24 23:29:51.883830'
  msg: non-zero return code
  rc: 127
  start: '2020-05-24 23:29:51.850226'
  stderr: '/bin/bash: ansible: command not found'
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>

This is a misunderstanding. Do not run the command with ansible-playbook as
"shell" task on the remote host!

The "command" shall be run from the command-line on controller. The output
will show all facts collected by the module "setup" on the remote host. The
same facts will be collected automatically by a playbook when not disabled by
"gather_facts: false". See
https://docs.ansible.com/ansible/latest/modules/setup_module.html#examples

  > ansible dev -m setup

Find the variables that fit your purpose. For example

  > cat playbook.yml
  - hosts: dev
    tasks:
      - debug:
          var: ansible_default_ipv4
      - debug:
          msg: "MAC: {{ ansible_default_ipv4.macaddress }}"
      - debug:
          msg: "Network: {{ ansible_default_ipv4.network }}"

  > ansible-playbook playbook.yml

HTH,

  -vlado

Thank you very much for the help