/*
 * 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 tnb-2008-10-21.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.Tnb
{
    /// 
    /// Constants used for properties of type DescriptorContentType.
    /// 
    public class DescriptorContentType : ConstantClass
    {
        /// 
        /// Constant TextPlain for DescriptorContentType
        /// 
        public static readonly DescriptorContentType TextPlain = new DescriptorContentType("text/plain");
        /// 
        /// 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 DescriptorContentType(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 DescriptorContentType 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 DescriptorContentType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type LcmOperationType.
    /// 
    public class LcmOperationType : ConstantClass
    {
        /// 
        /// Constant INSTANTIATE for LcmOperationType
        /// 
        public static readonly LcmOperationType INSTANTIATE = new LcmOperationType("INSTANTIATE");
        /// 
        /// Constant TERMINATE for LcmOperationType
        /// 
        public static readonly LcmOperationType TERMINATE = new LcmOperationType("TERMINATE");
        /// 
        /// Constant UPDATE for LcmOperationType
        /// 
        public static readonly LcmOperationType UPDATE = new LcmOperationType("UPDATE");
        /// 
        /// 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 LcmOperationType(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 LcmOperationType 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 LcmOperationType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NsdOnboardingState.
    /// 
    public class NsdOnboardingState : ConstantClass
    {
        /// 
        /// Constant CREATED for NsdOnboardingState
        /// 
        public static readonly NsdOnboardingState CREATED = new NsdOnboardingState("CREATED");
        /// 
        /// Constant ERROR for NsdOnboardingState
        /// 
        public static readonly NsdOnboardingState ERROR = new NsdOnboardingState("ERROR");
        /// 
        /// Constant ONBOARDED for NsdOnboardingState
        /// 
        public static readonly NsdOnboardingState ONBOARDED = new NsdOnboardingState("ONBOARDED");
        /// 
        /// 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 NsdOnboardingState(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 NsdOnboardingState 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 NsdOnboardingState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NsdOperationalState.
    /// 
    public class NsdOperationalState : ConstantClass
    {
        /// 
        /// Constant DISABLED for NsdOperationalState
        /// 
        public static readonly NsdOperationalState DISABLED = new NsdOperationalState("DISABLED");
        /// 
        /// Constant ENABLED for NsdOperationalState
        /// 
        public static readonly NsdOperationalState ENABLED = new NsdOperationalState("ENABLED");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public NsdOperationalState(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 NsdOperationalState 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 NsdOperationalState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NsdUsageState.
    /// 
    public class NsdUsageState : ConstantClass
    {
        /// 
        /// Constant IN_USE for NsdUsageState
        /// 
        public static readonly NsdUsageState IN_USE = new NsdUsageState("IN_USE");
        /// 
        /// Constant NOT_IN_USE for NsdUsageState
        /// 
        public static readonly NsdUsageState NOT_IN_USE = new NsdUsageState("NOT_IN_USE");
        /// 
        /// 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 NsdUsageState(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 NsdUsageState 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 NsdUsageState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NsLcmOperationState.
    /// 
    public class NsLcmOperationState : ConstantClass
    {
        /// 
        /// Constant CANCELLED for NsLcmOperationState
        /// 
        public static readonly NsLcmOperationState CANCELLED = new NsLcmOperationState("CANCELLED");
        /// 
        /// Constant CANCELLING for NsLcmOperationState
        /// 
        public static readonly NsLcmOperationState CANCELLING = new NsLcmOperationState("CANCELLING");
        /// 
        /// Constant COMPLETED for NsLcmOperationState
        /// 
        public static readonly NsLcmOperationState COMPLETED = new NsLcmOperationState("COMPLETED");
        /// 
        /// Constant FAILED for NsLcmOperationState
        /// 
        public static readonly NsLcmOperationState FAILED = new NsLcmOperationState("FAILED");
        /// 
        /// Constant PROCESSING for NsLcmOperationState
        /// 
        public static readonly NsLcmOperationState PROCESSING = new NsLcmOperationState("PROCESSING");
        /// 
        /// 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 NsLcmOperationState(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 NsLcmOperationState 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 NsLcmOperationState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NsState.
    /// 
    public class NsState : ConstantClass
    {
        /// 
        /// Constant DELETED for NsState
        /// 
        public static readonly NsState DELETED = new NsState("DELETED");
        /// 
        /// Constant IMPAIRED for NsState
        /// 
        public static readonly NsState IMPAIRED = new NsState("IMPAIRED");
        /// 
        /// Constant INSTANTIATE_IN_PROGRESS for NsState
        /// 
        public static readonly NsState INSTANTIATE_IN_PROGRESS = new NsState("INSTANTIATE_IN_PROGRESS");
        /// 
        /// Constant INSTANTIATED for NsState
        /// 
        public static readonly NsState INSTANTIATED = new NsState("INSTANTIATED");
        /// 
        /// Constant NOT_INSTANTIATED for NsState
        /// 
        public static readonly NsState NOT_INSTANTIATED = new NsState("NOT_INSTANTIATED");
        /// 
        /// Constant STOPPED for NsState
        /// 
        public static readonly NsState STOPPED = new NsState("STOPPED");
        /// 
        /// Constant TERMINATE_IN_PROGRESS for NsState
        /// 
        public static readonly NsState TERMINATE_IN_PROGRESS = new NsState("TERMINATE_IN_PROGRESS");
        /// 
        /// Constant UPDATE_IN_PROGRESS for NsState
        /// 
        public static readonly NsState UPDATE_IN_PROGRESS = new NsState("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 NsState(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 NsState 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 NsState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type OnboardingState.
    /// 
    public class OnboardingState : ConstantClass
    {
        /// 
        /// Constant CREATED for OnboardingState
        /// 
        public static readonly OnboardingState CREATED = new OnboardingState("CREATED");
        /// 
        /// Constant ERROR for OnboardingState
        /// 
        public static readonly OnboardingState ERROR = new OnboardingState("ERROR");
        /// 
        /// Constant ONBOARDED for OnboardingState
        /// 
        public static readonly OnboardingState ONBOARDED = new OnboardingState("ONBOARDED");
        /// 
        /// 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 OnboardingState(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 OnboardingState 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 OnboardingState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type OperationalState.
    /// 
    public class OperationalState : ConstantClass
    {
        /// 
        /// Constant DISABLED for OperationalState
        /// 
        public static readonly OperationalState DISABLED = new OperationalState("DISABLED");
        /// 
        /// Constant ENABLED for OperationalState
        /// 
        public static readonly OperationalState ENABLED = new OperationalState("ENABLED");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public OperationalState(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 OperationalState 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 OperationalState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type PackageContentType.
    /// 
    public class PackageContentType : ConstantClass
    {
        /// 
        /// Constant ApplicationZip for PackageContentType
        /// 
        public static readonly PackageContentType ApplicationZip = new PackageContentType("application/zip");
        /// 
        /// 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 PackageContentType(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 PackageContentType 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 PackageContentType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TaskStatus.
    /// 
    public class TaskStatus : ConstantClass
    {
        /// 
        /// Constant CANCELLED for TaskStatus
        /// 
        public static readonly TaskStatus CANCELLED = new TaskStatus("CANCELLED");
        /// 
        /// Constant COMPLETED for TaskStatus
        /// 
        public static readonly TaskStatus COMPLETED = new TaskStatus("COMPLETED");
        /// 
        /// Constant ERROR for TaskStatus
        /// 
        public static readonly TaskStatus ERROR = new TaskStatus("ERROR");
        /// 
        /// Constant IN_PROGRESS for TaskStatus
        /// 
        public static readonly TaskStatus IN_PROGRESS = new TaskStatus("IN_PROGRESS");
        /// 
        /// Constant SCHEDULED for TaskStatus
        /// 
        public static readonly TaskStatus SCHEDULED = new TaskStatus("SCHEDULED");
        /// 
        /// Constant SKIPPED for TaskStatus
        /// 
        public static readonly TaskStatus SKIPPED = new TaskStatus("SKIPPED");
        /// 
        /// Constant STARTED for TaskStatus
        /// 
        public static readonly TaskStatus STARTED = new TaskStatus("STARTED");
        /// 
        /// 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 TaskStatus(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 TaskStatus 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 TaskStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UpdateSolNetworkType.
    /// 
    public class UpdateSolNetworkType : ConstantClass
    {
        /// 
        /// Constant MODIFY_VNF_INFORMATION for UpdateSolNetworkType
        /// 
        public static readonly UpdateSolNetworkType MODIFY_VNF_INFORMATION = new UpdateSolNetworkType("MODIFY_VNF_INFORMATION");
        /// 
        /// 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 UpdateSolNetworkType(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 UpdateSolNetworkType 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 UpdateSolNetworkType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type UsageState.
    /// 
    public class UsageState : ConstantClass
    {
        /// 
        /// Constant IN_USE for UsageState
        /// 
        public static readonly UsageState IN_USE = new UsageState("IN_USE");
        /// 
        /// Constant NOT_IN_USE for UsageState
        /// 
        public static readonly UsageState NOT_IN_USE = new UsageState("NOT_IN_USE");
        /// 
        /// 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 UsageState(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 UsageState 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 UsageState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type VnfInstantiationState.
    /// 
    public class VnfInstantiationState : ConstantClass
    {
        /// 
        /// Constant INSTANTIATED for VnfInstantiationState
        /// 
        public static readonly VnfInstantiationState INSTANTIATED = new VnfInstantiationState("INSTANTIATED");
        /// 
        /// Constant NOT_INSTANTIATED for VnfInstantiationState
        /// 
        public static readonly VnfInstantiationState NOT_INSTANTIATED = new VnfInstantiationState("NOT_INSTANTIATED");
        /// 
        /// 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 VnfInstantiationState(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 VnfInstantiationState 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 VnfInstantiationState(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type VnfOperationalState.
    /// 
    public class VnfOperationalState : ConstantClass
    {
        /// 
        /// Constant STARTED for VnfOperationalState
        /// 
        public static readonly VnfOperationalState STARTED = new VnfOperationalState("STARTED");
        /// 
        /// Constant STOPPED for VnfOperationalState
        /// 
        public static readonly VnfOperationalState STOPPED = new VnfOperationalState("STOPPED");
        /// 
        /// 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 VnfOperationalState(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 VnfOperationalState 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 VnfOperationalState(string value)
        {
            return FindValue(value);
        }
    }
}