Esempio n. 1
0
 public function testBuildAlternate()
 {
     $client = ClientBuilder::factory('Aws\\DynamoDb')->setConfigDefaults(array('scheme' => 'https', 'region' => 'us-west-1', 'service' => 'dynamodb', 'service.description' => $this->dynamoDbDescription))->setCredentialsResolver(new CredentialsOptionResolver(function (Collection $config) {
         return Credentials::factory($config->getAll(array_keys(Credentials::getConfigDefaults())));
     }))->addClientResolver(new BackoffOptionResolver(function () {
         return BackoffPlugin::getExponentialBackoff();
     }))->build();
     $this->assertInstanceOf('Aws\\DynamoDb\\DynamoDbClient', $client);
 }
Esempio n. 2
0
 /**
  * Factory method to create a new Amazon STS client using an array of configuration options:
  *
  * Credential options (`key`, `secret`, and optional `token` OR `credentials` is required)
  *
  * - key: AWS Access Key ID
  * - secret: AWS secret access key
  * - credentials: You can optionally provide a custom `Aws\Common\Credentials\CredentialsInterface` object
  * - token: Custom AWS security token to use with request authentication
  * - token.ttd: UNIX timestamp for when the custom credentials expire
  * - credentials.cache: Used to cache credentials when using providers that require HTTP requests. Set the true
  *   to use the default APC cache or provide a `Guzzle\Cache\CacheAdapterInterface` object.
  * - credentials.cache.key: Optional custom cache key to use with the credentials
  * - credentials.client: Pass this option to specify a custom `Guzzle\Http\ClientInterface` to use if your
  *   credentials require a HTTP request (e.g. RefreshableInstanceProfileCredentials)
  *
  * Region and Endpoint options (a `region` and optional `scheme` OR a `base_url` is required)
  *
  * - region: Region name (e.g. 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', etc...)
  * - scheme: URI Scheme of the base URL (e.g. 'https', 'http').
  * - base_url: Instead of using a `region` and `scheme`, you can specify a custom base URL for the client
  * - endpoint_provider: Optional `Aws\Common\Region\EndpointProviderInterface` used to provide region endpoints
  *
  * Generic client options
  *
  * - ssl.certificate_authority: Set to true to use the bundled CA cert (default), system to use the certificate
  *   bundled with your system, or pass the full path to an SSL certificate bundle. This option should be used when
  *   you encounter curl error code 60.
  * - curl.options: Array of cURL options to apply to every request.
  *   See http://www.php.net/manual/en/function.curl-setopt.php for a list of available options
  * - signature: You can optionally provide a custom signature implementation used to sign requests
  * - signature.service: Set to explicitly override the service name used in signatures
  * - signature.region:  Set to explicitly override the region name used in signatures
  * - client.backoff.logger: `Guzzle\Log\LogAdapterInterface` object used to log backoff retries. Use
  *   'debug' to emit PHP warnings when a retry is issued.
  * - client.backoff.logger.template: Optional template to use for exponential backoff log messages. See
  *   `Guzzle\Plugin\Backoff\BackoffLogger` for formatting information.
  *
  * @param array|Collection $config Client configuration data
  *
  * @return self
  */
 public static function factory($config = array())
 {
     // Construct the STS client with the client builder
     return ClientBuilder::factory(__NAMESPACE__)->setConfig($config)->setConfigDefaults(array(Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/sts-2011-06-15.php'))->setCredentialsResolver(new CredentialsOptionResolver(function (Collection $config) {
         // Always need long term credentials
         if ($config->get(Options::KEY) && $config->get(Options::SECRET) && !$config->get(Options::TOKEN)) {
             return Credentials::factory($config->getAll(array_keys(Credentials::getConfigDefaults())));
         }
     }))->build();
 }
Esempio n. 3
0
 /**
  * Factory method to create a new Amazon STS client using an array of configuration options:
  *
  * Credential options (`key`, `secret`, and optional `token` OR `credentials` is required)
  *
  * - key: AWS Access Key ID
  * - secret: AWS secret access key
  * - credentials: You can optionally provide a custom `Aws\Common\Credentials\CredentialsInterface` object
  * - token: Custom AWS security token to use with request authentication
  * - token.ttd: UNIX timestamp for when the custom credentials expire
  * - credentials.cache: Used to cache credentials when using providers that require HTTP requests. Set the true
  *   to use the default APC cache or provide a `Guzzle\Cache\CacheAdapterInterface` object.
  * - credentials.cache.key: Optional custom cache key to use with the credentials
  * - credentials.client: Pass this option to specify a custom `Guzzle\Http\ClientInterface` to use if your
  *   credentials require a HTTP request (e.g. RefreshableInstanceProfileCredentials)
  *
  * Region and Endpoint options (a `region` and optional `scheme` OR a `base_url` is required)
  *
  * - region: Region name (e.g. 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', etc...)
  * - scheme: URI Scheme of the base URL (e.g. 'https', 'http').
  * - base_url: Instead of using a `region` and `scheme`, you can specify a custom base URL for the client
  * - endpoint_provider: Optional `Aws\Common\Region\EndpointProviderInterface` used to provide region endpoints
  *
  * Generic client options
  *
  * - ssl.cert: Set to true to use the bundled CA cert or pass the full path to an SSL certificate bundle. This
  *   option should be used when you encounter curl error code 60.
  * - curl.options: Array of cURL options to apply to every request.
  *   See http://www.php.net/manual/en/function.curl-setopt.php for a list of available options
  * - signature: You can optionally provide a custom signature implementation used to sign requests
  * - signature.service: Set to explicitly override the service name used in signatures
  * - signature.region:  Set to explicitly override the region name used in signatures
  * - client.backoff.logger: `Guzzle\Log\LogAdapterInterface` object used to log backoff retries. Use
  *   'debug' to emit PHP warnings when a retry is issued.
  * - client.backoff.logger.template: Optional template to use for exponential backoff log messages. See
  *   `Guzzle\Plugin\Backoff\BackoffLogger` for formatting information.
  *
  * @param array|Collection $config Client configuration data
  *
  * @return self
  */
 public static function factory($config = array())
 {
     // Construct the STS client with the client builder
     return ClientBuilder::factory(__NAMESPACE__)->setConfig($config)->setConfigDefaults(array(Options::SERVICE => 'sts', Options::SCHEME => 'https', Options::REGION => 'us-east-1'))->setCredentialsResolver(new CredentialsOptionResolver(function (Collection $config) {
         // Always need long term credentials
         if ($config->get(Options::KEY) && $config->get(Options::SECRET) && !$config->get(Options::TOKEN)) {
             return Credentials::factory($config->getAll(array_keys(Credentials::getConfigDefaults())));
         }
     }))->setSignature(new SignatureV4())->build();
 }
Esempio n. 4
0
 /**
  * @covers Aws\Common\Credentials\Credentials::getConfigDefaults
  */
 public function testProvidesListOfCredentialsOptions()
 {
     $this->assertInternalType('array', Credentials::getConfigDefaults());
 }
Esempio n. 5
0
 /**
  * Returns the default credential resolver for a client
  *
  * @return CredentialsOptionResolver
  */
 protected function getDefaultCredentialsResolver()
 {
     return new CredentialsOptionResolver(function (Collection $config) {
         return Credentials::factory($config->getAll(array_keys(Credentials::getConfigDefaults())));
     });
 }