/*
 * 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 opsworkscm-2016-11-01.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.OpsWorksCM
{
    /// 
    /// Constants used for properties of type BackupStatus.
    /// 
    public class BackupStatus : ConstantClass
    {
        /// 
        /// Constant DELETING for BackupStatus
        /// 
        public static readonly BackupStatus DELETING = new BackupStatus("DELETING");
        /// 
        /// Constant FAILED for BackupStatus
        /// 
        public static readonly BackupStatus FAILED = new BackupStatus("FAILED");
        /// 
        /// Constant IN_PROGRESS for BackupStatus
        /// 
        public static readonly BackupStatus IN_PROGRESS = new BackupStatus("IN_PROGRESS");
        /// 
        /// Constant OK for BackupStatus
        /// 
        public static readonly BackupStatus OK = new BackupStatus("OK");
        /// 
        /// 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 BackupStatus(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 BackupStatus 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 BackupStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type BackupType.
    /// 
    public class BackupType : ConstantClass
    {
        /// 
        /// Constant AUTOMATED for BackupType
        /// 
        public static readonly BackupType AUTOMATED = new BackupType("AUTOMATED");
        /// 
        /// Constant MANUAL for BackupType
        /// 
        public static readonly BackupType MANUAL = new BackupType("MANUAL");
        /// 
        /// 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 BackupType(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 BackupType 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 BackupType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type MaintenanceStatus.
    /// 
    public class MaintenanceStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for MaintenanceStatus
        /// 
        public static readonly MaintenanceStatus FAILED = new MaintenanceStatus("FAILED");
        /// 
        /// Constant SUCCESS for MaintenanceStatus
        /// 
        public static readonly MaintenanceStatus SUCCESS = new MaintenanceStatus("SUCCESS");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public MaintenanceStatus(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 MaintenanceStatus 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 MaintenanceStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type NodeAssociationStatus.
    /// 
    public class NodeAssociationStatus : ConstantClass
    {
        /// 
        /// Constant FAILED for NodeAssociationStatus
        /// 
        public static readonly NodeAssociationStatus FAILED = new NodeAssociationStatus("FAILED");
        /// 
        /// Constant IN_PROGRESS for NodeAssociationStatus
        /// 
        public static readonly NodeAssociationStatus IN_PROGRESS = new NodeAssociationStatus("IN_PROGRESS");
        /// 
        /// Constant SUCCESS for NodeAssociationStatus
        /// 
        public static readonly NodeAssociationStatus SUCCESS = new NodeAssociationStatus("SUCCESS");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public NodeAssociationStatus(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 NodeAssociationStatus 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 NodeAssociationStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ServerStatus.
    /// 
    public class ServerStatus : ConstantClass
    {
        /// 
        /// Constant BACKING_UP for ServerStatus
        /// 
        public static readonly ServerStatus BACKING_UP = new ServerStatus("BACKING_UP");
        /// 
        /// Constant CONNECTION_LOST for ServerStatus
        /// 
        public static readonly ServerStatus CONNECTION_LOST = new ServerStatus("CONNECTION_LOST");
        /// 
        /// Constant CREATING for ServerStatus
        /// 
        public static readonly ServerStatus CREATING = new ServerStatus("CREATING");
        /// 
        /// Constant DELETING for ServerStatus
        /// 
        public static readonly ServerStatus DELETING = new ServerStatus("DELETING");
        /// 
        /// Constant FAILED for ServerStatus
        /// 
        public static readonly ServerStatus FAILED = new ServerStatus("FAILED");
        /// 
        /// Constant HEALTHY for ServerStatus
        /// 
        public static readonly ServerStatus HEALTHY = new ServerStatus("HEALTHY");
        /// 
        /// Constant MODIFYING for ServerStatus
        /// 
        public static readonly ServerStatus MODIFYING = new ServerStatus("MODIFYING");
        /// 
        /// Constant RESTORING for ServerStatus
        /// 
        public static readonly ServerStatus RESTORING = new ServerStatus("RESTORING");
        /// 
        /// Constant RUNNING for ServerStatus
        /// 
        public static readonly ServerStatus RUNNING = new ServerStatus("RUNNING");
        /// 
        /// Constant SETUP for ServerStatus
        /// 
        public static readonly ServerStatus SETUP = new ServerStatus("SETUP");
        /// 
        /// Constant TERMINATED for ServerStatus
        /// 
        public static readonly ServerStatus TERMINATED = new ServerStatus("TERMINATED");
        /// 
        /// Constant UNDER_MAINTENANCE for ServerStatus
        /// 
        public static readonly ServerStatus UNDER_MAINTENANCE = new ServerStatus("UNDER_MAINTENANCE");
        /// 
        /// Constant UNHEALTHY for ServerStatus
        /// 
        public static readonly ServerStatus UNHEALTHY = new ServerStatus("UNHEALTHY");
        /// 
        /// 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 ServerStatus(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 ServerStatus 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 ServerStatus(string value)
        {
            return FindValue(value);
        }
    }
}