{-# 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.Firehose.Types.ProcessorParameterName
-- 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.Firehose.Types.ProcessorParameterName
  ( ProcessorParameterName
      ( ..,
        ProcessorParameterName_BufferIntervalInSeconds,
        ProcessorParameterName_BufferSizeInMBs,
        ProcessorParameterName_Delimiter,
        ProcessorParameterName_JsonParsingEngine,
        ProcessorParameterName_LambdaArn,
        ProcessorParameterName_MetadataExtractionQuery,
        ProcessorParameterName_NumberOfRetries,
        ProcessorParameterName_RoleArn,
        ProcessorParameterName_SubRecordType
      ),
  )
where

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

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

pattern ProcessorParameterName_BufferIntervalInSeconds :: ProcessorParameterName
pattern $bProcessorParameterName_BufferIntervalInSeconds :: ProcessorParameterName
$mProcessorParameterName_BufferIntervalInSeconds :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_BufferIntervalInSeconds = ProcessorParameterName' "BufferIntervalInSeconds"

pattern ProcessorParameterName_BufferSizeInMBs :: ProcessorParameterName
pattern $bProcessorParameterName_BufferSizeInMBs :: ProcessorParameterName
$mProcessorParameterName_BufferSizeInMBs :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_BufferSizeInMBs = ProcessorParameterName' "BufferSizeInMBs"

pattern ProcessorParameterName_Delimiter :: ProcessorParameterName
pattern $bProcessorParameterName_Delimiter :: ProcessorParameterName
$mProcessorParameterName_Delimiter :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_Delimiter = ProcessorParameterName' "Delimiter"

pattern ProcessorParameterName_JsonParsingEngine :: ProcessorParameterName
pattern $bProcessorParameterName_JsonParsingEngine :: ProcessorParameterName
$mProcessorParameterName_JsonParsingEngine :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_JsonParsingEngine = ProcessorParameterName' "JsonParsingEngine"

pattern ProcessorParameterName_LambdaArn :: ProcessorParameterName
pattern $bProcessorParameterName_LambdaArn :: ProcessorParameterName
$mProcessorParameterName_LambdaArn :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_LambdaArn = ProcessorParameterName' "LambdaArn"

pattern ProcessorParameterName_MetadataExtractionQuery :: ProcessorParameterName
pattern $bProcessorParameterName_MetadataExtractionQuery :: ProcessorParameterName
$mProcessorParameterName_MetadataExtractionQuery :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_MetadataExtractionQuery = ProcessorParameterName' "MetadataExtractionQuery"

pattern ProcessorParameterName_NumberOfRetries :: ProcessorParameterName
pattern $bProcessorParameterName_NumberOfRetries :: ProcessorParameterName
$mProcessorParameterName_NumberOfRetries :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_NumberOfRetries = ProcessorParameterName' "NumberOfRetries"

pattern ProcessorParameterName_RoleArn :: ProcessorParameterName
pattern $bProcessorParameterName_RoleArn :: ProcessorParameterName
$mProcessorParameterName_RoleArn :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_RoleArn = ProcessorParameterName' "RoleArn"

pattern ProcessorParameterName_SubRecordType :: ProcessorParameterName
pattern $bProcessorParameterName_SubRecordType :: ProcessorParameterName
$mProcessorParameterName_SubRecordType :: forall r.
ProcessorParameterName -> (Void# -> r) -> (Void# -> r) -> r
ProcessorParameterName_SubRecordType = ProcessorParameterName' "SubRecordType"

{-# COMPLETE
  ProcessorParameterName_BufferIntervalInSeconds,
  ProcessorParameterName_BufferSizeInMBs,
  ProcessorParameterName_Delimiter,
  ProcessorParameterName_JsonParsingEngine,
  ProcessorParameterName_LambdaArn,
  ProcessorParameterName_MetadataExtractionQuery,
  ProcessorParameterName_NumberOfRetries,
  ProcessorParameterName_RoleArn,
  ProcessorParameterName_SubRecordType,
  ProcessorParameterName'
  #-}