{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.ELBV2.Types.TargetHealthReasonEnum
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ELBV2.Types.TargetHealthReasonEnum
  ( TargetHealthReasonEnum
      ( ..,
        TargetHealthReasonEnum_Elb_InitialHealthChecking,
        TargetHealthReasonEnum_Elb_InternalError,
        TargetHealthReasonEnum_Elb_RegistrationInProgress,
        TargetHealthReasonEnum_Target_DeregistrationInProgress,
        TargetHealthReasonEnum_Target_FailedHealthChecks,
        TargetHealthReasonEnum_Target_HealthCheckDisabled,
        TargetHealthReasonEnum_Target_InvalidState,
        TargetHealthReasonEnum_Target_IpUnusable,
        TargetHealthReasonEnum_Target_NotInUse,
        TargetHealthReasonEnum_Target_NotRegistered,
        TargetHealthReasonEnum_Target_ResponseCodeMismatch,
        TargetHealthReasonEnum_Target_Timeout
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype TargetHealthReasonEnum = TargetHealthReasonEnum'
  { TargetHealthReasonEnum -> Text
fromTargetHealthReasonEnum ::
      Core.Text
  }
  deriving stock
    ( Int -> TargetHealthReasonEnum -> ShowS
[TargetHealthReasonEnum] -> ShowS
TargetHealthReasonEnum -> String
(Int -> TargetHealthReasonEnum -> ShowS)
-> (TargetHealthReasonEnum -> String)
-> ([TargetHealthReasonEnum] -> ShowS)
-> Show TargetHealthReasonEnum
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TargetHealthReasonEnum] -> ShowS
$cshowList :: [TargetHealthReasonEnum] -> ShowS
show :: TargetHealthReasonEnum -> String
$cshow :: TargetHealthReasonEnum -> String
showsPrec :: Int -> TargetHealthReasonEnum -> ShowS
$cshowsPrec :: Int -> TargetHealthReasonEnum -> ShowS
Prelude.Show,
      ReadPrec [TargetHealthReasonEnum]
ReadPrec TargetHealthReasonEnum
Int -> ReadS TargetHealthReasonEnum
ReadS [TargetHealthReasonEnum]
(Int -> ReadS TargetHealthReasonEnum)
-> ReadS [TargetHealthReasonEnum]
-> ReadPrec TargetHealthReasonEnum
-> ReadPrec [TargetHealthReasonEnum]
-> Read TargetHealthReasonEnum
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TargetHealthReasonEnum]
$creadListPrec :: ReadPrec [TargetHealthReasonEnum]
readPrec :: ReadPrec TargetHealthReasonEnum
$creadPrec :: ReadPrec TargetHealthReasonEnum
readList :: ReadS [TargetHealthReasonEnum]
$creadList :: ReadS [TargetHealthReasonEnum]
readsPrec :: Int -> ReadS TargetHealthReasonEnum
$creadsPrec :: Int -> ReadS TargetHealthReasonEnum
Prelude.Read,
      TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
(TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> Eq TargetHealthReasonEnum
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c/= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
== :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c== :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
Prelude.Eq,
      Eq TargetHealthReasonEnum
Eq TargetHealthReasonEnum
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Ordering)
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> (TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool)
-> (TargetHealthReasonEnum
    -> TargetHealthReasonEnum -> TargetHealthReasonEnum)
-> (TargetHealthReasonEnum
    -> TargetHealthReasonEnum -> TargetHealthReasonEnum)
-> Ord TargetHealthReasonEnum
TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
TargetHealthReasonEnum -> TargetHealthReasonEnum -> Ordering
TargetHealthReasonEnum
-> TargetHealthReasonEnum -> TargetHealthReasonEnum
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TargetHealthReasonEnum
-> TargetHealthReasonEnum -> TargetHealthReasonEnum
$cmin :: TargetHealthReasonEnum
-> TargetHealthReasonEnum -> TargetHealthReasonEnum
max :: TargetHealthReasonEnum
-> TargetHealthReasonEnum -> TargetHealthReasonEnum
$cmax :: TargetHealthReasonEnum
-> TargetHealthReasonEnum -> TargetHealthReasonEnum
>= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c>= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
> :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c> :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
<= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c<= :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
< :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
$c< :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Bool
compare :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Ordering
$ccompare :: TargetHealthReasonEnum -> TargetHealthReasonEnum -> Ordering
$cp1Ord :: Eq TargetHealthReasonEnum
Prelude.Ord,
      (forall x. TargetHealthReasonEnum -> Rep TargetHealthReasonEnum x)
-> (forall x.
    Rep TargetHealthReasonEnum x -> TargetHealthReasonEnum)
-> Generic TargetHealthReasonEnum
forall x. Rep TargetHealthReasonEnum x -> TargetHealthReasonEnum
forall x. TargetHealthReasonEnum -> Rep TargetHealthReasonEnum x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TargetHealthReasonEnum x -> TargetHealthReasonEnum
$cfrom :: forall x. TargetHealthReasonEnum -> Rep TargetHealthReasonEnum x
Prelude.Generic
    )
  deriving newtype
    ( Int -> TargetHealthReasonEnum -> Int
TargetHealthReasonEnum -> Int
(Int -> TargetHealthReasonEnum -> Int)
-> (TargetHealthReasonEnum -> Int)
-> Hashable TargetHealthReasonEnum
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: TargetHealthReasonEnum -> Int
$chash :: TargetHealthReasonEnum -> Int
hashWithSalt :: Int -> TargetHealthReasonEnum -> Int
$chashWithSalt :: Int -> TargetHealthReasonEnum -> Int
Prelude.Hashable,
      TargetHealthReasonEnum -> ()
(TargetHealthReasonEnum -> ()) -> NFData TargetHealthReasonEnum
forall a. (a -> ()) -> NFData a
rnf :: TargetHealthReasonEnum -> ()
$crnf :: TargetHealthReasonEnum -> ()
Prelude.NFData,
      Text -> Either String TargetHealthReasonEnum
(Text -> Either String TargetHealthReasonEnum)
-> FromText TargetHealthReasonEnum
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String TargetHealthReasonEnum
$cfromText :: Text -> Either String TargetHealthReasonEnum
Core.FromText,
      TargetHealthReasonEnum -> Text
(TargetHealthReasonEnum -> Text) -> ToText TargetHealthReasonEnum
forall a. (a -> Text) -> ToText a
toText :: TargetHealthReasonEnum -> Text
$ctoText :: TargetHealthReasonEnum -> Text
Core.ToText,
      TargetHealthReasonEnum -> ByteString
(TargetHealthReasonEnum -> ByteString)
-> ToByteString TargetHealthReasonEnum
forall a. (a -> ByteString) -> ToByteString a
toBS :: TargetHealthReasonEnum -> ByteString
$ctoBS :: TargetHealthReasonEnum -> ByteString
Core.ToByteString,
      TargetHealthReasonEnum -> ByteStringBuilder
(TargetHealthReasonEnum -> ByteStringBuilder)
-> ToLog TargetHealthReasonEnum
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: TargetHealthReasonEnum -> ByteStringBuilder
$cbuild :: TargetHealthReasonEnum -> ByteStringBuilder
Core.ToLog,
      HeaderName -> TargetHealthReasonEnum -> [Header]
(HeaderName -> TargetHealthReasonEnum -> [Header])
-> ToHeader TargetHealthReasonEnum
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> TargetHealthReasonEnum -> [Header]
$ctoHeader :: HeaderName -> TargetHealthReasonEnum -> [Header]
Core.ToHeader,
      TargetHealthReasonEnum -> QueryString
(TargetHealthReasonEnum -> QueryString)
-> ToQuery TargetHealthReasonEnum
forall a. (a -> QueryString) -> ToQuery a
toQuery :: TargetHealthReasonEnum -> QueryString
$ctoQuery :: TargetHealthReasonEnum -> QueryString
Core.ToQuery,
      Value -> Parser [TargetHealthReasonEnum]
Value -> Parser TargetHealthReasonEnum
(Value -> Parser TargetHealthReasonEnum)
-> (Value -> Parser [TargetHealthReasonEnum])
-> FromJSON TargetHealthReasonEnum
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [TargetHealthReasonEnum]
$cparseJSONList :: Value -> Parser [TargetHealthReasonEnum]
parseJSON :: Value -> Parser TargetHealthReasonEnum
$cparseJSON :: Value -> Parser TargetHealthReasonEnum
Core.FromJSON,
      FromJSONKeyFunction [TargetHealthReasonEnum]
FromJSONKeyFunction TargetHealthReasonEnum
FromJSONKeyFunction TargetHealthReasonEnum
-> FromJSONKeyFunction [TargetHealthReasonEnum]
-> FromJSONKey TargetHealthReasonEnum
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [TargetHealthReasonEnum]
$cfromJSONKeyList :: FromJSONKeyFunction [TargetHealthReasonEnum]
fromJSONKey :: FromJSONKeyFunction TargetHealthReasonEnum
$cfromJSONKey :: FromJSONKeyFunction TargetHealthReasonEnum
Core.FromJSONKey,
      [TargetHealthReasonEnum] -> Encoding
[TargetHealthReasonEnum] -> Value
TargetHealthReasonEnum -> Encoding
TargetHealthReasonEnum -> Value
(TargetHealthReasonEnum -> Value)
-> (TargetHealthReasonEnum -> Encoding)
-> ([TargetHealthReasonEnum] -> Value)
-> ([TargetHealthReasonEnum] -> Encoding)
-> ToJSON TargetHealthReasonEnum
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [TargetHealthReasonEnum] -> Encoding
$ctoEncodingList :: [TargetHealthReasonEnum] -> Encoding
toJSONList :: [TargetHealthReasonEnum] -> Value
$ctoJSONList :: [TargetHealthReasonEnum] -> Value
toEncoding :: TargetHealthReasonEnum -> Encoding
$ctoEncoding :: TargetHealthReasonEnum -> Encoding
toJSON :: TargetHealthReasonEnum -> Value
$ctoJSON :: TargetHealthReasonEnum -> Value
Core.ToJSON,
      ToJSONKeyFunction [TargetHealthReasonEnum]
ToJSONKeyFunction TargetHealthReasonEnum
ToJSONKeyFunction TargetHealthReasonEnum
-> ToJSONKeyFunction [TargetHealthReasonEnum]
-> ToJSONKey TargetHealthReasonEnum
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [TargetHealthReasonEnum]
$ctoJSONKeyList :: ToJSONKeyFunction [TargetHealthReasonEnum]
toJSONKey :: ToJSONKeyFunction TargetHealthReasonEnum
$ctoJSONKey :: ToJSONKeyFunction TargetHealthReasonEnum
Core.ToJSONKey,
      [Node] -> Either String TargetHealthReasonEnum
([Node] -> Either String TargetHealthReasonEnum)
-> FromXML TargetHealthReasonEnum
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String TargetHealthReasonEnum
$cparseXML :: [Node] -> Either String TargetHealthReasonEnum
Core.FromXML,
      TargetHealthReasonEnum -> XML
(TargetHealthReasonEnum -> XML) -> ToXML TargetHealthReasonEnum
forall a. (a -> XML) -> ToXML a
toXML :: TargetHealthReasonEnum -> XML
$ctoXML :: TargetHealthReasonEnum -> XML
Core.ToXML
    )

pattern TargetHealthReasonEnum_Elb_InitialHealthChecking :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Elb_InitialHealthChecking :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Elb_InitialHealthChecking :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Elb_InitialHealthChecking = TargetHealthReasonEnum' "Elb.InitialHealthChecking"

pattern TargetHealthReasonEnum_Elb_InternalError :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Elb_InternalError :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Elb_InternalError :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Elb_InternalError = TargetHealthReasonEnum' "Elb.InternalError"

pattern TargetHealthReasonEnum_Elb_RegistrationInProgress :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Elb_RegistrationInProgress :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Elb_RegistrationInProgress :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Elb_RegistrationInProgress = TargetHealthReasonEnum' "Elb.RegistrationInProgress"

pattern TargetHealthReasonEnum_Target_DeregistrationInProgress :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_DeregistrationInProgress :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_DeregistrationInProgress :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_DeregistrationInProgress = TargetHealthReasonEnum' "Target.DeregistrationInProgress"

pattern TargetHealthReasonEnum_Target_FailedHealthChecks :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_FailedHealthChecks :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_FailedHealthChecks :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_FailedHealthChecks = TargetHealthReasonEnum' "Target.FailedHealthChecks"

pattern TargetHealthReasonEnum_Target_HealthCheckDisabled :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_HealthCheckDisabled :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_HealthCheckDisabled :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_HealthCheckDisabled = TargetHealthReasonEnum' "Target.HealthCheckDisabled"

pattern TargetHealthReasonEnum_Target_InvalidState :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_InvalidState :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_InvalidState :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_InvalidState = TargetHealthReasonEnum' "Target.InvalidState"

pattern TargetHealthReasonEnum_Target_IpUnusable :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_IpUnusable :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_IpUnusable :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_IpUnusable = TargetHealthReasonEnum' "Target.IpUnusable"

pattern TargetHealthReasonEnum_Target_NotInUse :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_NotInUse :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_NotInUse :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_NotInUse = TargetHealthReasonEnum' "Target.NotInUse"

pattern TargetHealthReasonEnum_Target_NotRegistered :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_NotRegistered :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_NotRegistered :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_NotRegistered = TargetHealthReasonEnum' "Target.NotRegistered"

pattern TargetHealthReasonEnum_Target_ResponseCodeMismatch :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_ResponseCodeMismatch :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_ResponseCodeMismatch :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_ResponseCodeMismatch = TargetHealthReasonEnum' "Target.ResponseCodeMismatch"

pattern TargetHealthReasonEnum_Target_Timeout :: TargetHealthReasonEnum
pattern $bTargetHealthReasonEnum_Target_Timeout :: TargetHealthReasonEnum
$mTargetHealthReasonEnum_Target_Timeout :: forall r.
TargetHealthReasonEnum -> (Void# -> r) -> (Void# -> r) -> r
TargetHealthReasonEnum_Target_Timeout = TargetHealthReasonEnum' "Target.Timeout"

{-# COMPLETE
  TargetHealthReasonEnum_Elb_InitialHealthChecking,
  TargetHealthReasonEnum_Elb_InternalError,
  TargetHealthReasonEnum_Elb_RegistrationInProgress,
  TargetHealthReasonEnum_Target_DeregistrationInProgress,
  TargetHealthReasonEnum_Target_FailedHealthChecks,
  TargetHealthReasonEnum_Target_HealthCheckDisabled,
  TargetHealthReasonEnum_Target_InvalidState,
  TargetHealthReasonEnum_Target_IpUnusable,
  TargetHealthReasonEnum_Target_NotInUse,
  TargetHealthReasonEnum_Target_NotRegistered,
  TargetHealthReasonEnum_Target_ResponseCodeMismatch,
  TargetHealthReasonEnum_Target_Timeout,
  TargetHealthReasonEnum'
  #-}