{-# 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.SMS.Types.ConnectorStatus
-- 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.SMS.Types.ConnectorStatus
  ( ConnectorStatus
      ( ..,
        ConnectorStatus_HEALTHY,
        ConnectorStatus_UNHEALTHY
      ),
  )
where

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

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

pattern ConnectorStatus_HEALTHY :: ConnectorStatus
pattern $bConnectorStatus_HEALTHY :: ConnectorStatus
$mConnectorStatus_HEALTHY :: forall r. ConnectorStatus -> (Void# -> r) -> (Void# -> r) -> r
ConnectorStatus_HEALTHY = ConnectorStatus' "HEALTHY"

pattern ConnectorStatus_UNHEALTHY :: ConnectorStatus
pattern $bConnectorStatus_UNHEALTHY :: ConnectorStatus
$mConnectorStatus_UNHEALTHY :: forall r. ConnectorStatus -> (Void# -> r) -> (Void# -> r) -> r
ConnectorStatus_UNHEALTHY = ConnectorStatus' "UNHEALTHY"

{-# COMPLETE
  ConnectorStatus_HEALTHY,
  ConnectorStatus_UNHEALTHY,
  ConnectorStatus'
  #-}