{-# 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.ScheduleActionSettings
-- 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.MediaLive.Types.ScheduleActionSettings where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaLive.Types.HlsId3SegmentTaggingScheduleActionSettings
import Amazonka.MediaLive.Types.HlsTimedMetadataScheduleActionSettings
import Amazonka.MediaLive.Types.InputPrepareScheduleActionSettings
import Amazonka.MediaLive.Types.InputSwitchScheduleActionSettings
import Amazonka.MediaLive.Types.MotionGraphicsActivateScheduleActionSettings
import Amazonka.MediaLive.Types.MotionGraphicsDeactivateScheduleActionSettings
import Amazonka.MediaLive.Types.PauseStateScheduleActionSettings
import Amazonka.MediaLive.Types.Scte35ReturnToNetworkScheduleActionSettings
import Amazonka.MediaLive.Types.Scte35SpliceInsertScheduleActionSettings
import Amazonka.MediaLive.Types.Scte35TimeSignalScheduleActionSettings
import Amazonka.MediaLive.Types.StaticImageActivateScheduleActionSettings
import Amazonka.MediaLive.Types.StaticImageDeactivateScheduleActionSettings
import qualified Amazonka.Prelude as Prelude

-- | Holds the settings for a single schedule action.
--
-- /See:/ 'newScheduleActionSettings' smart constructor.
data ScheduleActionSettings = ScheduleActionSettings'
  { -- | Action to deactivate a static image overlay
    ScheduleActionSettings
-> Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings :: Prelude.Maybe StaticImageDeactivateScheduleActionSettings,
    -- | Action to insert SCTE-35 splice_insert message
    ScheduleActionSettings
-> Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings :: Prelude.Maybe Scte35SpliceInsertScheduleActionSettings,
    -- | Action to activate a motion graphics image overlay
    ScheduleActionSettings
-> Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings :: Prelude.Maybe MotionGraphicsActivateScheduleActionSettings,
    -- | Action to activate a static image overlay
    ScheduleActionSettings
-> Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings :: Prelude.Maybe StaticImageActivateScheduleActionSettings,
    -- | Action to deactivate a motion graphics image overlay
    ScheduleActionSettings
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings :: Prelude.Maybe MotionGraphicsDeactivateScheduleActionSettings,
    -- | Action to insert SCTE-35 time_signal message
    ScheduleActionSettings
-> Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings :: Prelude.Maybe Scte35TimeSignalScheduleActionSettings,
    -- | Action to prepare an input for a future immediate input switch
    ScheduleActionSettings -> Maybe InputPrepareScheduleActionSettings
inputPrepareSettings :: Prelude.Maybe InputPrepareScheduleActionSettings,
    -- | Action to insert HLS ID3 segment tagging
    ScheduleActionSettings
-> Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings :: Prelude.Maybe HlsId3SegmentTaggingScheduleActionSettings,
    -- | Action to insert SCTE-35 return_to_network message
    ScheduleActionSettings
-> Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings :: Prelude.Maybe Scte35ReturnToNetworkScheduleActionSettings,
    -- | Action to pause or unpause one or both channel pipelines
    ScheduleActionSettings -> Maybe PauseStateScheduleActionSettings
pauseStateSettings :: Prelude.Maybe PauseStateScheduleActionSettings,
    -- | Action to insert HLS metadata
    ScheduleActionSettings
-> Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings :: Prelude.Maybe HlsTimedMetadataScheduleActionSettings,
    -- | Action to switch the input
    ScheduleActionSettings -> Maybe InputSwitchScheduleActionSettings
inputSwitchSettings :: Prelude.Maybe InputSwitchScheduleActionSettings
  }
  deriving (ScheduleActionSettings -> ScheduleActionSettings -> Bool
(ScheduleActionSettings -> ScheduleActionSettings -> Bool)
-> (ScheduleActionSettings -> ScheduleActionSettings -> Bool)
-> Eq ScheduleActionSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ScheduleActionSettings -> ScheduleActionSettings -> Bool
$c/= :: ScheduleActionSettings -> ScheduleActionSettings -> Bool
== :: ScheduleActionSettings -> ScheduleActionSettings -> Bool
$c== :: ScheduleActionSettings -> ScheduleActionSettings -> Bool
Prelude.Eq, ReadPrec [ScheduleActionSettings]
ReadPrec ScheduleActionSettings
Int -> ReadS ScheduleActionSettings
ReadS [ScheduleActionSettings]
(Int -> ReadS ScheduleActionSettings)
-> ReadS [ScheduleActionSettings]
-> ReadPrec ScheduleActionSettings
-> ReadPrec [ScheduleActionSettings]
-> Read ScheduleActionSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ScheduleActionSettings]
$creadListPrec :: ReadPrec [ScheduleActionSettings]
readPrec :: ReadPrec ScheduleActionSettings
$creadPrec :: ReadPrec ScheduleActionSettings
readList :: ReadS [ScheduleActionSettings]
$creadList :: ReadS [ScheduleActionSettings]
readsPrec :: Int -> ReadS ScheduleActionSettings
$creadsPrec :: Int -> ReadS ScheduleActionSettings
Prelude.Read, Int -> ScheduleActionSettings -> ShowS
[ScheduleActionSettings] -> ShowS
ScheduleActionSettings -> String
(Int -> ScheduleActionSettings -> ShowS)
-> (ScheduleActionSettings -> String)
-> ([ScheduleActionSettings] -> ShowS)
-> Show ScheduleActionSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ScheduleActionSettings] -> ShowS
$cshowList :: [ScheduleActionSettings] -> ShowS
show :: ScheduleActionSettings -> String
$cshow :: ScheduleActionSettings -> String
showsPrec :: Int -> ScheduleActionSettings -> ShowS
$cshowsPrec :: Int -> ScheduleActionSettings -> ShowS
Prelude.Show, (forall x. ScheduleActionSettings -> Rep ScheduleActionSettings x)
-> (forall x.
    Rep ScheduleActionSettings x -> ScheduleActionSettings)
