{-# 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.ElasticSearch.Types.InboundCrossClusterSearchConnectionStatusCode
-- 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.ElasticSearch.Types.InboundCrossClusterSearchConnectionStatusCode
  ( InboundCrossClusterSearchConnectionStatusCode
      ( ..,
        InboundCrossClusterSearchConnectionStatusCode_APPROVED,
        InboundCrossClusterSearchConnectionStatusCode_DELETED,
        InboundCrossClusterSearchConnectionStatusCode_DELETING,
        InboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE,
        InboundCrossClusterSearchConnectionStatusCode_REJECTED,
        InboundCrossClusterSearchConnectionStatusCode_REJECTING
      ),
  )
where

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

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

pattern InboundCrossClusterSearchConnectionStatusCode_APPROVED :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_APPROVED :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_APPROVED :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_APPROVED = InboundCrossClusterSearchConnectionStatusCode' "APPROVED"

pattern InboundCrossClusterSearchConnectionStatusCode_DELETED :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_DELETED :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_DELETED :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_DELETED = InboundCrossClusterSearchConnectionStatusCode' "DELETED"

pattern InboundCrossClusterSearchConnectionStatusCode_DELETING :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_DELETING :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_DELETING :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_DELETING = InboundCrossClusterSearchConnectionStatusCode' "DELETING"

pattern InboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE = InboundCrossClusterSearchConnectionStatusCode' "PENDING_ACCEPTANCE"

pattern InboundCrossClusterSearchConnectionStatusCode_REJECTED :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_REJECTED :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_REJECTED :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_REJECTED = InboundCrossClusterSearchConnectionStatusCode' "REJECTED"

pattern InboundCrossClusterSearchConnectionStatusCode_REJECTING :: InboundCrossClusterSearchConnectionStatusCode
pattern $bInboundCrossClusterSearchConnectionStatusCode_REJECTING :: InboundCrossClusterSearchConnectionStatusCode
$mInboundCrossClusterSearchConnectionStatusCode_REJECTING :: forall r.
InboundCrossClusterSearchConnectionStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
InboundCrossClusterSearchConnectionStatusCode_REJECTING = InboundCrossClusterSearchConnectionStatusCode' "REJECTING"

{-# COMPLETE
  InboundCrossClusterSearchConnectionStatusCode_APPROVED,
  InboundCrossClusterSearchConnectionStatusCode_DELETED,
  InboundCrossClusterSearchConnectionStatusCode_DELETING,
  InboundCrossClusterSearchConnectionStatusCode_PENDING_ACCEPTANCE,
  InboundCrossClusterSearchConnectionStatusCode_REJECTED,
  InboundCrossClusterSearchConnectionStatusCode_REJECTING,
  InboundCrossClusterSearchConnectionStatusCode'
  #-}