Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
namespace Aws;
3
 
4
use Psr\Http\Message\UriInterface;
5
use GuzzleHttp\Promise\PromiseInterface;
6
 
7
/**
8
 * Represents an AWS client.
9
 */
10
interface AwsClientInterface
11
{
12
    /**
13
     * Creates and executes a command for an operation by name.
14
     *
15
     * Suffixing an operation name with "Async" will return a
16
     * promise that can be used to execute commands asynchronously.
17
     *
18
     * @param string $name      Name of the command to execute.
19
     * @param array  $arguments Arguments to pass to the getCommand method.
20
     *
21
     * @return ResultInterface
22
     * @throws \Exception
23
     */
24
    public function __call($name, array $arguments);
25
 
26
    /**
27
     * Create a command for an operation name.
28
     *
29
     * Special keys may be set on the command to control how it behaves,
30
     * including:
31
     *
32
     * - @http: Associative array of transfer specific options to apply to the
33
     *   request that is serialized for this command. Available keys include
34
     *   "proxy", "verify", "timeout", "connect_timeout", "debug", "delay", and
35
     *   "headers".
36
     *
37
     * @param string $name Name of the operation to use in the command
38
     * @param array  $args Arguments to pass to the command
39
     *
40
     * @return CommandInterface
41
     * @throws \InvalidArgumentException if no command can be found by name
42
     */
43
    public function getCommand($name, array $args = []);
44
 
45
    /**
46
     * Execute a single command.
47
     *
48
     * @param CommandInterface $command Command to execute
49
     *
50
     * @return ResultInterface
51
     * @throws \Exception
52
     */
53
    public function execute(CommandInterface $command);
54
 
55
    /**
56
     * Execute a command asynchronously.
57
     *
58
     * @param CommandInterface $command Command to execute
59
     *
60
     * @return \GuzzleHttp\Promise\PromiseInterface
61
     */
62
    public function executeAsync(CommandInterface $command);
63
 
64
    /**
65
     * Returns a promise that is fulfilled with an
66
     * {@see \Aws\Credentials\CredentialsInterface} object.
67
     *
68
     * If you need the credentials synchronously, then call the wait() method
69
     * on the returned promise.
70
     *
71
     * @return PromiseInterface
72
     */
73
    public function getCredentials();
74
 
75
    /**
76
     * Get the region to which the client is configured to send requests.
77
     *
78
     * @return string
79
     */
80
    public function getRegion();
81
 
82
    /**
83
     * Gets the default endpoint, or base URL, used by the client.
84
     *
85
     * @return UriInterface
86
     */
87
    public function getEndpoint();
88
 
89
    /**
90
     * Get the service description associated with the client.
91
     *
92
     * @return \Aws\Api\Service
93
     */
94
    public function getApi();
95
 
96
    /**
97
     * Get a client configuration value.
98
     *
99
     * @param string|null $option The option to retrieve. Pass null to retrieve
100
     *                            all options.
101
     * @return mixed|null
102
     */
103
    public function getConfig($option = null);
104
 
105
    /**
106
     * Get the handler list used to transfer commands.
107
     *
108
     * This list can be modified to add middleware or to change the underlying
109
     * handler used to send HTTP requests.
110
     *
111
     * @return HandlerList
112
     */
113
    public function getHandlerList();
114
 
115
    /**
116
     * Get a resource iterator for the specified operation.
117
     *
118
     * @param string $name Name of the iterator to retrieve.
119
     * @param array  $args Command arguments to use with each command.
120
     *
121
     * @return \Iterator
122
     * @throws \UnexpectedValueException if the iterator config is invalid.
123
     */
124
    public function getIterator($name, array $args = []);
125
 
126
    /**
127
     * Get a result paginator for the specified operation.
128
     *
129
     * @param string $name   Name of the operation used for iterator
130
     * @param array  $args   Command args to be used with each command
131
     *
132
     * @return \Aws\ResultPaginator
133
     * @throws \UnexpectedValueException if the iterator config is invalid.
134
     */
135
    public function getPaginator($name, array $args = []);
136
 
137
    /**
138
     * Wait until a resource is in a particular state.
139
     *
140
     * @param string|callable $name Name of the waiter that defines the wait
141
     *                              configuration and conditions.
142
     * @param array  $args          Args to be used with each command executed
143
     *                              by the waiter. Waiter configuration options
144
     *                              can be provided in an associative array in
145
     *                              the @waiter key.
146
     * @return void
147
     * @throws \UnexpectedValueException if the waiter is invalid.
148
     */
149
    public function waitUntil($name, array $args = []);
150
 
151
    /**
152
     * Get a waiter that waits until a resource is in a particular state.
153
     *
154
     * Retrieving a waiter can be useful when you wish to wait asynchronously:
155
     *
156
     *     $waiter = $client->getWaiter('foo', ['bar' => 'baz']);
157
     *     $waiter->promise()->then(function () { echo 'Done!'; });
158
     *
159
     * @param string|callable $name Name of the waiter that defines the wait
160
     *                              configuration and conditions.
161
     * @param array  $args          Args to be used with each command executed
162
     *                              by the waiter. Waiter configuration options
163
     *                              can be provided in an associative array in
164
     *                              the @waiter key.
165
     * @return \Aws\Waiter
166
     * @throws \UnexpectedValueException if the waiter is invalid.
167
     */
168
    public function getWaiter($name, array $args = []);
169
}