{-# 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.CmafInitializationVectorInManifest
-- 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.CmafInitializationVectorInManifest
  ( CmafInitializationVectorInManifest
      ( ..,
        CmafInitializationVectorInManifest_EXCLUDE,
        CmafInitializationVectorInManifest_INCLUDE
      ),
  )
where

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

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

pattern CmafInitializationVectorInManifest_EXCLUDE :: CmafInitializationVectorInManifest
pattern $bCmafInitializationVectorInManifest_EXCLUDE :: CmafInitializationVectorInManifest
$mCmafInitializationVectorInManifest_EXCLUDE :: forall r.
CmafInitializationVectorInManifest
-> (Void# -> r) -> (Void# -> r) -> r
CmafInitializationVectorInManifest_EXCLUDE = CmafInitializationVectorInManifest' "EXCLUDE"

pattern CmafInitializationVectorInManifest_INCLUDE :: CmafInitializationVectorInManifest
pattern $bCmafInitializationVectorInManifest_INCLUDE :: CmafInitializationVectorInManifest
$mCmafInitializationVectorInManifest_INCLUDE :: forall r.
CmafInitializationVectorInManifest
-> (Void# -> r) -> (Void# -> r) -> r
CmafInitializationVectorInManifest_INCLUDE = CmafInitializationVectorInManifest' "INCLUDE"

{-# COMPLETE
  CmafInitializationVectorInManifest_EXCLUDE,
  CmafInitializationVectorInManifest_INCLUDE,
  CmafInitializationVectorInManifest'
  #-}