amazonka-mediaconvert-2.0: gen/Amazonka/MediaConvert/Types/KantarWatermarkSettings.hs
{-# 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.
channelName :: Prelude.Maybe Prelude.Text,
-- | Specify a unique identifier for Kantar to use for this piece of content.
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.
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.
fileOffset :: Prelude.Maybe Prelude.Double,
-- | Provide your Kantar license ID number. You should get this number from
-- Kantar.
kantarLicenseId :: Prelude.Maybe Prelude.Natural,
-- | Provide the HTTPS endpoint to the Kantar server. You should get this
-- endpoint from Kantar.
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
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.
metadata3 :: Prelude.Maybe Prelude.Text,
-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
metadata4 :: Prelude.Maybe Prelude.Text,
-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
metadata5 :: Prelude.Maybe Prelude.Text,
-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
metadata6 :: Prelude.Maybe Prelude.Text,
-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
metadata7 :: Prelude.Maybe Prelude.Text,
-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
metadata8 :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, 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'
{ channelName =
Prelude.Nothing,
contentReference = Prelude.Nothing,
credentialsSecretName = Prelude.Nothing,
fileOffset = Prelude.Nothing,
kantarLicenseId = Prelude.Nothing,
kantarServerUrl = Prelude.Nothing,
logDestination = Prelude.Nothing,
metadata3 = Prelude.Nothing,
metadata4 = Prelude.Nothing,
metadata5 = Prelude.Nothing,
metadata6 = Prelude.Nothing,
metadata7 = Prelude.Nothing,
metadata8 = Prelude.Nothing
}
-- | Provide an audio channel name from your Kantar audio license.
kantarWatermarkSettings_channelName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_channelName = Lens.lens (\KantarWatermarkSettings' {channelName} -> channelName) (\s@KantarWatermarkSettings' {} a -> s {channelName = 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.lens (\KantarWatermarkSettings' {contentReference} -> contentReference) (\s@KantarWatermarkSettings' {} a -> s {contentReference = 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.lens (\KantarWatermarkSettings' {credentialsSecretName} -> credentialsSecretName) (\s@KantarWatermarkSettings' {} a -> s {credentialsSecretName = 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.lens (\KantarWatermarkSettings' {fileOffset} -> fileOffset) (\s@KantarWatermarkSettings' {} a -> s {fileOffset = 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.lens (\KantarWatermarkSettings' {kantarLicenseId} -> kantarLicenseId) (\s@KantarWatermarkSettings' {} a -> s {kantarLicenseId = 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.lens (\KantarWatermarkSettings' {kantarServerUrl} -> kantarServerUrl) (\s@KantarWatermarkSettings' {} a -> s {kantarServerUrl = 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.lens (\KantarWatermarkSettings' {logDestination} -> logDestination) (\s@KantarWatermarkSettings' {} a -> s {logDestination = 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.lens (\KantarWatermarkSettings' {metadata3} -> metadata3) (\s@KantarWatermarkSettings' {} a -> s {metadata3 = 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.lens (\KantarWatermarkSettings' {metadata4} -> metadata4) (\s@KantarWatermarkSettings' {} a -> s {metadata4 = 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.lens (\KantarWatermarkSettings' {metadata5} -> metadata5) (\s@KantarWatermarkSettings' {} a -> s {metadata5 = 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.lens (\KantarWatermarkSettings' {metadata6} -> metadata6) (\s@KantarWatermarkSettings' {} a -> s {metadata6 = 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.lens (\KantarWatermarkSettings' {metadata7} -> metadata7) (\s@KantarWatermarkSettings' {} a -> s {metadata7 = 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.lens (\KantarWatermarkSettings' {metadata8} -> metadata8) (\s@KantarWatermarkSettings' {} a -> s {metadata8 = a} :: KantarWatermarkSettings)
instance Data.FromJSON KantarWatermarkSettings where
parseJSON =
Data.withObject
"KantarWatermarkSettings"
( \x ->
KantarWatermarkSettings'
Prelude.<$> (x Data..:? "channelName")
Prelude.<*> (x Data..:? "contentReference")
Prelude.<*> (x Data..:? "credentialsSecretName")
Prelude.<*> (x Data..:? "fileOffset")
Prelude.<*> (x Data..:? "kantarLicenseId")
Prelude.<*> (x Data..:? "kantarServerUrl")
Prelude.<*> (x Data..:? "logDestination")
Prelude.<*> (x Data..:? "metadata3")
Prelude.<*> (x Data..:? "metadata4")
Prelude.<*> (x Data..:? "metadata5")
Prelude.<*> (x Data..:? "metadata6")
Prelude.<*> (x Data..:? "metadata7")
Prelude.<*> (x Data..:? "metadata8")
)
instance Prelude.Hashable KantarWatermarkSettings where
hashWithSalt _salt KantarWatermarkSettings' {..} =
_salt
`Prelude.hashWithSalt` channelName
`Prelude.hashWithSalt` contentReference
`Prelude.hashWithSalt` credentialsSecretName
`Prelude.hashWithSalt` fileOffset
`Prelude.hashWithSalt` kantarLicenseId
`Prelude.hashWithSalt` kantarServerUrl
`Prelude.hashWithSalt` logDestination
`Prelude.hashWithSalt` metadata3
`Prelude.hashWithSalt` metadata4
`Prelude.hashWithSalt` metadata5
`Prelude.hashWithSalt` metadata6
`Prelude.hashWithSalt` metadata7
`Prelude.hashWithSalt` metadata8
instance Prelude.NFData KantarWatermarkSettings where
rnf KantarWatermarkSettings' {..} =
Prelude.rnf channelName
`Prelude.seq` Prelude.rnf contentReference
`Prelude.seq` Prelude.rnf credentialsSecretName
`Prelude.seq` Prelude.rnf fileOffset
`Prelude.seq` Prelude.rnf kantarLicenseId
`Prelude.seq` Prelude.rnf kantarServerUrl
`Prelude.seq` Prelude.rnf logDestination
`Prelude.seq` Prelude.rnf metadata3
`Prelude.seq` Prelude.rnf metadata4
`Prelude.seq` Prelude.rnf metadata5
`Prelude.seq` Prelude.rnf metadata6
`Prelude.seq` Prelude.rnf metadata7
`Prelude.seq` Prelude.rnf metadata8
instance Data.ToJSON KantarWatermarkSettings where
toJSON KantarWatermarkSettings' {..} =
Data.object
( Prelude.catMaybes
[ ("channelName" Data..=) Prelude.<$> channelName,
("contentReference" Data..=)
Prelude.<$> contentReference,
("credentialsSecretName" Data..=)
Prelude.<$> credentialsSecretName,
("fileOffset" Data..=) Prelude.<$> fileOffset,
("kantarLicenseId" Data..=)
Prelude.<$> kantarLicenseId,
("kantarServerUrl" Data..=)
Prelude.<$> kantarServerUrl,
("logDestination" Data..=)
Prelude.<$> logDestination,
("metadata3" Data..=) Prelude.<$> metadata3,
("metadata4" Data..=) Prelude.<$> metadata4,
("metadata5" Data..=) Prelude.<$> metadata5,
("metadata6" Data..=) Prelude.<$> metadata6,
("metadata7" Data..=) Prelude.<$> metadata7,
("metadata8" Data..=) Prelude.<$> metadata8
]
)