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.

Reply via email to