{-# 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.DvbSubDestinationOutlineColor
-- 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.DvbSubDestinationOutlineColor
  ( DvbSubDestinationOutlineColor
      ( ..,
        DvbSubDestinationOutlineColor_BLACK,
        DvbSubDestinationOutlineColor_BLUE,
        DvbSubDestinationOutlineColor_GREEN,
        DvbSubDestinationOutlineColor_RED,
        DvbSubDestinationOutlineColor_WHITE,
        DvbSubDestinationOutlineColor_YELLOW
      ),
  )
where

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

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

pattern DvbSubDestinationOutlineColor_BLACK :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_BLACK :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_BLACK :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_BLACK = DvbSubDestinationOutlineColor' "BLACK"

pattern DvbSubDestinationOutlineColor_BLUE :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_BLUE :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_BLUE :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_BLUE = DvbSubDestinationOutlineColor' "BLUE"

pattern DvbSubDestinationOutlineColor_GREEN :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_GREEN :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_GREEN :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_GREEN = DvbSubDestinationOutlineColor' "GREEN"

pattern DvbSubDestinationOutlineColor_RED :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_RED :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_RED :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_RED = DvbSubDestinationOutlineColor' "RED"

pattern DvbSubDestinationOutlineColor_WHITE :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_WHITE :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_WHITE :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_WHITE = DvbSubDestinationOutlineColor' "WHITE"

pattern DvbSubDestinationOutlineColor_YELLOW :: DvbSubDestinationOutlineColor
pattern $bDvbSubDestinationOutlineColor_YELLOW :: DvbSubDestinationOutlineColor
$mDvbSubDestinationOutlineColor_YELLOW :: forall r.
DvbSubDestinationOutlineColor -> (Void# -> r) -> (Void# -> r) -> r
DvbSubDestinationOutlineColor_YELLOW = DvbSubDestinationOutlineColor' "YELLOW"

{-# COMPLETE
  DvbSubDestinationOutlineColor_BLACK,
  DvbSubDestinationOutlineColor_BLUE,
  DvbSubDestinationOutlineColor_GREEN,
  DvbSubDestinationOutlineColor_RED,
  DvbSubDestinationOutlineColor_WHITE,
  DvbSubDestinationOutlineColor_YELLOW,
  DvbSubDestinationOutlineColor'
  #-}