diff --git a/manifest.json b/manifest.json index c9a6441e3..04d0c4a20 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "variables": { - "${LATEST}": "3.283.8" + "${LATEST}": "3.283.13" }, "endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json", "services": { diff --git a/src/Service/Sns/CHANGELOG.md b/src/Service/Sns/CHANGELOG.md index be329a4c2..fdd5381f2 100644 --- a/src/Service/Sns/CHANGELOG.md +++ b/src/Service/Sns/CHANGELOG.md @@ -5,6 +5,7 @@ ### Added - AWS api-change: Remove `ValidationException` +- AWS api-change: Message Archiving and Replay is now supported in Amazon SNS for FIFO topics. ### Changed diff --git a/src/Service/Sns/src/Exception/InvalidStateException.php b/src/Service/Sns/src/Exception/InvalidStateException.php new file mode 100644 index 000000000..a2d860ac2 --- /dev/null +++ b/src/Service/Sns/src/Exception/InvalidStateException.php @@ -0,0 +1,12 @@ +|null */ diff --git a/src/Service/Sns/src/SnsClient.php b/src/Service/Sns/src/SnsClient.php index 9497e8f3e..b8a287557 100644 --- a/src/Service/Sns/src/SnsClient.php +++ b/src/Service/Sns/src/SnsClient.php @@ -20,6 +20,7 @@ use AsyncAws\Sns\Exception\InvalidParameterException; use AsyncAws\Sns\Exception\InvalidParameterValueException; use AsyncAws\Sns\Exception\InvalidSecurityException; +use AsyncAws\Sns\Exception\InvalidStateException; use AsyncAws\Sns\Exception\KMSAccessDeniedException; use AsyncAws\Sns\Exception\KMSDisabledException; use AsyncAws\Sns\Exception\KMSInvalidStateException; @@ -28,6 +29,7 @@ use AsyncAws\Sns\Exception\KMSThrottlingException; use AsyncAws\Sns\Exception\NotFoundException; use AsyncAws\Sns\Exception\PlatformApplicationDisabledException; +use AsyncAws\Sns\Exception\ReplayLimitExceededException; use AsyncAws\Sns\Exception\StaleTagException; use AsyncAws\Sns\Exception\SubscriptionLimitExceededException; use AsyncAws\Sns\Exception\TagLimitExceededException; @@ -195,6 +197,7 @@ public function deleteEndpoint($input): Result * }|DeleteTopicInput $input * * @throws InvalidParameterException + * @throws InvalidStateException * @throws InternalErrorException * @throws AuthorizationErrorException * @throws NotFoundException @@ -207,6 +210,7 @@ public function deleteTopic($input): Result $input = DeleteTopicInput::create($input); $response = $this->getResponse($input->request(), new RequestContext(['operation' => 'DeleteTopic', 'region' => $input->getRegion(), 'exceptionMapping' => [ 'InvalidParameter' => InvalidParameterException::class, + 'InvalidState' => InvalidStateException::class, 'InternalError' => InternalErrorException::class, 'AuthorizationError' => AuthorizationErrorException::class, 'NotFound' => NotFoundException::class, @@ -412,6 +416,7 @@ public function publish($input): PublishResponse * @throws KMSThrottlingException * @throws KMSAccessDeniedException * @throws InvalidSecurityException + * @throws ValidationException */ public function publishBatch($input): PublishBatchResponse { @@ -436,6 +441,7 @@ public function publishBatch($input): PublishBatchResponse 'KMSThrottling' => KMSThrottlingException::class, 'KMSAccessDenied' => KMSAccessDeniedException::class, 'InvalidSecurity' => InvalidSecurityException::class, + 'ValidationException' => ValidationException::class, ]])); return new PublishBatchResponse($response); @@ -447,7 +453,7 @@ public function publishBatch($input): PublishBatchResponse * to confirm the subscription. * * You call the `ConfirmSubscription` action with the token from the subscription response. Confirmation tokens are - * valid for three days. + * valid for two days. * * This action is throttled at 100 transactions per second (TPS). * @@ -465,6 +471,7 @@ public function publishBatch($input): PublishBatchResponse * * @throws SubscriptionLimitExceededException * @throws FilterPolicyLimitExceededException + * @throws ReplayLimitExceededException * @throws InvalidParameterException * @throws InternalErrorException * @throws NotFoundException @@ -477,6 +484,7 @@ public function subscribe($input): SubscribeResponse $response = $this->getResponse($input->request(), new RequestContext(['operation' => 'Subscribe', 'region' => $input->getRegion(), 'exceptionMapping' => [ 'SubscriptionLimitExceeded' => SubscriptionLimitExceededException::class, 'FilterPolicyLimitExceeded' => FilterPolicyLimitExceededException::class, + 'ReplayLimitExceeded' => ReplayLimitExceededException::class, 'InvalidParameter' => InvalidParameterException::class, 'InternalError' => InternalErrorException::class, 'NotFound' => NotFoundException::class,