-> Generic ScheduleActionSettings
forall x. Rep ScheduleActionSettings x -> ScheduleActionSettings
forall x. ScheduleActionSettings -> Rep ScheduleActionSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ScheduleActionSettings x -> ScheduleActionSettings
$cfrom :: forall x. ScheduleActionSettings -> Rep ScheduleActionSettings x
Prelude.Generic)

-- |
-- Create a value of 'ScheduleActionSettings' 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:
--
-- 'staticImageDeactivateSettings', 'scheduleActionSettings_staticImageDeactivateSettings' - Action to deactivate a static image overlay
--
-- 'scte35SpliceInsertSettings', 'scheduleActionSettings_scte35SpliceInsertSettings' - Action to insert SCTE-35 splice_insert message
--
-- 'motionGraphicsImageActivateSettings', 'scheduleActionSettings_motionGraphicsImageActivateSettings' - Action to activate a motion graphics image overlay
--
-- 'staticImageActivateSettings', 'scheduleActionSettings_staticImageActivateSettings' - Action to activate a static image overlay
--
-- 'motionGraphicsImageDeactivateSettings', 'scheduleActionSettings_motionGraphicsImageDeactivateSettings' - Action to deactivate a motion graphics image overlay
--
-- 'scte35TimeSignalSettings', 'scheduleActionSettings_scte35TimeSignalSettings' - Action to insert SCTE-35 time_signal message
--
-- 'inputPrepareSettings', 'scheduleActionSettings_inputPrepareSettings' - Action to prepare an input for a future immediate input switch
--
-- 'hlsId3SegmentTaggingSettings', 'scheduleActionSettings_hlsId3SegmentTaggingSettings' - Action to insert HLS ID3 segment tagging
--
-- 'scte35ReturnToNetworkSettings', 'scheduleActionSettings_scte35ReturnToNetworkSettings' - Action to insert SCTE-35 return_to_network message
--
-- 'pauseStateSettings', 'scheduleActionSettings_pauseStateSettings' - Action to pause or unpause one or both channel pipelines
--
-- 'hlsTimedMetadataSettings', 'scheduleActionSettings_hlsTimedMetadataSettings' - Action to insert HLS metadata
--
-- 'inputSwitchSettings', 'scheduleActionSettings_inputSwitchSettings' - Action to switch the input
newScheduleActionSettings ::
  ScheduleActionSettings
newScheduleActionSettings :: ScheduleActionSettings
newScheduleActionSettings =
  ScheduleActionSettings' :: Maybe StaticImageDeactivateScheduleActionSettings
