thank you all for your findings and recommendations

In the same playbook I would like to explain one more scenario , I am using 
set_facts to use above playbook output as input in the playbook, and I have 
variables.yml 

It has to go through loop and get the server details from each environment, 
will my below playbook work
my variables.yml file
# Environment and os as input to pull all servers out of this
serverlist: "https://test-dev.test.com/testapi/test/server?environment={{ 
item }}&os=linux" +# 
# item should be replaced with the item from the loop and pass it to below 
playbook

vars_files:
    - "variables.yml"
  tasks:
    - name: set the facts per host
      set_fact:
        access_token: "{{ hostvars.localhost.output.stdout }}" # this is 
the output of the above play 
    - name: Make a post call to get server details
      shell: |
        cd /var/output/
        curl --location --request GET {{ serverlist }} \--header 
Authorization: Bearer {{ access_token }} > /var/output/servers1.json 
jq -r '.[]|.serverData[].servers[]' servers1.json > 
/home/deploy-user/ansible/group_vars/servers1.yml 
      register: data
    - debug: msg="data , {{ serverlist }}" # this need to replaced from one 
var file
      loop:
        - dev
        - uat
        - stg2




On Friday, May 19, 2023 at 5:07:45 AM UTC-7 Rowe, Walter P. (Fed) wrote:

> Your curl command places the output in /var/output/{{ item }}.json. 
> Your jq command reads the output from {{ item }}.json which is not 
> /var/output/{{ item }}.json.
>
> Walter
> --
> Walter Rowe, Division Chief
> Infrastructure Services, OISM
> Mobile: 202.355.4123 <(202)%20355-4123>
>
> On May 19, 2023, at 1:21 AM, Narmada Karthika <[email protected]> wrote:
>
> I am getting error saying  I am using 2 var_files. 
> ERROR! failed at splitting arguments, either an unbalanced jinja2 block or 
> quotes: 
>
> I also tried using include_vars which gave me same error, the values in 
> these 2 files need to be replace at diff locations at play book
> some one please suggest what is the best way for this
>
>  name: post call to get servergroup
>   hosts: localhost
>   become: true
>   gather_facts: no
>   tasks:
>     - name: set the facts per host
>       set_fact:
>         access_token: "{{ hostvars.localhost.output.stdout }}" # this is 
> the output of the above play
>     - name: Make a post call to get server details
>       shell: |
>         cd /var/output/
>         curl --location --request GET "{{ serverlist }}" \--header 
> 'Authorization: Bearer "{{ access_token }}" > /var/output/"{{ item }}".json
>         jq -r '.[]|.serverData[].servers[]' "{{ item }}".json > 
> /home/deploy-user/ansible/group_vars/"{{ item }}".yml
>       # item and server list from one file and 
> register: data
>     - debug: msg="data , {{ repo }}" # this need to replaced from one var 
> file
>       loop:
>         - dev
>         - uat
>         - stg2
>
>
> -- 
> 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/41e35941-ac2e-48fe-9654-489f0c298c7dn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/41e35941-ac2e-48fe-9654-489f0c298c7dn%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/528d78cf-b99e-4744-9a3c-ce78098f7512n%40googlegroups.com.

Reply via email to