/*
 * 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 finspace-2021-03-12.normal.json service model.
 */
using System;
using Amazon.Runtime;
namespace Amazon.Finspace
{
    /// 
    /// Constants used for properties of type AutoScalingMetric.
    /// 
    public class AutoScalingMetric : ConstantClass
    {
        /// 
        /// Constant CPU_UTILIZATION_PERCENTAGE for AutoScalingMetric
        /// 
        public static readonly AutoScalingMetric CPU_UTILIZATION_PERCENTAGE = new AutoScalingMetric("CPU_UTILIZATION_PERCENTAGE");
        /// 
        /// 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 AutoScalingMetric(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 AutoScalingMetric 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 AutoScalingMetric(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ChangesetStatus.
    /// 
    public class ChangesetStatus : ConstantClass
    {
        /// 
        /// Constant COMPLETED for ChangesetStatus
        /// 
        public static readonly ChangesetStatus COMPLETED = new ChangesetStatus("COMPLETED");
        /// 
        /// Constant FAILED for ChangesetStatus
        /// 
        public static readonly ChangesetStatus FAILED = new ChangesetStatus("FAILED");
        /// 
        /// Constant PENDING for ChangesetStatus
        /// 
        public static readonly ChangesetStatus PENDING = new ChangesetStatus("PENDING");
        /// 
        /// Constant PROCESSING for ChangesetStatus
        /// 
        public static readonly ChangesetStatus PROCESSING = new ChangesetStatus("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 ChangesetStatus(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 ChangesetStatus 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 ChangesetStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ChangeType.
    /// 
    public class ChangeType : ConstantClass
    {
        /// 
        /// Constant DELETE for ChangeType
        /// 
        public static readonly ChangeType DELETE = new ChangeType("DELETE");
        /// 
        /// Constant PUT for ChangeType
        /// 
        public static readonly ChangeType PUT = new ChangeType("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 ChangeType(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 ChangeType 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 ChangeType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type DnsStatus.
    /// 
    public class DnsStatus : ConstantClass
    {
        /// 
        /// Constant FAILED_UPDATE for DnsStatus
        /// 
        public static readonly DnsStatus FAILED_UPDATE = new DnsStatus("FAILED_UPDATE");
        /// 
        /// Constant NONE for DnsStatus
        /// 
        public static readonly DnsStatus NONE = new DnsStatus("NONE");
        /// 
        /// Constant SUCCESSFULLY_UPDATED for DnsStatus
        /// 
        public static readonly DnsStatus SUCCESSFULLY_UPDATED = new DnsStatus("SUCCESSFULLY_UPDATED");
        /// 
        /// Constant UPDATE_REQUESTED for DnsStatus
        /// 
        public static readonly DnsStatus UPDATE_REQUESTED = new DnsStatus("UPDATE_REQUESTED");
        /// 
        /// Constant UPDATING for DnsStatus
        /// 
        public static readonly DnsStatus UPDATING = new DnsStatus("UPDATING");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public DnsStatus(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 DnsStatus 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 DnsStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type EnvironmentStatus.
    /// 
    public class EnvironmentStatus : ConstantClass
    {
        /// 
        /// Constant CREATE_REQUESTED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus CREATE_REQUESTED = new EnvironmentStatus("CREATE_REQUESTED");
        /// 
        /// Constant CREATED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus CREATED = new EnvironmentStatus("CREATED");
        /// 
        /// Constant CREATING for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus CREATING = new EnvironmentStatus("CREATING");
        /// 
        /// Constant DELETE_REQUESTED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus DELETE_REQUESTED = new EnvironmentStatus("DELETE_REQUESTED");
        /// 
        /// Constant DELETED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus DELETED = new EnvironmentStatus("DELETED");
        /// 
        /// Constant DELETING for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus DELETING = new EnvironmentStatus("DELETING");
        /// 
        /// Constant FAILED_CREATION for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus FAILED_CREATION = new EnvironmentStatus("FAILED_CREATION");
        /// 
        /// Constant FAILED_DELETION for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus FAILED_DELETION = new EnvironmentStatus("FAILED_DELETION");
        /// 
        /// Constant FAILED_UPDATING_NETWORK for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus FAILED_UPDATING_NETWORK = new EnvironmentStatus("FAILED_UPDATING_NETWORK");
        /// 
        /// Constant RETRY_DELETION for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus RETRY_DELETION = new EnvironmentStatus("RETRY_DELETION");
        /// 
        /// Constant SUSPENDED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus SUSPENDED = new EnvironmentStatus("SUSPENDED");
        /// 
        /// Constant UPDATE_NETWORK_REQUESTED for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus UPDATE_NETWORK_REQUESTED = new EnvironmentStatus("UPDATE_NETWORK_REQUESTED");
        /// 
        /// Constant UPDATING_NETWORK for EnvironmentStatus
        /// 
        public static readonly EnvironmentStatus UPDATING_NETWORK = new EnvironmentStatus("UPDATING_NETWORK");
        /// 
        /// 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 EnvironmentStatus(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 EnvironmentStatus 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 EnvironmentStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type ErrorDetails.
    /// 
    public class ErrorDetails : ConstantClass
    {
        /// 
        /// Constant AnInternalErrorHasOccurred for ErrorDetails
        /// 
        public static readonly ErrorDetails AnInternalErrorHasOccurred = new ErrorDetails("An internal error has occurred.");
        /// 
        /// Constant AUserRecoverableErrorHasOccurred for ErrorDetails
        /// 
        public static readonly ErrorDetails AUserRecoverableErrorHasOccurred = new ErrorDetails("A user recoverable error has occurred");
        /// 
        /// Constant Cancelled for ErrorDetails
        /// 
        public static readonly ErrorDetails Cancelled = new ErrorDetails("Cancelled");
        /// 
        /// Constant MissingRequiredPermissionToPerformThisRequest for ErrorDetails
        /// 
        public static readonly ErrorDetails MissingRequiredPermissionToPerformThisRequest = new ErrorDetails("Missing required permission to perform this request.");
        /// 
        /// Constant OneOrMoreInputsToThisRequestWereNotFound for ErrorDetails
        /// 
        public static readonly ErrorDetails OneOrMoreInputsToThisRequestWereNotFound = new ErrorDetails("One or more inputs to this request were not found.");
        /// 
        /// Constant ServiceLimitsHaveBeenExceeded for ErrorDetails
        /// 
        public static readonly ErrorDetails ServiceLimitsHaveBeenExceeded = new ErrorDetails("Service limits have been exceeded.");
        /// 
        /// Constant TheInputsToThisRequestAreInvalid for ErrorDetails
        /// 
        public static readonly ErrorDetails TheInputsToThisRequestAreInvalid = new ErrorDetails("The inputs to this request are invalid.");
        /// 
        /// Constant TheSystemTemporarilyLacksSufficientResourcesToProcessTheRequest for ErrorDetails
        /// 
        public static readonly ErrorDetails TheSystemTemporarilyLacksSufficientResourcesToProcessTheRequest = new ErrorDetails("The system temporarily lacks sufficient resources to process the request.");
        /// 
        /// 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 ErrorDetails(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 ErrorDetails 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 ErrorDetails(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type FederationMode.
    /// 
    public class FederationMode : ConstantClass
    {
        /// 
        /// Constant FEDERATED for FederationMode
        /// 
        public static readonly FederationMode FEDERATED = new FederationMode("FEDERATED");
        /// 
        /// Constant LOCAL for FederationMode
        /// 
        public static readonly FederationMode LOCAL = new FederationMode("LOCAL");
        /// 
        /// 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 FederationMode(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 FederationMode 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 FederationMode(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type IPAddressType.
    /// 
    public class IPAddressType : ConstantClass
    {
        /// 
        /// Constant IP_V4 for IPAddressType
        /// 
        public static readonly IPAddressType IP_V4 = new IPAddressType("IP_V4");
        /// 
        /// 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 IPAddressType(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 IPAddressType 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 IPAddressType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KxAzMode.
    /// 
    public class KxAzMode : ConstantClass
    {
        /// 
        /// Constant MULTI for KxAzMode
        /// 
        public static readonly KxAzMode MULTI = new KxAzMode("MULTI");
        /// 
        /// Constant SINGLE for KxAzMode
        /// 
        public static readonly KxAzMode SINGLE = new KxAzMode("SINGLE");
        /// 
        /// 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 KxAzMode(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 KxAzMode 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 KxAzMode(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KxClusterStatus.
    /// 
    public class KxClusterStatus : ConstantClass
    {
        /// 
        /// Constant CREATE_FAILED for KxClusterStatus
        /// 
        public static readonly KxClusterStatus CREATE_FAILED = new KxClusterStatus("CREATE_FAILED");
        /// 
        /// Constant CREATING for KxClusterStatus
        /// 
        public static readonly KxClusterStatus CREATING = new KxClusterStatus("CREATING");
        /// 
        /// Constant DELETE_FAILED for KxClusterStatus
        /// 
        public static readonly KxClusterStatus DELETE_FAILED = new KxClusterStatus("DELETE_FAILED");
        /// 
        /// Constant DELETED for KxClusterStatus
        /// 
        public static readonly KxClusterStatus DELETED = new KxClusterStatus("DELETED");
        /// 
        /// Constant DELETING for KxClusterStatus
        /// 
        public static readonly KxClusterStatus DELETING = new KxClusterStatus("DELETING");
        /// 
        /// Constant PENDING for KxClusterStatus
        /// 
        public static readonly KxClusterStatus PENDING = new KxClusterStatus("PENDING");
        /// 
        /// Constant RUNNING for KxClusterStatus
        /// 
        public static readonly KxClusterStatus RUNNING = new KxClusterStatus("RUNNING");
        /// 
        /// Constant UPDATING for KxClusterStatus
        /// 
        public static readonly KxClusterStatus UPDATING = new KxClusterStatus("UPDATING");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public KxClusterStatus(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 KxClusterStatus 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 KxClusterStatus(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KxClusterType.
    /// 
    public class KxClusterType : ConstantClass
    {
        /// 
        /// Constant GATEWAY for KxClusterType
        /// 
        public static readonly KxClusterType GATEWAY = new KxClusterType("GATEWAY");
        /// 
        /// Constant HDB for KxClusterType
        /// 
        public static readonly KxClusterType HDB = new KxClusterType("HDB");
        /// 
        /// Constant RDB for KxClusterType
        /// 
        public static readonly KxClusterType RDB = new KxClusterType("RDB");
        /// 
        /// 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 KxClusterType(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 KxClusterType 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 KxClusterType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type KxSavedownStorageType.
    /// 
    public class KxSavedownStorageType : ConstantClass
    {
        /// 
        /// Constant SDS01 for KxSavedownStorageType
        /// 
        public static readonly KxSavedownStorageType SDS01 = new KxSavedownStorageType("SDS01");
        /// 
        /// 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 KxSavedownStorageType(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 KxSavedownStorageType 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 KxSavedownStorageType(string value)
        {
            return FindValue(value);
        }
    }
    /// 
    /// Constants used for properties of type TgwStatus.
    /// 
    public class TgwStatus : ConstantClass
    {
        /// 
        /// Constant FAILED_UPDATE for TgwStatus
        /// 
        public static readonly TgwStatus FAILED_UPDATE = new TgwStatus("FAILED_UPDATE");
        /// 
        /// Constant NONE for TgwStatus
        /// 
        public static readonly TgwStatus NONE = new TgwStatus("NONE");
        /// 
        /// Constant SUCCESSFULLY_UPDATED for TgwStatus
        /// 
        public static readonly TgwStatus SUCCESSFULLY_UPDATED = new TgwStatus("SUCCESSFULLY_UPDATED");
        /// 
        /// Constant UPDATE_REQUESTED for TgwStatus
        /// 
        public static readonly TgwStatus UPDATE_REQUESTED = new TgwStatus("UPDATE_REQUESTED");
        /// 
        /// Constant UPDATING for TgwStatus
        /// 
        public static readonly TgwStatus UPDATING = new TgwStatus("UPDATING");
        /// 
        /// This constant constructor does not need to be called if the constant
        /// you are attempting to use is already defined as a static instance of 
        /// this class.
        /// This constructor should be used to construct constants that are not
        /// defined as statics, for instance if attempting to use a feature that is
        /// newer than the current version of the SDK.
        /// 
        public TgwStatus(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 TgwStatus 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 TgwStatus(string value)
        {
            return FindValue(value);
        }
    }
}