{-# 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.AppFlow.Types.ConnectorType
-- 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.AppFlow.Types.ConnectorType
  ( ConnectorType
      ( ..,
        ConnectorType_Amplitude,
        ConnectorType_CustomerProfiles,
        ConnectorType_Datadog,
        ConnectorType_Dynatrace,
        ConnectorType_EventBridge,
        ConnectorType_Googleanalytics,
        ConnectorType_Honeycode,
        ConnectorType_Infornexus,
        ConnectorType_LookoutMetrics,
        ConnectorType_Marketo,
        ConnectorType_Redshift,
        ConnectorType_S3,
        ConnectorType_SAPOData,
        ConnectorType_Salesforce,
        ConnectorType_Servicenow,
        ConnectorType_Singular,
        ConnectorType_Slack,
        ConnectorType_Snowflake,
        ConnectorType_Trendmicro,
        ConnectorType_Upsolver,
        ConnectorType_Veeva,
        ConnectorType_Zendesk
      ),
  )
where

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

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

pattern ConnectorType_Amplitude :: ConnectorType
pattern $bConnectorType_Amplitude :: ConnectorType
$mConnectorType_Amplitude :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Amplitude = ConnectorType' "Amplitude"

pattern ConnectorType_CustomerProfiles :: ConnectorType
pattern $bConnectorType_CustomerProfiles :: ConnectorType
$mConnectorType_CustomerProfiles :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_CustomerProfiles = ConnectorType' "CustomerProfiles"

pattern ConnectorType_Datadog :: ConnectorType
pattern $bConnectorType_Datadog :: ConnectorType
$mConnectorType_Datadog :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Datadog = ConnectorType' "Datadog"

pattern ConnectorType_Dynatrace :: ConnectorType
pattern $bConnectorType_Dynatrace :: ConnectorType
$mConnectorType_Dynatrace :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Dynatrace = ConnectorType' "Dynatrace"

pattern ConnectorType_EventBridge :: ConnectorType
pattern $bConnectorType_EventBridge :: ConnectorType
$mConnectorType_EventBridge :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_EventBridge = ConnectorType' "EventBridge"

pattern ConnectorType_Googleanalytics :: ConnectorType
pattern $bConnectorType_Googleanalytics :: ConnectorType
$mConnectorType_Googleanalytics :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Googleanalytics = ConnectorType' "Googleanalytics"

pattern ConnectorType_Honeycode :: ConnectorType
pattern $bConnectorType_Honeycode :: ConnectorType
$mConnectorType_Honeycode :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Honeycode = ConnectorType' "Honeycode"

pattern ConnectorType_Infornexus :: ConnectorType
pattern $bConnectorType_Infornexus :: ConnectorType
$mConnectorType_Infornexus :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Infornexus = ConnectorType' "Infornexus"

pattern ConnectorType_LookoutMetrics :: ConnectorType
pattern $bConnectorType_LookoutMetrics :: ConnectorType
$mConnectorType_LookoutMetrics :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_LookoutMetrics = ConnectorType' "LookoutMetrics"

pattern ConnectorType_Marketo :: ConnectorType
pattern $bConnectorType_Marketo :: ConnectorType
$mConnectorType_Marketo :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Marketo = ConnectorType' "Marketo"

pattern ConnectorType_Redshift :: ConnectorType
pattern $bConnectorType_Redshift :: ConnectorType
$mConnectorType_Redshift :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Redshift = ConnectorType' "Redshift"

pattern ConnectorType_S3 :: ConnectorType
pattern $bConnectorType_S3 :: ConnectorType
$mConnectorType_S3 :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_S3 = ConnectorType' "S3"

pattern ConnectorType_SAPOData :: ConnectorType
pattern $bConnectorType_SAPOData :: ConnectorType
$mConnectorType_SAPOData :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_SAPOData = ConnectorType' "SAPOData"

pattern ConnectorType_Salesforce :: ConnectorType
pattern $bConnectorType_Salesforce :: ConnectorType
$mConnectorType_Salesforce :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Salesforce = ConnectorType' "Salesforce"

pattern ConnectorType_Servicenow :: ConnectorType
pattern $bConnectorType_Servicenow :: ConnectorType
$mConnectorType_Servicenow :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Servicenow = ConnectorType' "Servicenow"

pattern ConnectorType_Singular :: ConnectorType
pattern $bConnectorType_Singular :: ConnectorType
$mConnectorType_Singular :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Singular = ConnectorType' "Singular"

pattern ConnectorType_Slack :: ConnectorType
pattern $bConnectorType_Slack :: ConnectorType
$mConnectorType_Slack :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Slack = ConnectorType' "Slack"

pattern ConnectorType_Snowflake :: ConnectorType
pattern $bConnectorType_Snowflake :: ConnectorType
$mConnectorType_Snowflake :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Snowflake = ConnectorType' "Snowflake"

pattern ConnectorType_Trendmicro :: ConnectorType
pattern $bConnectorType_Trendmicro :: ConnectorType
$mConnectorType_Trendmicro :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Trendmicro = ConnectorType' "Trendmicro"

pattern ConnectorType_Upsolver :: ConnectorType
pattern $bConnectorType_Upsolver :: ConnectorType
$mConnectorType_Upsolver :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Upsolver = ConnectorType' "Upsolver"

pattern ConnectorType_Veeva :: ConnectorType
pattern $bConnectorType_Veeva :: ConnectorType
$mConnectorType_Veeva :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Veeva = ConnectorType' "Veeva"

pattern ConnectorType_Zendesk :: ConnectorType
pattern $bConnectorType_Zendesk :: ConnectorType
$mConnectorType_Zendesk :: forall r. ConnectorType -> (Void# -> r) -> (Void# -> r) -> r
ConnectorType_Zendesk = ConnectorType' "Zendesk"

{-# COMPLETE
  ConnectorType_Amplitude,
  ConnectorType_CustomerProfiles,
  ConnectorType_Datadog,
  ConnectorType_Dynatrace,
  ConnectorType_EventBridge,
  ConnectorType_Googleanalytics,
  ConnectorType_Honeycode,
  ConnectorType_Infornexus,
  ConnectorType_LookoutMetrics,
  ConnectorType_Marketo,
  ConnectorType_Redshift,
  ConnectorType_S3,
  ConnectorType_SAPOData,
  ConnectorType_Salesforce,
  ConnectorType_Servicenow,
  ConnectorType_Singular,
  ConnectorType_Slack,
  ConnectorType_Snowflake,
  ConnectorType_Trendmicro,
  ConnectorType_Upsolver,
  ConnectorType_Veeva,
  ConnectorType_Zendesk,
  ConnectorType'
  #-}