{-# 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.CodeStarNotifications.Types.ListNotificationRulesFilterName
-- 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.CodeStarNotifications.Types.ListNotificationRulesFilterName
  ( ListNotificationRulesFilterName
      ( ..,
        ListNotificationRulesFilterName_CREATED_BY,
        ListNotificationRulesFilterName_EVENT_TYPE_ID,
        ListNotificationRulesFilterName_RESOURCE,
        ListNotificationRulesFilterName_TARGET_ADDRESS
      ),
  )
where

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

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

pattern ListNotificationRulesFilterName_CREATED_BY :: ListNotificationRulesFilterName
pattern $bListNotificationRulesFilterName_CREATED_BY :: ListNotificationRulesFilterName
$mListNotificationRulesFilterName_CREATED_BY :: forall r.
ListNotificationRulesFilterName
-> (Void# -> r) -> (Void# -> r) -> r
ListNotificationRulesFilterName_CREATED_BY = ListNotificationRulesFilterName' "CREATED_BY"

pattern ListNotificationRulesFilterName_EVENT_TYPE_ID :: ListNotificationRulesFilterName
pattern $bListNotificationRulesFilterName_EVENT_TYPE_ID :: ListNotificationRulesFilterName
$mListNotificationRulesFilterName_EVENT_TYPE_ID :: forall r.
ListNotificationRulesFilterName
-> (Void# -> r) -> (Void# -> r) -> r
ListNotificationRulesFilterName_EVENT_TYPE_ID = ListNotificationRulesFilterName' "EVENT_TYPE_ID"

pattern ListNotificationRulesFilterName_RESOURCE :: ListNotificationRulesFilterName
pattern $bListNotificationRulesFilterName_RESOURCE :: ListNotificationRulesFilterName
$mListNotificationRulesFilterName_RESOURCE :: forall r.
ListNotificationRulesFilterName
-> (Void# -> r) -> (Void# -> r) -> r
ListNotificationRulesFilterName_RESOURCE = ListNotificationRulesFilterName' "RESOURCE"

pattern ListNotificationRulesFilterName_TARGET_ADDRESS :: ListNotificationRulesFilterName
pattern $bListNotificationRulesFilterName_TARGET_ADDRESS :: ListNotificationRulesFilterName
$mListNotificationRulesFilterName_TARGET_ADDRESS :: forall r.
ListNotificationRulesFilterName
-> (Void# -> r) -> (Void# -> r) -> r
ListNotificationRulesFilterName_TARGET_ADDRESS = ListNotificationRulesFilterName' "TARGET_ADDRESS"

{-# COMPLETE
  ListNotificationRulesFilterName_CREATED_BY,
  ListNotificationRulesFilterName_EVENT_TYPE_ID,
  ListNotificationRulesFilterName_RESOURCE,
  ListNotificationRulesFilterName_TARGET_ADDRESS,
  ListNotificationRulesFilterName'
  #-}