-> Maybe Scte35SpliceInsertScheduleActionSettings
-> Maybe MotionGraphicsActivateScheduleActionSettings
-> Maybe StaticImageActivateScheduleActionSettings
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
-> Maybe Scte35TimeSignalScheduleActionSettings
-> Maybe InputPrepareScheduleActionSettings
-> Maybe HlsId3SegmentTaggingScheduleActionSettings
-> Maybe Scte35ReturnToNetworkScheduleActionSettings
-> Maybe PauseStateScheduleActionSettings
-> Maybe HlsTimedMetadataScheduleActionSettings
-> Maybe InputSwitchScheduleActionSettings
-> ScheduleActionSettings
ScheduleActionSettings'
    { $sel:staticImageDeactivateSettings:ScheduleActionSettings' :: Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings =
        Maybe StaticImageDeactivateScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:scte35SpliceInsertSettings:ScheduleActionSettings' :: Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings = Maybe Scte35SpliceInsertScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:motionGraphicsImageActivateSettings:ScheduleActionSettings' :: Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings =
        Maybe MotionGraphicsActivateScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:staticImageActivateSettings:ScheduleActionSettings' :: Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings = Maybe StaticImageActivateScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:motionGraphicsImageDeactivateSettings:ScheduleActionSettings' :: Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings =
        Maybe MotionGraphicsDeactivateScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:scte35TimeSignalSettings:ScheduleActionSettings' :: Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings = Maybe Scte35TimeSignalScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:inputPrepareSettings:ScheduleActionSettings' :: Maybe InputPrepareScheduleActionSettings
inputPrepareSettings = Maybe InputPrepareScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:hlsId3SegmentTaggingSettings:ScheduleActionSettings' :: Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings = Maybe HlsId3SegmentTaggingScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:scte35ReturnToNetworkSettings:ScheduleActionSettings' :: Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings = Maybe Scte35ReturnToNetworkScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:pauseStateSettings:ScheduleActionSettings' :: Maybe PauseStateScheduleActionSettings
pauseStateSettings = Maybe PauseStateScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:hlsTimedMetadataSettings:ScheduleActionSettings' :: Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings = Maybe HlsTimedMetadataScheduleActionSettings
forall a. Maybe a
Prelude.Nothing,
      $sel:inputSwitchSettings:ScheduleActionSettings' :: Maybe InputSwitchScheduleActionSettings
inputSwitchSettings = Maybe InputSwitchScheduleActionSettings
forall a. Maybe a
Prelude.Nothing
    }

