{-# 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.MovPaddingControl
-- 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.MovPaddingControl
  ( MovPaddingControl
      ( ..,
        MovPaddingControl_NONE,
        MovPaddingControl_OMNEON
      ),
  )
where

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

-- | To make this output compatible with Omenon, keep the default value,
-- OMNEON. Unless you need Omneon compatibility, set this value to NONE.
-- When you keep the default value, OMNEON, MediaConvert increases the
-- length of the edit list atom. This might cause file rejections when a
-- recipient of the output file doesn\'t expct this extra padding.
newtype MovPaddingControl = MovPaddingControl'
  { MovPaddingControl -> Text
fromMovPaddingControl ::
      Core.Text
  }
  deriving stock
    ( Int -> MovPaddingControl -> ShowS
[MovPaddingControl] -> ShowS
MovPaddingControl -> String
(Int -> MovPaddingControl -> ShowS)
-> (MovPaddingControl -> String)
-> ([MovPaddingControl] -> ShowS)
-> Show MovPaddingControl
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MovPaddingControl] -> ShowS
$cshowList :: [MovPaddingControl] -> ShowS
show :: MovPaddingControl -> String
$cshow :: MovPaddingControl -> String
showsPrec :: Int -> MovPaddingControl -> ShowS
$cshowsPrec :: Int -> MovPaddingControl -> ShowS
Prelude.Show,
      ReadPrec [MovPaddingControl]
ReadPrec MovPaddingControl
Int -> ReadS MovPaddingControl
ReadS [MovPaddingControl]
(Int -> ReadS MovPaddingControl)
-> ReadS [MovPaddingControl]
-> ReadPrec MovPaddingControl
-> ReadPrec [MovPaddingControl]
-> Read MovPaddingControl
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MovPaddingControl]
$creadListPrec :: ReadPrec [MovPaddingControl]
readPrec :: ReadPrec MovPaddingControl
$creadPrec :: ReadPrec MovPaddingControl
readList :: ReadS [MovPaddingControl]
$creadList :: ReadS [MovPaddingControl]
readsPrec :: Int -> ReadS MovPaddingControl
$creadsPrec :: Int -> ReadS MovPaddingControl
Prelude.Read,
      MovPaddingControl -> MovPaddingControl -> Bool
(MovPaddingControl -> MovPaddingControl -> Bool)
-> (MovPaddingControl -> MovPaddingControl -> Bool)
-> Eq MovPaddingControl
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MovPaddingControl -> MovPaddingControl -> Bool
$c/= :: MovPaddingControl -> MovPaddingControl -> Bool
== :: MovPaddingControl -> MovPaddingControl -> Bool
$c== :: MovPaddingControl -> MovPaddingControl -> Bool
Prelude.Eq,
      Eq MovPaddingControl
Eq MovPaddingControl
-> (MovPaddingControl -> MovPaddingControl -> Ordering)
-> (MovPaddingControl -> MovPaddingControl -> Bool)
-> (MovPaddingControl -> MovPaddingControl -> Bool)
-> (MovPaddingControl -> MovPaddingControl -> Bool)
-> (MovPaddingControl -> MovPaddingControl -> Bool)
-> (MovPaddingControl -> MovPaddingControl -> MovPaddingControl)
-> (MovPaddingControl -> MovPaddingControl -> MovPaddingControl)
-> Ord MovPaddingControl
MovPaddingControl -> MovPaddingControl -> Bool
MovPaddingControl -> MovPaddingControl -> Ordering
MovPaddingControl -> MovPaddingControl -> MovPaddingControl
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 :: MovPaddingControl -> MovPaddingControl -> MovPaddingControl
$cmin :: MovPaddingControl -> MovPaddingControl -> MovPaddingControl
max :: MovPaddingControl -> MovPaddingControl -> MovPaddingControl
$cmax :: MovPaddingControl -> MovPaddingControl -> MovPaddingControl
>= :: MovPaddingControl -> MovPaddingControl -> Bool
$c>= :: MovPaddingControl -> MovPaddingControl -> Bool
> :: MovPaddingControl -> MovPaddingControl -> Bool
$c> :: MovPaddingControl -> MovPaddingControl -> Bool
<= :: MovPaddingControl -> MovPaddingControl -> Bool
$c<= :: MovPaddingControl -> MovPaddingControl -> Bool
< :: MovPaddingControl -> MovPaddingControl -> Bool
$c< :: MovPaddingControl -> MovPaddingControl -> Bool
compare :: MovPaddingControl -> MovPaddingControl -> Ordering
$ccompare :: MovPaddingControl -> MovPaddingControl -> Ordering
$cp1Ord :: Eq MovPaddingControl
Prelude.Ord,
      (forall x. MovPaddingControl -> Rep MovPaddingControl x)
