Server IP : 66.29.132.124 / Your IP : 18.189.189.19 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/aws/aws-sdk-php/src/Credentials/ |
Upload File : |
<?php namespace Aws\Credentials; use Aws\Exception\CredentialsException; use Aws\Result; use Aws\Sts\StsClient; use GuzzleHttp\Promise\PromiseInterface; /** * Credential provider that provides credentials via assuming a role * More Information, see: http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sts-2011-06-15.html#assumerole */ class AssumeRoleCredentialProvider { const ERROR_MSG = "Missing required 'AssumeRoleCredentialProvider' configuration option: "; /** @var StsClient */ private $client; /** @var array */ private $assumeRoleParams; /** * The constructor requires following configure parameters: * - client: a StsClient * - assume_role_params: Parameters used to make assumeRole call * * @param array $config Configuration options * @throws \InvalidArgumentException */ public function __construct(array $config = []) { if (!isset($config['assume_role_params'])) { throw new \InvalidArgumentException(self::ERROR_MSG . "'assume_role_params'."); } if (!isset($config['client'])) { throw new \InvalidArgumentException(self::ERROR_MSG . "'client'."); } $this->client = $config['client']; $this->assumeRoleParams = $config['assume_role_params']; } /** * Loads assume role credentials. * * @return PromiseInterface */ public function __invoke() { $client = $this->client; return $client->assumeRoleAsync($this->assumeRoleParams) ->then(function (Result $result) { return $this->client->createCredentials($result); })->otherwise(function (\RuntimeException $exception) { throw new CredentialsException( "Error in retrieving assume role credentials.", 0, $exception ); }); } }