{-# 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.MediaConvert.Types.PresetListBy
-- 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.MediaConvert.Types.PresetListBy
  ( PresetListBy
      ( ..,
        PresetListBy_CREATION_DATE,
        PresetListBy_NAME,
        PresetListBy_SYSTEM
      ),
  )
where

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

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

pattern PresetListBy_CREATION_DATE :: PresetListBy
pattern $bPresetListBy_CREATION_DATE :: PresetListBy
$mPresetListBy_CREATION_DATE :: forall r. PresetListBy -> (Void# -> r) -> (Void# -> r) -> r
PresetListBy_CREATION_DATE = PresetListBy' "CREATION_DATE"

pattern PresetListBy_NAME :: PresetListBy
pattern $bPresetListBy_NAME :: PresetListBy
$mPresetListBy_NAME :: forall r. PresetListBy -> (Void# -> r) -> (Void# -> r) -> r
PresetListBy_NAME = PresetListBy' "NAME"

pattern PresetListBy_SYSTEM :: PresetListBy
pattern $bPresetListBy_SYSTEM :: PresetListBy
$mPresetListBy_SYSTEM :: forall r. PresetListBy -> (Void# -> r) -> (Void# -> r) -> r
PresetListBy_SYSTEM = PresetListBy' "SYSTEM"

{-# COMPLETE
  PresetListBy_CREATION_DATE,
  PresetListBy_NAME,
  PresetListBy_SYSTEM,
  PresetListBy'
  #-}