-> (forall x. Rep MovPaddingControl x -> MovPaddingControl)
-> Generic MovPaddingControl
forall x. Rep MovPaddingControl x -> MovPaddingControl
forall x. MovPaddingControl -> Rep MovPaddingControl x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MovPaddingControl x -> MovPaddingControl
$cfrom :: forall x. MovPaddingControl -> Rep MovPaddingControl x
Prelude.Generic
    )
  deriving newtype
    ( Int -> MovPaddingControl -> Int
MovPaddingControl -> Int
(Int -> MovPaddingControl -> Int)
-> (MovPaddingControl -> Int) -> Hashable MovPaddingControl
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: MovPaddingControl -> Int
$chash :: MovPaddingControl -> Int
hashWithSalt :: Int -> MovPaddingControl -> Int
$chashWithSalt :: Int -> MovPaddingControl -> Int
Prelude.Hashable,
      MovPaddingControl -> ()
(MovPaddingControl -> ()) -> NFData MovPaddingControl
forall a. (a -> ()) -> NFData a
rnf :: MovPaddingControl -> ()
$crnf :: MovPaddingControl -> ()
Prelude.NFData,
      Text -> Either String MovPaddingControl
(Text -> Either String MovPaddingControl)
-> FromText MovPaddingControl
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String MovPaddingControl
$cfromText :: Text -> Either String MovPaddingControl
Core.FromText,
      MovPaddingControl -> Text
(MovPaddingControl -> Text) -> ToText MovPaddingControl
forall a. (a -> Text) -> ToText a
toText :: MovPaddingControl -> Text
$ctoText :: MovPaddingControl -> Text
Core.ToText,
      MovPaddingControl -> ByteString
(MovPaddingControl -> ByteString) -> ToByteString MovPaddingControl
forall a. (a -> ByteString) -> ToByteString a
toBS :: MovPaddingControl -> ByteString
$ctoBS :: MovPaddingControl -> ByteString
Core.ToByteString,
      MovPaddingControl -> ByteStringBuilder
(MovPaddingControl -> ByteStringBuilder) -> ToLog MovPaddingControl
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: MovPaddingControl -> ByteStringBuilder
$cbuild :: MovPaddingControl -> ByteStringBuilder
Core.ToLog,
      HeaderName -> MovPaddingControl -> [Header]
(HeaderName -> MovPaddingControl -> [Header])
-> ToHeader MovPaddingControl
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> MovPaddingControl -> [Header]
$ctoHeader :: HeaderName -> MovPaddingControl -> [Header]
Core.ToHeader,
      MovPaddingControl -> QueryString
(MovPaddingControl -> QueryString) -> ToQuery MovPaddingControl
forall a. (a -> QueryString) -> ToQuery a
toQuery :: MovPaddingControl -> QueryString
$ctoQuery :: MovPaddingControl -> QueryString
Core.ToQuery,
      Value -> Parser [MovPaddingControl]
Value -> Parser MovPaddingControl
(Value -> Parser MovPaddingControl)
-> (Value -> Parser [MovPaddingControl])
-> FromJSON MovPaddingControl
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [MovPaddingControl]
$cparseJSONList :: Value -> Parser [MovPaddingControl]
parseJSON :: Value -> Parser MovPaddingControl
$cparseJSON :: Value -> Parser MovPaddingControl
Core.FromJSON,
      FromJSONKeyFunction [MovPaddingControl]
FromJSONKeyFunction MovPaddingControl
FromJSONKeyFunction MovPaddingControl
-> FromJSONKeyFunction [MovPaddingControl]
-> FromJSONKey MovPaddingControl
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [MovPaddingControl]
$cfromJSONKeyList :: FromJSONKeyFunction [MovPaddingControl]
fromJSONKey :: FromJSONKeyFunction MovPaddingControl
$cfromJSONKey :: FromJSONKeyFunction MovPaddingControl
Core.FromJSONKey,
      [MovPaddingControl] -> Encoding
[MovPaddingControl] -> Value
MovPaddingControl -> Encoding
MovPaddingControl -> Value
(MovPaddingControl -> Value)
-> (MovPaddingControl -> Encoding)
-> ([MovPaddingControl] -> Value)
-> ([MovPaddingControl] -> Encoding)
-> ToJSON MovPaddingControl
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [MovPaddingControl] -> Encoding
$ctoEncodingList :: [MovPaddingControl] -> Encoding
toJSONList :: [MovPaddingControl] -> Value
$ctoJSONList :: [MovPaddingControl] -> Value
toEncoding :: MovPaddingControl -> Encoding
$ctoEncoding :: MovPaddingControl -> Encoding
toJSON :: MovPaddingControl -> Value
$ctoJSON :: MovPaddingControl -> Value
Core.ToJSON,
      ToJSONKeyFunction [MovPaddingControl]
ToJSONKeyFunction MovPaddingControl
ToJSONKeyFunction MovPaddingControl
-> ToJSONKeyFunction [MovPaddingControl]
-> ToJSONKey MovPaddingControl
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [MovPaddingControl]
$ctoJSONKeyList :: ToJSONKeyFunction [MovPaddingControl]
toJSONKey :: ToJSONKeyFunction MovPaddingControl
$ctoJSONKey :: ToJSONKeyFunction MovPaddingControl
Core.ToJSONKey,
      [Node] -> Either String MovPaddingControl
([Node] -> Either String MovPaddingControl)
-> FromXML MovPaddingControl
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String MovPaddingControl
$cparseXML :: [Node] -> Either String MovPaddingControl
Core.FromXML,
      MovPaddingControl -> XML
(MovPaddingControl -> XML) -> ToXML MovPaddingControl
forall a. (a -> XML) -> ToXML a
toXML :: MovPaddingControl -> XML
$ctoXML :: MovPaddingControl -> XML
Core.ToXML
    )

pattern MovPaddingControl_NONE :: MovPaddingControl
pattern $bMovPaddingControl_NONE :: MovPaddingControl
$mMovPaddingControl_NONE :: forall r. MovPaddingControl -> (Void# -> r) -> (Void# -> r) -> r
MovPaddingControl_NONE = MovPaddingControl' "NONE"

pattern MovPaddingControl_OMNEON :: MovPaddingControl
pattern $bMovPaddingControl_OMNEON :: MovPaddingControl
$mMovPaddingControl_OMNEON :: forall r. MovPaddingControl -> (Void# -> r) -> (Void# -> r) -> r
MovPaddingControl_OMNEON = MovPaddingControl' "OMNEON"

{-# COMPLETE
  MovPaddingControl_NONE,
  MovPaddingControl_OMNEON,
  MovPaddingControl'
  #-}