Hi, Walter.

Yes, and it fails:



*fatal: [api-dev-01 -> localhost]: FAILED! => {    "msg": "template error 
while templating string: expected token 'end of print statement', got 
'string'. String: {{ vm_facts.folders | 
regex_replace('(\\\\[)|(\\\\])|(\\\\')',  '') }}. expected token 'end of 
print statement', got 'string'"}*

On Wednesday, January 10, 2024 at 9:27:25 AM UTC-5 Rowe, Walter P. (Fed) 
wrote:

> Have you tried: 
>
> *regex_replace('(\\[)|(\\])**|(\\')**', '')*
>
> Walter
> --
> Walter Rowe, Division Chief
> Infrastructure Services Division
> Mobile: 202.355.4123 <(202)%20355-4123> 
>
> On Jan 10, 2024, at 9:08 AM, Dimitri Yioulos <[email protected]> wrote:
>
> Hello, all. 
>
> I'm working with VMware modules in removing snapshots across all vCenter 
> folders. In order for this to work, I first have to get the folders in 
> which the virtual machines live. Here's the playbook:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *--- - hosts: all   become: false   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   vars:     vcenter_hostname: 
> vcenter1.mycompany.com <http://vcenter1.mycompany.com>     
> vcenter_datacenter: First Datacenter   tasks:     - name: Find virtual 
> machine's folder name       vmware_guest_find:         hostname: "{{ 
> vcenter_hostname }}"         username: "{{ vcenter_username }}"         
> password: "{{ vcenter_password }}"         name: "{{ inventory_hostname }}" 
>         validate_certs: False       delegate_to: localhost       
> ignore_errors: true       register: vm_facts       tags: *
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *        - folder     - name: Show folders       ansible.builtin.debug:   
>       msg: "{{ vm_facts.folders }}"       tags:         - folder     - 
> name: Remove all snapshots of a VM       
> community.vmware.vmware_guest_snapshot:         hostname: "{{ 
> vcenter_hostname }}"         username: "{{ vcenter_username }}"         
> password: "{{ vcenter_password }}"         datacenter: "{{ 
> vcenter_datacenter }}"         folder: "{{ vm_facts.folders | 
> regex_replace('(\\[)|(\\])',  '') }}"         name: "{{ inventory_hostname 
> }}"         state: remove_all         validate_certs: False       
> delegate_to: localhost*
>
> Previous to my having employed regex_replace, this is the output I'd get, 
> e.g., for a vm's folder:
>
> *"['/First Datacenter/vm/Prod-SRM']"*
>
> The problem with that is *['* and *']*. They can't be part pf the folder 
> name. After employing regex-replace, the output is:
>
> *" '/Bedford Datacenter/vm/Bedford-Prod-SRM' "*
>
> Try as I may, I've not been able to find a way to also remove the single 
> quotes (the double quotes can remain). I've tried appending to the 
> regex_replace, but every piece of code i've used has failed.
>
> *regex_replace('(\\[)|(\\])'|(addlcodehere),  '') }}*
>
> Your kinf assistance requested.
>
> -- 
> 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/34393455-5021-4342-89b4-de276d68ccd9n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/34393455-5021-4342-89b4-de276d68ccd9n%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/29d9f7b7-60bf-45c9-86b0-afedfb237830n%40googlegroups.com.

Reply via email to