Class EventDestination

java.lang.Object
software.amazon.awssdk.services.sesv2.model.EventDestination
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EventDestination.Builder,EventDestination>

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

In the Amazon SES API v2, events include message sends, deliveries, opens, clicks, bounces, complaints and delivery delays. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

See Also:
  • Method Details

    • name

      public final String name()

      A name that identifies the event destination.

      Returns:
      A name that identifies the event destination.
    • enabled

      public final Boolean enabled()

      If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

      If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

      Returns:
      If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

      If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

    • matchingEventTypes

      public final List<EventType> matchingEventTypes()

      The types of events that Amazon SES sends to the specified event destinations.

      • SEND - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)

      • REJECT - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server.

      • BOUNCE - (Hard bounce) The recipient's mail server permanently rejected the email. (Soft bounces are only included when SES fails to deliver the email after retrying for a period of time.)

      • COMPLAINT - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam.

      • DELIVERY - SES successfully delivered the email to the recipient's mail server.

      • OPEN - The recipient received the message and opened it in their email client.

      • CLICK - The recipient clicked one or more links in the email.

      • RENDERING_FAILURE - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail API operations.)

      • DELIVERY_DELAY - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.

      • SUBSCRIPTION - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an unsubscribe link as part of your subscription management.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMatchingEventTypes() method.

      Returns:
      The types of events that Amazon SES sends to the specified event destinations.

      • SEND - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)

      • REJECT - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server.

      • BOUNCE - (Hard bounce) The recipient's mail server permanently rejected the email. (Soft bounces are only included when SES fails to deliver the email after retrying for a period of time.)

      • COMPLAINT - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam.

      • DELIVERY - SES successfully delivered the email to the recipient's mail server.

      • OPEN - The recipient received the message and opened it in their email client.

      • CLICK - The recipient clicked one or more links in the email.

      • RENDERING_FAILURE - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail API operations.)

      • DELIVERY_DELAY - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.

      • SUBSCRIPTION - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an unsubscribe link as part of your subscription management.

    • hasMatchingEventTypes

      public final boolean hasMatchingEventTypes()
      For responses, this returns true if the service returned a value for the MatchingEventTypes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • matchingEventTypesAsStrings

      public final List<String> matchingEventTypesAsStrings()

      The types of events that Amazon SES sends to the specified event destinations.

      • SEND - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)

      • REJECT - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server.

      • BOUNCE - (Hard bounce) The recipient's mail server permanently rejected the email. (Soft bounces are only included when SES fails to deliver the email after retrying for a period of time.)

      • COMPLAINT - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam.

      • DELIVERY - SES successfully delivered the email to the recipient's mail server.

      • OPEN - The recipient received the message and opened it in their email client.

      • CLICK - The recipient clicked one or more links in the email.

      • RENDERING_FAILURE - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail API operations.)

      • DELIVERY_DELAY - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.

      • SUBSCRIPTION - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an unsubscribe link as part of your subscription management.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMatchingEventTypes() method.

      Returns:
      The types of events that Amazon SES sends to the specified event destinations.

      • SEND - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)

      • REJECT - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server.

      • BOUNCE - (Hard bounce) The recipient's mail server permanently rejected the email. (Soft bounces are only included when SES fails to deliver the email after retrying for a period of time.)

      • COMPLAINT - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam.

      • DELIVERY - SES successfully delivered the email to the recipient's mail server.

      • OPEN - The recipient received the message and opened it in their email client.

      • CLICK - The recipient clicked one or more links in the email.

      • RENDERING_FAILURE - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail API operations.)

      • DELIVERY_DELAY - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.

      • SUBSCRIPTION - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an unsubscribe link as part of your subscription management.

    • kinesisFirehoseDestination

      public final KinesisFirehoseDestination kinesisFirehoseDestination()

      An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

      Returns:
      An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.
    • cloudWatchDestination

      public final CloudWatchDestination cloudWatchDestination()

      An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

      Returns:
      An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.
    • snsDestination

      public final SnsDestination snsDestination()

      An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notifications when certain email events occur.

      Returns:
      An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notifications when certain email events occur.
    • eventBridgeDestination

      public final EventBridgeDestination eventBridgeDestination()

      An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.

      Returns:
      An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.
    • pinpointDestination

      public final PinpointDestination pinpointDestination()

      An object that defines an Amazon Pinpoint project destination for email events. You can send email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging dashboards that are built in to Amazon Pinpoint. For more information, see Transactional Messaging Charts in the Amazon Pinpoint User Guide.

      Returns:
      An object that defines an Amazon Pinpoint project destination for email events. You can send email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging dashboards that are built in to Amazon Pinpoint. For more information, see Transactional Messaging Charts in the Amazon Pinpoint User Guide.
    • toBuilder

      public EventDestination.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<EventDestination.Builder,EventDestination>
      Returns:
      a builder for type T
    • builder

      public static EventDestination.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EventDestination.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.