-- | Action to deactivate a static image overlay
scheduleActionSettings_staticImageDeactivateSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe StaticImageDeactivateScheduleActionSettings)
scheduleActionSettings_staticImageDeactivateSettings :: (Maybe StaticImageDeactivateScheduleActionSettings
 -> f (Maybe StaticImageDeactivateScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_staticImageDeactivateSettings = (ScheduleActionSettings
 -> Maybe StaticImageDeactivateScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe StaticImageDeactivateScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe StaticImageDeactivateScheduleActionSettings)
     (Maybe StaticImageDeactivateScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings :: Maybe StaticImageDeactivateScheduleActionSettings
$sel:staticImageDeactivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings} -> Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe StaticImageDeactivateScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:staticImageDeactivateSettings:ScheduleActionSettings' :: Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings = Maybe StaticImageDeactivateScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to insert SCTE-35 splice_insert message
scheduleActionSettings_scte35SpliceInsertSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe Scte35SpliceInsertScheduleActionSettings)
scheduleActionSettings_scte35SpliceInsertSettings :: (Maybe Scte35SpliceInsertScheduleActionSettings
 -> f (Maybe Scte35SpliceInsertScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_scte35SpliceInsertSettings = (ScheduleActionSettings
 -> Maybe Scte35SpliceInsertScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe Scte35SpliceInsertScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe Scte35SpliceInsertScheduleActionSettings)
     (Maybe Scte35SpliceInsertScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings :: Maybe Scte35SpliceInsertScheduleActionSettings
$sel:scte35SpliceInsertSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings} -> Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe Scte35SpliceInsertScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:scte35SpliceInsertSettings:ScheduleActionSettings' :: Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings = Maybe Scte35SpliceInsertScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to activate a motion graphics image overlay
scheduleActionSettings_motionGraphicsImageActivateSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe MotionGraphicsActivateScheduleActionSettings)
scheduleActionSettings_motionGraphicsImageActivateSettings :: (Maybe MotionGraphicsActivateScheduleActionSettings
 -> f (Maybe MotionGraphicsActivateScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_motionGraphicsImageActivateSettings = (ScheduleActionSettings
 -> Maybe MotionGraphicsActivateScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe MotionGraphicsActivateScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe MotionGraphicsActivateScheduleActionSettings)
     (Maybe MotionGraphicsActivateScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings :: Maybe MotionGraphicsActivateScheduleActionSettings
$sel:motionGraphicsImageActivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings} -> Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe MotionGraphicsActivateScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:motionGraphicsImageActivateSettings:ScheduleActionSettings' :: Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings = Maybe MotionGraphicsActivateScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to activate a static image overlay
scheduleActionSettings_staticImageActivateSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe StaticImageActivateScheduleActionSettings)
scheduleActionSettings_staticImageActivateSettings :: (Maybe StaticImageActivateScheduleActionSettings
 -> f (Maybe StaticImageActivateScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_staticImageActivateSettings = (ScheduleActionSettings
 -> Maybe StaticImageActivateScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe StaticImageActivateScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe StaticImageActivateScheduleActionSettings)
     (Maybe StaticImageActivateScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings :: Maybe StaticImageActivateScheduleActionSettings
$sel:staticImageActivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings} -> Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe StaticImageActivateScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:staticImageActivateSettings:ScheduleActionSettings' :: Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings = Maybe StaticImageActivateScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to deactivate a motion graphics image overlay
scheduleActionSettings_motionGraphicsImageDeactivateSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe MotionGraphicsDeactivateScheduleActionSettings)
scheduleActionSettings_motionGraphicsImageDeactivateSettings :: (Maybe MotionGraphicsDeactivateScheduleActionSettings
 -> f (Maybe MotionGraphicsDeactivateScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_motionGraphicsImageDeactivateSettings = (ScheduleActionSettings
 -> Maybe MotionGraphicsDeactivateScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe MotionGraphicsDeactivateScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe MotionGraphicsDeactivateScheduleActionSettings)
     (Maybe MotionGraphicsDeactivateScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings :: Maybe MotionGraphicsDeactivateScheduleActionSettings
$sel:motionGraphicsImageDeactivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings} -> Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe MotionGraphicsDeactivateScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:motionGraphicsImageDeactivateSettings:ScheduleActionSettings' :: Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings = Maybe MotionGraphicsDeactivateScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to insert SCTE-35 time_signal message
scheduleActionSettings_scte35TimeSignalSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe Scte35TimeSignalScheduleActionSettings)
scheduleActionSettings_scte35TimeSignalSettings :: (Maybe Scte35TimeSignalScheduleActionSettings
 -> f (Maybe Scte35TimeSignalScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_scte35TimeSignalSettings = (ScheduleActionSettings
 -> Maybe Scte35TimeSignalScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe Scte35TimeSignalScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe Scte35TimeSignalScheduleActionSettings)
     (Maybe Scte35TimeSignalScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings :: Maybe Scte35TimeSignalScheduleActionSettings
$sel:scte35TimeSignalSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings} -> Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe Scte35TimeSignalScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:scte35TimeSignalSettings:ScheduleActionSettings' :: Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings = Maybe Scte35TimeSignalScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to prepare an input for a future immediate input switch
scheduleActionSettings_inputPrepareSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe InputPrepareScheduleActionSettings)
scheduleActionSettings_inputPrepareSettings :: (Maybe InputPrepareScheduleActionSettings
 -> f (Maybe InputPrepareScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_inputPrepareSettings = (ScheduleActionSettings
 -> Maybe InputPrepareScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe InputPrepareScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe InputPrepareScheduleActionSettings)
     (Maybe InputPrepareScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe InputPrepareScheduleActionSettings
inputPrepareSettings :: Maybe InputPrepareScheduleActionSettings
$sel:inputPrepareSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe InputPrepareScheduleActionSettings
inputPrepareSettings} -> Maybe InputPrepareScheduleActionSettings
inputPrepareSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe InputPrepareScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:inputPrepareSettings:ScheduleActionSettings' :: Maybe InputPrepareScheduleActionSettings
inputPrepareSettings = Maybe InputPrepareScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to insert HLS ID3 segment tagging
scheduleActionSettings_hlsId3SegmentTaggingSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe HlsId3SegmentTaggingScheduleActionSettings)
scheduleActionSettings_hlsId3SegmentTaggingSettings :: (Maybe HlsId3SegmentTaggingScheduleActionSettings
 -> f (Maybe HlsId3SegmentTaggingScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_hlsId3SegmentTaggingSettings = (ScheduleActionSettings
 -> Maybe HlsId3SegmentTaggingScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe HlsId3SegmentTaggingScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe HlsId3SegmentTaggingScheduleActionSettings)
     (Maybe HlsId3SegmentTaggingScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings :: Maybe HlsId3SegmentTaggingScheduleActionSettings
$sel:hlsId3SegmentTaggingSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings} -> Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe HlsId3SegmentTaggingScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:hlsId3SegmentTaggingSettings:ScheduleActionSettings' :: Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings = Maybe HlsId3SegmentTaggingScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to insert SCTE-35 return_to_network message
scheduleActionSettings_scte35ReturnToNetworkSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe Scte35ReturnToNetworkScheduleActionSettings)
scheduleActionSettings_scte35ReturnToNetworkSettings :: (Maybe Scte35ReturnToNetworkScheduleActionSettings
 -> f (Maybe Scte35ReturnToNetworkScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_scte35ReturnToNetworkSettings = (ScheduleActionSettings
 -> Maybe Scte35ReturnToNetworkScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe Scte35ReturnToNetworkScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe Scte35ReturnToNetworkScheduleActionSettings)
     (Maybe Scte35ReturnToNetworkScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings :: Maybe Scte35ReturnToNetworkScheduleActionSettings
$sel:scte35ReturnToNetworkSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings} -> Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe Scte35ReturnToNetworkScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:scte35ReturnToNetworkSettings:ScheduleActionSettings' :: Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings = Maybe Scte35ReturnToNetworkScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to pause or unpause one or both channel pipelines
scheduleActionSettings_pauseStateSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe PauseStateScheduleActionSettings)
scheduleActionSettings_pauseStateSettings :: (Maybe PauseStateScheduleActionSettings
 -> f (Maybe PauseStateScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_pauseStateSettings = (ScheduleActionSettings -> Maybe PauseStateScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe PauseStateScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe PauseStateScheduleActionSettings)
     (Maybe PauseStateScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe PauseStateScheduleActionSettings
pauseStateSettings :: Maybe PauseStateScheduleActionSettings
$sel:pauseStateSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe PauseStateScheduleActionSettings
pauseStateSettings} -> Maybe PauseStateScheduleActionSettings
pauseStateSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe PauseStateScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:pauseStateSettings:ScheduleActionSettings' :: Maybe PauseStateScheduleActionSettings
pauseStateSettings = Maybe PauseStateScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to insert HLS metadata
scheduleActionSettings_hlsTimedMetadataSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe HlsTimedMetadataScheduleActionSettings)
scheduleActionSettings_hlsTimedMetadataSettings :: (Maybe HlsTimedMetadataScheduleActionSettings
 -> f (Maybe HlsTimedMetadataScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_hlsTimedMetadataSettings = (ScheduleActionSettings
 -> Maybe HlsTimedMetadataScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe HlsTimedMetadataScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe HlsTimedMetadataScheduleActionSettings)
     (Maybe HlsTimedMetadataScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings :: Maybe HlsTimedMetadataScheduleActionSettings
$sel:hlsTimedMetadataSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings} -> Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe HlsTimedMetadataScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:hlsTimedMetadataSettings:ScheduleActionSettings' :: Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings = Maybe HlsTimedMetadataScheduleActionSettings
a} :: ScheduleActionSettings)

-- | Action to switch the input
scheduleActionSettings_inputSwitchSettings :: Lens.Lens' ScheduleActionSettings (Prelude.Maybe InputSwitchScheduleActionSettings)
scheduleActionSettings_inputSwitchSettings :: (Maybe InputSwitchScheduleActionSettings
 -> f (Maybe InputSwitchScheduleActionSettings))
-> ScheduleActionSettings -> f ScheduleActionSettings
scheduleActionSettings_inputSwitchSettings = (ScheduleActionSettings -> Maybe InputSwitchScheduleActionSettings)
-> (ScheduleActionSettings
    -> Maybe InputSwitchScheduleActionSettings
    -> ScheduleActionSettings)
-> Lens
     ScheduleActionSettings
     ScheduleActionSettings
     (Maybe InputSwitchScheduleActionSettings)
     (Maybe InputSwitchScheduleActionSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScheduleActionSettings' {Maybe InputSwitchScheduleActionSettings
inputSwitchSettings :: Maybe InputSwitchScheduleActionSettings
$sel:inputSwitchSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe InputSwitchScheduleActionSettings
inputSwitchSettings} -> Maybe InputSwitchScheduleActionSettings
inputSwitchSettings) (\s :: ScheduleActionSettings
s@ScheduleActionSettings' {} Maybe InputSwitchScheduleActionSettings
a -> ScheduleActionSettings
s {$sel:inputSwitchSettings:ScheduleActionSettings' :: Maybe InputSwitchScheduleActionSettings
inputSwitchSettings = Maybe InputSwitchScheduleActionSettings
a} :: ScheduleActionSettings)

instance Core.FromJSON ScheduleActionSettings where
  parseJSON :: Value -> Parser ScheduleActionSettings
parseJSON =
    String
-> (Object -> Parser ScheduleActionSettings)
-> Value
-> Parser ScheduleActionSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ScheduleActionSettings"
      ( \Object
x ->
          Maybe StaticImageDeactivateScheduleActionSettings
-> Maybe Scte35SpliceInsertScheduleActionSettings
-> Maybe MotionGraphicsActivateScheduleActionSettings
-> Maybe StaticImageActivateScheduleActionSettings
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
-> Maybe Scte35TimeSignalScheduleActionSettings
-> Maybe InputPrepareScheduleActionSettings
-> Maybe HlsId3SegmentTaggingScheduleActionSettings
-> Maybe Scte35ReturnToNetworkScheduleActionSettings
-> Maybe PauseStateScheduleActionSettings
-> Maybe HlsTimedMetadataScheduleActionSettings
-> Maybe InputSwitchScheduleActionSettings
-> ScheduleActionSettings
ScheduleActionSettings'
            (Maybe StaticImageDeactivateScheduleActionSettings
 -> Maybe Scte35SpliceInsertScheduleActionSettings
 -> Maybe MotionGraphicsActivateScheduleActionSettings
 -> Maybe StaticImageActivateScheduleActionSettings
 -> Maybe MotionGraphicsDeactivateScheduleActionSettings
 -> Maybe Scte35TimeSignalScheduleActionSettings
 -> Maybe InputPrepareScheduleActionSettings
 -> Maybe HlsId3SegmentTaggingScheduleActionSettings
 -> Maybe Scte35ReturnToNetworkScheduleActionSettings
 -> Maybe PauseStateScheduleActionSettings
 -> Maybe HlsTimedMetadataScheduleActionSettings
 -> Maybe InputSwitchScheduleActionSettings
 -> ScheduleActionSettings)
-> Parser (Maybe StaticImageDeactivateScheduleActionSettings)
-> Parser
     (Maybe Scte35SpliceInsertScheduleActionSettings
      -> Maybe MotionGraphicsActivateScheduleActionSettings
      -> Maybe StaticImageActivateScheduleActionSettings
      -> Maybe MotionGraphicsDeactivateScheduleActionSettings
      -> Maybe Scte35TimeSignalScheduleActionSettings
      -> Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object
-> Text
-> Parser (Maybe StaticImageDeactivateScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"staticImageDeactivateSettings")
            Parser
  (Maybe Scte35SpliceInsertScheduleActionSettings
   -> Maybe MotionGraphicsActivateScheduleActionSettings
   -> Maybe StaticImageActivateScheduleActionSettings
   -> Maybe MotionGraphicsDeactivateScheduleActionSettings
   -> Maybe Scte35TimeSignalScheduleActionSettings
   -> Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe Scte35SpliceInsertScheduleActionSettings)
-> Parser
     (Maybe MotionGraphicsActivateScheduleActionSettings
      -> Maybe StaticImageActivateScheduleActionSettings
      -> Maybe MotionGraphicsDeactivateScheduleActionSettings
      -> Maybe Scte35TimeSignalScheduleActionSettings
      -> Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe Scte35SpliceInsertScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scte35SpliceInsertSettings")
            Parser
  (Maybe MotionGraphicsActivateScheduleActionSettings
   -> Maybe StaticImageActivateScheduleActionSettings
   -> Maybe MotionGraphicsDeactivateScheduleActionSettings
   -> Maybe Scte35TimeSignalScheduleActionSettings
   -> Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe MotionGraphicsActivateScheduleActionSettings)
-> Parser
     (Maybe StaticImageActivateScheduleActionSettings
      -> Maybe MotionGraphicsDeactivateScheduleActionSettings
      -> Maybe Scte35TimeSignalScheduleActionSettings
      -> Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe MotionGraphicsActivateScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"motionGraphicsImageActivateSettings")
            Parser
  (Maybe StaticImageActivateScheduleActionSettings
   -> Maybe MotionGraphicsDeactivateScheduleActionSettings
   -> Maybe Scte35TimeSignalScheduleActionSettings
   -> Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe StaticImageActivateScheduleActionSettings)
-> Parser
     (Maybe MotionGraphicsDeactivateScheduleActionSettings
      -> Maybe Scte35TimeSignalScheduleActionSettings
      -> Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe StaticImageActivateScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"staticImageActivateSettings")
            Parser
  (Maybe MotionGraphicsDeactivateScheduleActionSettings
   -> Maybe Scte35TimeSignalScheduleActionSettings
   -> Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe MotionGraphicsDeactivateScheduleActionSettings)
-> Parser
     (Maybe Scte35TimeSignalScheduleActionSettings
      -> Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe MotionGraphicsDeactivateScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"motionGraphicsImageDeactivateSettings")
            Parser
  (Maybe Scte35TimeSignalScheduleActionSettings
   -> Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe Scte35TimeSignalScheduleActionSettings)
-> Parser
     (Maybe InputPrepareScheduleActionSettings
      -> Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe Scte35TimeSignalScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scte35TimeSignalSettings")
            Parser
  (Maybe InputPrepareScheduleActionSettings
   -> Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe InputPrepareScheduleActionSettings)
-> Parser
     (Maybe HlsId3SegmentTaggingScheduleActionSettings
      -> Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InputPrepareScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"inputPrepareSettings")
            Parser
  (Maybe HlsId3SegmentTaggingScheduleActionSettings
   -> Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe HlsId3SegmentTaggingScheduleActionSettings)
-> Parser
     (Maybe Scte35ReturnToNetworkScheduleActionSettings
      -> Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe HlsId3SegmentTaggingScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"hlsId3SegmentTaggingSettings")
            Parser
  (Maybe Scte35ReturnToNetworkScheduleActionSettings
   -> Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe Scte35ReturnToNetworkScheduleActionSettings)
-> Parser
     (Maybe PauseStateScheduleActionSettings
      -> Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe Scte35ReturnToNetworkScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scte35ReturnToNetworkSettings")
            Parser
  (Maybe PauseStateScheduleActionSettings
   -> Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe PauseStateScheduleActionSettings)
-> Parser
     (Maybe HlsTimedMetadataScheduleActionSettings
      -> Maybe InputSwitchScheduleActionSettings
      -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PauseStateScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"pauseStateSettings")
            Parser
  (Maybe HlsTimedMetadataScheduleActionSettings
   -> Maybe InputSwitchScheduleActionSettings
   -> ScheduleActionSettings)
-> Parser (Maybe HlsTimedMetadataScheduleActionSettings)
-> Parser
     (Maybe InputSwitchScheduleActionSettings -> ScheduleActionSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe HlsTimedMetadataScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"hlsTimedMetadataSettings")
            Parser
  (Maybe InputSwitchScheduleActionSettings -> ScheduleActionSettings)
-> Parser (Maybe InputSwitchScheduleActionSettings)
-> Parser ScheduleActionSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InputSwitchScheduleActionSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"inputSwitchSettings")
      )

instance Prelude.Hashable ScheduleActionSettings

instance Prelude.NFData ScheduleActionSettings

instance Core.ToJSON ScheduleActionSettings where
  toJSON :: ScheduleActionSettings -> Value
toJSON ScheduleActionSettings' {Maybe HlsId3SegmentTaggingScheduleActionSettings
Maybe HlsTimedMetadataScheduleActionSettings
Maybe MotionGraphicsActivateScheduleActionSettings
Maybe MotionGraphicsDeactivateScheduleActionSettings
Maybe PauseStateScheduleActionSettings
Maybe Scte35ReturnToNetworkScheduleActionSettings
Maybe Scte35SpliceInsertScheduleActionSettings
Maybe Scte35TimeSignalScheduleActionSettings
Maybe StaticImageActivateScheduleActionSettings
Maybe StaticImageDeactivateScheduleActionSettings
Maybe InputSwitchScheduleActionSettings
Maybe InputPrepareScheduleActionSettings
inputSwitchSettings :: Maybe InputSwitchScheduleActionSettings
hlsTimedMetadataSettings :: Maybe HlsTimedMetadataScheduleActionSettings
pauseStateSettings :: Maybe PauseStateScheduleActionSettings
scte35ReturnToNetworkSettings :: Maybe Scte35ReturnToNetworkScheduleActionSettings
hlsId3SegmentTaggingSettings :: Maybe HlsId3SegmentTaggingScheduleActionSettings
inputPrepareSettings :: Maybe InputPrepareScheduleActionSettings
scte35TimeSignalSettings :: Maybe Scte35TimeSignalScheduleActionSettings
motionGraphicsImageDeactivateSettings :: Maybe MotionGraphicsDeactivateScheduleActionSettings
staticImageActivateSettings :: Maybe StaticImageActivateScheduleActionSettings
motionGraphicsImageActivateSettings :: Maybe MotionGraphicsActivateScheduleActionSettings
scte35SpliceInsertSettings :: Maybe Scte35SpliceInsertScheduleActionSettings
staticImageDeactivateSettings :: Maybe StaticImageDeactivateScheduleActionSettings
$sel:inputSwitchSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe InputSwitchScheduleActionSettings
$sel:hlsTimedMetadataSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe HlsTimedMetadataScheduleActionSettings
$sel:pauseStateSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe PauseStateScheduleActionSettings
$sel:scte35ReturnToNetworkSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35ReturnToNetworkScheduleActionSettings
$sel:hlsId3SegmentTaggingSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe HlsId3SegmentTaggingScheduleActionSettings
$sel:inputPrepareSettings:ScheduleActionSettings' :: ScheduleActionSettings -> Maybe InputPrepareScheduleActionSettings
$sel:scte35TimeSignalSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35TimeSignalScheduleActionSettings
$sel:motionGraphicsImageDeactivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
$sel:staticImageActivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe StaticImageActivateScheduleActionSettings
$sel:motionGraphicsImageActivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe MotionGraphicsActivateScheduleActionSettings
$sel:scte35SpliceInsertSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe Scte35SpliceInsertScheduleActionSettings
$sel:staticImageDeactivateSettings:ScheduleActionSettings' :: ScheduleActionSettings
-> Maybe StaticImageDeactivateScheduleActionSettings
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"staticImageDeactivateSettings" Text -> StaticImageDeactivateScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (StaticImageDeactivateScheduleActionSettings -> Pair)
-> Maybe StaticImageDeactivateScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe StaticImageDeactivateScheduleActionSettings
staticImageDeactivateSettings,
            (Text
"scte35SpliceInsertSettings" Text -> Scte35SpliceInsertScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Scte35SpliceInsertScheduleActionSettings -> Pair)
-> Maybe Scte35SpliceInsertScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte35SpliceInsertScheduleActionSettings
scte35SpliceInsertSettings,
            (Text
"motionGraphicsImageActivateSettings" Text -> MotionGraphicsActivateScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (MotionGraphicsActivateScheduleActionSettings -> Pair)
-> Maybe MotionGraphicsActivateScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MotionGraphicsActivateScheduleActionSettings
motionGraphicsImageActivateSettings,
            (Text
"staticImageActivateSettings" Text -> StaticImageActivateScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (StaticImageActivateScheduleActionSettings -> Pair)
-> Maybe StaticImageActivateScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe StaticImageActivateScheduleActionSettings
staticImageActivateSettings,
            (Text
"motionGraphicsImageDeactivateSettings" Text -> MotionGraphicsDeactivateScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (MotionGraphicsDeactivateScheduleActionSettings -> Pair)
-> Maybe MotionGraphicsDeactivateScheduleActionSettings
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MotionGraphicsDeactivateScheduleActionSettings
motionGraphicsImageDeactivateSettings,
            (Text
"scte35TimeSignalSettings" Text -> Scte35TimeSignalScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Scte35TimeSignalScheduleActionSettings -> Pair)
-> Maybe Scte35TimeSignalScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte35TimeSignalScheduleActionSettings
scte35TimeSignalSettings,
            (Text
"inputPrepareSettings" Text -> InputPrepareScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (InputPrepareScheduleActionSettings -> Pair)
-> Maybe InputPrepareScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InputPrepareScheduleActionSettings
inputPrepareSettings,
            (Text
"hlsId3SegmentTaggingSettings" Text -> HlsId3SegmentTaggingScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (HlsId3SegmentTaggingScheduleActionSettings -> Pair)
-> Maybe HlsId3SegmentTaggingScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe HlsId3SegmentTaggingScheduleActionSettings
hlsId3SegmentTaggingSettings,
            (Text
"scte35ReturnToNetworkSettings" Text -> Scte35ReturnToNetworkScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Scte35ReturnToNetworkScheduleActionSettings -> Pair)
-> Maybe Scte35ReturnToNetworkScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Scte35ReturnToNetworkScheduleActionSettings
scte35ReturnToNetworkSettings,
            (Text
"pauseStateSettings" Text -> PauseStateScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (PauseStateScheduleActionSettings -> Pair)
-> Maybe PauseStateScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PauseStateScheduleActionSettings
pauseStateSettings,
            (Text
"hlsTimedMetadataSettings" Text -> HlsTimedMetadataScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (HlsTimedMetadataScheduleActionSettings -> Pair)
-> Maybe HlsTimedMetadataScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe HlsTimedMetadataScheduleActionSettings
hlsTimedMetadataSettings,
            (Text
"inputSwitchSettings" Text -> InputSwitchScheduleActionSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (InputSwitchScheduleActionSettings -> Pair)
-> Maybe InputSwitchScheduleActionSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InputSwitchScheduleActionSettings
inputSwitchSettings
          ]
      )