Credentials providers

Aim is to use temporary credentials (via the machine role) for the API calls. Work in progress, unfinished.