File tree Expand file tree Collapse file tree 4 files changed +41
-1
lines changed Expand file tree Collapse file tree 4 files changed +41
-1
lines changed Original file line number Diff line number Diff line change 1
1
{
2
2
"variables" : {
3
- "${LATEST}" : " 3.273.2 "
3
+ "${LATEST}" : " 3.273.4 "
4
4
},
5
5
"endpoints" : " https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json" ,
6
6
"services" : {
Original file line number Diff line number Diff line change 2
2
3
3
## NOT RELEASED
4
4
5
+ ### Added
6
+
7
+ - AWS api-change: This release adds RecursiveInvocationException to the Invoke API and InvokeWithResponseStream API.
8
+
5
9
## 1.9.0
6
10
7
11
### Added
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace AsyncAws \Lambda \Exception ;
4
+
5
+ use AsyncAws \Core \Exception \Http \ClientException ;
6
+ use Symfony \Contracts \HttpClient \ResponseInterface ;
7
+
8
+ /**
9
+ * Lambda has detected your function being invoked in a recursive loop with other Amazon Web Services resources and
10
+ * stopped your function's invocation.
11
+ */
12
+ final class RecursiveInvocationException extends ClientException
13
+ {
14
+ /**
15
+ * The exception type.
16
+ */
17
+ private $ type ;
18
+
19
+ public function getType (): ?string
20
+ {
21
+ return $ this ->type ;
22
+ }
23
+
24
+ protected function populateResult (ResponseInterface $ response ): void
25
+ {
26
+ $ data = $ response ->toArray (false );
27
+
28
+ $ this ->type = isset ($ data ['Type ' ]) ? (string ) $ data ['Type ' ] : null ;
29
+ if (null !== $ v = (isset ($ data ['message ' ]) ? (string ) $ data ['message ' ] : null )) {
30
+ $ this ->message = $ v ;
31
+ }
32
+ }
33
+ }
Original file line number Diff line number Diff line change 35
35
use AsyncAws \Lambda \Exception \KMSNotFoundException ;
36
36
use AsyncAws \Lambda \Exception \PolicyLengthExceededException ;
37
37
use AsyncAws \Lambda \Exception \PreconditionFailedException ;
38
+ use AsyncAws \Lambda \Exception \RecursiveInvocationException ;
38
39
use AsyncAws \Lambda \Exception \RequestTooLargeException ;
39
40
use AsyncAws \Lambda \Exception \ResourceConflictException ;
40
41
use AsyncAws \Lambda \Exception \ResourceNotFoundException ;
@@ -232,6 +233,7 @@ public function deleteFunction($input): Result
232
233
* @throws InvalidRuntimeException
233
234
* @throws ResourceConflictException
234
235
* @throws ResourceNotReadyException
236
+ * @throws RecursiveInvocationException
235
237
*/
236
238
public function invoke ($ input ): InvocationResponse
237
239
{
@@ -266,6 +268,7 @@ public function invoke($input): InvocationResponse
266
268
'InvalidRuntimeException ' => InvalidRuntimeException::class,
267
269
'ResourceConflictException ' => ResourceConflictException::class,
268
270
'ResourceNotReadyException ' => ResourceNotReadyException::class,
271
+ 'RecursiveInvocationException ' => RecursiveInvocationException::class,
269
272
]]));
270
273
271
274
return new InvocationResponse ($ response );
You can’t perform that action at this time.
0 commit comments