{-# 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.DashIsoHbbtvCompliance
-- 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.DashIsoHbbtvCompliance
  ( DashIsoHbbtvCompliance
      ( ..,
        DashIsoHbbtvCompliance_HBBTV_1_5,
        DashIsoHbbtvCompliance_NONE
      ),
  )
where

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

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

pattern DashIsoHbbtvCompliance_HBBTV_1_5 :: DashIsoHbbtvCompliance
pattern $bDashIsoHbbtvCompliance_HBBTV_1_5 :: DashIsoHbbtvCompliance
$mDashIsoHbbtvCompliance_HBBTV_1_5 :: forall r.
DashIsoHbbtvCompliance -> (Void# -> r) -> (Void# -> r) -> r
DashIsoHbbtvCompliance_HBBTV_1_5 = DashIsoHbbtvCompliance' "HBBTV_1_5"

pattern DashIsoHbbtvCompliance_NONE :: DashIsoHbbtvCompliance
pattern $bDashIsoHbbtvCompliance_NONE :: DashIsoHbbtvCompliance
$mDashIsoHbbtvCompliance_NONE :: forall r.
DashIsoHbbtvCompliance -> (Void# -> r) -> (Void# -> r) -> r
DashIsoHbbtvCompliance_NONE = DashIsoHbbtvCompliance' "NONE"

{-# COMPLETE
  DashIsoHbbtvCompliance_HBBTV_1_5,
  DashIsoHbbtvCompliance_NONE,
  DashIsoHbbtvCompliance'
  #-}