{-# 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.HlsCaptionLanguageSetting
-- 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.HlsCaptionLanguageSetting
  ( HlsCaptionLanguageSetting
      ( ..,
        HlsCaptionLanguageSetting_INSERT,
        HlsCaptionLanguageSetting_NONE,
        HlsCaptionLanguageSetting_OMIT
      ),
  )
where

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

-- | Applies only to 608 Embedded output captions. Insert: Include
-- CLOSED-CAPTIONS lines in the manifest. Specify at least one language in
-- the CC1 Language Code field. One CLOSED-CAPTION line is added for each
-- Language Code you specify. Make sure to specify the languages in the
-- order in which they appear in the original source (if the source is
-- embedded format) or the order of the caption selectors (if the source is
-- other than embedded). Otherwise, languages in the manifest will not
-- match up properly with the output captions. None: Include
-- CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any
-- CLOSED-CAPTIONS line from the manifest.
newtype HlsCaptionLanguageSetting = HlsCaptionLanguageSetting'
  { HlsCaptionLanguageSetting -> Text
fromHlsCaptionLanguageSetting ::
      Core.Text
  }
  deriving stock
    ( Int -> HlsCaptionLanguageSetting -> ShowS
[HlsCaptionLanguageSetting] -> ShowS
HlsCaptionLanguageSetting -> String
(Int -> HlsCaptionLanguageSetting -> ShowS)
-> (HlsCaptionLanguageSetting -> String)
-> ([HlsCaptionLanguageSetting] -> ShowS)
-> Show HlsCaptionLanguageSetting
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HlsCaptionLanguageSetting] -> ShowS
$cshowList :: [HlsCaptionLanguageSetting] -> ShowS
show :: HlsCaptionLanguageSetting -> String
$cshow :: HlsCaptionLanguageSetting -> String
showsPrec :: Int -> HlsCaptionLanguageSetting -> ShowS
$cshowsPrec :: Int -> HlsCaptionLanguageSetting -> ShowS
Prelude.Show,
      ReadPrec [HlsCaptionLanguageSetting]
ReadPrec HlsCaptionLanguageSetting
Int -> ReadS HlsCaptionLanguageSetting
ReadS [HlsCaptionLanguageSetting]
(Int -> ReadS HlsCaptionLanguageSetting)
-> ReadS [HlsCaptionLanguageSetting]
-> ReadPrec HlsCaptionLanguageSetting
-> ReadPrec [HlsCaptionLanguageSetting]
-> Read HlsCaptionLanguageSetting
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [HlsCaptionLanguageSetting]
$creadListPrec :: ReadPrec [HlsCaptionLanguageSetting]
readPrec :: ReadPrec HlsCaptionLanguageSetting
$creadPrec :: ReadPrec HlsCaptionLanguageSetting
readList :: ReadS [HlsCaptionLanguageSetting]
$creadList :: ReadS [HlsCaptionLanguageSetting]
readsPrec :: Int -> ReadS HlsCaptionLanguageSetting
$creadsPrec :: Int -> ReadS HlsCaptionLanguageSetting
Prelude.Read,
      HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
(HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> (HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> Eq HlsCaptionLanguageSetting
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c/= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
== :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c== :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
Prelude.Eq,
      Eq HlsCaptionLanguageSetting
Eq HlsCaptionLanguageSetting
-> (HlsCaptionLanguageSetting
    -> HlsCaptionLanguageSetting -> Ordering)
-> (HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> (HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> (HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> (HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool)
-> (HlsCaptionLanguageSetting
    -> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting)
-> (HlsCaptionLanguageSetting
    -> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting)
-> Ord HlsCaptionLanguageSetting
HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Ordering
HlsCaptionLanguageSetting
-> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting
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 :: HlsCaptionLanguageSetting
-> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting
$cmin :: HlsCaptionLanguageSetting
-> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting
max :: HlsCaptionLanguageSetting
-> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting
$cmax :: HlsCaptionLanguageSetting
-> HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting
>= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c>= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
> :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c> :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
<= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c<= :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
< :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
$c< :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Bool
compare :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Ordering
$ccompare :: HlsCaptionLanguageSetting -> HlsCaptionLanguageSetting -> Ordering
$cp1Ord :: Eq HlsCaptionLanguageSetting
Prelude.Ord,
      (forall x.
 HlsCaptionLanguageSetting -> Rep HlsCaptionLanguageSetting x)
-> (forall x.
    Rep HlsCaptionLanguageSetting x -> HlsCaptionLanguageSetting)
-> Generic HlsCaptionLanguageSetting
forall x.
Rep HlsCaptionLanguageSetting x -> HlsCaptionLanguageSetting
forall x.
HlsCaptionLanguageSetting -> Rep HlsCaptionLanguageSetting x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep HlsCaptionLanguageSetting x -> HlsCaptionLanguageSetting
$cfrom :: forall x.
HlsCaptionLanguageSetting -> Rep HlsCaptionLanguageSetting x
Prelude.Generic
    )
  deriving newtype
    ( Int -> HlsCaptionLanguageSetting -> Int
HlsCaptionLanguageSetting -> Int
(Int -> HlsCaptionLanguageSetting -> Int)
-> (HlsCaptionLanguageSetting -> Int)
-> Hashable HlsCaptionLanguageSetting
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: HlsCaptionLanguageSetting -> Int
$chash :: HlsCaptionLanguageSetting -> Int
hashWithSalt :: Int -> HlsCaptionLanguageSetting -> Int
$chashWithSalt :: Int -> HlsCaptionLanguageSetting -> Int
Prelude.Hashable,
      HlsCaptionLanguageSetting -> ()
(HlsCaptionLanguageSetting -> ())
-> NFData HlsCaptionLanguageSetting
forall a. (a -> ()) -> NFData a
rnf :: HlsCaptionLanguageSetting -> ()
$crnf :: HlsCaptionLanguageSetting -> ()
Prelude.NFData,
      Text -> Either String HlsCaptionLanguageSetting
(Text -> Either String HlsCaptionLanguageSetting)
-> FromText HlsCaptionLanguageSetting
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String HlsCaptionLanguageSetting
$cfromText :: Text -> Either String HlsCaptionLanguageSetting
Core.FromText,
      HlsCaptionLanguageSetting -> Text
(HlsCaptionLanguageSetting -> Text)
-> ToText HlsCaptionLanguageSetting
forall a. (a -> Text) -> ToText a
toText :: HlsCaptionLanguageSetting -> Text
$ctoText :: HlsCaptionLanguageSetting -> Text
Core.ToText,
      HlsCaptionLanguageSetting -> ByteString
(HlsCaptionLanguageSetting -> ByteString)
-> ToByteString HlsCaptionLanguageSetting
forall a. (a -> ByteString) -> ToByteString a
toBS :: HlsCaptionLanguageSetting -> ByteString
$ctoBS :: HlsCaptionLanguageSetting -> ByteString
Core.ToByteString,
      HlsCaptionLanguageSetting -> ByteStringBuilder
(HlsCaptionLanguageSetting -> ByteStringBuilder)
-> ToLog HlsCaptionLanguageSetting
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: HlsCaptionLanguageSetting -> ByteStringBuilder
$cbuild :: HlsCaptionLanguageSetting -> ByteStringBuilder
Core.ToLog,
      HeaderName -> HlsCaptionLanguageSetting -> [Header]
(HeaderName -> HlsCaptionLanguageSetting -> [Header])
-> ToHeader HlsCaptionLanguageSetting
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> HlsCaptionLanguageSetting -> [Header]
$ctoHeader :: HeaderName -> HlsCaptionLanguageSetting -> [Header]
Core.ToHeader,
      HlsCaptionLanguageSetting -> QueryString
(HlsCaptionLanguageSetting -> QueryString)
-> ToQuery HlsCaptionLanguageSetting
forall a. (a -> QueryString) -> ToQuery a
toQuery :: HlsCaptionLanguageSetting -> QueryString
$ctoQuery :: HlsCaptionLanguageSetting -> QueryString
Core.ToQuery,
      Value -> Parser [HlsCaptionLanguageSetting]
Value -> Parser HlsCaptionLanguageSetting
(Value -> Parser HlsCaptionLanguageSetting)
-> (Value -> Parser [HlsCaptionLanguageSetting])
-> FromJSON HlsCaptionLanguageSetting
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [HlsCaptionLanguageSetting]
$cparseJSONList :: Value -> Parser [HlsCaptionLanguageSetting]
parseJSON :: Value -> Parser HlsCaptionLanguageSetting
$cparseJSON :: Value -> Parser HlsCaptionLanguageSetting
Core.FromJSON,
      FromJSONKeyFunction [HlsCaptionLanguageSetting]
FromJSONKeyFunction HlsCaptionLanguageSetting
FromJSONKeyFunction HlsCaptionLanguageSetting
-> FromJSONKeyFunction [HlsCaptionLanguageSetting]
-> FromJSONKey HlsCaptionLanguageSetting
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [HlsCaptionLanguageSetting]
$cfromJSONKeyList :: FromJSONKeyFunction [HlsCaptionLanguageSetting]
fromJSONKey :: FromJSONKeyFunction HlsCaptionLanguageSetting
$cfromJSONKey :: FromJSONKeyFunction HlsCaptionLanguageSetting
Core.FromJSONKey,
      [HlsCaptionLanguageSetting] -> Encoding
[HlsCaptionLanguageSetting] -> Value
HlsCaptionLanguageSetting -> Encoding
HlsCaptionLanguageSetting -> Value
(HlsCaptionLanguageSetting -> Value)
-> (HlsCaptionLanguageSetting -> Encoding)
-> ([HlsCaptionLanguageSetting] -> Value)
-> ([HlsCaptionLanguageSetting] -> Encoding)
-> ToJSON HlsCaptionLanguageSetting
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [HlsCaptionLanguageSetting] -> Encoding
$ctoEncodingList :: [HlsCaptionLanguageSetting] -> Encoding
toJSONList :: [HlsCaptionLanguageSetting] -> Value
$ctoJSONList :: [HlsCaptionLanguageSetting] -> Value
toEncoding :: HlsCaptionLanguageSetting -> Encoding
$ctoEncoding :: HlsCaptionLanguageSetting -> Encoding
toJSON :: HlsCaptionLanguageSetting -> Value
$ctoJSON :: HlsCaptionLanguageSetting -> Value
Core.ToJSON,
      ToJSONKeyFunction [HlsCaptionLanguageSetting]
ToJSONKeyFunction HlsCaptionLanguageSetting
ToJSONKeyFunction HlsCaptionLanguageSetting
-> ToJSONKeyFunction [HlsCaptionLanguageSetting]
-> ToJSONKey HlsCaptionLanguageSetting
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [HlsCaptionLanguageSetting]
$ctoJSONKeyList :: ToJSONKeyFunction [HlsCaptionLanguageSetting]
toJSONKey :: ToJSONKeyFunction HlsCaptionLanguageSetting
$ctoJSONKey :: ToJSONKeyFunction HlsCaptionLanguageSetting
Core.ToJSONKey,
      [Node] -> Either String HlsCaptionLanguageSetting
([Node] -> Either String HlsCaptionLanguageSetting)
-> FromXML HlsCaptionLanguageSetting
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String HlsCaptionLanguageSetting
$cparseXML :: [Node] -> Either String HlsCaptionLanguageSetting
Core.FromXML,
      HlsCaptionLanguageSetting -> XML
(HlsCaptionLanguageSetting -> XML)
-> ToXML HlsCaptionLanguageSetting
forall a. (a -> XML) -> ToXML a
toXML :: HlsCaptionLanguageSetting -> XML
$ctoXML :: HlsCaptionLanguageSetting -> XML
Core.ToXML
    )

pattern HlsCaptionLanguageSetting_INSERT :: HlsCaptionLanguageSetting
pattern $bHlsCaptionLanguageSetting_INSERT :: HlsCaptionLanguageSetting
$mHlsCaptionLanguageSetting_INSERT :: forall r.
HlsCaptionLanguageSetting -> (Void# -> r) -> (Void# -> r) -> r
HlsCaptionLanguageSetting_INSERT = HlsCaptionLanguageSetting' "INSERT"

pattern HlsCaptionLanguageSetting_NONE :: HlsCaptionLanguageSetting
pattern $bHlsCaptionLanguageSetting_NONE :: HlsCaptionLanguageSetting
$mHlsCaptionLanguageSetting_NONE :: forall r.
HlsCaptionLanguageSetting -> (Void# -> r) -> (Void# -> r) -> r
HlsCaptionLanguageSetting_NONE = HlsCaptionLanguageSetting' "NONE"

pattern HlsCaptionLanguageSetting_OMIT :: HlsCaptionLanguageSetting
pattern $bHlsCaptionLanguageSetting_OMIT :: HlsCaptionLanguageSetting
$mHlsCaptionLanguageSetting_OMIT :: forall r.
HlsCaptionLanguageSetting -> (Void# -> r) -> (Void# -> r) -> r
HlsCaptionLanguageSetting_OMIT = HlsCaptionLanguageSetting' "OMIT"

{-# COMPLETE
  HlsCaptionLanguageSetting_INSERT,
  HlsCaptionLanguageSetting_NONE,
  HlsCaptionLanguageSetting_OMIT,
  HlsCaptionLanguageSetting'
  #-}