{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MediaConvert.Types.KantarWatermarkSettings
-- 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.MediaConvert.Types.KantarWatermarkSettings where

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

-- | Use these settings only when you use Kantar watermarking. Specify the
-- values that MediaConvert uses to generate and place Kantar watermarks in
-- your output audio. These settings apply to every output in your job. In
-- addition to specifying these values, you also need to store your Kantar
-- credentials in AWS Secrets Manager. For more information, see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/kantar-watermarking.html.
--
-- /See:/ 'newKantarWatermarkSettings' smart constructor.
data KantarWatermarkSettings = KantarWatermarkSettings'
  { -- | Provide an audio channel name from your Kantar audio license.
    KantarWatermarkSettings -> Maybe Text
channelName :: Prelude.Maybe Prelude.Text,
    -- | Specify a unique identifier for Kantar to use for this piece of content.
    KantarWatermarkSettings -> Maybe Text
contentReference :: Prelude.Maybe Prelude.Text,
    -- | Provide the name of the AWS Secrets Manager secret where your Kantar
    -- credentials are stored. Note that your MediaConvert service role must
    -- provide access to this secret. For more information, see
    -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.
    -- For instructions on creating a secret, see
    -- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,
    -- in the AWS Secrets Manager User Guide.
    KantarWatermarkSettings -> Maybe Text
credentialsSecretName :: Prelude.Maybe Prelude.Text,
    -- | Optional. Specify an offset, in whole seconds, from the start of your
    -- output and the beginning of the watermarking. When you don\'t specify an
    -- offset, Kantar defaults to zero.
    KantarWatermarkSettings -> Maybe Double
fileOffset :: Prelude.Maybe Prelude.Double,
    -- | Provide your Kantar license ID number. You should get this number from
    -- Kantar.
    KantarWatermarkSettings -> Maybe Natural
kantarLicenseId :: Prelude.Maybe Prelude.Natural,
    -- | Provide the HTTPS endpoint to the Kantar server. You should get this
    -- endpoint from Kantar.
    KantarWatermarkSettings -> Maybe Text
kantarServerUrl :: Prelude.Maybe Prelude.Text,
    -- | Optional. Specify the Amazon S3 bucket where you want MediaConvert to
    -- store your Kantar watermark XML logs. When you don\'t specify a bucket,
    -- MediaConvert doesn\'t save these logs. Note that your MediaConvert
    -- service role must provide access to this location. For more information,
    -- see
    -- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html
    KantarWatermarkSettings -> Maybe Text
logDestination :: Prelude.Maybe Prelude.Text,
    -- | You can optionally use this field to specify the first timestamp that
    -- Kantar embeds during watermarking. Kantar suggests that you be very
    -- cautious when using this Kantar feature, and that you use it only on
    -- channels that are managed specifically for use with this feature by your
    -- Audience Measurement Operator. For more information about this feature,
    -- contact Kantar technical support.
    KantarWatermarkSettings -> Maybe Text
metadata3 :: Prelude.Maybe Prelude.Text,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata4 :: Prelude.Maybe Prelude.Text,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata5 :: Prelude.Maybe Prelude.Text,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata6 :: Prelude.Maybe Prelude.Text,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata7 :: Prelude.Maybe Prelude.Text,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata8 :: Prelude.Maybe Prelude.Text
  }
  deriving (KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
$c/= :: KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
== :: KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
$c== :: KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
Prelude.Eq, ReadPrec [KantarWatermarkSettings]
ReadPrec KantarWatermarkSettings
Int -> ReadS KantarWatermarkSettings
ReadS [KantarWatermarkSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [KantarWatermarkSettings]
$creadListPrec :: ReadPrec [KantarWatermarkSettings]
readPrec :: ReadPrec KantarWatermarkSettings
$creadPrec :: ReadPrec KantarWatermarkSettings
readList :: ReadS [KantarWatermarkSettings]
$creadList :: ReadS [KantarWatermarkSettings]
readsPrec :: Int -> ReadS KantarWatermarkSettings
$creadsPrec :: Int -> ReadS KantarWatermarkSettings
Prelude.Read, Int -> KantarWatermarkSettings -> ShowS
[KantarWatermarkSettings] -> ShowS
KantarWatermarkSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KantarWatermarkSettings] -> ShowS
$cshowList :: [KantarWatermarkSettings] -> ShowS
show :: KantarWatermarkSettings -> String
$cshow :: KantarWatermarkSettings -> String
showsPrec :: Int -> KantarWatermarkSettings -> ShowS
$cshowsPrec :: Int -> KantarWatermarkSettings -> ShowS
Prelude.Show, forall x. Rep KantarWatermarkSettings x -> KantarWatermarkSettings
forall x. KantarWatermarkSettings -> Rep KantarWatermarkSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KantarWatermarkSettings x -> KantarWatermarkSettings
$cfrom :: forall x. KantarWatermarkSettings -> Rep KantarWatermarkSettings x
Prelude.Generic)

-- |
-- Create a value of 'KantarWatermarkSettings' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'channelName', 'kantarWatermarkSettings_channelName' - Provide an audio channel name from your Kantar audio license.
--
-- 'contentReference', 'kantarWatermarkSettings_contentReference' - Specify a unique identifier for Kantar to use for this piece of content.
--
-- 'credentialsSecretName', 'kantarWatermarkSettings_credentialsSecretName' - Provide the name of the AWS Secrets Manager secret where your Kantar
-- credentials are stored. Note that your MediaConvert service role must
-- provide access to this secret. For more information, see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.
-- For instructions on creating a secret, see
-- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,
-- in the AWS Secrets Manager User Guide.
--
-- 'fileOffset', 'kantarWatermarkSettings_fileOffset' - Optional. Specify an offset, in whole seconds, from the start of your
-- output and the beginning of the watermarking. When you don\'t specify an
-- offset, Kantar defaults to zero.
--
-- 'kantarLicenseId', 'kantarWatermarkSettings_kantarLicenseId' - Provide your Kantar license ID number. You should get this number from
-- Kantar.
--
-- 'kantarServerUrl', 'kantarWatermarkSettings_kantarServerUrl' - Provide the HTTPS endpoint to the Kantar server. You should get this
-- endpoint from Kantar.
--
-- 'logDestination', 'kantarWatermarkSettings_logDestination' - Optional. Specify the Amazon S3 bucket where you want MediaConvert to
-- store your Kantar watermark XML logs. When you don\'t specify a bucket,
-- MediaConvert doesn\'t save these logs. Note that your MediaConvert
-- service role must provide access to this location. For more information,
-- see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html
--
-- 'metadata3', 'kantarWatermarkSettings_metadata3' - You can optionally use this field to specify the first timestamp that
-- Kantar embeds during watermarking. Kantar suggests that you be very
-- cautious when using this Kantar feature, and that you use it only on
-- channels that are managed specifically for use with this feature by your
-- Audience Measurement Operator. For more information about this feature,
-- contact Kantar technical support.
--
-- 'metadata4', 'kantarWatermarkSettings_metadata4' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- 'metadata5', 'kantarWatermarkSettings_metadata5' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- 'metadata6', 'kantarWatermarkSettings_metadata6' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- 'metadata7', 'kantarWatermarkSettings_metadata7' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- 'metadata8', 'kantarWatermarkSettings_metadata8' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
newKantarWatermarkSettings ::
  KantarWatermarkSettings
newKantarWatermarkSettings :: KantarWatermarkSettings
newKantarWatermarkSettings =
  KantarWatermarkSettings'
    { $sel:channelName:KantarWatermarkSettings' :: Maybe Text
channelName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:contentReference:KantarWatermarkSettings' :: Maybe Text
contentReference = forall a. Maybe a
Prelude.Nothing,
      $sel:credentialsSecretName:KantarWatermarkSettings' :: Maybe Text
credentialsSecretName = forall a. Maybe a
Prelude.Nothing,
      $sel:fileOffset:KantarWatermarkSettings' :: Maybe Double
fileOffset = forall a. Maybe a
Prelude.Nothing,
      $sel:kantarLicenseId:KantarWatermarkSettings' :: Maybe Natural
kantarLicenseId = forall a. Maybe a
Prelude.Nothing,
      $sel:kantarServerUrl:KantarWatermarkSettings' :: Maybe Text
kantarServerUrl = forall a. Maybe a
Prelude.Nothing,
      $sel:logDestination:KantarWatermarkSettings' :: Maybe Text
logDestination = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata3:KantarWatermarkSettings' :: Maybe Text
metadata3 = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata4:KantarWatermarkSettings' :: Maybe Text
metadata4 = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata5:KantarWatermarkSettings' :: Maybe Text
metadata5 = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata6:KantarWatermarkSettings' :: Maybe Text
metadata6 = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata7:KantarWatermarkSettings' :: Maybe Text
metadata7 = forall a. Maybe a
Prelude.Nothing,
      $sel:metadata8:KantarWatermarkSettings' :: Maybe Text
metadata8 = forall a. Maybe a
Prelude.Nothing
    }

-- | Provide an audio channel name from your Kantar audio license.
kantarWatermarkSettings_channelName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_channelName :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_channelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
channelName :: Maybe Text
$sel:channelName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
channelName} -> Maybe Text
channelName) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:channelName:KantarWatermarkSettings' :: Maybe Text
channelName = Maybe Text
a} :: KantarWatermarkSettings)

