use Paws::Credential::InstanceProfile;

  my $paws = Paws->new(config => {
    credentials => Paws::Credential::InstanceProfile->new(
      metadata_url => 'http://localhost:8000/security-credentials',
      timeout => 5,


The InstanceProfile credential provider is used to call retrieve AWS credentials from instances running on AWS

When running on an instance in AWS, if said instance has a Role attached to it (also named InstanceProfile), Paws can retrieve short-term credentials (and refresh them when needed) from the AWS provided "metadata service".

metadata_url: Str

The section in the ini file where credentials will be looked up:

timetout: Int

Number of seconds to wait before timinig out a connection to the metadata service. It defaults to 1 second, as the metadata service is almost local, and very fast responding. Note that if set too high, and the metadata service is not present (not running on an AWS instance), the connection has to time out


A user agent that has a get method. Defaults to HTTP::Tiny