amazonka-medialive-2.0: gen/Amazonka/MediaLive/Types/Esam.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.MediaLive.Types.Esam
-- 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.MediaLive.Types.Esam 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
-- | Esam
--
-- /See:/ 'newEsam' smart constructor.
data Esam = Esam'
{ -- | When specified, this offset (in milliseconds) is added to the input Ad
-- Avail PTS time. This only applies to embedded SCTE 104\/35 messages and
-- does not apply to OOB messages.
adAvailOffset :: Prelude.Maybe Prelude.Int,
-- | Documentation update needed
passwordParam :: Prelude.Maybe Prelude.Text,
-- | Documentation update needed
username :: Prelude.Maybe Prelude.Text,
-- | Optional data sent as zoneIdentity to identify the MediaLive channel to
-- the POIS.
zoneIdentity :: Prelude.Maybe Prelude.Text,
-- | Sent as acquisitionPointIdentity to identify the MediaLive channel to
-- the POIS.
acquisitionPointId :: Prelude.Text,
-- | The URL of the signal conditioner endpoint on the Placement Opportunity
-- Information System (POIS). MediaLive sends SignalProcessingEvents here
-- when SCTE-35 messages are read.
poisEndpoint :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'Esam' 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:
--
-- 'adAvailOffset', 'esam_adAvailOffset' - When specified, this offset (in milliseconds) is added to the input Ad
-- Avail PTS time. This only applies to embedded SCTE 104\/35 messages and
-- does not apply to OOB messages.
--
-- 'passwordParam', 'esam_passwordParam' - Documentation update needed
--
-- 'username', 'esam_username' - Documentation update needed
--
-- 'zoneIdentity', 'esam_zoneIdentity' - Optional data sent as zoneIdentity to identify the MediaLive channel to
-- the POIS.
--
-- 'acquisitionPointId', 'esam_acquisitionPointId' - Sent as acquisitionPointIdentity to identify the MediaLive channel to
-- the POIS.
--
-- 'poisEndpoint', 'esam_poisEndpoint' - The URL of the signal conditioner endpoint on the Placement Opportunity
-- Information System (POIS). MediaLive sends SignalProcessingEvents here
-- when SCTE-35 messages are read.
newEsam ::
-- | 'acquisitionPointId'
Prelude.Text ->
-- | 'poisEndpoint'
Prelude.Text ->
Esam
newEsam pAcquisitionPointId_ pPoisEndpoint_ =
Esam'
{ adAvailOffset = Prelude.Nothing,
passwordParam = Prelude.Nothing,
username = Prelude.Nothing,
zoneIdentity = Prelude.Nothing,
acquisitionPointId = pAcquisitionPointId_,
poisEndpoint = pPoisEndpoint_
}
-- | When specified, this offset (in milliseconds) is added to the input Ad
-- Avail PTS time. This only applies to embedded SCTE 104\/35 messages and
-- does not apply to OOB messages.
esam_adAvailOffset :: Lens.Lens' Esam (Prelude.Maybe Prelude.Int)
esam_adAvailOffset = Lens.lens (\Esam' {adAvailOffset} -> adAvailOffset) (\s@Esam' {} a -> s {adAvailOffset = a} :: Esam)
-- | Documentation update needed
esam_passwordParam :: Lens.Lens' Esam (Prelude.Maybe Prelude.Text)
esam_passwordParam = Lens.lens (\Esam' {passwordParam} -> passwordParam) (\s@Esam' {} a -> s {passwordParam = a} :: Esam)
-- | Documentation update needed
esam_username :: Lens.Lens' Esam (Prelude.Maybe Prelude.Text)
esam_username = Lens.lens (\Esam' {username} -> username) (\s@Esam' {} a -> s {username = a} :: Esam)
-- | Optional data sent as zoneIdentity to identify the MediaLive channel to
-- the POIS.
esam_zoneIdentity :: Lens.Lens' Esam (Prelude.Maybe Prelude.Text)
esam_zoneIdentity = Lens.lens (\Esam' {zoneIdentity} -> zoneIdentity) (\s@Esam' {} a -> s {zoneIdentity = a} :: Esam)
-- | Sent as acquisitionPointIdentity to identify the MediaLive channel to
-- the POIS.
esam_acquisitionPointId :: Lens.Lens' Esam Prelude.Text
esam_acquisitionPointId = Lens.lens (\Esam' {acquisitionPointId} -> acquisitionPointId) (\s@Esam' {} a -> s {acquisitionPointId = a} :: Esam)
-- | The URL of the signal conditioner endpoint on the Placement Opportunity
-- Information System (POIS). MediaLive sends SignalProcessingEvents here
-- when SCTE-35 messages are read.
esam_poisEndpoint :: Lens.Lens' Esam Prelude.Text
esam_poisEndpoint = Lens.lens (\Esam' {poisEndpoint} -> poisEndpoint) (\s@Esam' {} a -> s {poisEndpoint = a} :: Esam)
instance Data.FromJSON Esam where
parseJSON =
Data.withObject
"Esam"
( \x ->
Esam'
Prelude.<$> (x Data..:? "adAvailOffset")
Prelude.<*> (x Data..:? "passwordParam")
Prelude.<*> (x Data..:? "username")
Prelude.<*> (x Data..:? "zoneIdentity")
Prelude.<*> (x Data..: "acquisitionPointId")
Prelude.<*> (x Data..: "poisEndpoint")
)
instance Prelude.Hashable Esam where
hashWithSalt _salt Esam' {..} =
_salt
`Prelude.hashWithSalt` adAvailOffset
`Prelude.hashWithSalt` passwordParam
`Prelude.hashWithSalt` username
`Prelude.hashWithSalt` zoneIdentity
`Prelude.hashWithSalt` acquisitionPointId
`Prelude.hashWithSalt` poisEndpoint
instance Prelude.NFData Esam where
rnf Esam' {..} =
Prelude.rnf adAvailOffset
`Prelude.seq` Prelude.rnf passwordParam
`Prelude.seq` Prelude.rnf username
`Prelude.seq` Prelude.rnf zoneIdentity
`Prelude.seq` Prelude.rnf acquisitionPointId
`Prelude.seq` Prelude.rnf poisEndpoint
instance Data.ToJSON Esam where
toJSON Esam' {..} =
Data.object
( Prelude.catMaybes
[ ("adAvailOffset" Data..=) Prelude.<$> adAvailOffset,
("passwordParam" Data..=) Prelude.<$> passwordParam,
("username" Data..=) Prelude.<$> username,
("zoneIdentity" Data..=) Prelude.<$> zoneIdentity,
Prelude.Just
("acquisitionPointId" Data..= acquisitionPointId),
Prelude.Just ("poisEndpoint" Data..= poisEndpoint)
]
)