| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | 
							- <?php
 
- namespace Aws;
 
- use Psr\Http\Message\UriInterface;
 
- use GuzzleHttp\Promise\PromiseInterface;
 
- /**
 
-  * Represents an AWS client.
 
-  */
 
- interface AwsClientInterface
 
- {
 
-     /**
 
-      * Creates and executes a command for an operation by name.
 
-      *
 
-      * Suffixing an operation name with "Async" will return a
 
-      * promise that can be used to execute commands asynchronously.
 
-      *
 
-      * @param string $name      Name of the command to execute.
 
-      * @param array  $arguments Arguments to pass to the getCommand method.
 
-      *
 
-      * @return ResultInterface
 
-      * @throws \Exception
 
-      */
 
-     public function __call($name, array $arguments);
 
-     /**
 
-      * Create a command for an operation name.
 
-      *
 
-      * Special keys may be set on the command to control how it behaves,
 
-      * including:
 
-      *
 
-      * - @http: Associative array of transfer specific options to apply to the
 
-      *   request that is serialized for this command. Available keys include
 
-      *   "proxy", "verify", "timeout", "connect_timeout", "debug", "delay", and
 
-      *   "headers".
 
-      *
 
-      * @param string $name Name of the operation to use in the command
 
-      * @param array  $args Arguments to pass to the command
 
-      *
 
-      * @return CommandInterface
 
-      * @throws \InvalidArgumentException if no command can be found by name
 
-      */
 
-     public function getCommand($name, array $args = []);
 
-     /**
 
-      * Execute a single command.
 
-      *
 
-      * @param CommandInterface $command Command to execute
 
-      *
 
-      * @return ResultInterface
 
-      * @throws \Exception
 
-      */
 
-     public function execute(CommandInterface $command);
 
-     /**
 
-      * Execute a command asynchronously.
 
-      *
 
-      * @param CommandInterface $command Command to execute
 
-      *
 
-      * @return \GuzzleHttp\Promise\PromiseInterface
 
-      */
 
-     public function executeAsync(CommandInterface $command);
 
-     /**
 
-      * Returns a promise that is fulfilled with an
 
-      * {@see \Aws\Credentials\CredentialsInterface} object.
 
-      *
 
-      * If you need the credentials synchronously, then call the wait() method
 
-      * on the returned promise.
 
-      *
 
-      * @return PromiseInterface
 
-      */
 
-     public function getCredentials();
 
-     /**
 
-      * Get the region to which the client is configured to send requests.
 
-      *
 
-      * @return string
 
-      */
 
-     public function getRegion();
 
-     /**
 
-      * Gets the default endpoint, or base URL, used by the client.
 
-      *
 
-      * @return UriInterface
 
-      */
 
-     public function getEndpoint();
 
-     /**
 
-      * Get the service description associated with the client.
 
-      *
 
-      * @return \Aws\Api\Service
 
-      */
 
-     public function getApi();
 
-     /**
 
-      * Get a client configuration value.
 
-      *
 
-      * @param string|null $option The option to retrieve. Pass null to retrieve
 
-      *                            all options.
 
-      * @return mixed|null
 
-      */
 
-     public function getConfig($option = null);
 
-     /**
 
-      * Get the handler list used to transfer commands.
 
-      *
 
-      * This list can be modified to add middleware or to change the underlying
 
-      * handler used to send HTTP requests.
 
-      *
 
-      * @return HandlerList
 
-      */
 
-     public function getHandlerList();
 
-     /**
 
-      * Get a resource iterator for the specified operation.
 
-      *
 
-      * @param string $name Name of the iterator to retrieve.
 
-      * @param array  $args Command arguments to use with each command.
 
-      *
 
-      * @return \Iterator
 
-      * @throws \UnexpectedValueException if the iterator config is invalid.
 
-      */
 
-     public function getIterator($name, array $args = []);
 
-     /**
 
-      * Get a result paginator for the specified operation.
 
-      *
 
-      * @param string $name   Name of the operation used for iterator
 
-      * @param array  $args   Command args to be used with each command
 
-      *
 
-      * @return \Aws\ResultPaginator
 
-      * @throws \UnexpectedValueException if the iterator config is invalid.
 
-      */
 
-     public function getPaginator($name, array $args = []);
 
-     /**
 
-      * Wait until a resource is in a particular state.
 
-      *
 
-      * @param string|callable $name Name of the waiter that defines the wait
 
-      *                              configuration and conditions.
 
-      * @param array  $args          Args to be used with each command executed
 
-      *                              by the waiter. Waiter configuration options
 
-      *                              can be provided in an associative array in
 
-      *                              the @waiter key.
 
-      * @return void
 
-      * @throws \UnexpectedValueException if the waiter is invalid.
 
-      */
 
-     public function waitUntil($name, array $args = []);
 
-     /**
 
-      * Get a waiter that waits until a resource is in a particular state.
 
-      *
 
-      * Retrieving a waiter can be useful when you wish to wait asynchronously:
 
-      *
 
-      *     $waiter = $client->getWaiter('foo', ['bar' => 'baz']);
 
-      *     $waiter->promise()->then(function () { echo 'Done!'; });
 
-      *
 
-      * @param string|callable $name Name of the waiter that defines the wait
 
-      *                              configuration and conditions.
 
-      * @param array  $args          Args to be used with each command executed
 
-      *                              by the waiter. Waiter configuration options
 
-      *                              can be provided in an associative array in
 
-      *                              the @waiter key.
 
-      * @return \Aws\Waiter
 
-      * @throws \UnexpectedValueException if the waiter is invalid.
 
-      */
 
-     public function getWaiter($name, array $args = []);
 
- }
 
 
  |