{-# 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.Comprehend.Types.EndpointStatus
-- 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.Comprehend.Types.EndpointStatus
  ( EndpointStatus
      ( ..,
        EndpointStatus_CREATING,
        EndpointStatus_DELETING,
        EndpointStatus_FAILED,
        EndpointStatus_IN_SERVICE,
        EndpointStatus_UPDATING
      ),
  )
where

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

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

pattern EndpointStatus_CREATING :: EndpointStatus
pattern $bEndpointStatus_CREATING :: EndpointStatus
$mEndpointStatus_CREATING :: forall r. EndpointStatus -> (Void# -> r) -> (Void# -> r) -> r
EndpointStatus_CREATING = EndpointStatus' "CREATING"

pattern EndpointStatus_DELETING :: EndpointStatus
pattern $bEndpointStatus_DELETING :: EndpointStatus
$mEndpointStatus_DELETING :: forall r. EndpointStatus -> (Void# -> r) -> (Void# -> r) -> r
EndpointStatus_DELETING = EndpointStatus' "DELETING"

pattern EndpointStatus_FAILED :: EndpointStatus
pattern $bEndpointStatus_FAILED :: EndpointStatus
$mEndpointStatus_FAILED :: forall r. EndpointStatus -> (Void# -> r) -> (Void# -> r) -> r
EndpointStatus_FAILED = EndpointStatus' "FAILED"

pattern EndpointStatus_IN_SERVICE :: EndpointStatus
pattern $bEndpointStatus_IN_SERVICE :: EndpointStatus
$mEndpointStatus_IN_SERVICE :: forall r. EndpointStatus -> (Void# -> r) -> (Void# -> r) -> r
EndpointStatus_IN_SERVICE = EndpointStatus' "IN_SERVICE"

pattern EndpointStatus_UPDATING :: EndpointStatus
pattern $bEndpointStatus_UPDATING :: EndpointStatus
$mEndpointStatus_UPDATING :: forall r. EndpointStatus -> (Void# -> r) -> (Void# -> r) -> r
EndpointStatus_UPDATING = EndpointStatus' "UPDATING"

{-# COMPLETE
  EndpointStatus_CREATING,
  EndpointStatus_DELETING,
  EndpointStatus_FAILED,
  EndpointStatus_IN_SERVICE,
  EndpointStatus_UPDATING,
  EndpointStatus'
  #-}