{-# 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.MediaConnect.Types.Tcs
-- 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.MediaConnect.Types.Tcs
  ( Tcs
      ( ..,
        Tcs_BT2100LINHLG,
        Tcs_BT2100LINPQ,
        Tcs_DENSITY,
        Tcs_HLG,
        Tcs_LINEAR,
        Tcs_PQ,
        Tcs_SDR,
        Tcs_ST2065_1,
        Tcs_ST428_1
      ),
  )
where

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

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

pattern Tcs_BT2100LINHLG :: Tcs
pattern $bTcs_BT2100LINHLG :: Tcs
$mTcs_BT2100LINHLG :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_BT2100LINHLG = Tcs' "BT2100LINHLG"

pattern Tcs_BT2100LINPQ :: Tcs
pattern $bTcs_BT2100LINPQ :: Tcs
$mTcs_BT2100LINPQ :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_BT2100LINPQ = Tcs' "BT2100LINPQ"

pattern Tcs_DENSITY :: Tcs
pattern $bTcs_DENSITY :: Tcs
$mTcs_DENSITY :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_DENSITY = Tcs' "DENSITY"

pattern Tcs_HLG :: Tcs
pattern $bTcs_HLG :: Tcs
$mTcs_HLG :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_HLG = Tcs' "HLG"

pattern Tcs_LINEAR :: Tcs
pattern $bTcs_LINEAR :: Tcs
$mTcs_LINEAR :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_LINEAR = Tcs' "LINEAR"

pattern Tcs_PQ :: Tcs
pattern $bTcs_PQ :: Tcs
$mTcs_PQ :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_PQ = Tcs' "PQ"

pattern Tcs_SDR :: Tcs
pattern $bTcs_SDR :: Tcs
$mTcs_SDR :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_SDR = Tcs' "SDR"

pattern Tcs_ST2065_1 :: Tcs
pattern $bTcs_ST2065_1 :: Tcs
$mTcs_ST2065_1 :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_ST2065_1 = Tcs' "ST2065-1"

pattern Tcs_ST428_1 :: Tcs
pattern $bTcs_ST428_1 :: Tcs
$mTcs_ST428_1 :: forall r. Tcs -> (Void# -> r) -> (Void# -> r) -> r
Tcs_ST428_1 = Tcs' "ST428-1"

{-# COMPLETE
  Tcs_BT2100LINHLG,
  Tcs_BT2100LINPQ,
  Tcs_DENSITY,
  Tcs_HLG,
  Tcs_LINEAR,
  Tcs_PQ,
  Tcs_SDR,
  Tcs_ST2065_1,
  Tcs_ST428_1,
  Tcs'
  #-}