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.