Thanks Kai for your quick response ! Here is my output , problem is it does not extract the VMID but outputs the whole string. I intend to just get the VMID.
TASK [ESX_VM_SnapRestore : debug] ****************************** ************************************************************ ****************************************************** ok: [10.114.22.61] => { "changed": false, "ouputvmid": { "changed": true, "cmd": [ "vim-cmd", "vmsvc/getallvms", "|", "grep", "myvgpu_clone2", "|", "'cut -d ' ' -f 1'" ], "delta": "0:00:00.455803", "end": "2017-07-26 07:10:17.235366", "rc": 0, "start": "2017-07-26 07:10:16.779563", "stderr": "", "stderr_lines": [], "stdout": "Vmid Name File Guest OS Version Annotation\n51 myvgpu_clone2 [EVC_Store1] myvgpu_clone2/myvgpu_clone2.vmx windows8_64Guest vmx-11 ", "stdout_lines": [ "Vmid Name File Guest OS Version Annotation", *"51* myvgpu_clone2 [EVC_Store1] myvgpu_clone2/myvgpu_clone2.vmx windows8_64Guest vmx-11 " ] } } Though when i run it on ESX command line . it outputs the VMID as below. vim-cmd vmsvc/getallvms | grep 'myvgpu_clone2'| cut -d ' ' -f 1 51 On Wed, Jul 26, 2017 at 7:13 AM, Kai Stian Olstad < ansible-project+l...@olstad.com> wrote: > On 26. juli 2017 09:29, Vijay Misra wrote: > >> I need to get the VMID field from the column data as below. >> >> [[root@prmh-mag-31:~] vim-cmd vmsvc/getallvms >> Vmid Name File >> Guest OS Version Annotation >> 51 myvgpu_clone2 [EVC_Store1] myvgpu_clone2/myvgpu_clone2.vmx >> windows8_64Guest vmx-11 >> >> so as above is the command result , i need to get the VMID corresponding >> to vm name myvgpu_clone2. For that i have used ansible command module and >> grepping the first output of vm list for vmname so i get the one row . now >> i have to get the VMID field from the single row. >> >> I have used following code but it does not give the desired output. any >> help is aprreciated. >> > > What output do you get and what's wrong with it? > > > name: Get the VM id of the powered ON VM >> command: vim-cmd vmsvc/getallvms | grep '{{guest_name}}' | "'cut >> -d >> ' ' -f 1'" >> register: ouputvmid >> ignore_errors: true >> > > Not all esx have python so you might need to use the raw module. > > You need to remove the single and double quotes around cut like so. > > - name: Get the VM id of the powered ON VM > command: vim-cmd vmsvc/getallvms | grep '{{guest_name}}' | cut -d' ' > -f1 > register: ouputvmid > > > -- > Kai Stian Olstad > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Ansible Project" group. > To unsubscribe from this topic, visit https://groups.google.com/d/to > pic/ansible-project/TAWwl3sA4tY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > ansible-project+unsubscr...@googlegroups.com. > To post to this group, send email to ansible-project@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/ms > gid/ansible-project/26f1c6cf-a690-d449-d86e-1db528118b09%40olstad.com. > > For more options, visit https://groups.google.com/d/optout. > -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAKcuOAzY67jTMG9Rh%3Dkr3sZYAfrkFA%2BK5TB7x9evpG3xZW9Swg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.