Another solution is to use the "vars" lookup with your vars_prompt for 
"target" as you showed them above.

    - name: Start a logical partition.
      powervm_lpar_instance:
        hmc_host: "{{ lookup('vars',target).hmc }}"
        hmc_auth: "{{ curr_hmc_auth }}"
        system_name: "{{ lookup('vars',target).ms }}"
        vm_name: "{{ target }}"
        action: poweron

On Monday, February 20, 2023 at 12:29:45 PM UTC-5 Kenady Inampudi wrote:

> need help in passing external variables using vars_prompt
>
> working example i have a list of servers in a vars_file lparlist.yml
>
> i need to use vars_prompt so i can provide the server name without editing 
> the playbook every time
>
>
> working example
>
> *inventory*
> cat inventory
> [hmc]
> hmc1
> hmc2
>
>
> *vars_file*
> cat lparlist.yml
>
> ---
> - lpar1:
>     hmc: hmc1
>     ms: ms1
> - lpar2:
>     hmc: hmc2
>     ms: ms2
>
> *actual playbook:*
>
> ---
> - name: Start a logical partition
>   hosts: "{{ lpar1.hmc }}"
>   collections:
>       - ibm.power_hmc
>   connection: local
>   vars_files:
>     - lparlist.yml
>   vars:
>     curr_hmc_auth:
>       username: username
>       password: password
>   tasks:
>     - name: Start a logical partition.
>       powervm_lpar_instance:
>         hmc_host: "{{ lpar1.hmc }}"
>         hmc_auth: "{{ curr_hmc_auth }}"
>         system_name: "{{ lpar1.ms }}"
>         vm_name: lpar1
>         action: poweron
>
>
>
> *output*
>
> PLAY [Start a logical partition] 
> *******************************************************************************************************************************************************************************
>
> TASK [Gathering Facts] 
> ********************************************************************************************************************************************************************************************
> ok: [hmc1]
>
> TASK [Start a logical partition.] 
> ******************************************************************************************************************************************************************************
> changed: [hmc1]
>
> PLAY RECAP 
> ********************************************************************************************************************************************************************************************************
> hmc1               : ok=2    changed=1    unreachable=0    failed=0   
>  skipped=0    rescued=0    ignored=0
>
>
>
> *not working playbook*
>
>
> ---
> - name: Start a logical partition
>   hosts: "{{ lpar1.hmc }}"
>   vars_prompt:
>     - name: target
>       prompt: Enter Server Name
>       private: false
>   collections:
>       - ibm.power_hmc
>   connection: local
>   vars_files:
>     - lparlist.yml
>   vars:
>     curr_hmc_auth:
>       username: username
>       password: password
>   tasks:
>     - name: Start a logical partition.
>       powervm_lpar_instance:
>         hmc_host: "{{ target.hmc }}"
>         hmc_auth: "{{ curr_hmc_auth }}"
>         system_name: "{{ target.ms }}"
>         vm_name: "{{ target }}"
>         action: poweron
>
>
> *output*
>
> PLAY [Start a logical partition] 
> *******************************************************************************************************************************************************************************
>
> TASK [Gathering Facts] 
> ********************************************************************************************************************************************************************************************
> ok: [hmc1]
>
> TASK [Start a logical partition.] 
> ******************************************************************************************************************************************************************************
> fatal: [hmc1]: FAILED! => {"msg": "The task includes an option with an 
> undefined variable. The error was: 'unicode object' has no attribute 
> 'ms'\n\nThe error appears to be in '/home/inampk48/hmc/p3/poweron.yml': 
> line 17, column 7, but may\nbe elsewhere in the file depending on the exact 
> syntax problem.\n\nThe offending line appears to be:"\n    - name: Start a 
> logical partition.\n      ^ here\n"}
>
>
> PLAY RECAP 
> ********************************************************************************************************************************************************************************************************
> hmc1               : ok=1    changed=0    unreachable=0    failed=1   
>  skipped=0    rescued=0    ignored=0
>

-- 
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/b503c73c-cd11-4fb1-b8b3-b6f0e263ef98n%40googlegroups.com.

Reply via email to