Class SNSAction

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<SNSAction.Builder,​SNSAction>

    @Generated("software.amazon.awssdk:codegen")
    public final class SNSAction
    extends Object
    implements SdkPojo, Serializable, ToCopyableBuilder<SNSAction.Builder,​SNSAction>

    When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

    If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

    You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

    For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

    See Also:
    Serialized Form
    • Method Detail

      • topicArn

        public final String topicArn()

        The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. You can find the ARN of a topic by using the ListTopics operation in Amazon SNS.

        For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

        Returns:
        The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. You can find the ARN of a topic by using the ListTopics operation in Amazon SNS.

        For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

      • encoding

        public final SNSActionEncoding encoding()

        The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

        If the service returns an enum value that is not available in the current SDK version, encoding will return SNSActionEncoding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from encodingAsString().

        Returns:
        The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.
        See Also:
        SNSActionEncoding
      • encodingAsString

        public final String encodingAsString()

        The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

        If the service returns an enum value that is not available in the current SDK version, encoding will return SNSActionEncoding.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from encodingAsString().

        Returns:
        The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.
        See Also:
        SNSActionEncoding
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)