{-# 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.OpenSearch.Types.OutboundConnectionStatusCode
-- 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.OpenSearch.Types.OutboundConnectionStatusCode
  ( OutboundConnectionStatusCode
      ( ..,
        OutboundConnectionStatusCode_ACTIVE,
        OutboundConnectionStatusCode_APPROVED,
        OutboundConnectionStatusCode_DELETED,
        OutboundConnectionStatusCode_DELETING,
        OutboundConnectionStatusCode_PENDING_ACCEPTANCE,
        OutboundConnectionStatusCode_PROVISIONING,
        OutboundConnectionStatusCode_REJECTED,
        OutboundConnectionStatusCode_REJECTING,
        OutboundConnectionStatusCode_VALIDATING,
        OutboundConnectionStatusCode_VALIDATION_FAILED
      ),
  )
where

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

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

pattern OutboundConnectionStatusCode_ACTIVE :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_ACTIVE :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_ACTIVE :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_ACTIVE = OutboundConnectionStatusCode' "ACTIVE"

pattern OutboundConnectionStatusCode_APPROVED :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_APPROVED :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_APPROVED :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_APPROVED = OutboundConnectionStatusCode' "APPROVED"

pattern OutboundConnectionStatusCode_DELETED :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_DELETED :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_DELETED :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_DELETED = OutboundConnectionStatusCode' "DELETED"

pattern OutboundConnectionStatusCode_DELETING :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_DELETING :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_DELETING :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_DELETING = OutboundConnectionStatusCode' "DELETING"

pattern OutboundConnectionStatusCode_PENDING_ACCEPTANCE :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_PENDING_ACCEPTANCE :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_PENDING_ACCEPTANCE :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_PENDING_ACCEPTANCE = OutboundConnectionStatusCode' "PENDING_ACCEPTANCE"

pattern OutboundConnectionStatusCode_PROVISIONING :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_PROVISIONING :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_PROVISIONING :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_PROVISIONING = OutboundConnectionStatusCode' "PROVISIONING"

pattern OutboundConnectionStatusCode_REJECTED :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_REJECTED :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_REJECTED :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_REJECTED = OutboundConnectionStatusCode' "REJECTED"

pattern OutboundConnectionStatusCode_REJECTING :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_REJECTING :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_REJECTING :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_REJECTING = OutboundConnectionStatusCode' "REJECTING"

pattern OutboundConnectionStatusCode_VALIDATING :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_VALIDATING :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_VALIDATING :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_VALIDATING = OutboundConnectionStatusCode' "VALIDATING"

pattern OutboundConnectionStatusCode_VALIDATION_FAILED :: OutboundConnectionStatusCode
pattern $bOutboundConnectionStatusCode_VALIDATION_FAILED :: OutboundConnectionStatusCode
$mOutboundConnectionStatusCode_VALIDATION_FAILED :: forall r.
OutboundConnectionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
OutboundConnectionStatusCode_VALIDATION_FAILED = OutboundConnectionStatusCode' "VALIDATION_FAILED"

{-# COMPLETE
  OutboundConnectionStatusCode_ACTIVE,
  OutboundConnectionStatusCode_APPROVED,
  OutboundConnectionStatusCode_DELETED,
  OutboundConnectionStatusCode_DELETING,
  OutboundConnectionStatusCode_PENDING_ACCEPTANCE,
  OutboundConnectionStatusCode_PROVISIONING,
  OutboundConnectionStatusCode_REJECTED,
  OutboundConnectionStatusCode_REJECTING,
  OutboundConnectionStatusCode_VALIDATING,
  OutboundConnectionStatusCode_VALIDATION_FAILED,
  OutboundConnectionStatusCode'
  #-}