{-# 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.DvbSubDestinationBackgroundColor
-- 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.DvbSubDestinationBackgroundColor
  ( DvbSubDestinationBackgroundColor
      ( ..,
        DvbSubDestinationBackgroundColor_BLACK,
        DvbSubDestinationBackgroundColor_NONE,
        DvbSubDestinationBackgroundColor_WHITE
      ),
  )
where

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

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

pattern DvbSubDestinationBackgroundColor_BLACK :: DvbSubDestinationBackgroundColor
pattern $bDvbSubDestinationBackgroundColor_BLACK :: DvbSubDestinationBackgroundColor
$mDvbSubDestinationBackgroundColor_BLACK :: forall r.
DvbSubDestinationBackgroundColor
-> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationBackgroundColor_BLACK = DvbSubDestinationBackgroundColor' "BLACK"

pattern DvbSubDestinationBackgroundColor_NONE :: DvbSubDestinationBackgroundColor
pattern $bDvbSubDestinationBackgroundColor_NONE :: DvbSubDestinationBackgroundColor
$mDvbSubDestinationBackgroundColor_NONE :: forall r.
DvbSubDestinationBackgroundColor
-> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationBackgroundColor_NONE = DvbSubDestinationBackgroundColor' "NONE"

pattern DvbSubDestinationBackgroundColor_WHITE :: DvbSubDestinationBackgroundColor
pattern $bDvbSubDestinationBackgroundColor_WHITE :: DvbSubDestinationBackgroundColor
$mDvbSubDestinationBackgroundColor_WHITE :: forall r.
DvbSubDestinationBackgroundColor
-> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationBackgroundColor_WHITE = DvbSubDestinationBackgroundColor' "WHITE"

{-# COMPLETE
  DvbSubDestinationBackgroundColor_BLACK,
  DvbSubDestinationBackgroundColor_NONE,
  DvbSubDestinationBackgroundColor_WHITE,
  DvbSubDestinationBackgroundColor'
  #-}