{-# 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.Proton.Types.EnvironmentAccountConnectionRequesterAccountType
-- 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.Proton.Types.EnvironmentAccountConnectionRequesterAccountType
  ( EnvironmentAccountConnectionRequesterAccountType
      ( ..,
        EnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT,
        EnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT
      ),
  )
where

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

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

pattern EnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT :: EnvironmentAccountConnectionRequesterAccountType
pattern $bEnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT :: EnvironmentAccountConnectionRequesterAccountType
$mEnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT :: forall r.
EnvironmentAccountConnectionRequesterAccountType
-> (Void# -> r) -> (Void# -> r) -> r
EnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT = EnvironmentAccountConnectionRequesterAccountType' "ENVIRONMENT_ACCOUNT"

pattern EnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT :: EnvironmentAccountConnectionRequesterAccountType
pattern $bEnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT :: EnvironmentAccountConnectionRequesterAccountType
$mEnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT :: forall r.
EnvironmentAccountConnectionRequesterAccountType
-> (Void# -> r) -> (Void# -> r) -> r
EnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT = EnvironmentAccountConnectionRequesterAccountType' "MANAGEMENT_ACCOUNT"

{-# COMPLETE
  EnvironmentAccountConnectionRequesterAccountType_ENVIRONMENT_ACCOUNT,
  EnvironmentAccountConnectionRequesterAccountType_MANAGEMENT_ACCOUNT,
  EnvironmentAccountConnectionRequesterAccountType'
  #-}