{-# 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.PinpointSmsVoiceV2.Types.ConfigurationSetFilterName
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.PinpointSmsVoiceV2.Types.ConfigurationSetFilterName
  ( ConfigurationSetFilterName
      ( ..,
        ConfigurationSetFilterName_Default_message_type,
        ConfigurationSetFilterName_Default_sender_id,
        ConfigurationSetFilterName_Event_destination_name,
        ConfigurationSetFilterName_Matching_event_types
      ),
  )
where

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

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

pattern ConfigurationSetFilterName_Default_message_type :: ConfigurationSetFilterName
pattern $bConfigurationSetFilterName_Default_message_type :: ConfigurationSetFilterName
$mConfigurationSetFilterName_Default_message_type :: forall {r}.
ConfigurationSetFilterName -> ((# #) -> r) -> ((# #) -> r) -> r
ConfigurationSetFilterName_Default_message_type = ConfigurationSetFilterName' "default-message-type"

pattern ConfigurationSetFilterName_Default_sender_id :: ConfigurationSetFilterName
pattern $bConfigurationSetFilterName_Default_sender_id :: ConfigurationSetFilterName
$mConfigurationSetFilterName_Default_sender_id :: forall {r}.
ConfigurationSetFilterName -> ((# #) -> r) -> ((# #) -> r) -> r
ConfigurationSetFilterName_Default_sender_id = ConfigurationSetFilterName' "default-sender-id"

pattern ConfigurationSetFilterName_Event_destination_name :: ConfigurationSetFilterName
pattern $bConfigurationSetFilterName_Event_destination_name :: ConfigurationSetFilterName
$mConfigurationSetFilterName_Event_destination_name :: forall {r}.
ConfigurationSetFilterName -> ((# #) -> r) -> ((# #) -> r) -> r
ConfigurationSetFilterName_Event_destination_name = ConfigurationSetFilterName' "event-destination-name"

pattern ConfigurationSetFilterName_Matching_event_types :: ConfigurationSetFilterName
pattern $bConfigurationSetFilterName_Matching_event_types :: ConfigurationSetFilterName
$mConfigurationSetFilterName_Matching_event_types :: forall {r}.
ConfigurationSetFilterName -> ((# #) -> r) -> ((# #) -> r) -> r
ConfigurationSetFilterName_Matching_event_types = ConfigurationSetFilterName' "matching-event-types"

{-# COMPLETE
  ConfigurationSetFilterName_Default_message_type,
  ConfigurationSetFilterName_Default_sender_id,
  ConfigurationSetFilterName_Event_destination_name,
  ConfigurationSetFilterName_Matching_event_types,
  ConfigurationSetFilterName'
  #-}