{-# 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-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.KantarWatermarkSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
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'
  { -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata7 :: Prelude.Maybe Prelude.Text,
    -- | Provide the HTTPS endpoint to the Kantar server. You should get this
    -- endpoint from Kantar.
    KantarWatermarkSettings -> Maybe Text
kantarServerUrl :: Prelude.Maybe Prelude.Text,
    -- | Provide your Kantar license ID number. You should get this number from
    -- Kantar.
    KantarWatermarkSettings -> Maybe Natural
kantarLicenseId :: Prelude.Maybe Prelude.Natural,
    -- | 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,
    -- | 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,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata6 :: 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,
    -- | 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,
    -- | 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,
    -- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
    -- 50 characters.
    KantarWatermarkSettings -> Maybe Text
metadata8 :: 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
metadata4 :: Prelude.Maybe Prelude.Text
  }
  deriving (KantarWatermarkSettings -> KantarWatermarkSettings -> Bool
(KantarWatermarkSettings -> KantarWatermarkSettings -> Bool)
-> (KantarWatermarkSettings -> KantarWatermarkSettings -> Bool)
-> Eq KantarWatermarkSettings
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]
(Int -> ReadS KantarWatermarkSettings)
-> ReadS [KantarWatermarkSettings]
-> ReadPrec KantarWatermarkSettings
-> ReadPrec [KantarWatermarkSettings]
-> Read 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
(Int -> KantarWatermarkSettings -> ShowS)
-> (KantarWatermarkSettings -> String)
-> ([KantarWatermarkSettings] -> ShowS)
-> Show KantarWatermarkSettings
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.
 KantarWatermarkSettings -> Rep KantarWatermarkSettings x)
-> (forall x.
    Rep KantarWatermarkSettings x -> KantarWatermarkSettings)
-> Generic KantarWatermarkSettings
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:
--
-- 'metadata7', 'kantarWatermarkSettings_metadata7' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- 'kantarServerUrl', 'kantarWatermarkSettings_kantarServerUrl' - Provide the HTTPS endpoint to the Kantar server. You should get this
-- endpoint from Kantar.
--
-- 'kantarLicenseId', 'kantarWatermarkSettings_kantarLicenseId' - Provide your Kantar license ID number. You should get this number 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
--
-- '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.
--
-- 'metadata6', 'kantarWatermarkSettings_metadata6' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
--
-- '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.
--
-- '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.
--
-- '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.
--
-- 'metadata8', 'kantarWatermarkSettings_metadata8' - 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.
--
-- 'metadata4', 'kantarWatermarkSettings_metadata4' - Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
newKantarWatermarkSettings ::
  KantarWatermarkSettings
newKantarWatermarkSettings :: KantarWatermarkSettings
newKantarWatermarkSettings =
  KantarWatermarkSettings' :: Maybe Text
-> Maybe Text
-> Maybe Natural
-> Maybe Text
-> Maybe Double
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> KantarWatermarkSettings
KantarWatermarkSettings'
    { $sel:metadata7:KantarWatermarkSettings' :: Maybe Text
metadata7 =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:kantarServerUrl:KantarWatermarkSettings' :: Maybe Text
kantarServerUrl = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:kantarLicenseId:KantarWatermarkSettings' :: Maybe Natural
kantarLicenseId = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:logDestination:KantarWatermarkSettings' :: Maybe Text
logDestination = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:fileOffset:KantarWatermarkSettings' :: Maybe Double
fileOffset = Maybe Double
forall a. Maybe a
Prelude.Nothing,
      $sel:metadata6:KantarWatermarkSettings' :: Maybe Text
metadata6 = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:metadata3:KantarWatermarkSettings' :: Maybe Text
metadata3 = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:credentialsSecretName:KantarWatermarkSettings' :: Maybe Text
credentialsSecretName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:channelName:KantarWatermarkSettings' :: Maybe Text
channelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:contentReference:KantarWatermarkSettings' :: Maybe Text
contentReference = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:metadata8:KantarWatermarkSettings' :: Maybe Text
metadata8 = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:metadata5:KantarWatermarkSettings' :: Maybe Text
metadata5 = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:metadata4:KantarWatermarkSettings' :: Maybe Text
metadata4 = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata7 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata7 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata7 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_kantarServerUrl = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | Provide your Kantar license ID number. You should get this number from
-- Kantar.
kantarWatermarkSettings_kantarLicenseId :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Natural)
kantarWatermarkSettings_kantarLicenseId :: (Maybe Natural -> f (Maybe Natural))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_kantarLicenseId = (KantarWatermarkSettings -> Maybe Natural)
-> (KantarWatermarkSettings
    -> Maybe Natural -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Natural)
     (Maybe Natural)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_logDestination = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Double -> f (Maybe Double))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_fileOffset = (KantarWatermarkSettings -> Maybe Double)
-> (KantarWatermarkSettings
    -> Maybe Double -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Double)
     (Maybe Double)
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)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata6 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata6 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata6 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata3 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_credentialsSecretName = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | Provide an audio channel name from your Kantar audio license.
kantarWatermarkSettings_channelName :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_channelName :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_channelName = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_contentReference = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata8 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata8 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata8 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

-- | Additional metadata that MediaConvert sends to Kantar. Maximum length is
-- 50 characters.
kantarWatermarkSettings_metadata5 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata5 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata5 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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_metadata4 :: Lens.Lens' KantarWatermarkSettings (Prelude.Maybe Prelude.Text)
kantarWatermarkSettings_metadata4 :: (Maybe Text -> f (Maybe Text))
-> KantarWatermarkSettings -> f KantarWatermarkSettings
kantarWatermarkSettings_metadata4 = (KantarWatermarkSettings -> Maybe Text)
-> (KantarWatermarkSettings
    -> Maybe Text -> KantarWatermarkSettings)
-> Lens
     KantarWatermarkSettings
     KantarWatermarkSettings
     (Maybe Text)
     (Maybe Text)
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)

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

instance Prelude.Hashable KantarWatermarkSettings

instance Prelude.NFData KantarWatermarkSettings

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