{-# 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.EKS.Types.ConnectorConfigProvider
-- 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.EKS.Types.ConnectorConfigProvider
  ( ConnectorConfigProvider
      ( ..,
        ConnectorConfigProvider_AKS,
        ConnectorConfigProvider_ANTHOS,
        ConnectorConfigProvider_EC2,
        ConnectorConfigProvider_EKS_ANYWHERE,
        ConnectorConfigProvider_GKE,
        ConnectorConfigProvider_OPENSHIFT,
        ConnectorConfigProvider_OTHER,
        ConnectorConfigProvider_RANCHER,
        ConnectorConfigProvider_TANZU
      ),
  )
where

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

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

pattern ConnectorConfigProvider_AKS :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_AKS :: ConnectorConfigProvider
$mConnectorConfigProvider_AKS :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_AKS = ConnectorConfigProvider' "AKS"

pattern ConnectorConfigProvider_ANTHOS :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_ANTHOS :: ConnectorConfigProvider
$mConnectorConfigProvider_ANTHOS :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_ANTHOS = ConnectorConfigProvider' "ANTHOS"

pattern ConnectorConfigProvider_EC2 :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_EC2 :: ConnectorConfigProvider
$mConnectorConfigProvider_EC2 :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_EC2 = ConnectorConfigProvider' "EC2"

pattern ConnectorConfigProvider_EKS_ANYWHERE :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_EKS_ANYWHERE :: ConnectorConfigProvider
$mConnectorConfigProvider_EKS_ANYWHERE :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_EKS_ANYWHERE = ConnectorConfigProvider' "EKS_ANYWHERE"

pattern ConnectorConfigProvider_GKE :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_GKE :: ConnectorConfigProvider
$mConnectorConfigProvider_GKE :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_GKE = ConnectorConfigProvider' "GKE"

pattern ConnectorConfigProvider_OPENSHIFT :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_OPENSHIFT :: ConnectorConfigProvider
$mConnectorConfigProvider_OPENSHIFT :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_OPENSHIFT = ConnectorConfigProvider' "OPENSHIFT"

pattern ConnectorConfigProvider_OTHER :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_OTHER :: ConnectorConfigProvider
$mConnectorConfigProvider_OTHER :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_OTHER = ConnectorConfigProvider' "OTHER"

pattern ConnectorConfigProvider_RANCHER :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_RANCHER :: ConnectorConfigProvider
$mConnectorConfigProvider_RANCHER :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_RANCHER = ConnectorConfigProvider' "RANCHER"

pattern ConnectorConfigProvider_TANZU :: ConnectorConfigProvider
pattern $bConnectorConfigProvider_TANZU :: ConnectorConfigProvider
$mConnectorConfigProvider_TANZU :: forall r.
ConnectorConfigProvider -> (Void# -> r) -> (Void# -> r) -> r
ConnectorConfigProvider_TANZU = ConnectorConfigProvider' "TANZU"

{-# COMPLETE
  ConnectorConfigProvider_AKS,
  ConnectorConfigProvider_ANTHOS,
  ConnectorConfigProvider_EC2,
  ConnectorConfigProvider_EKS_ANYWHERE,
  ConnectorConfigProvider_GKE,
  ConnectorConfigProvider_OPENSHIFT,
  ConnectorConfigProvider_OTHER,
  ConnectorConfigProvider_RANCHER,
  ConnectorConfigProvider_TANZU,
  ConnectorConfigProvider'
  #-}