-- | Specify a unique identifier for Kantar to use for this piece of content.
kantarWatermarkSettings_contentReference :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_contentReference :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_contentReference = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
contentReference :: Maybe Text
$sel:contentReference:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
contentReference} -> Maybe Text
contentReference) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:contentReference:KantarWatermarkSettings' :: Maybe Text
contentReference = Maybe Text
a} :: KantarWatermarkSettings)

-- | Provide the name of the AWS Secrets Manager secret where your Kantar
-- credentials are stored. Note that your MediaConvert service role must
-- provide access to this secret. For more information, see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/granting-permissions-for-mediaconvert-to-access-secrets-manager-secret.html.
-- For instructions on creating a secret, see
-- https:\/\/docs.aws.amazon.com\/secretsmanager\/latest\/userguide\/tutorials_basic.html,
-- in the AWS Secrets Manager User Guide.
kantarWatermarkSettings_credentialsSecretName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_credentialsSecretName :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_credentialsSecretName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
credentialsSecretName :: Maybe Text
$sel:credentialsSecretName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
credentialsSecretName} -> Maybe Text
credentialsSecretName) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:credentialsSecretName:KantarWatermarkSettings' :: Maybe Text
credentialsSecretName = Maybe Text
a} :: KantarWatermarkSettings)

