{-# 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.EbuTtDFillLineGapControl
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaLive.Types.EbuTtDFillLineGapControl
  ( EbuTtDFillLineGapControl
      ( ..,
        EbuTtDFillLineGapControl_DISABLED,
        EbuTtDFillLineGapControl_ENABLED
      ),
  )
where

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

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

pattern EbuTtDFillLineGapControl_DISABLED :: EbuTtDFillLineGapControl
pattern $bEbuTtDFillLineGapControl_DISABLED :: EbuTtDFillLineGapControl
$mEbuTtDFillLineGapControl_DISABLED :: forall {r}.
EbuTtDFillLineGapControl -> ((# #) -> r) -> ((# #) -> r) -> r
EbuTtDFillLineGapControl_DISABLED = EbuTtDFillLineGapControl' "DISABLED"

pattern EbuTtDFillLineGapControl_ENABLED :: EbuTtDFillLineGapControl
pattern $bEbuTtDFillLineGapControl_ENABLED :: EbuTtDFillLineGapControl
$mEbuTtDFillLineGapControl_ENABLED :: forall {r}.
EbuTtDFillLineGapControl -> ((# #) -> r) -> ((# #) -> r) -> r
EbuTtDFillLineGapControl_ENABLED = EbuTtDFillLineGapControl' "ENABLED"

{-# COMPLETE
  EbuTtDFillLineGapControl_DISABLED,
  EbuTtDFillLineGapControl_ENABLED,
  EbuTtDFillLineGapControl'
  #-}