{-# 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.LexV2Models.Types.IntentFilterName
-- 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.LexV2Models.Types.IntentFilterName
  ( IntentFilterName
      ( ..,
        IntentFilterName_IntentName
      ),
  )
where

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

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

pattern IntentFilterName_IntentName :: IntentFilterName
pattern $bIntentFilterName_IntentName :: IntentFilterName
$mIntentFilterName_IntentName :: forall {r}. IntentFilterName -> ((# #) -> r) -> ((# #) -> r) -> r
IntentFilterName_IntentName = IntentFilterName' "IntentName"

{-# COMPLETE
  IntentFilterName_IntentName,
  IntentFilterName'
  #-}