/*
 * 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 securitylake-2018-05-10.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.SecurityLake
{
    /// 
    /// Constants used for properties of type AccessType.
    /// 
    public class AccessType : ConstantClass
    {
        /// 
        /// Constant LAKEFORMATION for AccessType
        /// 
        public static readonly AccessType LAKEFORMATION = new AccessType("LAKEFORMATION");
        /// 
        /// Constant S3 for AccessType
        /// 
        public static readonly AccessType S3 = new AccessType("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 AccessType(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 AccessType 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 AccessType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type AwsLogSourceName.
    /// 
    public class AwsLogSourceName : ConstantClass
    {
        /// 
        /// Constant CLOUD_TRAIL_MGMT for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName CLOUD_TRAIL_MGMT = new AwsLogSourceName("CLOUD_TRAIL_MGMT");
        /// 
        /// Constant LAMBDA_EXECUTION for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName LAMBDA_EXECUTION = new AwsLogSourceName("LAMBDA_EXECUTION");
        /// 
        /// Constant ROUTE53 for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName ROUTE53 = new AwsLogSourceName("ROUTE53");
        /// 
        /// Constant S3_DATA for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName S3_DATA = new AwsLogSourceName("S3_DATA");
        /// 
        /// Constant SH_FINDINGS for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName SH_FINDINGS = new AwsLogSourceName("SH_FINDINGS");
        /// 
        /// Constant VPC_FLOW for AwsLogSourceName
        /// 
        public static readonly AwsLogSourceName VPC_FLOW = new AwsLogSourceName("VPC_FLOW");
        /// 
        /// 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 AwsLogSourceName(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 AwsLogSourceName 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 AwsLogSourceName(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DataLakeStatus.
    /// 
    public class DataLakeStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETED for DataLakeStatus
        /// 
        public static readonly DataLakeStatus COMPLETED = new DataLakeStatus("COMPLETED");
        /// 
        /// Constant FAILED for DataLakeStatus
        /// 
        public static readonly DataLakeStatus FAILED = new DataLakeStatus("FAILED");
        /// 
        /// Constant INITIALIZED for DataLakeStatus
        /// 
        public static readonly DataLakeStatus INITIALIZED = new DataLakeStatus("INITIALIZED");
        /// 
        /// Constant PENDING for DataLakeStatus
        /// 
        public static readonly DataLakeStatus PENDING = new DataLakeStatus("PENDING");
        /// 
        /// 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 DataLakeStatus(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 DataLakeStatus 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 DataLakeStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type HttpMethod.
    /// 
    public class HttpMethod : ConstantClass
    {
        /// 
        /// Constant POST for HttpMethod
        /// 
        public static readonly HttpMethod POST = new HttpMethod("POST");
        /// 
        /// Constant PUT for HttpMethod
        /// 
        public static readonly HttpMethod PUT = new HttpMethod("PUT");
        /// 
        /// 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 HttpMethod(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 HttpMethod 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 HttpMethod(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SourceCollectionStatus.
    /// 
    public class SourceCollectionStatus : ConstantClass
    {
        /// 
        /// Constant COLLECTING for SourceCollectionStatus
        /// 
        public static readonly SourceCollectionStatus COLLECTING = new SourceCollectionStatus("COLLECTING");
        /// 
        /// Constant MISCONFIGURED for SourceCollectionStatus
        /// 
        public static readonly SourceCollectionStatus MISCONFIGURED = new SourceCollectionStatus("MISCONFIGURED");
        /// 
        /// Constant NOT_COLLECTING for SourceCollectionStatus
        /// 
        public static readonly SourceCollectionStatus NOT_COLLECTING = new SourceCollectionStatus("NOT_COLLECTING");
        /// 
        /// 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 SourceCollectionStatus(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 SourceCollectionStatus 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 SourceCollectionStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type SubscriberStatus.
    /// 
    public class SubscriberStatus : ConstantClass
    {
        /// 
        /// Constant ACTIVE for SubscriberStatus
        /// 
        public static readonly SubscriberStatus ACTIVE = new SubscriberStatus("ACTIVE");
        /// 
        /// Constant DEACTIVATED for SubscriberStatus
        /// 
        public static readonly SubscriberStatus DEACTIVATED = new SubscriberStatus("DEACTIVATED");
        /// 
        /// Constant PENDING for SubscriberStatus
        /// 
        public static readonly SubscriberStatus PENDING = new SubscriberStatus("PENDING");
        /// 
        /// Constant READY for SubscriberStatus
        /// 
        public static readonly SubscriberStatus READY = new SubscriberStatus("READY");
        /// 
        /// 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 SubscriberStatus(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 SubscriberStatus 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 SubscriberStatus(string value)
        {
            return FindValue(value);
        }
    }
}