Hi all,

I'm looking for any suggestions on how to work around the following issue:

I am trying to use a lookup plugin but it is ignoring my environment 
variables.

The lookup plugin I am trying to use is credstash and the environment 
variables are being set because I am using AWS STS to assume a role.

It looks a little like this:

---
- name: Get STS token
  hosts: "{{ hosts }}"
  connection: local
  tasks:
    - name: Assume role for passed account
      sts_assume_role:
        region: "{{ aws_region }}"
        role_arn: "arn:aws:iam::{{ aws_account_id }}:role/ansible-is_assumed"
        role_session_name: ansible_assumed_role
      register: assumed_role
      when: use_sts

    - name: Set environment with AWS creds when available
      set_fact:
        my_environment:
          AWS_ACCESS_KEY_ID: "{{ assumed_role.sts_creds.access_key }}"
          AWS_SECRET_ACCESS_KEY: "{{ assumed_role.sts_creds.secret_key }}"
          AWS_SECURITY_TOKEN: "{{ assumed_role.sts_creds.session_token }}"
      when: assumed_role.skipped is not defined

    - name: Set environment blank when no AWS creds
      set_fact:
        my_environment: {}
      when: assumed_role.skipped is defined

- name: Deploy infrastructure role
  hosts: "{{ hosts }}"
  connection: local
  roles:
    - "{{ role_to_deploy }}"
  environment: "{{ my_environment }}"



Now in the role_to_deploy i have lots of tasks that work brilliantly 
calling out to AWS using the STS credentials supplied as intended.

Unfortunately, any lookup plugins do not work properly because they do not 
use the environment variables I have set.  They end up calling out to AWS 
using the default credentials rather than being overridden by the STS creds.

I don't think this is a bug but it is never the less annoying.

I'm hoping maybe one of the core team can think of a way I can get the 
lookup plugin to 'see' my STS environment variables I have set.

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/f75bcf4c-1543-41f0-a259-427dbe8f6265%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to