{-# 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.MediaLive.Types.TemporalFilterStrength
-- 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.MediaLive.Types.TemporalFilterStrength
  ( TemporalFilterStrength
      ( ..,
        TemporalFilterStrength_AUTO,
        TemporalFilterStrength_STRENGTH_1,
        TemporalFilterStrength_STRENGTH_10,
        TemporalFilterStrength_STRENGTH_11,
        TemporalFilterStrength_STRENGTH_12,
        TemporalFilterStrength_STRENGTH_13,
        TemporalFilterStrength_STRENGTH_14,
        TemporalFilterStrength_STRENGTH_15,
        TemporalFilterStrength_STRENGTH_16,
        TemporalFilterStrength_STRENGTH_2,
        TemporalFilterStrength_STRENGTH_3,
        TemporalFilterStrength_STRENGTH_4,
        TemporalFilterStrength_STRENGTH_5,
        TemporalFilterStrength_STRENGTH_6,
        TemporalFilterStrength_STRENGTH_7,
        TemporalFilterStrength_STRENGTH_8,
        TemporalFilterStrength_STRENGTH_9
      ),
  )
where

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

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

pattern TemporalFilterStrength_AUTO :: TemporalFilterStrength
pattern $bTemporalFilterStrength_AUTO :: TemporalFilterStrength
$mTemporalFilterStrength_AUTO :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_AUTO = TemporalFilterStrength' "AUTO"

pattern TemporalFilterStrength_STRENGTH_1 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_1 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_1 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_1 = TemporalFilterStrength' "STRENGTH_1"

pattern TemporalFilterStrength_STRENGTH_10 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_10 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_10 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_10 = TemporalFilterStrength' "STRENGTH_10"

pattern TemporalFilterStrength_STRENGTH_11 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_11 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_11 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_11 = TemporalFilterStrength' "STRENGTH_11"

pattern TemporalFilterStrength_STRENGTH_12 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_12 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_12 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_12 = TemporalFilterStrength' "STRENGTH_12"

pattern TemporalFilterStrength_STRENGTH_13 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_13 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_13 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_13 = TemporalFilterStrength' "STRENGTH_13"

pattern TemporalFilterStrength_STRENGTH_14 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_14 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_14 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_14 = TemporalFilterStrength' "STRENGTH_14"

pattern TemporalFilterStrength_STRENGTH_15 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_15 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_15 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_15 = TemporalFilterStrength' "STRENGTH_15"

pattern TemporalFilterStrength_STRENGTH_16 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_16 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_16 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_16 = TemporalFilterStrength' "STRENGTH_16"

pattern TemporalFilterStrength_STRENGTH_2 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_2 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_2 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_2 = TemporalFilterStrength' "STRENGTH_2"

pattern TemporalFilterStrength_STRENGTH_3 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_3 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_3 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_3 = TemporalFilterStrength' "STRENGTH_3"

pattern TemporalFilterStrength_STRENGTH_4 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_4 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_4 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_4 = TemporalFilterStrength' "STRENGTH_4"

pattern TemporalFilterStrength_STRENGTH_5 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_5 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_5 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_5 = TemporalFilterStrength' "STRENGTH_5"

pattern TemporalFilterStrength_STRENGTH_6 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_6 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_6 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_6 = TemporalFilterStrength' "STRENGTH_6"

pattern TemporalFilterStrength_STRENGTH_7 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_7 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_7 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_7 = TemporalFilterStrength' "STRENGTH_7"

pattern TemporalFilterStrength_STRENGTH_8 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_8 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_8 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_8 = TemporalFilterStrength' "STRENGTH_8"

pattern TemporalFilterStrength_STRENGTH_9 :: TemporalFilterStrength
pattern $bTemporalFilterStrength_STRENGTH_9 :: TemporalFilterStrength
$mTemporalFilterStrength_STRENGTH_9 :: forall r.
TemporalFilterStrength -> (Void# -> r) -> (Void# -> r) -> r
TemporalFilterStrength_STRENGTH_9 = TemporalFilterStrength' "STRENGTH_9"

{-# COMPLETE
  TemporalFilterStrength_AUTO,
  TemporalFilterStrength_STRENGTH_1,
  TemporalFilterStrength_STRENGTH_10,
  TemporalFilterStrength_STRENGTH_11,
  TemporalFilterStrength_STRENGTH_12,
  TemporalFilterStrength_STRENGTH_13,
  TemporalFilterStrength_STRENGTH_14,
  TemporalFilterStrength_STRENGTH_15,
  TemporalFilterStrength_STRENGTH_16,
  TemporalFilterStrength_STRENGTH_2,
  TemporalFilterStrength_STRENGTH_3,
  TemporalFilterStrength_STRENGTH_4,
  TemporalFilterStrength_STRENGTH_5,
  TemporalFilterStrength_STRENGTH_6,
  TemporalFilterStrength_STRENGTH_7,
  TemporalFilterStrength_STRENGTH_8,
  TemporalFilterStrength_STRENGTH_9,
  TemporalFilterStrength'
  #-}