mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2025-01-14 15:51:13 +01:00
170 lines
5.4 KiB
PHP
170 lines
5.4 KiB
PHP
|
<?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 = []);
|
||
|
}
|