Class SNSAction

java.lang.Object
software.amazon.awssdk.services.ses.model.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:
  • Method Details

    • 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:
    • 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:
    • toBuilder

      public SNSAction.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<SNSAction.Builder,SNSAction>
      Returns:
      a builder for type T
    • builder

      public static SNSAction.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SNSAction.Builder> serializableBuilderClass()
    • hashCode

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

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

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.