-- | Optional. Specify an offset, in whole seconds, from the start of your
-- output and the beginning of the watermarking. When you don\'t specify an
-- offset, Kantar defaults to zero.
kantarWatermarkSettings_fileOffset :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Double)
kantarWatermarkSettings_fileOffset :: Lens' KantarWatermarkSettings (Maybe Double)
kantarWatermarkSettings_fileOffset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Double
fileOffset :: Maybe Double
$sel:fileOffset:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Double
fileOffset} -> Maybe Double
fileOffset) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Double
a -> KantarWatermarkSettings
s {$sel:fileOffset:KantarWatermarkSettings' :: Maybe Double
fileOffset = Maybe Double
a} :: KantarWatermarkSettings)

-- | Provide your Kantar license ID number. You should get this number from
-- Kantar.
kantarWatermarkSettings_kantarLicenseId :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Natural)
kantarWatermarkSettings_kantarLicenseId :: Lens' KantarWatermarkSettings (Maybe Natural)
kantarWatermarkSettings_kantarLicenseId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Natural
kantarLicenseId :: Maybe Natural
$sel:kantarLicenseId:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Natural
kantarLicenseId} -> Maybe Natural
kantarLicenseId) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Natural
a -> KantarWatermarkSettings
s {$sel:kantarLicenseId:KantarWatermarkSettings' :: Maybe Natural
kantarLicenseId = Maybe Natural
a} :: KantarWatermarkSettings)

