From 0bbfc3fc377e53377e235850d897547f7afe55f5 Mon Sep 17 00:00:00 2001 From: AsyncAws Bot Date: Sat, 2 Aug 2025 06:34:51 +0000 Subject: [PATCH] update generated code --- manifest.json | 2 +- src/Service/Sns/CHANGELOG.md | 4 + .../FilterPolicyLimitExceededException.php | 2 +- .../TooManyEntriesInBatchRequestException.php | 2 +- .../Sns/src/Input/CreateTopicInput.php | 86 +++++++++++++++---- src/Service/Sns/src/Input/PublishInput.php | 16 ++-- src/Service/Sns/src/Input/SubscribeInput.php | 4 +- src/Service/Sns/src/SnsClient.php | 26 +++--- .../ValueObject/PublishBatchRequestEntry.php | 23 +++-- 9 files changed, 116 insertions(+), 49 deletions(-) diff --git a/manifest.json b/manifest.json index 666fe6999..d566ae9b2 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "variables": { - "${LATEST}": "3.351.12" + "${LATEST}": "3.352.0" }, "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 b536a1bec..79f3f473f 100644 --- a/src/Service/Sns/CHANGELOG.md +++ b/src/Service/Sns/CHANGELOG.md @@ -6,6 +6,10 @@ - AWS api-change: Rework regions configuration +### Changed + +- AWS enhancement: Documentation updates. + ## 1.10.0 ### Added diff --git a/src/Service/Sns/src/Exception/FilterPolicyLimitExceededException.php b/src/Service/Sns/src/Exception/FilterPolicyLimitExceededException.php index 45b42718e..0a005a823 100644 --- a/src/Service/Sns/src/Exception/FilterPolicyLimitExceededException.php +++ b/src/Service/Sns/src/Exception/FilterPolicyLimitExceededException.php @@ -6,7 +6,7 @@ /** * Indicates that the number of filter polices in your Amazon Web Services account exceeds the limit. To add more filter - * polices, submit an Amazon SNS Limit Increase case in the Amazon Web Services Support Center. + * polices, submit an Amazon SNS Limit Increase case in the Amazon Web ServicesSupport Center. */ final class FilterPolicyLimitExceededException extends ClientException { diff --git a/src/Service/Sns/src/Exception/TooManyEntriesInBatchRequestException.php b/src/Service/Sns/src/Exception/TooManyEntriesInBatchRequestException.php index 129a27b99..e75cf8239 100644 --- a/src/Service/Sns/src/Exception/TooManyEntriesInBatchRequestException.php +++ b/src/Service/Sns/src/Exception/TooManyEntriesInBatchRequestException.php @@ -5,7 +5,7 @@ use AsyncAws\Core\Exception\Http\ClientException; /** - * The batch request contains more entries than permissible. + * The batch request contains more entries than permissible (more than 10). */ final class TooManyEntriesInBatchRequestException extends ClientException { diff --git a/src/Service/Sns/src/Input/CreateTopicInput.php b/src/Service/Sns/src/Input/CreateTopicInput.php index 5ad546e0b..ffe56f412 100644 --- a/src/Service/Sns/src/Input/CreateTopicInput.php +++ b/src/Service/Sns/src/Input/CreateTopicInput.php @@ -35,31 +35,84 @@ final class CreateTopicInput extends Input * * - `DeliveryPolicy` – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. * - `DisplayName` – The display name to use for a topic with SMS subscriptions. - * - `FifoTopic` – Set to true to create a FIFO topic. * - `Policy` – The policy that defines who can access your topic. By default, only the topic owner can publish or * subscribe to the topic. - * - `SignatureVersion` – The signature version corresponds to the hashing algorithm used while creating the signature - * of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By - * default, `SignatureVersion` is set to `1`. * - `TracingConfig` – Tracing mode of an Amazon SNS topic. By default `TracingConfig` is set to `PassThrough`, and * the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set * to `Active`, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing * header is true. This is only supported on standard topics. + * - HTTP * - * The following attribute applies only to server-side encryption [^1]: + * - `HTTPSuccessFeedbackRoleArn` – Indicates successful message delivery status for an Amazon SNS topic that is + * subscribed to an HTTP endpoint. + * - `HTTPSuccessFeedbackSampleRate` – Indicates percentage of successful messages to sample for an Amazon SNS topic + * that is subscribed to an HTTP endpoint. + * - `HTTPFailureFeedbackRoleArn` – Indicates failed message delivery status for an Amazon SNS topic that is + * subscribed to an HTTP endpoint. + * + * - Amazon Data Firehose + * + * - `FirehoseSuccessFeedbackRoleArn` – Indicates successful message delivery status for an Amazon SNS topic that is + * subscribed to an Amazon Data Firehose endpoint. + * - `FirehoseSuccessFeedbackSampleRate` – Indicates percentage of successful messages to sample for an Amazon SNS + * topic that is subscribed to an Amazon Data Firehose endpoint. + * - `FirehoseFailureFeedbackRoleArn` – Indicates failed message delivery status for an Amazon SNS topic that is + * subscribed to an Amazon Data Firehose endpoint. + * + * - Lambda + * + * - `LambdaSuccessFeedbackRoleArn` – Indicates successful message delivery status for an Amazon SNS topic that is + * subscribed to an Lambda endpoint. + * - `LambdaSuccessFeedbackSampleRate` – Indicates percentage of successful messages to sample for an Amazon SNS + * topic that is subscribed to an Lambda endpoint. + * - `LambdaFailureFeedbackRoleArn` – Indicates failed message delivery status for an Amazon SNS topic that is + * subscribed to an Lambda endpoint. + * + * - Platform application endpoint + * + * - `ApplicationSuccessFeedbackRoleArn` – Indicates successful message delivery status for an Amazon SNS topic that + * is subscribed to a platform application endpoint. + * - `ApplicationSuccessFeedbackSampleRate` – Indicates percentage of successful messages to sample for an Amazon + * SNS topic that is subscribed to an platform application endpoint. + * - `ApplicationFailureFeedbackRoleArn` – Indicates failed message delivery status for an Amazon SNS topic that is + * subscribed to an platform application endpoint. + * + * > In addition to being able to configure topic attributes for message delivery status of notification messages sent + * > to Amazon SNS application endpoints, you can also configure application attributes for the delivery status of + * > push notification messages sent to push notification services. + * > + * > For example, For more information, see Using Amazon SNS Application Attributes for Message Delivery Status [^1]. + * + * - Amazon SQS + * + * - `SQSSuccessFeedbackRoleArn` – Indicates successful message delivery status for an Amazon SNS topic that is + * subscribed to an Amazon SQS endpoint. + * - `SQSSuccessFeedbackSampleRate` – Indicates percentage of successful messages to sample for an Amazon SNS topic + * that is subscribed to an Amazon SQS endpoint. + * - `SQSFailureFeedbackRoleArn` – Indicates failed message delivery status for an Amazon SNS topic that is + * subscribed to an Amazon SQS endpoint. + * + * + * > The SuccessFeedbackRoleArn and FailureFeedbackRoleArn attributes are used to give + * > Amazon SNS write access to use CloudWatch Logs on your behalf. The SuccessFeedbackSampleRate + * > attribute is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you + * > configure the FailureFeedbackRoleArn attribute, then all failed message deliveries generate + * > CloudWatch Logs. + * + * The following attribute applies only to server-side encryption [^2]: * * - `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom - * CMK. For more information, see Key Terms [^2]. For more examples, see KeyId [^3] in the *Key Management Service API + * CMK. For more information, see Key Terms [^3]. For more examples, see KeyId [^4] in the *Key Management Service API * Reference*. * - * The following attributes apply only to FIFO topics [^4]: + * The following attributes apply only to FIFO topics [^5]: * * - `ArchivePolicy` – The policy that sets the retention period for messages stored in the message archive of an * Amazon SNS FIFO topic. * - `ContentBasedDeduplication` – Enables content-based deduplication for FIFO topics. * * - By default, `ContentBasedDeduplication` is set to `false`. If you create a FIFO topic and this attribute is - * `false`, you must specify a value for the `MessageDeduplicationId` parameter for the Publish [^5] action. + * `false`, you must specify a value for the `MessageDeduplicationId` parameter for the Publish [^6] action. * - When you set `ContentBasedDeduplication` to `true`, Amazon SNS uses a SHA-256 hash to generate the * `MessageDeduplicationId` using the body of the message (but not the attributes of the message). * @@ -75,14 +128,15 @@ final class CreateTopicInput extends Input * comes first. * - `MessageGroup` – The scope of deduplication is within each individual message group, which enables higher * throughput per topic subject to regional quotas. For more information on quotas or to request an increase, see - * Amazon SNS service quotas [^6] in the Amazon Web Services General Reference. - * - * [^1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html - * [^2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms - * [^3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters - * [^4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html - * [^5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html - * [^6]: https://docs.aws.amazon.com/general/latest/gr/sns.html + * Amazon SNS service quotas [^7] in the Amazon Web Services General Reference. + * + * [^1]: https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html + * [^2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html + * [^3]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms + * [^4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters + * [^5]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html + * [^6]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html + * [^7]: https://docs.aws.amazon.com/general/latest/gr/sns.html * * @var array|null */ diff --git a/src/Service/Sns/src/Input/PublishInput.php b/src/Service/Sns/src/Input/PublishInput.php index a5ca246bb..dad7319a6 100644 --- a/src/Service/Sns/src/Input/PublishInput.php +++ b/src/Service/Sns/src/Input/PublishInput.php @@ -148,12 +148,18 @@ final class PublishInput extends Input private $messageDeduplicationId; /** - * This parameter applies only to FIFO (first-in-first-out) topics. The `MessageGroupId` can contain up to 128 - * alphanumeric characters `(a-z, A-Z, 0-9)` and punctuation `(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)`. + * The `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z, A-Z, 0-9)` and punctuation + * `(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)`. * - * The `MessageGroupId` is a tag that specifies that a message belongs to a specific message group. Messages that belong - * to the same message group are processed in a FIFO manner (however, messages in different message groups might be - * processed out of order). Every message must include a `MessageGroupId`. + * For FIFO topics: The `MessageGroupId` is a tag that specifies that a message belongs to a specific message group. + * Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message + * groups might be processed out of order). Every message must include a `MessageGroupId`. + * + * For standard topics: The `MessageGroupId` is optional and is forwarded only to Amazon SQS standard subscriptions to + * activate fair queues [^1]. The `MessageGroupId` is not used for, or sent to, any other endpoint types. When provided, + * the same validation rules apply as for FIFO topics. + * + * [^1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html * * @var string|null */ diff --git a/src/Service/Sns/src/Input/SubscribeInput.php b/src/Service/Sns/src/Input/SubscribeInput.php index e19d0f08c..9a51a7e2c 100644 --- a/src/Service/Sns/src/Input/SubscribeInput.php +++ b/src/Service/Sns/src/Input/SubscribeInput.php @@ -32,7 +32,7 @@ final class SubscribeInput extends Input * - `sqs` – delivery of JSON-encoded message to an Amazon SQS queue * - `application` – delivery of JSON-encoded message to an EndpointArn for a mobile app and device * - `lambda` – delivery of JSON-encoded message to an Lambda function - * - `firehose` – delivery of JSON-encoded message to an Amazon Kinesis Data Firehose delivery stream. + * - `firehose` – delivery of JSON-encoded message to an Amazon Data Firehose delivery stream. * * @required * @@ -51,7 +51,7 @@ final class SubscribeInput extends Input * - For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS queue. * - For the `application` protocol, the endpoint is the EndpointArn of a mobile app and device. * - For the `lambda` protocol, the endpoint is the ARN of an Lambda function. - * - For the `firehose` protocol, the endpoint is the ARN of an Amazon Kinesis Data Firehose delivery stream. + * - For the `firehose` protocol, the endpoint is the ARN of an Amazon Data Firehose delivery stream. * * @var string|null */ diff --git a/src/Service/Sns/src/SnsClient.php b/src/Service/Sns/src/SnsClient.php index 7bd287463..2354d662d 100644 --- a/src/Service/Sns/src/SnsClient.php +++ b/src/Service/Sns/src/SnsClient.php @@ -364,28 +364,35 @@ public function publish($input): PublishResponse } /** - * Publishes up to ten messages to the specified topic. This is a batch version of `Publish`. For FIFO topics, multiple - * messages within a single batch are published in the order they are sent, and messages are deduplicated within the - * batch and across batches for 5 minutes. + * Publishes up to 10 messages to the specified topic in a single batch. This is a batch version of the `Publish` API. + * If you try to send more than 10 messages in a single batch request, you will receive a `TooManyEntriesInBatchRequest` + * exception. + * + * For FIFO topics, multiple messages within a single batch are published in the order they are sent, and messages are + * deduplicated within the batch and across batches for five minutes. * * The result of publishing each message is reported individually in the response. Because the batch request can result * in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns - * an HTTP status code of `200`. + * an HTTP status code of 200. * * The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of * all of the batched messages) are both 256 KB (262,144 bytes). * + * ! The `PublishBatch` API can send up to 10 messages at a time. If you attempt to send more than 10 messages in one + * ! request, you will encounter a `TooManyEntriesInBatchRequest` exception. In such cases, split your messages into + * ! multiple requests, each containing no more than 10 messages. + * * Some actions take lists of parameters. These lists are specified using the `param.n` notation. Values of `n` are - * integers starting from 1. For example, a parameter list with two elements looks like this: + * integers starting from **1**. For example, a parameter list with two elements looks like this: * - * &AttributeName.1=first + * `&AttributeName.1=first` * - * &AttributeName.2=second + * `&AttributeName.2=second` * * If you send a batch message to a topic, Amazon SNS publishes the batch message to each endpoint that is subscribed to * the topic. The format of the batch message depends on the notification protocol for each subscribed endpoint. * - * When a `messageId` is returned, the batch message is saved and Amazon SNS immediately delivers the message to + * When a `messageId` is returned, the batch message is saved, and Amazon SNS immediately delivers the message to * subscribers. * * @see https://docs.aws.amazon.com/sns/latest/api/API_PublishBatch.html @@ -502,9 +509,6 @@ public function subscribe($input): SubscribeResponse * delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the `Unsubscribe` * request was unintended. * - * > Amazon SQS queue subscriptions require authentication for deletion. Only the owner of the subscription, or the - * > owner of the topic can unsubscribe using the required Amazon Web Services signature. - * * This action is throttled at 100 transactions per second (TPS). * * @see https://docs.aws.amazon.com/sns/latest/api/API_Unsubscribe.html diff --git a/src/Service/Sns/src/ValueObject/PublishBatchRequestEntry.php b/src/Service/Sns/src/ValueObject/PublishBatchRequestEntry.php index 091ee1976..32054d2a7 100644 --- a/src/Service/Sns/src/ValueObject/PublishBatchRequestEntry.php +++ b/src/Service/Sns/src/ValueObject/PublishBatchRequestEntry.php @@ -43,8 +43,8 @@ final class PublishBatchRequestEntry * - be a syntactically valid JSON object; and * - contain at least a top-level JSON key of "default" with a value that is a string. * - * You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g. - * http). + * You can define other top-level keys that define the message you want to send to a specific transport protocol (for + * example, http). * * @var string|null */ @@ -103,23 +103,22 @@ final class PublishBatchRequestEntry private $messageDeduplicationId; /** - * This parameter applies only to FIFO (first-in-first-out) topics. - * - * The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message - * group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). - * To interleave multiple ordered streams within a single topic, use `MessageGroupId` values (for example, session data - * for multiple users). In this scenario, multiple consumers can process the topic, but the session data of each user is - * processed in a FIFO fashion. + * FIFO topics: The tag that specifies that a message belongs to a specific message group. Messages that belong to the + * same message group are processed in a FIFO manner (however, messages in different message groups might be processed + * out of order). To interleave multiple ordered streams within a single topic, use `MessageGroupId` values (for + * example, session data for multiple users). In this scenario, multiple consumers can process the topic, but the + * session data of each user is processed in a FIFO fashion. You must associate a non-empty `MessageGroupId` with a + * message. If you do not provide a `MessageGroupId`, the action fails. * - * You must associate a non-empty `MessageGroupId` with a message. If you don't provide a `MessageGroupId`, the action - * fails. + * Standard topics: The `MessageGroupId` is optional and is forwarded only to Amazon SQS standard subscriptions to + * activate fair queues [^1]. The `MessageGroupId` is not used for, or sent to, any other endpoint types. * * The length of `MessageGroupId` is 128 characters. * * `MessageGroupId` can contain alphanumeric characters `(a-z, A-Z, 0-9)` and punctuation * `(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)`. * - * ! `MessageGroupId` is required for FIFO topics. You can't use it for standard topics. + * [^1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fair-queues.html * * @var string|null */