/*
 * 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 pinpoint-email-2018-07-26.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.PinpointEmail
{
    /// 
    /// Constants used for properties of type BehaviorOnMxFailure.
    /// 
    public class BehaviorOnMxFailure : ConstantClass
    {
        /// 
        /// Constant REJECT_MESSAGE for BehaviorOnMxFailure
        /// 
        public static readonly BehaviorOnMxFailure REJECT_MESSAGE = new BehaviorOnMxFailure("REJECT_MESSAGE");
        /// 
        /// Constant USE_DEFAULT_VALUE for BehaviorOnMxFailure
        /// 
        public static readonly BehaviorOnMxFailure USE_DEFAULT_VALUE = new BehaviorOnMxFailure("USE_DEFAULT_VALUE");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public BehaviorOnMxFailure(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static BehaviorOnMxFailure FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator BehaviorOnMxFailure(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DeliverabilityDashboardAccountStatus.
    /// 
    public class DeliverabilityDashboardAccountStatus : ConstantClass
    {
        /// 
        /// Constant ACTIVE for DeliverabilityDashboardAccountStatus
        /// 
        public static readonly DeliverabilityDashboardAccountStatus ACTIVE = new DeliverabilityDashboardAccountStatus("ACTIVE");
        /// 
        /// Constant DISABLED for DeliverabilityDashboardAccountStatus
        /// 
        public static readonly DeliverabilityDashboardAccountStatus DISABLED = new DeliverabilityDashboardAccountStatus("DISABLED");
        /// 
        /// Constant PENDING_EXPIRATION for DeliverabilityDashboardAccountStatus
        /// 
        public static readonly DeliverabilityDashboardAccountStatus PENDING_EXPIRATION = new DeliverabilityDashboardAccountStatus("PENDING_EXPIRATION");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public DeliverabilityDashboardAccountStatus(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static DeliverabilityDashboardAccountStatus FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator DeliverabilityDashboardAccountStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DeliverabilityTestStatus.
    /// 
    public class DeliverabilityTestStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETED for DeliverabilityTestStatus
        /// 
        public static readonly DeliverabilityTestStatus COMPLETED = new DeliverabilityTestStatus("COMPLETED");
        /// 
        /// Constant IN_PROGRESS for DeliverabilityTestStatus
        /// 
        public static readonly DeliverabilityTestStatus IN_PROGRESS = new DeliverabilityTestStatus("IN_PROGRESS");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public DeliverabilityTestStatus(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static DeliverabilityTestStatus FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator DeliverabilityTestStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DimensionValueSource.
    /// 
    public class DimensionValueSource : ConstantClass
    {
        /// 
        /// Constant EMAIL_HEADER for DimensionValueSource
        /// 
        public static readonly DimensionValueSource EMAIL_HEADER = new DimensionValueSource("EMAIL_HEADER");
        /// 
        /// Constant LINK_TAG for DimensionValueSource
        /// 
        public static readonly DimensionValueSource LINK_TAG = new DimensionValueSource("LINK_TAG");
        /// 
        /// Constant MESSAGE_TAG for DimensionValueSource
        /// 
        public static readonly DimensionValueSource MESSAGE_TAG = new DimensionValueSource("MESSAGE_TAG");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public DimensionValueSource(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static DimensionValueSource FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator DimensionValueSource(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DkimStatus.
    /// 
    public class DkimStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for DkimStatus
        /// 
        public static readonly DkimStatus FAILED = new DkimStatus("FAILED");
        /// 
        /// Constant NOT_STARTED for DkimStatus
        /// 
        public static readonly DkimStatus NOT_STARTED = new DkimStatus("NOT_STARTED");
        /// 
        /// Constant PENDING for DkimStatus
        /// 
        public static readonly DkimStatus PENDING = new DkimStatus("PENDING");
        /// 
        /// Constant SUCCESS for DkimStatus
        /// 
        public static readonly DkimStatus SUCCESS = new DkimStatus("SUCCESS");
        /// 
        /// Constant TEMPORARY_FAILURE for DkimStatus
        /// 
        public static readonly DkimStatus TEMPORARY_FAILURE = new DkimStatus("TEMPORARY_FAILURE");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public DkimStatus(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static DkimStatus FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator DkimStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EventType.
    /// 
    public class EventType : ConstantClass
    {
        /// 
        /// Constant BOUNCE for EventType
        /// 
        public static readonly EventType BOUNCE = new EventType("BOUNCE");
        /// 
        /// Constant CLICK for EventType
        /// 
        public static readonly EventType CLICK = new EventType("CLICK");
        /// 
        /// Constant COMPLAINT for EventType
        /// 
        public static readonly EventType COMPLAINT = new EventType("COMPLAINT");
        /// 
        /// Constant DELIVERY for EventType
        /// 
        public static readonly EventType DELIVERY = new EventType("DELIVERY");
        /// 
        /// Constant OPEN for EventType
        /// 
        public static readonly EventType OPEN = new EventType("OPEN");
        /// 
        /// Constant REJECT for EventType
        /// 
        public static readonly EventType REJECT = new EventType("REJECT");
        /// 
        /// Constant RENDERING_FAILURE for EventType
        /// 
        public static readonly EventType RENDERING_FAILURE = new EventType("RENDERING_FAILURE");
        /// 
        /// Constant SEND for EventType
        /// 
        public static readonly EventType SEND = new EventType("SEND");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public EventType(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static EventType FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator EventType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type IdentityType.
    /// 
    public class IdentityType : ConstantClass
    {
        /// 
        /// Constant DOMAIN for IdentityType
        /// 
        public static readonly IdentityType DOMAIN = new IdentityType("DOMAIN");
        /// 
        /// Constant EMAIL_ADDRESS for IdentityType
        /// 
        public static readonly IdentityType EMAIL_ADDRESS = new IdentityType("EMAIL_ADDRESS");
        /// 
        /// Constant MANAGED_DOMAIN for IdentityType
        /// 
        public static readonly IdentityType MANAGED_DOMAIN = new IdentityType("MANAGED_DOMAIN");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public IdentityType(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static IdentityType FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator IdentityType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type MailFromDomainStatus.
    /// 
    public class MailFromDomainStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for MailFromDomainStatus
        /// 
        public static readonly MailFromDomainStatus FAILED = new MailFromDomainStatus("FAILED");
        /// 
        /// Constant PENDING for MailFromDomainStatus
        /// 
        public static readonly MailFromDomainStatus PENDING = new MailFromDomainStatus("PENDING");
        /// 
        /// Constant SUCCESS for MailFromDomainStatus
        /// 
        public static readonly MailFromDomainStatus SUCCESS = new MailFromDomainStatus("SUCCESS");
        /// 
        /// Constant TEMPORARY_FAILURE for MailFromDomainStatus
        /// 
        public static readonly MailFromDomainStatus TEMPORARY_FAILURE = new MailFromDomainStatus("TEMPORARY_FAILURE");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public MailFromDomainStatus(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static MailFromDomainStatus FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator MailFromDomainStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TlsPolicy.
    /// 
    public class TlsPolicy : ConstantClass
    {
        /// 
        /// Constant OPTIONAL for TlsPolicy
        /// 
        public static readonly TlsPolicy OPTIONAL = new TlsPolicy("OPTIONAL");
        /// 
        /// Constant REQUIRE for TlsPolicy
        /// 
        public static readonly TlsPolicy REQUIRE = new TlsPolicy("REQUIRE");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public TlsPolicy(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static TlsPolicy FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator TlsPolicy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type WarmupStatus.
    /// 
    public class WarmupStatus : ConstantClass
    {
        /// 
        /// Constant DONE for WarmupStatus
        /// 
        public static readonly WarmupStatus DONE = new WarmupStatus("DONE");
        /// 
        /// Constant IN_PROGRESS for WarmupStatus
        /// 
        public static readonly WarmupStatus IN_PROGRESS = new WarmupStatus("IN_PROGRESS");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public WarmupStatus(string value)
            : base(value)
        {
        }
        /// 
        /// Finds the constant for the unique value.
        /// 
        /// The unique value for the constant
        /// The constant for the unique value
        public static WarmupStatus FindValue(string value)
        {
            return FindValue(value);
        }
        /// 
        /// Utility method to convert strings to the constant class.
        /// 
        /// The string value to convert to the constant class.
        /// 
        public static implicit operator WarmupStatus(string value)
        {
            return FindValue(value);
        }
    }
}