Todd, that worked. I consider it a great Christmas present. Thanks! And, 
have a great Christmas!

If anyone can help me solve the prompt issue, I'd appreciate that, too.

On Friday, December 22, 2023 at 10:48:43 AM UTC-5 Todd Lewis wrote:

> I'm not sure about your prompt question,
> but for the report, try this:
>
>         content: |
>           {% for host in ansible_play_hosts %}
>           {%     if hostvars[host].snapshot_info.guest_snapshots.snapshots is 
> defined %}
>           {{ host }}:
>           {{ hostvars[host]['snapshot_info']|default("None", false) }}
>
>           {%     endif %}
>           {% endfor -%}
>
> Cheers,
> --
> Todd
>
>
> On 12/22/23 8:43 AM, Dimitri Yioulos wrote:
>
> Season's greetings, all. 
>
> I've created a playbook to generate a report of all VMware guests (vms) 
> which have snapshots:
>
> ---
>
> - hosts: all
>   gather_facts: false
>
>   vars_prompt:
>
>     - name: "vcenter_username"
>       prompt: "Enter your Vcenter username"
>       private: no
>     - name: "vcenter_password"
>       prompt: "Enter your VMware password"
>       private: yes
>     #- name: "vcenter_hostname"
>     #prompt: "Enter your Vcenter Hostname\n1- vcenter1.mycompany.com\n2- 
> vcenter2.mycompany.com\n"
>         #private: no
>         #- name: "vcenter_datacenter"
>         #prompt: "Enter your Vcenter Datacenter\n1- First Datacenter\n2- 
> Second Datacenter\n"
>         #private: no
>
>   vars:
>     vcenter_hostname: vcenter1.mycompany.com
>     vcenter_datacenter: First Datacenter
>
>   tasks:
>
>     - name: Gather snapshot information about the virtual machines in the 
> given vCenter
>       community.vmware.vmware_guest_snapshot_info:
>         hostname: "{{ vcenter_hostname }}"
>         username: "{{ vcenter_username }}"
>         password: "{{ vcenter_password }}"
>         datacenter: "{{ vcenter_datacenter }}"
>         folder: "/{{ vcenter_datacenter }}/vm"
>         validate_certs: False
>         name: "{{ inventory_hostname }}"
>       register: snapshot_info
>       delegate_to: localhost
>
>     - name: Show snapshots
>       ansible.builtin.debug:
>         msg: "{{ snapshot_info }}"
>
>     - local_action:
>         module: copy
>         content: |
>           {% for host in ansible_play_hosts %}
>           {{ host }}:
>           {{ hostvars[host]['snapshot_info']|default("None", false) }}
>
>           {% endfor -%}
>         dest: "/home/user/snapshotsB.txt"
>       run_once: yes
>
> This works, producing the following output:
>
> host-01:
> {'changed': False, 'guest_snapshots': {}, 'failed': False}
>
> host-02:
> {'changed': False, 'guest_snapshots': {'snapshots': [{'id': 1355, 'name': 
> 'VM Snapshot 12%2f20%2f2023, 08:01:11 PM', 'description': 'Pre OS patching 
> - DGY', 'creation_time': '2023-12-21T01:01:12.319638+00:00', 'state': 
> 'poweredOff', 'quiesced': False}], 'current_snapshot': {'id': 1355, 'name': 
> 'VM Snapshot 12%2f20%2f2023, 08:01:11 PM', 'description': 'Pre OS patching 
> - DGY', 'creation_time': '2023-12-21T01:01:12.319638+00:00', 'state': 
> 'poweredOff', 'quiesced': False}}, 'failed': False}
>
> host-01 has no snapshot, and I'd like only hosts that have snaps to be 
> included in the report. How do I accomplish that?
>
> Additionally, there are two datacenters, one on each of two vCenter hosts. 
> You'll notice that I tried to create prompts to select the datacenter and 
> host (currently commented out). While the prompts appear, and I choose the 
> right values from the presented pick lists, it doesn't work. the errors are 
> that vms are non-existent. How can I make this work?
>
> Thanks so much.
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/d5cae40b-0a06-4e54-81f7-b4a297207799n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/d5cae40b-0a06-4e54-81f7-b4a297207799n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/beb611e6-de84-4da1-9d35-87adf118e0b9n%40googlegroups.com.

Reply via email to