PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` package Paws::Credential::ProviderChain; use Moose; has providers => ( is => 'ro', isa => 'ArrayRef[Str]', default => sub { [ 'Paws::Credential::Environment', 'Paws::Credential::File', 'Paws::Credential::ECSContainerProfile', 'Paws::Credential::InstanceProfile', 'Paws::Credential::InstanceProfileV2', ] }, ); has selected_provider => ( is => 'rw', does => 'Paws::Credential', handles => [ 'access_key', 'secret_key', 'session_token' ], ); sub BUILD { my ($self) = @_; foreach my $prov (@{ $self->providers }) { Paws->load_class($prov); my $creds = $prov->new; if ($creds->are_set) { $self->selected_provider($creds); return; } } # Tried all the providers... none got creds die "Can't find any credentials. I tried with " . (join ',', @{ $self->providers }) } with 'Paws::Credential'; 1; ### main pod documentation begin ### =encoding UTF-8 =head1 NAME Paws::Credential::ProviderChain =head1 SYNOPSIS use Paws::Credential::ProviderChain; my $paws = Paws->new(config => { credentials => Paws::Credential::ProviderChain->new( providers => [ 'Paws::Credential::Environment', 'Paws::Credential::InstanceProfile' ], ) }); =head1 DESCRIPTION The ProviderChain is used to call different credential providers, one by one, in order, until one of them returns credentials. If none return credentials: an exception is raised. It is the default provider for Paws =head2 providers: ArrayRef[Str] Defaults to C<[ 'Paws::Credential::Environment', 'Paws::Credential::File', 'Paws::Credential::InstanceProfile', 'Paws::Credential::InstanceProfileV2' ]> =cut