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 <chitt...@gmail.com> 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 ansible-proje...@googlegroups.com.
> 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 ansible-project+unsubscr...@googlegroups.com.
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