-- | Provide the HTTPS endpoint to the Kantar server. You should get this
-- endpoint from Kantar.
kantarWatermarkSettings_kantarServerUrl :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_kantarServerUrl :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_kantarServerUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
kantarServerUrl :: Maybe Text
$sel:kantarServerUrl:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
kantarServerUrl} -> Maybe Text
kantarServerUrl) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:kantarServerUrl:KantarWatermarkSettings' :: Maybe Text
kantarServerUrl = Maybe Text
a} :: KantarWatermarkSettings)

-- | Optional. Specify the Amazon S3 bucket where you want MediaConvert to
-- store your Kantar watermark XML logs. When you don\'t specify a bucket,
-- MediaConvert doesn\'t save these logs. Note that your MediaConvert
-- service role must provide access to this location. For more information,
-- see
-- https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/ug\/iam-role.html
kantarWatermarkSettings_logDestination :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_logDestination :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_logDestination = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
logDestination :: Maybe Text
$sel:logDestination:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
logDestination} -> Maybe Text
logDestination) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:logDestination:KantarWatermarkSettings' :: Maybe Text
logDestination = Maybe Text
a} :: KantarWatermarkSettings)

-- | You can optionally use this field to specify the first timestamp that
-- Kantar embeds during watermarking. Kantar suggests that you be very
-- cautious when using this Kantar feature, and that you use it only on
-- channels that are managed specifically for use with this feature by your
-- Audience Measurement Operator. For more information about this feature,
-- contact Kantar technical support.
kantarWatermarkSettings_metadata3 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata3 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata3 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata3 :: Maybe Text
$sel:metadata3:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata3} -> Maybe Text
metadata3) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata3:KantarWatermarkSettings' :: Maybe Text
metadata3 = Maybe Text
a} :: KantarWatermarkSettings)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata4 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata4 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata4 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata4 :: Maybe Text
$sel:metadata4:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata4} -> Maybe Text
metadata4) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata4:KantarWatermarkSettings' :: Maybe Text
metadata4 = Maybe Text
a} :: KantarWatermarkSettings)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata5 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata5 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata5 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata5 :: Maybe Text
$sel:metadata5:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata5} -> Maybe Text
metadata5) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata5:KantarWatermarkSettings' :: Maybe Text
metadata5 = Maybe Text
a} :: KantarWatermarkSettings)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata6 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata6 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata6 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata6 :: Maybe Text
$sel:metadata6:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata6} -> Maybe Text
metadata6) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata6:KantarWatermarkSettings' :: Maybe Text
metadata6 = Maybe Text
a} :: KantarWatermarkSettings)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata7 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata7 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata7 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata7 :: Maybe Text
$sel:metadata7:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata7} -> Maybe Text
metadata7) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata7:KantarWatermarkSettings' :: Maybe Text
metadata7 = Maybe Text
a} :: KantarWatermarkSettings)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata8 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata8 :: Lens' KantarWatermarkSettings (Maybe Text)
kantarWatermarkSettings_metadata8 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KantarWatermarkSettings' {Maybe Text
metadata8 :: Maybe Text
$sel:metadata8:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
metadata8} -> Maybe Text
metadata8) (\s :: KantarWatermarkSettings
s@KantarWatermarkSettings' {} Maybe Text
a -> KantarWatermarkSettings
s {$sel:metadata8:KantarWatermarkSettings' :: Maybe Text
metadata8 = Maybe Text
a} :: KantarWatermarkSettings)

instance Data.FromJSON KantarWatermarkSettings where
  parseJSON :: Value -> Parser KantarWatermarkSettings
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"KantarWatermarkSettings"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> KantarWatermarkSettings
KantarWatermarkSettings'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"channelName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"contentReference")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"credentialsSecretName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fileOffset")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"kantarLicenseId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"kantarServerUrl")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"logDestination")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata3")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata4")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata5")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata6")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata7")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"metadata8")
      )

