I'm trying to source a managed file from S3. I've put valid S3 credentials into a pillar:
# salt 'minion00' pillar.item s3.key
minion00:
----------
s3.key:
CVmsdkfjak...
# salt 'minion00' pillar.item s3.keyid
minion00:
----------
s3.keyid:
AKAKAKAKAK....
and set up a managed file state:
/path/to/some.file:
file:
- managed
- source: s3://some-bucket/some.file
- source_hash: sha512=...
- user: testuser
- group: testgroup
- mode: 644
but applying the state fails:
2015-03-02 22:45:18,597 [salt.state ][INFO ] Running state [/path/to/some.file] at time 22:45:18.597076
2015-03-02 22:45:18,598 [salt.state ][INFO ] Executing state file.managed for /path/to/some.file
2015-03-02 22:45:18,610 [urllib3.connectionpool ][INFO ] Starting new HTTP connection (1): <ip address>
2015-03-02 22:45:18,615 [urllib3.connectionpool ][INFO ] Starting new HTTP connection (1): <ip address>
2015-03-02 22:45:18,617 [salt.utils.iam ][ERROR ] Failed to read metadata. Giving up on IAM credentials.
2015-03-02 22:45:18,622 [salt.state ][ERROR ] Unable to manage file: Could not fetch from s3://some-bucket/some.file
2015-03-02 22:45:18,622 [salt.state ][INFO ] Completed state [/path/to/some.file] at time 22:45:18.621957
where does one wire up the credentials such that they get used? I haven't been able to find any docs that explain how the pillar vars should get picked up