/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the sesv2-2019-09-27.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SimpleEmailV2.Model { /// /// 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. /// public partial class EventDestination { private CloudWatchDestination _cloudWatchDestination; private bool? _enabled; private KinesisFirehoseDestination _kinesisFirehoseDestination; private List _matchingEventTypes = new List(); private string _name; private PinpointDestination _pinpointDestination; private SnsDestination _snsDestination; /// /// Gets and sets the property 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. /// /// public CloudWatchDestination CloudWatchDestination { get { return this._cloudWatchDestination; } set { this._cloudWatchDestination = value; } } // Check to see if CloudWatchDestination property is set internal bool IsSetCloudWatchDestination() { return this._cloudWatchDestination != null; } /// /// Gets and sets the property 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. /// /// public bool Enabled { get { return this._enabled.GetValueOrDefault(); } set { this._enabled = value; } } // Check to see if Enabled property is set internal bool IsSetEnabled() { return this._enabled.HasValue; } /// /// Gets and sets the property 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. /// /// public KinesisFirehoseDestination KinesisFirehoseDestination { get { return this._kinesisFirehoseDestination; } set { this._kinesisFirehoseDestination = value; } } // Check to see if KinesisFirehoseDestination property is set internal bool IsSetKinesisFirehoseDestination() { return this._kinesisFirehoseDestination != null; } /// /// Gets and sets the property 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. /// ///
///
[AWSProperty(Required=true)] public List MatchingEventTypes { get { return this._matchingEventTypes; } set { this._matchingEventTypes = value; } } // Check to see if MatchingEventTypes property is set internal bool IsSetMatchingEventTypes() { return this._matchingEventTypes != null && this._matchingEventTypes.Count > 0; } /// /// Gets and sets the property Name. /// /// A name that identifies the event destination. /// /// [AWSProperty(Required=true)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property 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. /// /// public PinpointDestination PinpointDestination { get { return this._pinpointDestination; } set { this._pinpointDestination = value; } } // Check to see if PinpointDestination property is set internal bool IsSetPinpointDestination() { return this._pinpointDestination != null; } /// /// Gets and sets the property SnsDestination. /// /// An object that defines an Amazon SNS destination for email events. You can use Amazon /// SNS to send notification when certain email events occur. /// /// public SnsDestination SnsDestination { get { return this._snsDestination; } set { this._snsDestination = value; } } // Check to see if SnsDestination property is set internal bool IsSetSnsDestination() { return this._snsDestination != null; } } }