{-# 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.ListTargetsFilterName
-- 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.ListTargetsFilterName
  ( ListTargetsFilterName
      ( ..,
        ListTargetsFilterName_TARGET_ADDRESS,
        ListTargetsFilterName_TARGET_STATUS,
        ListTargetsFilterName_TARGET_TYPE
      ),
  )
where

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

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

pattern ListTargetsFilterName_TARGET_ADDRESS :: ListTargetsFilterName
pattern $bListTargetsFilterName_TARGET_ADDRESS :: ListTargetsFilterName
$mListTargetsFilterName_TARGET_ADDRESS :: forall r.
ListTargetsFilterName -> (Void# -> r) -> (Void# -> r) -> r
ListTargetsFilterName_TARGET_ADDRESS = ListTargetsFilterName' "TARGET_ADDRESS"

pattern ListTargetsFilterName_TARGET_STATUS :: ListTargetsFilterName
pattern $bListTargetsFilterName_TARGET_STATUS :: ListTargetsFilterName
$mListTargetsFilterName_TARGET_STATUS :: forall r.
ListTargetsFilterName -> (Void# -> r) -> (Void# -> r) -> r
ListTargetsFilterName_TARGET_STATUS = ListTargetsFilterName' "TARGET_STATUS"

pattern ListTargetsFilterName_TARGET_TYPE :: ListTargetsFilterName
pattern $bListTargetsFilterName_TARGET_TYPE :: ListTargetsFilterName
$mListTargetsFilterName_TARGET_TYPE :: forall r.
ListTargetsFilterName -> (Void# -> r) -> (Void# -> r) -> r
ListTargetsFilterName_TARGET_TYPE = ListTargetsFilterName' "TARGET_TYPE"

{-# COMPLETE
  ListTargetsFilterName_TARGET_ADDRESS,
  ListTargetsFilterName_TARGET_STATUS,
  ListTargetsFilterName_TARGET_TYPE,
  ListTargetsFilterName'
  #-}