/*
 * 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 route53resolver-2018-04-01.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.Route53Resolver
{
    /// 
    /// Constants used for properties of type Action.
    /// 
    public class Action : ConstantClass
    {
        /// 
        /// Constant ALERT for Action
        /// 
        public static readonly Action ALERT = new Action("ALERT");
        /// 
        /// Constant ALLOW for Action
        /// 
        public static readonly Action ALLOW = new Action("ALLOW");
        /// 
        /// Constant BLOCK for Action
        /// 
        public static readonly Action BLOCK = new Action("BLOCK");
        /// 
        /// 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 Action(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 Action 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 Action(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type AutodefinedReverseFlag.
    /// 
    public class AutodefinedReverseFlag : ConstantClass
    {
        /// 
        /// Constant DISABLE for AutodefinedReverseFlag
        /// 
        public static readonly AutodefinedReverseFlag DISABLE = new AutodefinedReverseFlag("DISABLE");
        /// 
        /// Constant ENABLE for AutodefinedReverseFlag
        /// 
        public static readonly AutodefinedReverseFlag ENABLE = new AutodefinedReverseFlag("ENABLE");
        /// 
        /// Constant USE_LOCAL_RESOURCE_SETTING for AutodefinedReverseFlag
        /// 
        public static readonly AutodefinedReverseFlag USE_LOCAL_RESOURCE_SETTING = new AutodefinedReverseFlag("USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// 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 AutodefinedReverseFlag(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 AutodefinedReverseFlag 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 AutodefinedReverseFlag(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type BlockOverrideDnsType.
    /// 
    public class BlockOverrideDnsType : ConstantClass
    {
        /// 
        /// Constant CNAME for BlockOverrideDnsType
        /// 
        public static readonly BlockOverrideDnsType CNAME = new BlockOverrideDnsType("CNAME");
        /// 
        /// 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 BlockOverrideDnsType(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 BlockOverrideDnsType 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 BlockOverrideDnsType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type BlockResponse.
    /// 
    public class BlockResponse : ConstantClass
    {
        /// 
        /// Constant NODATA for BlockResponse
        /// 
        public static readonly BlockResponse NODATA = new BlockResponse("NODATA");
        /// 
        /// Constant NXDOMAIN for BlockResponse
        /// 
        public static readonly BlockResponse NXDOMAIN = new BlockResponse("NXDOMAIN");
        /// 
        /// Constant OVERRIDE for BlockResponse
        /// 
        public static readonly BlockResponse OVERRIDE = new BlockResponse("OVERRIDE");
        /// 
        /// 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 BlockResponse(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 BlockResponse 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 BlockResponse(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallDomainImportOperation.
    /// 
    public class FirewallDomainImportOperation : ConstantClass
    {
        /// 
        /// Constant REPLACE for FirewallDomainImportOperation
        /// 
        public static readonly FirewallDomainImportOperation REPLACE = new FirewallDomainImportOperation("REPLACE");
        /// 
        /// 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 FirewallDomainImportOperation(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 FirewallDomainImportOperation 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 FirewallDomainImportOperation(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallDomainListStatus.
    /// 
    public class FirewallDomainListStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETE for FirewallDomainListStatus
        /// 
        public static readonly FirewallDomainListStatus COMPLETE = new FirewallDomainListStatus("COMPLETE");
        /// 
        /// Constant COMPLETE_IMPORT_FAILED for FirewallDomainListStatus
        /// 
        public static readonly FirewallDomainListStatus COMPLETE_IMPORT_FAILED = new FirewallDomainListStatus("COMPLETE_IMPORT_FAILED");
        /// 
        /// Constant DELETING for FirewallDomainListStatus
        /// 
        public static readonly FirewallDomainListStatus DELETING = new FirewallDomainListStatus("DELETING");
        /// 
        /// Constant IMPORTING for FirewallDomainListStatus
        /// 
        public static readonly FirewallDomainListStatus IMPORTING = new FirewallDomainListStatus("IMPORTING");
        /// 
        /// Constant UPDATING for FirewallDomainListStatus
        /// 
        public static readonly FirewallDomainListStatus UPDATING = new FirewallDomainListStatus("UPDATING");
        /// 
        /// 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 FirewallDomainListStatus(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 FirewallDomainListStatus 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 FirewallDomainListStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallDomainUpdateOperation.
    /// 
    public class FirewallDomainUpdateOperation : ConstantClass
    {
        /// 
        /// Constant ADD for FirewallDomainUpdateOperation
        /// 
        public static readonly FirewallDomainUpdateOperation ADD = new FirewallDomainUpdateOperation("ADD");
        /// 
        /// Constant REMOVE for FirewallDomainUpdateOperation
        /// 
        public static readonly FirewallDomainUpdateOperation REMOVE = new FirewallDomainUpdateOperation("REMOVE");
        /// 
        /// Constant REPLACE for FirewallDomainUpdateOperation
        /// 
        public static readonly FirewallDomainUpdateOperation REPLACE = new FirewallDomainUpdateOperation("REPLACE");
        /// 
        /// 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 FirewallDomainUpdateOperation(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 FirewallDomainUpdateOperation 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 FirewallDomainUpdateOperation(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallFailOpenStatus.
    /// 
    public class FirewallFailOpenStatus : ConstantClass
    {
        /// 
        /// Constant DISABLED for FirewallFailOpenStatus
        /// 
        public static readonly FirewallFailOpenStatus DISABLED = new FirewallFailOpenStatus("DISABLED");
        /// 
        /// Constant ENABLED for FirewallFailOpenStatus
        /// 
        public static readonly FirewallFailOpenStatus ENABLED = new FirewallFailOpenStatus("ENABLED");
        /// 
        /// Constant USE_LOCAL_RESOURCE_SETTING for FirewallFailOpenStatus
        /// 
        public static readonly FirewallFailOpenStatus USE_LOCAL_RESOURCE_SETTING = new FirewallFailOpenStatus("USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// 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 FirewallFailOpenStatus(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 FirewallFailOpenStatus 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 FirewallFailOpenStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallRuleGroupAssociationStatus.
    /// 
    public class FirewallRuleGroupAssociationStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETE for FirewallRuleGroupAssociationStatus
        /// 
        public static readonly FirewallRuleGroupAssociationStatus COMPLETE = new FirewallRuleGroupAssociationStatus("COMPLETE");
        /// 
        /// Constant DELETING for FirewallRuleGroupAssociationStatus
        /// 
        public static readonly FirewallRuleGroupAssociationStatus DELETING = new FirewallRuleGroupAssociationStatus("DELETING");
        /// 
        /// Constant UPDATING for FirewallRuleGroupAssociationStatus
        /// 
        public static readonly FirewallRuleGroupAssociationStatus UPDATING = new FirewallRuleGroupAssociationStatus("UPDATING");
        /// 
        /// 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 FirewallRuleGroupAssociationStatus(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 FirewallRuleGroupAssociationStatus 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 FirewallRuleGroupAssociationStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FirewallRuleGroupStatus.
    /// 
    public class FirewallRuleGroupStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETE for FirewallRuleGroupStatus
        /// 
        public static readonly FirewallRuleGroupStatus COMPLETE = new FirewallRuleGroupStatus("COMPLETE");
        /// 
        /// Constant DELETING for FirewallRuleGroupStatus
        /// 
        public static readonly FirewallRuleGroupStatus DELETING = new FirewallRuleGroupStatus("DELETING");
        /// 
        /// Constant UPDATING for FirewallRuleGroupStatus
        /// 
        public static readonly FirewallRuleGroupStatus UPDATING = new FirewallRuleGroupStatus("UPDATING");
        /// 
        /// 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 FirewallRuleGroupStatus(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 FirewallRuleGroupStatus 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 FirewallRuleGroupStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type IpAddressStatus.
    /// 
    public class IpAddressStatus : ConstantClass
    {
        /// 
        /// Constant ATTACHED for IpAddressStatus
        /// 
        public static readonly IpAddressStatus ATTACHED = new IpAddressStatus("ATTACHED");
        /// 
        /// Constant ATTACHING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus ATTACHING = new IpAddressStatus("ATTACHING");
        /// 
        /// Constant CREATING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus CREATING = new IpAddressStatus("CREATING");
        /// 
        /// Constant DELETE_FAILED_FAS_EXPIRED for IpAddressStatus
        /// 
        public static readonly IpAddressStatus DELETE_FAILED_FAS_EXPIRED = new IpAddressStatus("DELETE_FAILED_FAS_EXPIRED");
        /// 
        /// Constant DELETING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus DELETING = new IpAddressStatus("DELETING");
        /// 
        /// Constant DETACHING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus DETACHING = new IpAddressStatus("DETACHING");
        /// 
        /// Constant FAILED_CREATION for IpAddressStatus
        /// 
        public static readonly IpAddressStatus FAILED_CREATION = new IpAddressStatus("FAILED_CREATION");
        /// 
        /// Constant FAILED_RESOURCE_GONE for IpAddressStatus
        /// 
        public static readonly IpAddressStatus FAILED_RESOURCE_GONE = new IpAddressStatus("FAILED_RESOURCE_GONE");
        /// 
        /// Constant REMAP_ATTACHING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus REMAP_ATTACHING = new IpAddressStatus("REMAP_ATTACHING");
        /// 
        /// Constant REMAP_DETACHING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus REMAP_DETACHING = new IpAddressStatus("REMAP_DETACHING");
        /// 
        /// Constant UPDATE_FAILED for IpAddressStatus
        /// 
        public static readonly IpAddressStatus UPDATE_FAILED = new IpAddressStatus("UPDATE_FAILED");
        /// 
        /// Constant UPDATING for IpAddressStatus
        /// 
        public static readonly IpAddressStatus UPDATING = new IpAddressStatus("UPDATING");
        /// 
        /// 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 IpAddressStatus(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 IpAddressStatus 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 IpAddressStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type MutationProtectionStatus.
    /// 
    public class MutationProtectionStatus : ConstantClass
    {
        /// 
        /// Constant DISABLED for MutationProtectionStatus
        /// 
        public static readonly MutationProtectionStatus DISABLED = new MutationProtectionStatus("DISABLED");
        /// 
        /// Constant ENABLED for MutationProtectionStatus
        /// 
        public static readonly MutationProtectionStatus ENABLED = new MutationProtectionStatus("ENABLED");
        /// 
        /// 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 MutationProtectionStatus(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 MutationProtectionStatus 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 MutationProtectionStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type OutpostResolverStatus.
    /// 
    public class OutpostResolverStatus : ConstantClass
    {
        /// 
        /// Constant ACTION_NEEDED for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus ACTION_NEEDED = new OutpostResolverStatus("ACTION_NEEDED");
        /// 
        /// Constant CREATING for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus CREATING = new OutpostResolverStatus("CREATING");
        /// 
        /// Constant DELETING for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus DELETING = new OutpostResolverStatus("DELETING");
        /// 
        /// Constant FAILED_CREATION for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus FAILED_CREATION = new OutpostResolverStatus("FAILED_CREATION");
        /// 
        /// Constant FAILED_DELETION for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus FAILED_DELETION = new OutpostResolverStatus("FAILED_DELETION");
        /// 
        /// Constant OPERATIONAL for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus OPERATIONAL = new OutpostResolverStatus("OPERATIONAL");
        /// 
        /// Constant UPDATING for OutpostResolverStatus
        /// 
        public static readonly OutpostResolverStatus UPDATING = new OutpostResolverStatus("UPDATING");
        /// 
        /// 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 OutpostResolverStatus(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 OutpostResolverStatus 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 OutpostResolverStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverAutodefinedReverseStatus.
    /// 
    public class ResolverAutodefinedReverseStatus : ConstantClass
    {
        /// 
        /// Constant DISABLED for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus DISABLED = new ResolverAutodefinedReverseStatus("DISABLED");
        /// 
        /// Constant DISABLING for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus DISABLING = new ResolverAutodefinedReverseStatus("DISABLING");
        /// 
        /// Constant ENABLED for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus ENABLED = new ResolverAutodefinedReverseStatus("ENABLED");
        /// 
        /// Constant ENABLING for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus ENABLING = new ResolverAutodefinedReverseStatus("ENABLING");
        /// 
        /// Constant UPDATING_TO_USE_LOCAL_RESOURCE_SETTING for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus UPDATING_TO_USE_LOCAL_RESOURCE_SETTING = new ResolverAutodefinedReverseStatus("UPDATING_TO_USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// Constant USE_LOCAL_RESOURCE_SETTING for ResolverAutodefinedReverseStatus
        /// 
        public static readonly ResolverAutodefinedReverseStatus USE_LOCAL_RESOURCE_SETTING = new ResolverAutodefinedReverseStatus("USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// 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 ResolverAutodefinedReverseStatus(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 ResolverAutodefinedReverseStatus 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 ResolverAutodefinedReverseStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverDNSSECValidationStatus.
    /// 
    public class ResolverDNSSECValidationStatus : ConstantClass
    {
        /// 
        /// Constant DISABLED for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus DISABLED = new ResolverDNSSECValidationStatus("DISABLED");
        /// 
        /// Constant DISABLING for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus DISABLING = new ResolverDNSSECValidationStatus("DISABLING");
        /// 
        /// Constant ENABLED for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus ENABLED = new ResolverDNSSECValidationStatus("ENABLED");
        /// 
        /// Constant ENABLING for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus ENABLING = new ResolverDNSSECValidationStatus("ENABLING");
        /// 
        /// Constant UPDATING_TO_USE_LOCAL_RESOURCE_SETTING for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus UPDATING_TO_USE_LOCAL_RESOURCE_SETTING = new ResolverDNSSECValidationStatus("UPDATING_TO_USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// Constant USE_LOCAL_RESOURCE_SETTING for ResolverDNSSECValidationStatus
        /// 
        public static readonly ResolverDNSSECValidationStatus USE_LOCAL_RESOURCE_SETTING = new ResolverDNSSECValidationStatus("USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// 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 ResolverDNSSECValidationStatus(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 ResolverDNSSECValidationStatus 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 ResolverDNSSECValidationStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverEndpointDirection.
    /// 
    public class ResolverEndpointDirection : ConstantClass
    {
        /// 
        /// Constant INBOUND for ResolverEndpointDirection
        /// 
        public static readonly ResolverEndpointDirection INBOUND = new ResolverEndpointDirection("INBOUND");
        /// 
        /// Constant OUTBOUND for ResolverEndpointDirection
        /// 
        public static readonly ResolverEndpointDirection OUTBOUND = new ResolverEndpointDirection("OUTBOUND");
        /// 
        /// 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 ResolverEndpointDirection(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 ResolverEndpointDirection 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 ResolverEndpointDirection(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverEndpointStatus.
    /// 
    public class ResolverEndpointStatus : ConstantClass
    {
        /// 
        /// Constant ACTION_NEEDED for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus ACTION_NEEDED = new ResolverEndpointStatus("ACTION_NEEDED");
        /// 
        /// Constant AUTO_RECOVERING for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus AUTO_RECOVERING = new ResolverEndpointStatus("AUTO_RECOVERING");
        /// 
        /// Constant CREATING for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus CREATING = new ResolverEndpointStatus("CREATING");
        /// 
        /// Constant DELETING for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus DELETING = new ResolverEndpointStatus("DELETING");
        /// 
        /// Constant OPERATIONAL for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus OPERATIONAL = new ResolverEndpointStatus("OPERATIONAL");
        /// 
        /// Constant UPDATING for ResolverEndpointStatus
        /// 
        public static readonly ResolverEndpointStatus UPDATING = new ResolverEndpointStatus("UPDATING");
        /// 
        /// 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 ResolverEndpointStatus(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 ResolverEndpointStatus 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 ResolverEndpointStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverEndpointType.
    /// 
    public class ResolverEndpointType : ConstantClass
    {
        /// 
        /// Constant DUALSTACK for ResolverEndpointType
        /// 
        public static readonly ResolverEndpointType DUALSTACK = new ResolverEndpointType("DUALSTACK");
        /// 
        /// Constant IPV4 for ResolverEndpointType
        /// 
        public static readonly ResolverEndpointType IPV4 = new ResolverEndpointType("IPV4");
        /// 
        /// Constant IPV6 for ResolverEndpointType
        /// 
        public static readonly ResolverEndpointType IPV6 = new ResolverEndpointType("IPV6");
        /// 
        /// 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 ResolverEndpointType(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 ResolverEndpointType 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 ResolverEndpointType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverQueryLogConfigAssociationError.
    /// 
    public class ResolverQueryLogConfigAssociationError : ConstantClass
    {
        /// 
        /// Constant ACCESS_DENIED for ResolverQueryLogConfigAssociationError
        /// 
        public static readonly ResolverQueryLogConfigAssociationError ACCESS_DENIED = new ResolverQueryLogConfigAssociationError("ACCESS_DENIED");
        /// 
        /// Constant DESTINATION_NOT_FOUND for ResolverQueryLogConfigAssociationError
        /// 
        public static readonly ResolverQueryLogConfigAssociationError DESTINATION_NOT_FOUND = new ResolverQueryLogConfigAssociationError("DESTINATION_NOT_FOUND");
        /// 
        /// Constant INTERNAL_SERVICE_ERROR for ResolverQueryLogConfigAssociationError
        /// 
        public static readonly ResolverQueryLogConfigAssociationError INTERNAL_SERVICE_ERROR = new ResolverQueryLogConfigAssociationError("INTERNAL_SERVICE_ERROR");
        /// 
        /// Constant NONE for ResolverQueryLogConfigAssociationError
        /// 
        public static readonly ResolverQueryLogConfigAssociationError NONE = new ResolverQueryLogConfigAssociationError("NONE");
        /// 
        /// 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 ResolverQueryLogConfigAssociationError(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 ResolverQueryLogConfigAssociationError 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 ResolverQueryLogConfigAssociationError(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverQueryLogConfigAssociationStatus.
    /// 
    public class ResolverQueryLogConfigAssociationStatus : ConstantClass
    {
        /// 
        /// Constant ACTION_NEEDED for ResolverQueryLogConfigAssociationStatus
        /// 
        public static readonly ResolverQueryLogConfigAssociationStatus ACTION_NEEDED = new ResolverQueryLogConfigAssociationStatus("ACTION_NEEDED");
        /// 
        /// Constant ACTIVE for ResolverQueryLogConfigAssociationStatus
        /// 
        public static readonly ResolverQueryLogConfigAssociationStatus ACTIVE = new ResolverQueryLogConfigAssociationStatus("ACTIVE");
        /// 
        /// Constant CREATING for ResolverQueryLogConfigAssociationStatus
        /// 
        public static readonly ResolverQueryLogConfigAssociationStatus CREATING = new ResolverQueryLogConfigAssociationStatus("CREATING");
        /// 
        /// Constant DELETING for ResolverQueryLogConfigAssociationStatus
        /// 
        public static readonly ResolverQueryLogConfigAssociationStatus DELETING = new ResolverQueryLogConfigAssociationStatus("DELETING");
        /// 
        /// Constant FAILED for ResolverQueryLogConfigAssociationStatus
        /// 
        public static readonly ResolverQueryLogConfigAssociationStatus FAILED = new ResolverQueryLogConfigAssociationStatus("FAILED");
        /// 
        /// 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 ResolverQueryLogConfigAssociationStatus(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 ResolverQueryLogConfigAssociationStatus 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 ResolverQueryLogConfigAssociationStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverQueryLogConfigStatus.
    /// 
    public class ResolverQueryLogConfigStatus : ConstantClass
    {
        /// 
        /// Constant CREATED for ResolverQueryLogConfigStatus
        /// 
        public static readonly ResolverQueryLogConfigStatus CREATED = new ResolverQueryLogConfigStatus("CREATED");
        /// 
        /// Constant CREATING for ResolverQueryLogConfigStatus
        /// 
        public static readonly ResolverQueryLogConfigStatus CREATING = new ResolverQueryLogConfigStatus("CREATING");
        /// 
        /// Constant DELETING for ResolverQueryLogConfigStatus
        /// 
        public static readonly ResolverQueryLogConfigStatus DELETING = new ResolverQueryLogConfigStatus("DELETING");
        /// 
        /// Constant FAILED for ResolverQueryLogConfigStatus
        /// 
        public static readonly ResolverQueryLogConfigStatus FAILED = new ResolverQueryLogConfigStatus("FAILED");
        /// 
        /// 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 ResolverQueryLogConfigStatus(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 ResolverQueryLogConfigStatus 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 ResolverQueryLogConfigStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverRuleAssociationStatus.
    /// 
    public class ResolverRuleAssociationStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETE for ResolverRuleAssociationStatus
        /// 
        public static readonly ResolverRuleAssociationStatus COMPLETE = new ResolverRuleAssociationStatus("COMPLETE");
        /// 
        /// Constant CREATING for ResolverRuleAssociationStatus
        /// 
        public static readonly ResolverRuleAssociationStatus CREATING = new ResolverRuleAssociationStatus("CREATING");
        /// 
        /// Constant DELETING for ResolverRuleAssociationStatus
        /// 
        public static readonly ResolverRuleAssociationStatus DELETING = new ResolverRuleAssociationStatus("DELETING");
        /// 
        /// Constant FAILED for ResolverRuleAssociationStatus
        /// 
        public static readonly ResolverRuleAssociationStatus FAILED = new ResolverRuleAssociationStatus("FAILED");
        /// 
        /// Constant OVERRIDDEN for ResolverRuleAssociationStatus
        /// 
        public static readonly ResolverRuleAssociationStatus OVERRIDDEN = new ResolverRuleAssociationStatus("OVERRIDDEN");
        /// 
        /// 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 ResolverRuleAssociationStatus(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 ResolverRuleAssociationStatus 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 ResolverRuleAssociationStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ResolverRuleStatus.
    /// 
    public class ResolverRuleStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETE for ResolverRuleStatus
        /// 
        public static readonly ResolverRuleStatus COMPLETE = new ResolverRuleStatus("COMPLETE");
        /// 
        /// Constant DELETING for ResolverRuleStatus
        /// 
        public static readonly ResolverRuleStatus DELETING = new ResolverRuleStatus("DELETING");
        /// 
        /// Constant FAILED for ResolverRuleStatus
        /// 
        public static readonly ResolverRuleStatus FAILED = new ResolverRuleStatus("FAILED");
        /// 
        /// Constant UPDATING for ResolverRuleStatus
        /// 
        public static readonly ResolverRuleStatus UPDATING = new ResolverRuleStatus("UPDATING");
        /// 
        /// 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 ResolverRuleStatus(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 ResolverRuleStatus 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 ResolverRuleStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type RuleTypeOption.
    /// 
    public class RuleTypeOption : ConstantClass
    {
        /// 
        /// Constant FORWARD for RuleTypeOption
        /// 
        public static readonly RuleTypeOption FORWARD = new RuleTypeOption("FORWARD");
        /// 
        /// Constant RECURSIVE for RuleTypeOption
        /// 
        public static readonly RuleTypeOption RECURSIVE = new RuleTypeOption("RECURSIVE");
        /// 
        /// Constant SYSTEM for RuleTypeOption
        /// 
        public static readonly RuleTypeOption SYSTEM = new RuleTypeOption("SYSTEM");
        /// 
        /// 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 RuleTypeOption(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 RuleTypeOption 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 RuleTypeOption(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ShareStatus.
    /// 
    public class ShareStatus : ConstantClass
    {
        /// 
        /// Constant NOT_SHARED for ShareStatus
        /// 
        public static readonly ShareStatus NOT_SHARED = new ShareStatus("NOT_SHARED");
        /// 
        /// Constant SHARED_BY_ME for ShareStatus
        /// 
        public static readonly ShareStatus SHARED_BY_ME = new ShareStatus("SHARED_BY_ME");
        /// 
        /// Constant SHARED_WITH_ME for ShareStatus
        /// 
        public static readonly ShareStatus SHARED_WITH_ME = new ShareStatus("SHARED_WITH_ME");
        /// 
        /// 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 ShareStatus(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 ShareStatus 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 ShareStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SortOrder.
    /// 
    public class SortOrder : ConstantClass
    {
        /// 
        /// Constant ASCENDING for SortOrder
        /// 
        public static readonly SortOrder ASCENDING = new SortOrder("ASCENDING");
        /// 
        /// Constant DESCENDING for SortOrder
        /// 
        public static readonly SortOrder DESCENDING = new SortOrder("DESCENDING");
        /// 
        /// 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 SortOrder(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 SortOrder 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 SortOrder(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type Validation.
    /// 
    public class Validation : ConstantClass
    {
        /// 
        /// Constant DISABLE for Validation
        /// 
        public static readonly Validation DISABLE = new Validation("DISABLE");
        /// 
        /// Constant ENABLE for Validation
        /// 
        public static readonly Validation ENABLE = new Validation("ENABLE");
        /// 
        /// Constant USE_LOCAL_RESOURCE_SETTING for Validation
        /// 
        public static readonly Validation USE_LOCAL_RESOURCE_SETTING = new Validation("USE_LOCAL_RESOURCE_SETTING");
        /// 
        /// 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 Validation(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 Validation 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 Validation(string value)
        {
            return FindValue(value);
        }
    }
}