Class SnsAction

java.lang.Object
software.amazon.awssdk.services.mailmanager.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>

The action to publish the email content to an Amazon SNS topic. When executed, this action will send the email as a notification to the specified SNS topic.

See Also:
  • Method Details

    • actionFailurePolicy

      public final ActionFailurePolicy actionFailurePolicy()

      A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the sns:Publish API.

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

      Returns:
      A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the sns:Publish API.
      See Also:
    • actionFailurePolicyAsString

      public final String actionFailurePolicyAsString()

      A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the sns:Publish API.

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

      Returns:
      A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the sns:Publish API.
      See Also:
    • encoding

      public final SnsNotificationEncoding encoding()

      The encoding to use for the email within the Amazon SNS notification. The default value is UTF-8. Use BASE64 if you need to preserve all special characters, especially when the original message uses a different encoding format.

      If the service returns an enum value that is not available in the current SDK version, encoding will return SnsNotificationEncoding.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. The default value is UTF-8. Use BASE64 if you need to preserve all special characters, especially when the original message uses a different encoding format.
      See Also:
    • encodingAsString

      public final String encodingAsString()

      The encoding to use for the email within the Amazon SNS notification. The default value is UTF-8. Use BASE64 if you need to preserve all special characters, especially when the original message uses a different encoding format.

      If the service returns an enum value that is not available in the current SDK version, encoding will return SnsNotificationEncoding.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. The default value is UTF-8. Use BASE64 if you need to preserve all special characters, especially when the original message uses a different encoding format.
      See Also:
    • payloadType

      public final SnsNotificationPayloadType payloadType()

      The expected payload type within the Amazon SNS notification. CONTENT attempts to publish the full email content with 20KB of headers content. HEADERS extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is CONTENT.

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

      Returns:
      The expected payload type within the Amazon SNS notification. CONTENT attempts to publish the full email content with 20KB of headers content. HEADERS extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is CONTENT.
      See Also:
    • payloadTypeAsString

      public final String payloadTypeAsString()

      The expected payload type within the Amazon SNS notification. CONTENT attempts to publish the full email content with 20KB of headers content. HEADERS extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is CONTENT.

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

      Returns:
      The expected payload type within the Amazon SNS notification. CONTENT attempts to publish the full email content with 20KB of headers content. HEADERS extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is CONTENT.
      See Also:
    • roleArn

      public final String roleArn()

      The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the sns:Publish API for the given topic.

      Returns:
      The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the sns:Publish API for the given topic.
    • topicArn

      public final String topicArn()

      The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.

      Returns:
      The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
    • 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.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.