/*
 * 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 rekognition-2016-06-27.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.Rekognition
{
    /// 
    /// Constants used for properties of type Attribute.
    /// 
    public class Attribute : ConstantClass
    {
        /// 
        /// Constant AGE_RANGE for Attribute
        /// 
        public static readonly Attribute AGE_RANGE = new Attribute("AGE_RANGE");
        /// 
        /// Constant ALL for Attribute
        /// 
        public static readonly Attribute ALL = new Attribute("ALL");
        /// 
        /// Constant BEARD for Attribute
        /// 
        public static readonly Attribute BEARD = new Attribute("BEARD");
        /// 
        /// Constant DEFAULT for Attribute
        /// 
        public static readonly Attribute DEFAULT = new Attribute("DEFAULT");
        /// 
        /// Constant EMOTIONS for Attribute
        /// 
        public static readonly Attribute EMOTIONS = new Attribute("EMOTIONS");
        /// 
        /// Constant EYE_DIRECTION for Attribute
        /// 
        public static readonly Attribute EYE_DIRECTION = new Attribute("EYE_DIRECTION");
        /// 
        /// Constant EYEGLASSES for Attribute
        /// 
        public static readonly Attribute EYEGLASSES = new Attribute("EYEGLASSES");
        /// 
        /// Constant EYES_OPEN for Attribute
        /// 
        public static readonly Attribute EYES_OPEN = new Attribute("EYES_OPEN");
        /// 
        /// Constant FACE_OCCLUDED for Attribute
        /// 
        public static readonly Attribute FACE_OCCLUDED = new Attribute("FACE_OCCLUDED");
        /// 
        /// Constant GENDER for Attribute
        /// 
        public static readonly Attribute GENDER = new Attribute("GENDER");
        /// 
        /// Constant MOUTH_OPEN for Attribute
        /// 
        public static readonly Attribute MOUTH_OPEN = new Attribute("MOUTH_OPEN");
        /// 
        /// Constant MUSTACHE for Attribute
        /// 
        public static readonly Attribute MUSTACHE = new Attribute("MUSTACHE");
        /// 
        /// Constant SMILE for Attribute
        /// 
        public static readonly Attribute SMILE = new Attribute("SMILE");
        /// 
        /// Constant SUNGLASSES for Attribute
        /// 
        public static readonly Attribute SUNGLASSES = new Attribute("SUNGLASSES");
        /// 
        /// 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 Attribute(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 Attribute 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 Attribute(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type BodyPart.
    /// 
    public class BodyPart : ConstantClass
    {
        /// 
        /// Constant FACE for BodyPart
        /// 
        public static readonly BodyPart FACE = new BodyPart("FACE");
        /// 
        /// Constant HEAD for BodyPart
        /// 
        public static readonly BodyPart HEAD = new BodyPart("HEAD");
        /// 
        /// Constant LEFT_HAND for BodyPart
        /// 
        public static readonly BodyPart LEFT_HAND = new BodyPart("LEFT_HAND");
        /// 
        /// Constant RIGHT_HAND for BodyPart
        /// 
        public static readonly BodyPart RIGHT_HAND = new BodyPart("RIGHT_HAND");
        /// 
        /// 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 BodyPart(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 BodyPart 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 BodyPart(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type CelebrityRecognitionSortBy.
    /// 
    public class CelebrityRecognitionSortBy : ConstantClass
    {
        /// 
        /// Constant ID for CelebrityRecognitionSortBy
        /// 
        public static readonly CelebrityRecognitionSortBy ID = new CelebrityRecognitionSortBy("ID");
        /// 
        /// Constant TIMESTAMP for CelebrityRecognitionSortBy
        /// 
        public static readonly CelebrityRecognitionSortBy TIMESTAMP = new CelebrityRecognitionSortBy("TIMESTAMP");
        /// 
        /// 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 CelebrityRecognitionSortBy(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 CelebrityRecognitionSortBy 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 CelebrityRecognitionSortBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ContentClassifier.
    /// 
    public class ContentClassifier : ConstantClass
    {
        /// 
        /// Constant FreeOfAdultContent for ContentClassifier
        /// 
        public static readonly ContentClassifier FreeOfAdultContent = new ContentClassifier("FreeOfAdultContent");
        /// 
        /// Constant FreeOfPersonallyIdentifiableInformation for ContentClassifier
        /// 
        public static readonly ContentClassifier FreeOfPersonallyIdentifiableInformation = new ContentClassifier("FreeOfPersonallyIdentifiableInformation");
        /// 
        /// 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 ContentClassifier(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 ContentClassifier 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 ContentClassifier(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ContentModerationAggregateBy.
    /// 
    public class ContentModerationAggregateBy : ConstantClass
    {
        /// 
        /// Constant SEGMENTS for ContentModerationAggregateBy
        /// 
        public static readonly ContentModerationAggregateBy SEGMENTS = new ContentModerationAggregateBy("SEGMENTS");
        /// 
        /// Constant TIMESTAMPS for ContentModerationAggregateBy
        /// 
        public static readonly ContentModerationAggregateBy TIMESTAMPS = new ContentModerationAggregateBy("TIMESTAMPS");
        /// 
        /// 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 ContentModerationAggregateBy(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 ContentModerationAggregateBy 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 ContentModerationAggregateBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ContentModerationSortBy.
    /// 
    public class ContentModerationSortBy : ConstantClass
    {
        /// 
        /// Constant NAME for ContentModerationSortBy
        /// 
        public static readonly ContentModerationSortBy NAME = new ContentModerationSortBy("NAME");
        /// 
        /// Constant TIMESTAMP for ContentModerationSortBy
        /// 
        public static readonly ContentModerationSortBy TIMESTAMP = new ContentModerationSortBy("TIMESTAMP");
        /// 
        /// 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 ContentModerationSortBy(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 ContentModerationSortBy 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 ContentModerationSortBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatasetStatus.
    /// 
    public class DatasetStatus : ConstantClass
    {
        /// 
        /// Constant CREATE_COMPLETE for DatasetStatus
        /// 
        public static readonly DatasetStatus CREATE_COMPLETE = new DatasetStatus("CREATE_COMPLETE");
        /// 
        /// Constant CREATE_FAILED for DatasetStatus
        /// 
        public static readonly DatasetStatus CREATE_FAILED = new DatasetStatus("CREATE_FAILED");
        /// 
        /// Constant CREATE_IN_PROGRESS for DatasetStatus
        /// 
        public static readonly DatasetStatus CREATE_IN_PROGRESS = new DatasetStatus("CREATE_IN_PROGRESS");
        /// 
        /// Constant DELETE_IN_PROGRESS for DatasetStatus
        /// 
        public static readonly DatasetStatus DELETE_IN_PROGRESS = new DatasetStatus("DELETE_IN_PROGRESS");
        /// 
        /// Constant UPDATE_COMPLETE for DatasetStatus
        /// 
        public static readonly DatasetStatus UPDATE_COMPLETE = new DatasetStatus("UPDATE_COMPLETE");
        /// 
        /// Constant UPDATE_FAILED for DatasetStatus
        /// 
        public static readonly DatasetStatus UPDATE_FAILED = new DatasetStatus("UPDATE_FAILED");
        /// 
        /// Constant UPDATE_IN_PROGRESS for DatasetStatus
        /// 
        public static readonly DatasetStatus UPDATE_IN_PROGRESS = new DatasetStatus("UPDATE_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 DatasetStatus(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 DatasetStatus 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 DatasetStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatasetStatusMessageCode.
    /// 
    public class DatasetStatusMessageCode : ConstantClass
    {
        /// 
        /// Constant CLIENT_ERROR for DatasetStatusMessageCode
        /// 
        public static readonly DatasetStatusMessageCode CLIENT_ERROR = new DatasetStatusMessageCode("CLIENT_ERROR");
        /// 
        /// Constant SERVICE_ERROR for DatasetStatusMessageCode
        /// 
        public static readonly DatasetStatusMessageCode SERVICE_ERROR = new DatasetStatusMessageCode("SERVICE_ERROR");
        /// 
        /// Constant SUCCESS for DatasetStatusMessageCode
        /// 
        public static readonly DatasetStatusMessageCode SUCCESS = new DatasetStatusMessageCode("SUCCESS");
        /// 
        /// 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 DatasetStatusMessageCode(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 DatasetStatusMessageCode 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 DatasetStatusMessageCode(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatasetType.
    /// 
    public class DatasetType : ConstantClass
    {
        /// 
        /// Constant TEST for DatasetType
        /// 
        public static readonly DatasetType TEST = new DatasetType("TEST");
        /// 
        /// Constant TRAIN for DatasetType
        /// 
        public static readonly DatasetType TRAIN = new DatasetType("TRAIN");
        /// 
        /// 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 DatasetType(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 DatasetType 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 DatasetType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DetectLabelsFeatureName.
    /// 
    public class DetectLabelsFeatureName : ConstantClass
    {
        /// 
        /// Constant GENERAL_LABELS for DetectLabelsFeatureName
        /// 
        public static readonly DetectLabelsFeatureName GENERAL_LABELS = new DetectLabelsFeatureName("GENERAL_LABELS");
        /// 
        /// Constant IMAGE_PROPERTIES for DetectLabelsFeatureName
        /// 
        public static readonly DetectLabelsFeatureName IMAGE_PROPERTIES = new DetectLabelsFeatureName("IMAGE_PROPERTIES");
        /// 
        /// 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 DetectLabelsFeatureName(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 DetectLabelsFeatureName 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 DetectLabelsFeatureName(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EmotionName.
    /// 
    public class EmotionName : ConstantClass
    {
        /// 
        /// Constant ANGRY for EmotionName
        /// 
        public static readonly EmotionName ANGRY = new EmotionName("ANGRY");
        /// 
        /// Constant CALM for EmotionName
        /// 
        public static readonly EmotionName CALM = new EmotionName("CALM");
        /// 
        /// Constant CONFUSED for EmotionName
        /// 
        public static readonly EmotionName CONFUSED = new EmotionName("CONFUSED");
        /// 
        /// Constant DISGUSTED for EmotionName
        /// 
        public static readonly EmotionName DISGUSTED = new EmotionName("DISGUSTED");
        /// 
        /// Constant FEAR for EmotionName
        /// 
        public static readonly EmotionName FEAR = new EmotionName("FEAR");
        /// 
        /// Constant HAPPY for EmotionName
        /// 
        public static readonly EmotionName HAPPY = new EmotionName("HAPPY");
        /// 
        /// Constant SAD for EmotionName
        /// 
        public static readonly EmotionName SAD = new EmotionName("SAD");
        /// 
        /// Constant SURPRISED for EmotionName
        /// 
        public static readonly EmotionName SURPRISED = new EmotionName("SURPRISED");
        /// 
        /// Constant UNKNOWN for EmotionName
        /// 
        public static readonly EmotionName UNKNOWN = new EmotionName("UNKNOWN");
        /// 
        /// 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 EmotionName(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 EmotionName 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 EmotionName(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FaceAttributes.
    /// 
    public class FaceAttributes : ConstantClass
    {
        /// 
        /// Constant ALL for FaceAttributes
        /// 
        public static readonly FaceAttributes ALL = new FaceAttributes("ALL");
        /// 
        /// Constant DEFAULT for FaceAttributes
        /// 
        public static readonly FaceAttributes DEFAULT = new FaceAttributes("DEFAULT");
        /// 
        /// 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 FaceAttributes(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 FaceAttributes 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 FaceAttributes(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FaceSearchSortBy.
    /// 
    public class FaceSearchSortBy : ConstantClass
    {
        /// 
        /// Constant INDEX for FaceSearchSortBy
        /// 
        public static readonly FaceSearchSortBy INDEX = new FaceSearchSortBy("INDEX");
        /// 
        /// Constant TIMESTAMP for FaceSearchSortBy
        /// 
        public static readonly FaceSearchSortBy TIMESTAMP = new FaceSearchSortBy("TIMESTAMP");
        /// 
        /// 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 FaceSearchSortBy(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 FaceSearchSortBy 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 FaceSearchSortBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type GenderType.
    /// 
    public class GenderType : ConstantClass
    {
        /// 
        /// Constant Female for GenderType
        /// 
        public static readonly GenderType Female = new GenderType("Female");
        /// 
        /// Constant Male for GenderType
        /// 
        public static readonly GenderType Male = new GenderType("Male");
        /// 
        /// 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 GenderType(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 GenderType 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 GenderType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KnownGenderType.
    /// 
    public class KnownGenderType : ConstantClass
    {
        /// 
        /// Constant Female for KnownGenderType
        /// 
        public static readonly KnownGenderType Female = new KnownGenderType("Female");
        /// 
        /// Constant Male for KnownGenderType
        /// 
        public static readonly KnownGenderType Male = new KnownGenderType("Male");
        /// 
        /// Constant Nonbinary for KnownGenderType
        /// 
        public static readonly KnownGenderType Nonbinary = new KnownGenderType("Nonbinary");
        /// 
        /// Constant Unlisted for KnownGenderType
        /// 
        public static readonly KnownGenderType Unlisted = new KnownGenderType("Unlisted");
        /// 
        /// 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 KnownGenderType(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 KnownGenderType 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 KnownGenderType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LabelDetectionAggregateBy.
    /// 
    public class LabelDetectionAggregateBy : ConstantClass
    {
        /// 
        /// Constant SEGMENTS for LabelDetectionAggregateBy
        /// 
        public static readonly LabelDetectionAggregateBy SEGMENTS = new LabelDetectionAggregateBy("SEGMENTS");
        /// 
        /// Constant TIMESTAMPS for LabelDetectionAggregateBy
        /// 
        public static readonly LabelDetectionAggregateBy TIMESTAMPS = new LabelDetectionAggregateBy("TIMESTAMPS");
        /// 
        /// 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 LabelDetectionAggregateBy(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 LabelDetectionAggregateBy 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 LabelDetectionAggregateBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LabelDetectionFeatureName.
    /// 
    public class LabelDetectionFeatureName : ConstantClass
    {
        /// 
        /// Constant GENERAL_LABELS for LabelDetectionFeatureName
        /// 
        public static readonly LabelDetectionFeatureName GENERAL_LABELS = new LabelDetectionFeatureName("GENERAL_LABELS");
        /// 
        /// 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 LabelDetectionFeatureName(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 LabelDetectionFeatureName 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 LabelDetectionFeatureName(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LabelDetectionSortBy.
    /// 
    public class LabelDetectionSortBy : ConstantClass
    {
        /// 
        /// Constant NAME for LabelDetectionSortBy
        /// 
        public static readonly LabelDetectionSortBy NAME = new LabelDetectionSortBy("NAME");
        /// 
        /// Constant TIMESTAMP for LabelDetectionSortBy
        /// 
        public static readonly LabelDetectionSortBy TIMESTAMP = new LabelDetectionSortBy("TIMESTAMP");
        /// 
        /// 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 LabelDetectionSortBy(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 LabelDetectionSortBy 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 LabelDetectionSortBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LandmarkType.
    /// 
    public class LandmarkType : ConstantClass
    {
        /// 
        /// Constant ChinBottom for LandmarkType
        /// 
        public static readonly LandmarkType ChinBottom = new LandmarkType("chinBottom");
        /// 
        /// Constant EyeLeft for LandmarkType
        /// 
        public static readonly LandmarkType EyeLeft = new LandmarkType("eyeLeft");
        /// 
        /// Constant EyeRight for LandmarkType
        /// 
        public static readonly LandmarkType EyeRight = new LandmarkType("eyeRight");
        /// 
        /// Constant LeftEyeBrowLeft for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeBrowLeft = new LandmarkType("leftEyeBrowLeft");
        /// 
        /// Constant LeftEyeBrowRight for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeBrowRight = new LandmarkType("leftEyeBrowRight");
        /// 
        /// Constant LeftEyeBrowUp for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeBrowUp = new LandmarkType("leftEyeBrowUp");
        /// 
        /// Constant LeftEyeDown for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeDown = new LandmarkType("leftEyeDown");
        /// 
        /// Constant LeftEyeLeft for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeLeft = new LandmarkType("leftEyeLeft");
        /// 
        /// Constant LeftEyeRight for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeRight = new LandmarkType("leftEyeRight");
        /// 
        /// Constant LeftEyeUp for LandmarkType
        /// 
        public static readonly LandmarkType LeftEyeUp = new LandmarkType("leftEyeUp");
        /// 
        /// Constant LeftPupil for LandmarkType
        /// 
        public static readonly LandmarkType LeftPupil = new LandmarkType("leftPupil");
        /// 
        /// Constant MidJawlineLeft for LandmarkType
        /// 
        public static readonly LandmarkType MidJawlineLeft = new LandmarkType("midJawlineLeft");
        /// 
        /// Constant MidJawlineRight for LandmarkType
        /// 
        public static readonly LandmarkType MidJawlineRight = new LandmarkType("midJawlineRight");
        /// 
        /// Constant MouthDown for LandmarkType
        /// 
        public static readonly LandmarkType MouthDown = new LandmarkType("mouthDown");
        /// 
        /// Constant MouthLeft for LandmarkType
        /// 
        public static readonly LandmarkType MouthLeft = new LandmarkType("mouthLeft");
        /// 
        /// Constant MouthRight for LandmarkType
        /// 
        public static readonly LandmarkType MouthRight = new LandmarkType("mouthRight");
        /// 
        /// Constant MouthUp for LandmarkType
        /// 
        public static readonly LandmarkType MouthUp = new LandmarkType("mouthUp");
        /// 
        /// Constant Nose for LandmarkType
        /// 
        public static readonly LandmarkType Nose = new LandmarkType("nose");
        /// 
        /// Constant NoseLeft for LandmarkType
        /// 
        public static readonly LandmarkType NoseLeft = new LandmarkType("noseLeft");
        /// 
        /// Constant NoseRight for LandmarkType
        /// 
        public static readonly LandmarkType NoseRight = new LandmarkType("noseRight");
        /// 
        /// Constant RightEyeBrowLeft for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeBrowLeft = new LandmarkType("rightEyeBrowLeft");
        /// 
        /// Constant RightEyeBrowRight for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeBrowRight = new LandmarkType("rightEyeBrowRight");
        /// 
        /// Constant RightEyeBrowUp for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeBrowUp = new LandmarkType("rightEyeBrowUp");
        /// 
        /// Constant RightEyeDown for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeDown = new LandmarkType("rightEyeDown");
        /// 
        /// Constant RightEyeLeft for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeLeft = new LandmarkType("rightEyeLeft");
        /// 
        /// Constant RightEyeRight for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeRight = new LandmarkType("rightEyeRight");
        /// 
        /// Constant RightEyeUp for LandmarkType
        /// 
        public static readonly LandmarkType RightEyeUp = new LandmarkType("rightEyeUp");
        /// 
        /// Constant RightPupil for LandmarkType
        /// 
        public static readonly LandmarkType RightPupil = new LandmarkType("rightPupil");
        /// 
        /// Constant UpperJawlineLeft for LandmarkType
        /// 
        public static readonly LandmarkType UpperJawlineLeft = new LandmarkType("upperJawlineLeft");
        /// 
        /// Constant UpperJawlineRight for LandmarkType
        /// 
        public static readonly LandmarkType UpperJawlineRight = new LandmarkType("upperJawlineRight");
        /// 
        /// 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 LandmarkType(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 LandmarkType 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 LandmarkType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LivenessSessionStatus.
    /// 
    public class LivenessSessionStatus : ConstantClass
    {
        /// 
        /// Constant CREATED for LivenessSessionStatus
        /// 
        public static readonly LivenessSessionStatus CREATED = new LivenessSessionStatus("CREATED");
        /// 
        /// Constant EXPIRED for LivenessSessionStatus
        /// 
        public static readonly LivenessSessionStatus EXPIRED = new LivenessSessionStatus("EXPIRED");
        /// 
        /// Constant FAILED for LivenessSessionStatus
        /// 
        public static readonly LivenessSessionStatus FAILED = new LivenessSessionStatus("FAILED");
        /// 
        /// Constant IN_PROGRESS for LivenessSessionStatus
        /// 
        public static readonly LivenessSessionStatus IN_PROGRESS = new LivenessSessionStatus("IN_PROGRESS");
        /// 
        /// Constant SUCCEEDED for LivenessSessionStatus
        /// 
        public static readonly LivenessSessionStatus SUCCEEDED = new LivenessSessionStatus("SUCCEEDED");
        /// 
        /// 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 LivenessSessionStatus(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 LivenessSessionStatus 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 LivenessSessionStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type OrientationCorrection.
    /// 
    public class OrientationCorrection : ConstantClass
    {
        /// 
        /// Constant ROTATE_0 for OrientationCorrection
        /// 
        public static readonly OrientationCorrection ROTATE_0 = new OrientationCorrection("ROTATE_0");
        /// 
        /// Constant ROTATE_180 for OrientationCorrection
        /// 
        public static readonly OrientationCorrection ROTATE_180 = new OrientationCorrection("ROTATE_180");
        /// 
        /// Constant ROTATE_270 for OrientationCorrection
        /// 
        public static readonly OrientationCorrection ROTATE_270 = new OrientationCorrection("ROTATE_270");
        /// 
        /// Constant ROTATE_90 for OrientationCorrection
        /// 
        public static readonly OrientationCorrection ROTATE_90 = new OrientationCorrection("ROTATE_90");
        /// 
        /// 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 OrientationCorrection(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 OrientationCorrection 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 OrientationCorrection(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type PersonTrackingSortBy.
    /// 
    public class PersonTrackingSortBy : ConstantClass
    {
        /// 
        /// Constant INDEX for PersonTrackingSortBy
        /// 
        public static readonly PersonTrackingSortBy INDEX = new PersonTrackingSortBy("INDEX");
        /// 
        /// Constant TIMESTAMP for PersonTrackingSortBy
        /// 
        public static readonly PersonTrackingSortBy TIMESTAMP = new PersonTrackingSortBy("TIMESTAMP");
        /// 
        /// 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 PersonTrackingSortBy(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 PersonTrackingSortBy 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 PersonTrackingSortBy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ProjectStatus.
    /// 
    public class ProjectStatus : ConstantClass
    {
        /// 
        /// Constant CREATED for ProjectStatus
        /// 
        public static readonly ProjectStatus CREATED = new ProjectStatus("CREATED");
        /// 
        /// Constant CREATING for ProjectStatus
        /// 
        public static readonly ProjectStatus CREATING = new ProjectStatus("CREATING");
        /// 
        /// Constant DELETING for ProjectStatus
        /// 
        public static readonly ProjectStatus DELETING = new ProjectStatus("DELETING");
        /// 
        /// 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 ProjectStatus(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 ProjectStatus 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 ProjectStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ProjectVersionStatus.
    /// 
    public class ProjectVersionStatus : ConstantClass
    {
        /// 
        /// Constant COPYING_COMPLETED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus COPYING_COMPLETED = new ProjectVersionStatus("COPYING_COMPLETED");
        /// 
        /// Constant COPYING_FAILED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus COPYING_FAILED = new ProjectVersionStatus("COPYING_FAILED");
        /// 
        /// Constant COPYING_IN_PROGRESS for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus COPYING_IN_PROGRESS = new ProjectVersionStatus("COPYING_IN_PROGRESS");
        /// 
        /// Constant DELETING for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus DELETING = new ProjectVersionStatus("DELETING");
        /// 
        /// Constant FAILED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus FAILED = new ProjectVersionStatus("FAILED");
        /// 
        /// Constant RUNNING for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus RUNNING = new ProjectVersionStatus("RUNNING");
        /// 
        /// Constant STARTING for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus STARTING = new ProjectVersionStatus("STARTING");
        /// 
        /// Constant STOPPED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus STOPPED = new ProjectVersionStatus("STOPPED");
        /// 
        /// Constant STOPPING for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus STOPPING = new ProjectVersionStatus("STOPPING");
        /// 
        /// Constant TRAINING_COMPLETED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus TRAINING_COMPLETED = new ProjectVersionStatus("TRAINING_COMPLETED");
        /// 
        /// Constant TRAINING_FAILED for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus TRAINING_FAILED = new ProjectVersionStatus("TRAINING_FAILED");
        /// 
        /// Constant TRAINING_IN_PROGRESS for ProjectVersionStatus
        /// 
        public static readonly ProjectVersionStatus TRAINING_IN_PROGRESS = new ProjectVersionStatus("TRAINING_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 ProjectVersionStatus(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 ProjectVersionStatus 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 ProjectVersionStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ProtectiveEquipmentType.
    /// 
    public class ProtectiveEquipmentType : ConstantClass
    {
        /// 
        /// Constant FACE_COVER for ProtectiveEquipmentType
        /// 
        public static readonly ProtectiveEquipmentType FACE_COVER = new ProtectiveEquipmentType("FACE_COVER");
        /// 
        /// Constant HAND_COVER for ProtectiveEquipmentType
        /// 
        public static readonly ProtectiveEquipmentType HAND_COVER = new ProtectiveEquipmentType("HAND_COVER");
        /// 
        /// Constant HEAD_COVER for ProtectiveEquipmentType
        /// 
        public static readonly ProtectiveEquipmentType HEAD_COVER = new ProtectiveEquipmentType("HEAD_COVER");
        /// 
        /// 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 ProtectiveEquipmentType(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 ProtectiveEquipmentType 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 ProtectiveEquipmentType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type QualityFilter.
    /// 
    public class QualityFilter : ConstantClass
    {
        /// 
        /// Constant AUTO for QualityFilter
        /// 
        public static readonly QualityFilter AUTO = new QualityFilter("AUTO");
        /// 
        /// Constant HIGH for QualityFilter
        /// 
        public static readonly QualityFilter HIGH = new QualityFilter("HIGH");
        /// 
        /// Constant LOW for QualityFilter
        /// 
        public static readonly QualityFilter LOW = new QualityFilter("LOW");
        /// 
        /// Constant MEDIUM for QualityFilter
        /// 
        public static readonly QualityFilter MEDIUM = new QualityFilter("MEDIUM");
        /// 
        /// Constant NONE for QualityFilter
        /// 
        public static readonly QualityFilter NONE = new QualityFilter("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 QualityFilter(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 QualityFilter 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 QualityFilter(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type Reason.
    /// 
    public class Reason : ConstantClass
    {
        /// 
        /// Constant EXCEEDS_MAX_FACES for Reason
        /// 
        public static readonly Reason EXCEEDS_MAX_FACES = new Reason("EXCEEDS_MAX_FACES");
        /// 
        /// Constant EXTREME_POSE for Reason
        /// 
        public static readonly Reason EXTREME_POSE = new Reason("EXTREME_POSE");
        /// 
        /// Constant LOW_BRIGHTNESS for Reason
        /// 
        public static readonly Reason LOW_BRIGHTNESS = new Reason("LOW_BRIGHTNESS");
        /// 
        /// Constant LOW_CONFIDENCE for Reason
        /// 
        public static readonly Reason LOW_CONFIDENCE = new Reason("LOW_CONFIDENCE");
        /// 
        /// Constant LOW_FACE_QUALITY for Reason
        /// 
        public static readonly Reason LOW_FACE_QUALITY = new Reason("LOW_FACE_QUALITY");
        /// 
        /// Constant LOW_SHARPNESS for Reason
        /// 
        public static readonly Reason LOW_SHARPNESS = new Reason("LOW_SHARPNESS");
        /// 
        /// Constant SMALL_BOUNDING_BOX for Reason
        /// 
        public static readonly Reason SMALL_BOUNDING_BOX = new Reason("SMALL_BOUNDING_BOX");
        /// 
        /// 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 Reason(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 Reason 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 Reason(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SegmentType.
    /// 
    public class SegmentType : ConstantClass
    {
        /// 
        /// Constant SHOT for SegmentType
        /// 
        public static readonly SegmentType SHOT = new SegmentType("SHOT");
        /// 
        /// Constant TECHNICAL_CUE for SegmentType
        /// 
        public static readonly SegmentType TECHNICAL_CUE = new SegmentType("TECHNICAL_CUE");
        /// 
        /// 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 SegmentType(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 SegmentType 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 SegmentType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type StreamProcessorParameterToDelete.
    /// 
    public class StreamProcessorParameterToDelete : ConstantClass
    {
        /// 
        /// Constant ConnectedHomeMinConfidence for StreamProcessorParameterToDelete
        /// 
        public static readonly StreamProcessorParameterToDelete ConnectedHomeMinConfidence = new StreamProcessorParameterToDelete("ConnectedHomeMinConfidence");
        /// 
        /// Constant RegionsOfInterest for StreamProcessorParameterToDelete
        /// 
        public static readonly StreamProcessorParameterToDelete RegionsOfInterest = new StreamProcessorParameterToDelete("RegionsOfInterest");
        /// 
        /// 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 StreamProcessorParameterToDelete(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 StreamProcessorParameterToDelete 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 StreamProcessorParameterToDelete(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type StreamProcessorStatus.
    /// 
    public class StreamProcessorStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus FAILED = new StreamProcessorStatus("FAILED");
        /// 
        /// Constant RUNNING for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus RUNNING = new StreamProcessorStatus("RUNNING");
        /// 
        /// Constant STARTING for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus STARTING = new StreamProcessorStatus("STARTING");
        /// 
        /// Constant STOPPED for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus STOPPED = new StreamProcessorStatus("STOPPED");
        /// 
        /// Constant STOPPING for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus STOPPING = new StreamProcessorStatus("STOPPING");
        /// 
        /// Constant UPDATING for StreamProcessorStatus
        /// 
        public static readonly StreamProcessorStatus UPDATING = new StreamProcessorStatus("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 StreamProcessorStatus(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 StreamProcessorStatus 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 StreamProcessorStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TechnicalCueType.
    /// 
    public class TechnicalCueType : ConstantClass
    {
        /// 
        /// Constant BlackFrames for TechnicalCueType
        /// 
        public static readonly TechnicalCueType BlackFrames = new TechnicalCueType("BlackFrames");
        /// 
        /// Constant ColorBars for TechnicalCueType
        /// 
        public static readonly TechnicalCueType ColorBars = new TechnicalCueType("ColorBars");
        /// 
        /// Constant Content for TechnicalCueType
        /// 
        public static readonly TechnicalCueType Content = new TechnicalCueType("Content");
        /// 
        /// Constant EndCredits for TechnicalCueType
        /// 
        public static readonly TechnicalCueType EndCredits = new TechnicalCueType("EndCredits");
        /// 
        /// Constant OpeningCredits for TechnicalCueType
        /// 
        public static readonly TechnicalCueType OpeningCredits = new TechnicalCueType("OpeningCredits");
        /// 
        /// Constant Slate for TechnicalCueType
        /// 
        public static readonly TechnicalCueType Slate = new TechnicalCueType("Slate");
        /// 
        /// Constant StudioLogo for TechnicalCueType
        /// 
        public static readonly TechnicalCueType StudioLogo = new TechnicalCueType("StudioLogo");
        /// 
        /// 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 TechnicalCueType(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 TechnicalCueType 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 TechnicalCueType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TextTypes.
    /// 
    public class TextTypes : ConstantClass
    {
        /// 
        /// Constant LINE for TextTypes
        /// 
        public static readonly TextTypes LINE = new TextTypes("LINE");
        /// 
        /// Constant WORD for TextTypes
        /// 
        public static readonly TextTypes WORD = new TextTypes("WORD");
        /// 
        /// 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 TextTypes(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 TextTypes 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 TextTypes(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UnsearchedFaceReason.
    /// 
    public class UnsearchedFaceReason : ConstantClass
    {
        /// 
        /// Constant EXCEEDS_MAX_FACES for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason EXCEEDS_MAX_FACES = new UnsearchedFaceReason("EXCEEDS_MAX_FACES");
        /// 
        /// Constant EXTREME_POSE for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason EXTREME_POSE = new UnsearchedFaceReason("EXTREME_POSE");
        /// 
        /// Constant FACE_NOT_LARGEST for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason FACE_NOT_LARGEST = new UnsearchedFaceReason("FACE_NOT_LARGEST");
        /// 
        /// Constant LOW_BRIGHTNESS for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason LOW_BRIGHTNESS = new UnsearchedFaceReason("LOW_BRIGHTNESS");
        /// 
        /// Constant LOW_CONFIDENCE for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason LOW_CONFIDENCE = new UnsearchedFaceReason("LOW_CONFIDENCE");
        /// 
        /// Constant LOW_FACE_QUALITY for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason LOW_FACE_QUALITY = new UnsearchedFaceReason("LOW_FACE_QUALITY");
        /// 
        /// Constant LOW_SHARPNESS for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason LOW_SHARPNESS = new UnsearchedFaceReason("LOW_SHARPNESS");
        /// 
        /// Constant SMALL_BOUNDING_BOX for UnsearchedFaceReason
        /// 
        public static readonly UnsearchedFaceReason SMALL_BOUNDING_BOX = new UnsearchedFaceReason("SMALL_BOUNDING_BOX");
        /// 
        /// 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 UnsearchedFaceReason(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 UnsearchedFaceReason 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 UnsearchedFaceReason(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UnsuccessfulFaceAssociationReason.
    /// 
    public class UnsuccessfulFaceAssociationReason : ConstantClass
    {
        /// 
        /// Constant ASSOCIATED_TO_A_DIFFERENT_USER for UnsuccessfulFaceAssociationReason
        /// 
        public static readonly UnsuccessfulFaceAssociationReason ASSOCIATED_TO_A_DIFFERENT_USER = new UnsuccessfulFaceAssociationReason("ASSOCIATED_TO_A_DIFFERENT_USER");
        /// 
        /// Constant FACE_NOT_FOUND for UnsuccessfulFaceAssociationReason
        /// 
        public static readonly UnsuccessfulFaceAssociationReason FACE_NOT_FOUND = new UnsuccessfulFaceAssociationReason("FACE_NOT_FOUND");
        /// 
        /// Constant LOW_MATCH_CONFIDENCE for UnsuccessfulFaceAssociationReason
        /// 
        public static readonly UnsuccessfulFaceAssociationReason LOW_MATCH_CONFIDENCE = new UnsuccessfulFaceAssociationReason("LOW_MATCH_CONFIDENCE");
        /// 
        /// 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 UnsuccessfulFaceAssociationReason(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 UnsuccessfulFaceAssociationReason 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 UnsuccessfulFaceAssociationReason(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UnsuccessfulFaceDeletionReason.
    /// 
    public class UnsuccessfulFaceDeletionReason : ConstantClass
    {
        /// 
        /// Constant ASSOCIATED_TO_AN_EXISTING_USER for UnsuccessfulFaceDeletionReason
        /// 
        public static readonly UnsuccessfulFaceDeletionReason ASSOCIATED_TO_AN_EXISTING_USER = new UnsuccessfulFaceDeletionReason("ASSOCIATED_TO_AN_EXISTING_USER");
        /// 
        /// Constant FACE_NOT_FOUND for UnsuccessfulFaceDeletionReason
        /// 
        public static readonly UnsuccessfulFaceDeletionReason FACE_NOT_FOUND = new UnsuccessfulFaceDeletionReason("FACE_NOT_FOUND");
        /// 
        /// 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 UnsuccessfulFaceDeletionReason(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 UnsuccessfulFaceDeletionReason 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 UnsuccessfulFaceDeletionReason(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UnsuccessfulFaceDisassociationReason.
    /// 
    public class UnsuccessfulFaceDisassociationReason : ConstantClass
    {
        /// 
        /// Constant ASSOCIATED_TO_A_DIFFERENT_USER for UnsuccessfulFaceDisassociationReason
        /// 
        public static readonly UnsuccessfulFaceDisassociationReason ASSOCIATED_TO_A_DIFFERENT_USER = new UnsuccessfulFaceDisassociationReason("ASSOCIATED_TO_A_DIFFERENT_USER");
        /// 
        /// Constant FACE_NOT_FOUND for UnsuccessfulFaceDisassociationReason
        /// 
        public static readonly UnsuccessfulFaceDisassociationReason FACE_NOT_FOUND = new UnsuccessfulFaceDisassociationReason("FACE_NOT_FOUND");
        /// 
        /// 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 UnsuccessfulFaceDisassociationReason(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 UnsuccessfulFaceDisassociationReason 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 UnsuccessfulFaceDisassociationReason(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UserStatus.
    /// 
    public class UserStatus : ConstantClass
    {
        /// 
        /// Constant ACTIVE for UserStatus
        /// 
        public static readonly UserStatus ACTIVE = new UserStatus("ACTIVE");
        /// 
        /// Constant CREATED for UserStatus
        /// 
        public static readonly UserStatus CREATED = new UserStatus("CREATED");
        /// 
        /// Constant CREATING for UserStatus
        /// 
        public static readonly UserStatus CREATING = new UserStatus("CREATING");
        /// 
        /// Constant UPDATING for UserStatus
        /// 
        public static readonly UserStatus UPDATING = new UserStatus("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 UserStatus(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 UserStatus 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 UserStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type VideoColorRange.
    /// 
    public class VideoColorRange : ConstantClass
    {
        /// 
        /// Constant FULL for VideoColorRange
        /// 
        public static readonly VideoColorRange FULL = new VideoColorRange("FULL");
        /// 
        /// Constant LIMITED for VideoColorRange
        /// 
        public static readonly VideoColorRange LIMITED = new VideoColorRange("LIMITED");
        /// 
        /// 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 VideoColorRange(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 VideoColorRange 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 VideoColorRange(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type VideoJobStatus.
    /// 
    public class VideoJobStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for VideoJobStatus
        /// 
        public static readonly VideoJobStatus FAILED = new VideoJobStatus("FAILED");
        /// 
        /// Constant IN_PROGRESS for VideoJobStatus
        /// 
        public static readonly VideoJobStatus IN_PROGRESS = new VideoJobStatus("IN_PROGRESS");
        /// 
        /// Constant SUCCEEDED for VideoJobStatus
        /// 
        public static readonly VideoJobStatus SUCCEEDED = new VideoJobStatus("SUCCEEDED");
        /// 
        /// 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 VideoJobStatus(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 VideoJobStatus 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 VideoJobStatus(string value)
        {
            return FindValue(value);
        }
    }
}