instance Prelude.Hashable KantarWatermarkSettings where
  hashWithSalt :: Int -> KantarWatermarkSettings -> Int
hashWithSalt Int
_salt KantarWatermarkSettings' {Maybe Double
Maybe Natural
Maybe Text
metadata8 :: Maybe Text
metadata7 :: Maybe Text
metadata6 :: Maybe Text
metadata5 :: Maybe Text
metadata4 :: Maybe Text
metadata3 :: Maybe Text
logDestination :: Maybe Text
kantarServerUrl :: Maybe Text
kantarLicenseId :: Maybe Natural
fileOffset :: Maybe Double
credentialsSecretName :: Maybe Text
contentReference :: Maybe Text
channelName :: Maybe Text
$sel:metadata8:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata7:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata6:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata5:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata4:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata3:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:logDestination:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarServerUrl:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarLicenseId:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Natural
$sel:fileOffset:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Double
$sel:credentialsSecretName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:contentReference:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:channelName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
channelName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
contentReference
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
credentialsSecretName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
fileOffset
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
kantarLicenseId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kantarServerUrl
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
logDestination
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata3
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata4
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata5
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata6
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata7
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metadata8

instance Prelude.NFData KantarWatermarkSettings where
  rnf :: KantarWatermarkSettings -> ()
rnf KantarWatermarkSettings' {Maybe Double
Maybe Natural
Maybe Text
metadata8 :: Maybe Text
metadata7 :: Maybe Text
metadata6 :: Maybe Text
metadata5 :: Maybe Text
metadata4 :: Maybe Text
metadata3 :: Maybe Text
logDestination :: Maybe Text
kantarServerUrl :: Maybe Text
kantarLicenseId :: Maybe Natural
fileOffset :: Maybe Double
credentialsSecretName :: Maybe Text
contentReference :: Maybe Text
channelName :: Maybe Text
$sel:metadata8:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata7:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata6:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata5:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata4:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata3:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:logDestination:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarServerUrl:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarLicenseId:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Natural
$sel:fileOffset:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Double
$sel:credentialsSecretName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:contentReference:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:channelName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
channelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
contentReference
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
credentialsSecretName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
fileOffset
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
kantarLicenseId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kantarServerUrl
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
logDestination
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata3
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata4
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata5
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata6
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata7
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metadata8

instance Data.ToJSON KantarWatermarkSettings where
  toJSON :: KantarWatermarkSettings -> Value
toJSON KantarWatermarkSettings' {Maybe Double
Maybe Natural
Maybe Text
metadata8 :: Maybe Text
metadata7 :: Maybe Text
metadata6 :: Maybe Text
metadata5 :: Maybe Text
metadata4 :: Maybe Text
metadata3 :: Maybe Text
logDestination :: Maybe Text
kantarServerUrl :: Maybe Text
kantarLicenseId :: Maybe Natural
fileOffset :: Maybe Double
credentialsSecretName :: Maybe Text
contentReference :: Maybe Text
channelName :: Maybe Text
$sel:metadata8:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata7:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata6:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata5:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata4:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:metadata3:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:logDestination:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarServerUrl:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:kantarLicenseId:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Natural
$sel:fileOffset:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Double
$sel:credentialsSecretName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:contentReference:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
$sel:channelName:KantarWatermarkSettings' :: KantarWatermarkSettings -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"channelName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
channelName,
            (Key
"contentReference" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
contentReference,
            (Key
"credentialsSecretName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
credentialsSecretName,
            (Key
"fileOffset" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Double
fileOffset,
            (Key
"kantarLicenseId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
kantarLicenseId,
            (Key
"kantarServerUrl" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
kantarServerUrl,
            (Key
"logDestination" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
logDestination,
            (Key
"metadata3" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata3,
            (Key
"metadata4" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata4,
            (Key
"metadata5" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata5,
            (Key
"metadata6" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata6,
            (Key
"metadata7" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata7,
            (Key
"metadata8" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
metadata8
          ]
      )