/*
 * 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 dms-2016-01-01.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.DatabaseMigrationService
{
    /// 
    /// Constants used for properties of type AuthMechanismValue.
    /// 
    public class AuthMechanismValue : ConstantClass
    {
        /// 
        /// Constant Default for AuthMechanismValue
        /// 
        public static readonly AuthMechanismValue Default = new AuthMechanismValue("default");
        /// 
        /// Constant Mongodb_cr for AuthMechanismValue
        /// 
        public static readonly AuthMechanismValue Mongodb_cr = new AuthMechanismValue("mongodb_cr");
        /// 
        /// Constant Scram_sha_1 for AuthMechanismValue
        /// 
        public static readonly AuthMechanismValue Scram_sha_1 = new AuthMechanismValue("scram_sha_1");
        /// 
        /// 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 AuthMechanismValue(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 AuthMechanismValue 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 AuthMechanismValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type AuthTypeValue.
    /// 
    public class AuthTypeValue : ConstantClass
    {
        /// 
        /// Constant No for AuthTypeValue
        /// 
        public static readonly AuthTypeValue No = new AuthTypeValue("no");
        /// 
        /// Constant Password for AuthTypeValue
        /// 
        public static readonly AuthTypeValue Password = new AuthTypeValue("password");
        /// 
        /// 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 AuthTypeValue(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 AuthTypeValue 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 AuthTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type CannedAclForObjectsValue.
    /// 
    public class CannedAclForObjectsValue : ConstantClass
    {
        /// 
        /// Constant AuthenticatedRead for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue AuthenticatedRead = new CannedAclForObjectsValue("authenticated-read");
        /// 
        /// Constant AwsExecRead for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue AwsExecRead = new CannedAclForObjectsValue("aws-exec-read");
        /// 
        /// Constant BucketOwnerFullControl for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue BucketOwnerFullControl = new CannedAclForObjectsValue("bucket-owner-full-control");
        /// 
        /// Constant BucketOwnerRead for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue BucketOwnerRead = new CannedAclForObjectsValue("bucket-owner-read");
        /// 
        /// Constant None for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue None = new CannedAclForObjectsValue("none");
        /// 
        /// Constant Private for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue Private = new CannedAclForObjectsValue("private");
        /// 
        /// Constant PublicRead for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue PublicRead = new CannedAclForObjectsValue("public-read");
        /// 
        /// Constant PublicReadWrite for CannedAclForObjectsValue
        /// 
        public static readonly CannedAclForObjectsValue PublicReadWrite = new CannedAclForObjectsValue("public-read-write");
        /// 
        /// 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 CannedAclForObjectsValue(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 CannedAclForObjectsValue 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 CannedAclForObjectsValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type CharLengthSemantics.
    /// 
    public class CharLengthSemantics : ConstantClass
    {
        /// 
        /// Constant Byte for CharLengthSemantics
        /// 
        public static readonly CharLengthSemantics Byte = new CharLengthSemantics("byte");
        /// 
        /// Constant Char for CharLengthSemantics
        /// 
        public static readonly CharLengthSemantics Char = new CharLengthSemantics("char");
        /// 
        /// Constant Default for CharLengthSemantics
        /// 
        public static readonly CharLengthSemantics Default = new CharLengthSemantics("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 CharLengthSemantics(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 CharLengthSemantics 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 CharLengthSemantics(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type CollectorStatus.
    /// 
    public class CollectorStatus : ConstantClass
    {
        /// 
        /// Constant ACTIVE for CollectorStatus
        /// 
        public static readonly CollectorStatus ACTIVE = new CollectorStatus("ACTIVE");
        /// 
        /// Constant UNREGISTERED for CollectorStatus
        /// 
        public static readonly CollectorStatus UNREGISTERED = new CollectorStatus("UNREGISTERED");
        /// 
        /// 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 CollectorStatus(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 CollectorStatus 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 CollectorStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type CompressionTypeValue.
    /// 
    public class CompressionTypeValue : ConstantClass
    {
        /// 
        /// Constant Gzip for CompressionTypeValue
        /// 
        public static readonly CompressionTypeValue Gzip = new CompressionTypeValue("gzip");
        /// 
        /// Constant None for CompressionTypeValue
        /// 
        public static readonly CompressionTypeValue None = new CompressionTypeValue("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 CompressionTypeValue(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 CompressionTypeValue 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 CompressionTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatabaseMode.
    /// 
    public class DatabaseMode : ConstantClass
    {
        /// 
        /// Constant Babelfish for DatabaseMode
        /// 
        public static readonly DatabaseMode Babelfish = new DatabaseMode("babelfish");
        /// 
        /// Constant Default for DatabaseMode
        /// 
        public static readonly DatabaseMode Default = new DatabaseMode("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 DatabaseMode(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 DatabaseMode 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 DatabaseMode(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DataFormatValue.
    /// 
    public class DataFormatValue : ConstantClass
    {
        /// 
        /// Constant Csv for DataFormatValue
        /// 
        public static readonly DataFormatValue Csv = new DataFormatValue("csv");
        /// 
        /// Constant Parquet for DataFormatValue
        /// 
        public static readonly DataFormatValue Parquet = new DataFormatValue("parquet");
        /// 
        /// 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 DataFormatValue(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 DataFormatValue 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 DataFormatValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatePartitionDelimiterValue.
    /// 
    public class DatePartitionDelimiterValue : ConstantClass
    {
        /// 
        /// Constant DASH for DatePartitionDelimiterValue
        /// 
        public static readonly DatePartitionDelimiterValue DASH = new DatePartitionDelimiterValue("DASH");
        /// 
        /// Constant NONE for DatePartitionDelimiterValue
        /// 
        public static readonly DatePartitionDelimiterValue NONE = new DatePartitionDelimiterValue("NONE");
        /// 
        /// Constant SLASH for DatePartitionDelimiterValue
        /// 
        public static readonly DatePartitionDelimiterValue SLASH = new DatePartitionDelimiterValue("SLASH");
        /// 
        /// Constant UNDERSCORE for DatePartitionDelimiterValue
        /// 
        public static readonly DatePartitionDelimiterValue UNDERSCORE = new DatePartitionDelimiterValue("UNDERSCORE");
        /// 
        /// 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 DatePartitionDelimiterValue(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 DatePartitionDelimiterValue 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 DatePartitionDelimiterValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DatePartitionSequenceValue.
    /// 
    public class DatePartitionSequenceValue : ConstantClass
    {
        /// 
        /// Constant DDMMYYYY for DatePartitionSequenceValue
        /// 
        public static readonly DatePartitionSequenceValue DDMMYYYY = new DatePartitionSequenceValue("DDMMYYYY");
        /// 
        /// Constant MMYYYYDD for DatePartitionSequenceValue
        /// 
        public static readonly DatePartitionSequenceValue MMYYYYDD = new DatePartitionSequenceValue("MMYYYYDD");
        /// 
        /// Constant YYYYMM for DatePartitionSequenceValue
        /// 
        public static readonly DatePartitionSequenceValue YYYYMM = new DatePartitionSequenceValue("YYYYMM");
        /// 
        /// Constant YYYYMMDD for DatePartitionSequenceValue
        /// 
        public static readonly DatePartitionSequenceValue YYYYMMDD = new DatePartitionSequenceValue("YYYYMMDD");
        /// 
        /// Constant YYYYMMDDHH for DatePartitionSequenceValue
        /// 
        public static readonly DatePartitionSequenceValue YYYYMMDDHH = new DatePartitionSequenceValue("YYYYMMDDHH");
        /// 
        /// 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 DatePartitionSequenceValue(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 DatePartitionSequenceValue 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 DatePartitionSequenceValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DmsSslModeValue.
    /// 
    public class DmsSslModeValue : ConstantClass
    {
        /// 
        /// Constant None for DmsSslModeValue
        /// 
        public static readonly DmsSslModeValue None = new DmsSslModeValue("none");
        /// 
        /// Constant Require for DmsSslModeValue
        /// 
        public static readonly DmsSslModeValue Require = new DmsSslModeValue("require");
        /// 
        /// Constant VerifyCa for DmsSslModeValue
        /// 
        public static readonly DmsSslModeValue VerifyCa = new DmsSslModeValue("verify-ca");
        /// 
        /// Constant VerifyFull for DmsSslModeValue
        /// 
        public static readonly DmsSslModeValue VerifyFull = new DmsSslModeValue("verify-full");
        /// 
        /// 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 DmsSslModeValue(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 DmsSslModeValue 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 DmsSslModeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EncodingTypeValue.
    /// 
    public class EncodingTypeValue : ConstantClass
    {
        /// 
        /// Constant Plain for EncodingTypeValue
        /// 
        public static readonly EncodingTypeValue Plain = new EncodingTypeValue("plain");
        /// 
        /// Constant PlainDictionary for EncodingTypeValue
        /// 
        public static readonly EncodingTypeValue PlainDictionary = new EncodingTypeValue("plain-dictionary");
        /// 
        /// Constant RleDictionary for EncodingTypeValue
        /// 
        public static readonly EncodingTypeValue RleDictionary = new EncodingTypeValue("rle-dictionary");
        /// 
        /// 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 EncodingTypeValue(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 EncodingTypeValue 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 EncodingTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EncryptionModeValue.
    /// 
    public class EncryptionModeValue : ConstantClass
    {
        /// 
        /// Constant SseKms for EncryptionModeValue
        /// 
        public static readonly EncryptionModeValue SseKms = new EncryptionModeValue("sse-kms");
        /// 
        /// Constant SseS3 for EncryptionModeValue
        /// 
        public static readonly EncryptionModeValue SseS3 = new EncryptionModeValue("sse-s3");
        /// 
        /// 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 EncryptionModeValue(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 EncryptionModeValue 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 EncryptionModeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EndpointSettingTypeValue.
    /// 
    public class EndpointSettingTypeValue : ConstantClass
    {
        /// 
        /// Constant Boolean for EndpointSettingTypeValue
        /// 
        public static readonly EndpointSettingTypeValue Boolean = new EndpointSettingTypeValue("boolean");
        /// 
        /// Constant Enum for EndpointSettingTypeValue
        /// 
        public static readonly EndpointSettingTypeValue Enum = new EndpointSettingTypeValue("enum");
        /// 
        /// Constant Integer for EndpointSettingTypeValue
        /// 
        public static readonly EndpointSettingTypeValue Integer = new EndpointSettingTypeValue("integer");
        /// 
        /// Constant String for EndpointSettingTypeValue
        /// 
        public static readonly EndpointSettingTypeValue String = new EndpointSettingTypeValue("string");
        /// 
        /// 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 EndpointSettingTypeValue(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 EndpointSettingTypeValue 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 EndpointSettingTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KafkaSaslMechanism.
    /// 
    public class KafkaSaslMechanism : ConstantClass
    {
        /// 
        /// Constant Plain for KafkaSaslMechanism
        /// 
        public static readonly KafkaSaslMechanism Plain = new KafkaSaslMechanism("plain");
        /// 
        /// Constant ScramSha512 for KafkaSaslMechanism
        /// 
        public static readonly KafkaSaslMechanism ScramSha512 = new KafkaSaslMechanism("scram-sha-512");
        /// 
        /// 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 KafkaSaslMechanism(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 KafkaSaslMechanism 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 KafkaSaslMechanism(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KafkaSecurityProtocol.
    /// 
    public class KafkaSecurityProtocol : ConstantClass
    {
        /// 
        /// Constant Plaintext for KafkaSecurityProtocol
        /// 
        public static readonly KafkaSecurityProtocol Plaintext = new KafkaSecurityProtocol("plaintext");
        /// 
        /// Constant SaslSsl for KafkaSecurityProtocol
        /// 
        public static readonly KafkaSecurityProtocol SaslSsl = new KafkaSecurityProtocol("sasl-ssl");
        /// 
        /// Constant SslAuthentication for KafkaSecurityProtocol
        /// 
        public static readonly KafkaSecurityProtocol SslAuthentication = new KafkaSecurityProtocol("ssl-authentication");
        /// 
        /// Constant SslEncryption for KafkaSecurityProtocol
        /// 
        public static readonly KafkaSecurityProtocol SslEncryption = new KafkaSecurityProtocol("ssl-encryption");
        /// 
        /// 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 KafkaSecurityProtocol(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 KafkaSecurityProtocol 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 KafkaSecurityProtocol(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KafkaSslEndpointIdentificationAlgorithm.
    /// 
    public class KafkaSslEndpointIdentificationAlgorithm : ConstantClass
    {
        /// 
        /// Constant Https for KafkaSslEndpointIdentificationAlgorithm
        /// 
        public static readonly KafkaSslEndpointIdentificationAlgorithm Https = new KafkaSslEndpointIdentificationAlgorithm("https");
        /// 
        /// Constant None for KafkaSslEndpointIdentificationAlgorithm
        /// 
        public static readonly KafkaSslEndpointIdentificationAlgorithm None = new KafkaSslEndpointIdentificationAlgorithm("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 KafkaSslEndpointIdentificationAlgorithm(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 KafkaSslEndpointIdentificationAlgorithm 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 KafkaSslEndpointIdentificationAlgorithm(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LongVarcharMappingType.
    /// 
    public class LongVarcharMappingType : ConstantClass
    {
        /// 
        /// Constant Clob for LongVarcharMappingType
        /// 
        public static readonly LongVarcharMappingType Clob = new LongVarcharMappingType("clob");
        /// 
        /// Constant Nclob for LongVarcharMappingType
        /// 
        public static readonly LongVarcharMappingType Nclob = new LongVarcharMappingType("nclob");
        /// 
        /// Constant Wstring for LongVarcharMappingType
        /// 
        public static readonly LongVarcharMappingType Wstring = new LongVarcharMappingType("wstring");
        /// 
        /// 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 LongVarcharMappingType(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 LongVarcharMappingType 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 LongVarcharMappingType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type MessageFormatValue.
    /// 
    public class MessageFormatValue : ConstantClass
    {
        /// 
        /// Constant Json for MessageFormatValue
        /// 
        public static readonly MessageFormatValue Json = new MessageFormatValue("json");
        /// 
        /// Constant JsonUnformatted for MessageFormatValue
        /// 
        public static readonly MessageFormatValue JsonUnformatted = new MessageFormatValue("json-unformatted");
        /// 
        /// 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 MessageFormatValue(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 MessageFormatValue 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 MessageFormatValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type MigrationTypeValue.
    /// 
    public class MigrationTypeValue : ConstantClass
    {
        /// 
        /// Constant Cdc for MigrationTypeValue
        /// 
        public static readonly MigrationTypeValue Cdc = new MigrationTypeValue("cdc");
        /// 
        /// Constant FullLoad for MigrationTypeValue
        /// 
        public static readonly MigrationTypeValue FullLoad = new MigrationTypeValue("full-load");
        /// 
        /// Constant FullLoadAndCdc for MigrationTypeValue
        /// 
        public static readonly MigrationTypeValue FullLoadAndCdc = new MigrationTypeValue("full-load-and-cdc");
        /// 
        /// 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 MigrationTypeValue(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 MigrationTypeValue 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 MigrationTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NestingLevelValue.
    /// 
    public class NestingLevelValue : ConstantClass
    {
        /// 
        /// Constant None for NestingLevelValue
        /// 
        public static readonly NestingLevelValue None = new NestingLevelValue("none");
        /// 
        /// Constant One for NestingLevelValue
        /// 
        public static readonly NestingLevelValue One = new NestingLevelValue("one");
        /// 
        /// 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 NestingLevelValue(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 NestingLevelValue 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 NestingLevelValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ParquetVersionValue.
    /// 
    public class ParquetVersionValue : ConstantClass
    {
        /// 
        /// Constant Parquet10 for ParquetVersionValue
        /// 
        public static readonly ParquetVersionValue Parquet10 = new ParquetVersionValue("parquet-1-0");
        /// 
        /// Constant Parquet20 for ParquetVersionValue
        /// 
        public static readonly ParquetVersionValue Parquet20 = new ParquetVersionValue("parquet-2-0");
        /// 
        /// 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 ParquetVersionValue(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 ParquetVersionValue 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 ParquetVersionValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type PluginNameValue.
    /// 
    public class PluginNameValue : ConstantClass
    {
        /// 
        /// Constant NoPreference for PluginNameValue
        /// 
        public static readonly PluginNameValue NoPreference = new PluginNameValue("no-preference");
        /// 
        /// Constant Pglogical for PluginNameValue
        /// 
        public static readonly PluginNameValue Pglogical = new PluginNameValue("pglogical");
        /// 
        /// Constant TestDecoding for PluginNameValue
        /// 
        public static readonly PluginNameValue TestDecoding = new PluginNameValue("test-decoding");
        /// 
        /// 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 PluginNameValue(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 PluginNameValue 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 PluginNameValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type RedisAuthTypeValue.
    /// 
    public class RedisAuthTypeValue : ConstantClass
    {
        /// 
        /// Constant AuthRole for RedisAuthTypeValue
        /// 
        public static readonly RedisAuthTypeValue AuthRole = new RedisAuthTypeValue("auth-role");
        /// 
        /// Constant AuthToken for RedisAuthTypeValue
        /// 
        public static readonly RedisAuthTypeValue AuthToken = new RedisAuthTypeValue("auth-token");
        /// 
        /// Constant None for RedisAuthTypeValue
        /// 
        public static readonly RedisAuthTypeValue None = new RedisAuthTypeValue("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 RedisAuthTypeValue(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 RedisAuthTypeValue 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 RedisAuthTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type RefreshSchemasStatusTypeValue.
    /// 
    public class RefreshSchemasStatusTypeValue : ConstantClass
    {
        /// 
        /// Constant Failed for RefreshSchemasStatusTypeValue
        /// 
        public static readonly RefreshSchemasStatusTypeValue Failed = new RefreshSchemasStatusTypeValue("failed");
        /// 
        /// Constant Refreshing for RefreshSchemasStatusTypeValue
        /// 
        public static readonly RefreshSchemasStatusTypeValue Refreshing = new RefreshSchemasStatusTypeValue("refreshing");
        /// 
        /// Constant Successful for RefreshSchemasStatusTypeValue
        /// 
        public static readonly RefreshSchemasStatusTypeValue Successful = new RefreshSchemasStatusTypeValue("successful");
        /// 
        /// 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 RefreshSchemasStatusTypeValue(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 RefreshSchemasStatusTypeValue 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 RefreshSchemasStatusTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ReleaseStatusValues.
    /// 
    public class ReleaseStatusValues : ConstantClass
    {
        /// 
        /// Constant Beta for ReleaseStatusValues
        /// 
        public static readonly ReleaseStatusValues Beta = new ReleaseStatusValues("beta");
        /// 
        /// Constant Prod for ReleaseStatusValues
        /// 
        public static readonly ReleaseStatusValues Prod = new ReleaseStatusValues("prod");
        /// 
        /// 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 ReleaseStatusValues(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 ReleaseStatusValues 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 ReleaseStatusValues(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ReloadOptionValue.
    /// 
    public class ReloadOptionValue : ConstantClass
    {
        /// 
        /// Constant DataReload for ReloadOptionValue
        /// 
        public static readonly ReloadOptionValue DataReload = new ReloadOptionValue("data-reload");
        /// 
        /// Constant ValidateOnly for ReloadOptionValue
        /// 
        public static readonly ReloadOptionValue ValidateOnly = new ReloadOptionValue("validate-only");
        /// 
        /// 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 ReloadOptionValue(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 ReloadOptionValue 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 ReloadOptionValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ReplicationEndpointTypeValue.
    /// 
    public class ReplicationEndpointTypeValue : ConstantClass
    {
        /// 
        /// Constant Source for ReplicationEndpointTypeValue
        /// 
        public static readonly ReplicationEndpointTypeValue Source = new ReplicationEndpointTypeValue("source");
        /// 
        /// Constant Target for ReplicationEndpointTypeValue
        /// 
        public static readonly ReplicationEndpointTypeValue Target = new ReplicationEndpointTypeValue("target");
        /// 
        /// 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 ReplicationEndpointTypeValue(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 ReplicationEndpointTypeValue 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 ReplicationEndpointTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SafeguardPolicy.
    /// 
    public class SafeguardPolicy : ConstantClass
    {
        /// 
        /// Constant ExclusiveAutomaticTruncation for SafeguardPolicy
        /// 
        public static readonly SafeguardPolicy ExclusiveAutomaticTruncation = new SafeguardPolicy("exclusive-automatic-truncation");
        /// 
        /// Constant RelyOnSqlServerReplicationAgent for SafeguardPolicy
        /// 
        public static readonly SafeguardPolicy RelyOnSqlServerReplicationAgent = new SafeguardPolicy("rely-on-sql-server-replication-agent");
        /// 
        /// Constant SharedAutomaticTruncation for SafeguardPolicy
        /// 
        public static readonly SafeguardPolicy SharedAutomaticTruncation = new SafeguardPolicy("shared-automatic-truncation");
        /// 
        /// 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 SafeguardPolicy(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 SafeguardPolicy 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 SafeguardPolicy(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SourceType.
    /// 
    public class SourceType : ConstantClass
    {
        /// 
        /// Constant ReplicationInstance for SourceType
        /// 
        public static readonly SourceType ReplicationInstance = new SourceType("replication-instance");
        /// 
        /// 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 SourceType(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 SourceType 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 SourceType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SslSecurityProtocolValue.
    /// 
    public class SslSecurityProtocolValue : ConstantClass
    {
        /// 
        /// Constant Plaintext for SslSecurityProtocolValue
        /// 
        public static readonly SslSecurityProtocolValue Plaintext = new SslSecurityProtocolValue("plaintext");
        /// 
        /// Constant SslEncryption for SslSecurityProtocolValue
        /// 
        public static readonly SslSecurityProtocolValue SslEncryption = new SslSecurityProtocolValue("ssl-encryption");
        /// 
        /// 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 SslSecurityProtocolValue(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 SslSecurityProtocolValue 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 SslSecurityProtocolValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type StartReplicationTaskTypeValue.
    /// 
    public class StartReplicationTaskTypeValue : ConstantClass
    {
        /// 
        /// Constant ReloadTarget for StartReplicationTaskTypeValue
        /// 
        public static readonly StartReplicationTaskTypeValue ReloadTarget = new StartReplicationTaskTypeValue("reload-target");
        /// 
        /// Constant ResumeProcessing for StartReplicationTaskTypeValue
        /// 
        public static readonly StartReplicationTaskTypeValue ResumeProcessing = new StartReplicationTaskTypeValue("resume-processing");
        /// 
        /// Constant StartReplication for StartReplicationTaskTypeValue
        /// 
        public static readonly StartReplicationTaskTypeValue StartReplication = new StartReplicationTaskTypeValue("start-replication");
        /// 
        /// 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 StartReplicationTaskTypeValue(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 StartReplicationTaskTypeValue 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 StartReplicationTaskTypeValue(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TargetDbType.
    /// 
    public class TargetDbType : ConstantClass
    {
        /// 
        /// Constant MultipleDatabases for TargetDbType
        /// 
        public static readonly TargetDbType MultipleDatabases = new TargetDbType("multiple-databases");
        /// 
        /// Constant SpecificDatabase for TargetDbType
        /// 
        public static readonly TargetDbType SpecificDatabase = new TargetDbType("specific-database");
        /// 
        /// 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 TargetDbType(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 TargetDbType 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 TargetDbType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TlogAccessMode.
    /// 
    public class TlogAccessMode : ConstantClass
    {
        /// 
        /// Constant BackupOnly for TlogAccessMode
        /// 
        public static readonly TlogAccessMode BackupOnly = new TlogAccessMode("BackupOnly");
        /// 
        /// Constant PreferBackup for TlogAccessMode
        /// 
        public static readonly TlogAccessMode PreferBackup = new TlogAccessMode("PreferBackup");
        /// 
        /// Constant PreferTlog for TlogAccessMode
        /// 
        public static readonly TlogAccessMode PreferTlog = new TlogAccessMode("PreferTlog");
        /// 
        /// Constant TlogOnly for TlogAccessMode
        /// 
        public static readonly TlogAccessMode TlogOnly = new TlogAccessMode("TlogOnly");
        /// 
        /// 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 TlogAccessMode(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 TlogAccessMode 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 TlogAccessMode(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type VersionStatus.
    /// 
    public class VersionStatus : ConstantClass
    {
        /// 
        /// Constant OUTDATED for VersionStatus
        /// 
        public static readonly VersionStatus OUTDATED = new VersionStatus("OUTDATED");
        /// 
        /// Constant UNSUPPORTED for VersionStatus
        /// 
        public static readonly VersionStatus UNSUPPORTED = new VersionStatus("UNSUPPORTED");
        /// 
        /// Constant UP_TO_DATE for VersionStatus
        /// 
        public static readonly VersionStatus UP_TO_DATE = new VersionStatus("UP_TO_DATE");
        /// 
        /// 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 VersionStatus(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 VersionStatus 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 VersionStatus(string value)
        {
            return FindValue(value);
        }
    }
}