{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.MediaLive.Types.Product where
import Network.AWS.Lens
import Network.AWS.MediaLive.Types.Sum
import Network.AWS.Prelude
data AacSettings = AacSettings'
{ _aRawFormat :: !(Maybe AacRawFormat)
, _aCodingMode :: !(Maybe AacCodingMode)
, _aProfile :: !(Maybe AacProfile)
, _aRateControlMode :: !(Maybe AacRateControlMode)
, _aSampleRate :: !(Maybe Double)
, _aSpec :: !(Maybe AacSpec)
, _aBitrate :: !(Maybe Double)
, _aVbrQuality :: !(Maybe AacVbrQuality)
, _aInputType :: !(Maybe AacInputType)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
aacSettings
:: AacSettings
aacSettings =
AacSettings'
{ _aRawFormat = Nothing
, _aCodingMode = Nothing
, _aProfile = Nothing
, _aRateControlMode = Nothing
, _aSampleRate = Nothing
, _aSpec = Nothing
, _aBitrate = Nothing
, _aVbrQuality = Nothing
, _aInputType = Nothing
}
aRawFormat :: Lens' AacSettings (Maybe AacRawFormat)
aRawFormat = lens _aRawFormat (\ s a -> s{_aRawFormat = a})
aCodingMode :: Lens' AacSettings (Maybe AacCodingMode)
aCodingMode = lens _aCodingMode (\ s a -> s{_aCodingMode = a})
aProfile :: Lens' AacSettings (Maybe AacProfile)
aProfile = lens _aProfile (\ s a -> s{_aProfile = a})
aRateControlMode :: Lens' AacSettings (Maybe AacRateControlMode)
aRateControlMode = lens _aRateControlMode (\ s a -> s{_aRateControlMode = a})
aSampleRate :: Lens' AacSettings (Maybe Double)
aSampleRate = lens _aSampleRate (\ s a -> s{_aSampleRate = a})
aSpec :: Lens' AacSettings (Maybe AacSpec)
aSpec = lens _aSpec (\ s a -> s{_aSpec = a})
aBitrate :: Lens' AacSettings (Maybe Double)
aBitrate = lens _aBitrate (\ s a -> s{_aBitrate = a})
aVbrQuality :: Lens' AacSettings (Maybe AacVbrQuality)
aVbrQuality = lens _aVbrQuality (\ s a -> s{_aVbrQuality = a})
aInputType :: Lens' AacSettings (Maybe AacInputType)
aInputType = lens _aInputType (\ s a -> s{_aInputType = a})
instance FromJSON AacSettings where
parseJSON
= withObject "AacSettings"
(\ x ->
AacSettings' <$>
(x .:? "rawFormat") <*> (x .:? "codingMode") <*>
(x .:? "profile")
<*> (x .:? "rateControlMode")
<*> (x .:? "sampleRate")
<*> (x .:? "spec")
<*> (x .:? "bitrate")
<*> (x .:? "vbrQuality")
<*> (x .:? "inputType"))
instance Hashable AacSettings where
instance NFData AacSettings where
instance ToJSON AacSettings where
toJSON AacSettings'{..}
= object
(catMaybes
[("rawFormat" .=) <$> _aRawFormat,
("codingMode" .=) <$> _aCodingMode,
("profile" .=) <$> _aProfile,
("rateControlMode" .=) <$> _aRateControlMode,
("sampleRate" .=) <$> _aSampleRate,
("spec" .=) <$> _aSpec, ("bitrate" .=) <$> _aBitrate,
("vbrQuality" .=) <$> _aVbrQuality,
("inputType" .=) <$> _aInputType])
data Ac3Settings = Ac3Settings'
{ _asLfeFilter :: !(Maybe Ac3LfeFilter)
, _asMetadataControl :: !(Maybe Ac3MetadataControl)
, _asBitstreamMode :: !(Maybe Ac3BitstreamMode)
, _asCodingMode :: !(Maybe Ac3CodingMode)
, _asBitrate :: !(Maybe Double)
, _asDialnorm :: !(Maybe Nat)
, _asDrcProfile :: !(Maybe Ac3DrcProfile)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
ac3Settings
:: Ac3Settings
ac3Settings =
Ac3Settings'
{ _asLfeFilter = Nothing
, _asMetadataControl = Nothing
, _asBitstreamMode = Nothing
, _asCodingMode = Nothing
, _asBitrate = Nothing
, _asDialnorm = Nothing
, _asDrcProfile = Nothing
}
asLfeFilter :: Lens' Ac3Settings (Maybe Ac3LfeFilter)
asLfeFilter = lens _asLfeFilter (\ s a -> s{_asLfeFilter = a})
asMetadataControl :: Lens' Ac3Settings (Maybe Ac3MetadataControl)
asMetadataControl = lens _asMetadataControl (\ s a -> s{_asMetadataControl = a})
asBitstreamMode :: Lens' Ac3Settings (Maybe Ac3BitstreamMode)
asBitstreamMode = lens _asBitstreamMode (\ s a -> s{_asBitstreamMode = a})
asCodingMode :: Lens' Ac3Settings (Maybe Ac3CodingMode)
asCodingMode = lens _asCodingMode (\ s a -> s{_asCodingMode = a})
asBitrate :: Lens' Ac3Settings (Maybe Double)
asBitrate = lens _asBitrate (\ s a -> s{_asBitrate = a})
asDialnorm :: Lens' Ac3Settings (Maybe Natural)
asDialnorm = lens _asDialnorm (\ s a -> s{_asDialnorm = a}) . mapping _Nat
asDrcProfile :: Lens' Ac3Settings (Maybe Ac3DrcProfile)
asDrcProfile = lens _asDrcProfile (\ s a -> s{_asDrcProfile = a})
instance FromJSON Ac3Settings where
parseJSON
= withObject "Ac3Settings"
(\ x ->
Ac3Settings' <$>
(x .:? "lfeFilter") <*> (x .:? "metadataControl") <*>
(x .:? "bitstreamMode")
<*> (x .:? "codingMode")
<*> (x .:? "bitrate")
<*> (x .:? "dialnorm")
<*> (x .:? "drcProfile"))
instance Hashable Ac3Settings where
instance NFData Ac3Settings where
instance ToJSON Ac3Settings where
toJSON Ac3Settings'{..}
= object
(catMaybes
[("lfeFilter" .=) <$> _asLfeFilter,
("metadataControl" .=) <$> _asMetadataControl,
("bitstreamMode" .=) <$> _asBitstreamMode,
("codingMode" .=) <$> _asCodingMode,
("bitrate" .=) <$> _asBitrate,
("dialnorm" .=) <$> _asDialnorm,
("drcProfile" .=) <$> _asDrcProfile])
newtype ArchiveContainerSettings = ArchiveContainerSettings'
{ _acsM2tsSettings :: Maybe M2tsSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
archiveContainerSettings
:: ArchiveContainerSettings
archiveContainerSettings =
ArchiveContainerSettings' {_acsM2tsSettings = Nothing}
acsM2tsSettings :: Lens' ArchiveContainerSettings (Maybe M2tsSettings)
acsM2tsSettings = lens _acsM2tsSettings (\ s a -> s{_acsM2tsSettings = a})
instance FromJSON ArchiveContainerSettings where
parseJSON
= withObject "ArchiveContainerSettings"
(\ x ->
ArchiveContainerSettings' <$> (x .:? "m2tsSettings"))
instance Hashable ArchiveContainerSettings where
instance NFData ArchiveContainerSettings where
instance ToJSON ArchiveContainerSettings where
toJSON ArchiveContainerSettings'{..}
= object
(catMaybes
[("m2tsSettings" .=) <$> _acsM2tsSettings])
data ArchiveGroupSettings = ArchiveGroupSettings'
{ _agsRolloverInterval :: !(Maybe Nat)
, _agsDestination :: !OutputLocationRef
} deriving (Eq, Read, Show, Data, Typeable, Generic)
archiveGroupSettings
:: OutputLocationRef
-> ArchiveGroupSettings
archiveGroupSettings pDestination_ =
ArchiveGroupSettings'
{_agsRolloverInterval = Nothing, _agsDestination = pDestination_}
agsRolloverInterval :: Lens' ArchiveGroupSettings (Maybe Natural)
agsRolloverInterval = lens _agsRolloverInterval (\ s a -> s{_agsRolloverInterval = a}) . mapping _Nat
agsDestination :: Lens' ArchiveGroupSettings OutputLocationRef
agsDestination = lens _agsDestination (\ s a -> s{_agsDestination = a})
instance FromJSON ArchiveGroupSettings where
parseJSON
= withObject "ArchiveGroupSettings"
(\ x ->
ArchiveGroupSettings' <$>
(x .:? "rolloverInterval") <*> (x .: "destination"))
instance Hashable ArchiveGroupSettings where
instance NFData ArchiveGroupSettings where
instance ToJSON ArchiveGroupSettings where
toJSON ArchiveGroupSettings'{..}
= object
(catMaybes
[("rolloverInterval" .=) <$> _agsRolloverInterval,
Just ("destination" .= _agsDestination)])
data ArchiveOutputSettings = ArchiveOutputSettings'
{ _aosExtension :: !(Maybe Text)
, _aosNameModifier :: !(Maybe Text)
, _aosContainerSettings :: !ArchiveContainerSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
archiveOutputSettings
:: ArchiveContainerSettings
-> ArchiveOutputSettings
archiveOutputSettings pContainerSettings_ =
ArchiveOutputSettings'
{ _aosExtension = Nothing
, _aosNameModifier = Nothing
, _aosContainerSettings = pContainerSettings_
}
aosExtension :: Lens' ArchiveOutputSettings (Maybe Text)
aosExtension = lens _aosExtension (\ s a -> s{_aosExtension = a})
aosNameModifier :: Lens' ArchiveOutputSettings (Maybe Text)
aosNameModifier = lens _aosNameModifier (\ s a -> s{_aosNameModifier = a})
aosContainerSettings :: Lens' ArchiveOutputSettings ArchiveContainerSettings
aosContainerSettings = lens _aosContainerSettings (\ s a -> s{_aosContainerSettings = a})
instance FromJSON ArchiveOutputSettings where
parseJSON
= withObject "ArchiveOutputSettings"
(\ x ->
ArchiveOutputSettings' <$>
(x .:? "extension") <*> (x .:? "nameModifier") <*>
(x .: "containerSettings"))
instance Hashable ArchiveOutputSettings where
instance NFData ArchiveOutputSettings where
instance ToJSON ArchiveOutputSettings where
toJSON ArchiveOutputSettings'{..}
= object
(catMaybes
[("extension" .=) <$> _aosExtension,
("nameModifier" .=) <$> _aosNameModifier,
Just ("containerSettings" .= _aosContainerSettings)])
data AribDestinationSettings =
AribDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
aribDestinationSettings
:: AribDestinationSettings
aribDestinationSettings = AribDestinationSettings'
instance FromJSON AribDestinationSettings where
parseJSON
= withObject "AribDestinationSettings"
(\ x -> pure AribDestinationSettings')
instance Hashable AribDestinationSettings where
instance NFData AribDestinationSettings where
instance ToJSON AribDestinationSettings where
toJSON = const (Object mempty)
data AribSourceSettings =
AribSourceSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
aribSourceSettings
:: AribSourceSettings
aribSourceSettings = AribSourceSettings'
instance FromJSON AribSourceSettings where
parseJSON
= withObject "AribSourceSettings"
(\ x -> pure AribSourceSettings')
instance Hashable AribSourceSettings where
instance NFData AribSourceSettings where
instance ToJSON AribSourceSettings where
toJSON = const (Object mempty)
data AudioChannelMapping = AudioChannelMapping'
{ _acmOutputChannel :: !Nat
, _acmInputChannelLevels :: ![InputChannelLevel]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioChannelMapping
:: Natural
-> AudioChannelMapping
audioChannelMapping pOutputChannel_ =
AudioChannelMapping'
{ _acmOutputChannel = _Nat # pOutputChannel_
, _acmInputChannelLevels = mempty
}
acmOutputChannel :: Lens' AudioChannelMapping Natural
acmOutputChannel = lens _acmOutputChannel (\ s a -> s{_acmOutputChannel = a}) . _Nat
acmInputChannelLevels :: Lens' AudioChannelMapping [InputChannelLevel]
acmInputChannelLevels = lens _acmInputChannelLevels (\ s a -> s{_acmInputChannelLevels = a}) . _Coerce
instance FromJSON AudioChannelMapping where
parseJSON
= withObject "AudioChannelMapping"
(\ x ->
AudioChannelMapping' <$>
(x .: "outputChannel") <*>
(x .:? "inputChannelLevels" .!= mempty))
instance Hashable AudioChannelMapping where
instance NFData AudioChannelMapping where
instance ToJSON AudioChannelMapping where
toJSON AudioChannelMapping'{..}
= object
(catMaybes
[Just ("outputChannel" .= _acmOutputChannel),
Just
("inputChannelLevels" .= _acmInputChannelLevels)])
data AudioCodecSettings = AudioCodecSettings'
{ _acsPassThroughSettings :: !(Maybe PassThroughSettings)
, _acsAc3Settings :: !(Maybe Ac3Settings)
, _acsMp2Settings :: !(Maybe Mp2Settings)
, _acsAacSettings :: !(Maybe AacSettings)
, _acsEac3Settings :: !(Maybe Eac3Settings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioCodecSettings
:: AudioCodecSettings
audioCodecSettings =
AudioCodecSettings'
{ _acsPassThroughSettings = Nothing
, _acsAc3Settings = Nothing
, _acsMp2Settings = Nothing
, _acsAacSettings = Nothing
, _acsEac3Settings = Nothing
}
acsPassThroughSettings :: Lens' AudioCodecSettings (Maybe PassThroughSettings)
acsPassThroughSettings = lens _acsPassThroughSettings (\ s a -> s{_acsPassThroughSettings = a})
acsAc3Settings :: Lens' AudioCodecSettings (Maybe Ac3Settings)
acsAc3Settings = lens _acsAc3Settings (\ s a -> s{_acsAc3Settings = a})
acsMp2Settings :: Lens' AudioCodecSettings (Maybe Mp2Settings)
acsMp2Settings = lens _acsMp2Settings (\ s a -> s{_acsMp2Settings = a})
acsAacSettings :: Lens' AudioCodecSettings (Maybe AacSettings)
acsAacSettings = lens _acsAacSettings (\ s a -> s{_acsAacSettings = a})
acsEac3Settings :: Lens' AudioCodecSettings (Maybe Eac3Settings)
acsEac3Settings = lens _acsEac3Settings (\ s a -> s{_acsEac3Settings = a})
instance FromJSON AudioCodecSettings where
parseJSON
= withObject "AudioCodecSettings"
(\ x ->
AudioCodecSettings' <$>
(x .:? "passThroughSettings") <*>
(x .:? "ac3Settings")
<*> (x .:? "mp2Settings")
<*> (x .:? "aacSettings")
<*> (x .:? "eac3Settings"))
instance Hashable AudioCodecSettings where
instance NFData AudioCodecSettings where
instance ToJSON AudioCodecSettings where
toJSON AudioCodecSettings'{..}
= object
(catMaybes
[("passThroughSettings" .=) <$>
_acsPassThroughSettings,
("ac3Settings" .=) <$> _acsAc3Settings,
("mp2Settings" .=) <$> _acsMp2Settings,
("aacSettings" .=) <$> _acsAacSettings,
("eac3Settings" .=) <$> _acsEac3Settings])
data AudioDescription = AudioDescription'
{ _adLanguageCode :: !(Maybe Text)
, _adAudioType :: !(Maybe AudioType)
, _adAudioNormalizationSettings :: !(Maybe AudioNormalizationSettings)
, _adLanguageCodeControl :: !(Maybe AudioDescriptionLanguageCodeControl)
, _adCodecSettings :: !(Maybe AudioCodecSettings)
, _adStreamName :: !(Maybe Text)
, _adRemixSettings :: !(Maybe RemixSettings)
, _adAudioTypeControl :: !(Maybe AudioDescriptionAudioTypeControl)
, _adAudioSelectorName :: !Text
, _adName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioDescription
:: Text
-> Text
-> AudioDescription
audioDescription pAudioSelectorName_ pName_ =
AudioDescription'
{ _adLanguageCode = Nothing
, _adAudioType = Nothing
, _adAudioNormalizationSettings = Nothing
, _adLanguageCodeControl = Nothing
, _adCodecSettings = Nothing
, _adStreamName = Nothing
, _adRemixSettings = Nothing
, _adAudioTypeControl = Nothing
, _adAudioSelectorName = pAudioSelectorName_
, _adName = pName_
}
adLanguageCode :: Lens' AudioDescription (Maybe Text)
adLanguageCode = lens _adLanguageCode (\ s a -> s{_adLanguageCode = a})
adAudioType :: Lens' AudioDescription (Maybe AudioType)
adAudioType = lens _adAudioType (\ s a -> s{_adAudioType = a})
adAudioNormalizationSettings :: Lens' AudioDescription (Maybe AudioNormalizationSettings)
adAudioNormalizationSettings = lens _adAudioNormalizationSettings (\ s a -> s{_adAudioNormalizationSettings = a})
adLanguageCodeControl :: Lens' AudioDescription (Maybe AudioDescriptionLanguageCodeControl)
adLanguageCodeControl = lens _adLanguageCodeControl (\ s a -> s{_adLanguageCodeControl = a})
adCodecSettings :: Lens' AudioDescription (Maybe AudioCodecSettings)
adCodecSettings = lens _adCodecSettings (\ s a -> s{_adCodecSettings = a})
adStreamName :: Lens' AudioDescription (Maybe Text)
adStreamName = lens _adStreamName (\ s a -> s{_adStreamName = a})
adRemixSettings :: Lens' AudioDescription (Maybe RemixSettings)
adRemixSettings = lens _adRemixSettings (\ s a -> s{_adRemixSettings = a})
adAudioTypeControl :: Lens' AudioDescription (Maybe AudioDescriptionAudioTypeControl)
adAudioTypeControl = lens _adAudioTypeControl (\ s a -> s{_adAudioTypeControl = a})
adAudioSelectorName :: Lens' AudioDescription Text
adAudioSelectorName = lens _adAudioSelectorName (\ s a -> s{_adAudioSelectorName = a})
adName :: Lens' AudioDescription Text
adName = lens _adName (\ s a -> s{_adName = a})
instance FromJSON AudioDescription where
parseJSON
= withObject "AudioDescription"
(\ x ->
AudioDescription' <$>
(x .:? "languageCode") <*> (x .:? "audioType") <*>
(x .:? "audioNormalizationSettings")
<*> (x .:? "languageCodeControl")
<*> (x .:? "codecSettings")
<*> (x .:? "streamName")
<*> (x .:? "remixSettings")
<*> (x .:? "audioTypeControl")
<*> (x .: "audioSelectorName")
<*> (x .: "name"))
instance Hashable AudioDescription where
instance NFData AudioDescription where
instance ToJSON AudioDescription where
toJSON AudioDescription'{..}
= object
(catMaybes
[("languageCode" .=) <$> _adLanguageCode,
("audioType" .=) <$> _adAudioType,
("audioNormalizationSettings" .=) <$>
_adAudioNormalizationSettings,
("languageCodeControl" .=) <$>
_adLanguageCodeControl,
("codecSettings" .=) <$> _adCodecSettings,
("streamName" .=) <$> _adStreamName,
("remixSettings" .=) <$> _adRemixSettings,
("audioTypeControl" .=) <$> _adAudioTypeControl,
Just ("audioSelectorName" .= _adAudioSelectorName),
Just ("name" .= _adName)])
data AudioLanguageSelection = AudioLanguageSelection'
{ _alsLanguageSelectionPolicy :: !(Maybe AudioLanguageSelectionPolicy)
, _alsLanguageCode :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioLanguageSelection
:: Text
-> AudioLanguageSelection
audioLanguageSelection pLanguageCode_ =
AudioLanguageSelection'
{_alsLanguageSelectionPolicy = Nothing, _alsLanguageCode = pLanguageCode_}
alsLanguageSelectionPolicy :: Lens' AudioLanguageSelection (Maybe AudioLanguageSelectionPolicy)
alsLanguageSelectionPolicy = lens _alsLanguageSelectionPolicy (\ s a -> s{_alsLanguageSelectionPolicy = a})
alsLanguageCode :: Lens' AudioLanguageSelection Text
alsLanguageCode = lens _alsLanguageCode (\ s a -> s{_alsLanguageCode = a})
instance FromJSON AudioLanguageSelection where
parseJSON
= withObject "AudioLanguageSelection"
(\ x ->
AudioLanguageSelection' <$>
(x .:? "languageSelectionPolicy") <*>
(x .: "languageCode"))
instance Hashable AudioLanguageSelection where
instance NFData AudioLanguageSelection where
instance ToJSON AudioLanguageSelection where
toJSON AudioLanguageSelection'{..}
= object
(catMaybes
[("languageSelectionPolicy" .=) <$>
_alsLanguageSelectionPolicy,
Just ("languageCode" .= _alsLanguageCode)])
data AudioNormalizationSettings = AudioNormalizationSettings'
{ _ansAlgorithmControl :: !(Maybe AudioNormalizationAlgorithmControl)
, _ansTargetLkfs :: !(Maybe Double)
, _ansAlgorithm :: !(Maybe AudioNormalizationAlgorithm)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioNormalizationSettings
:: AudioNormalizationSettings
audioNormalizationSettings =
AudioNormalizationSettings'
{ _ansAlgorithmControl = Nothing
, _ansTargetLkfs = Nothing
, _ansAlgorithm = Nothing
}
ansAlgorithmControl :: Lens' AudioNormalizationSettings (Maybe AudioNormalizationAlgorithmControl)
ansAlgorithmControl = lens _ansAlgorithmControl (\ s a -> s{_ansAlgorithmControl = a})
ansTargetLkfs :: Lens' AudioNormalizationSettings (Maybe Double)
ansTargetLkfs = lens _ansTargetLkfs (\ s a -> s{_ansTargetLkfs = a})
ansAlgorithm :: Lens' AudioNormalizationSettings (Maybe AudioNormalizationAlgorithm)
ansAlgorithm = lens _ansAlgorithm (\ s a -> s{_ansAlgorithm = a})
instance FromJSON AudioNormalizationSettings where
parseJSON
= withObject "AudioNormalizationSettings"
(\ x ->
AudioNormalizationSettings' <$>
(x .:? "algorithmControl") <*> (x .:? "targetLkfs")
<*> (x .:? "algorithm"))
instance Hashable AudioNormalizationSettings where
instance NFData AudioNormalizationSettings where
instance ToJSON AudioNormalizationSettings where
toJSON AudioNormalizationSettings'{..}
= object
(catMaybes
[("algorithmControl" .=) <$> _ansAlgorithmControl,
("targetLkfs" .=) <$> _ansTargetLkfs,
("algorithm" .=) <$> _ansAlgorithm])
data AudioOnlyHlsSettings = AudioOnlyHlsSettings'
{ _aohsAudioOnlyImage :: !(Maybe InputLocation)
, _aohsAudioGroupId :: !(Maybe Text)
, _aohsAudioTrackType :: !(Maybe AudioOnlyHlsTrackType)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioOnlyHlsSettings
:: AudioOnlyHlsSettings
audioOnlyHlsSettings =
AudioOnlyHlsSettings'
{ _aohsAudioOnlyImage = Nothing
, _aohsAudioGroupId = Nothing
, _aohsAudioTrackType = Nothing
}
aohsAudioOnlyImage :: Lens' AudioOnlyHlsSettings (Maybe InputLocation)
aohsAudioOnlyImage = lens _aohsAudioOnlyImage (\ s a -> s{_aohsAudioOnlyImage = a})
aohsAudioGroupId :: Lens' AudioOnlyHlsSettings (Maybe Text)
aohsAudioGroupId = lens _aohsAudioGroupId (\ s a -> s{_aohsAudioGroupId = a})
aohsAudioTrackType :: Lens' AudioOnlyHlsSettings (Maybe AudioOnlyHlsTrackType)
aohsAudioTrackType = lens _aohsAudioTrackType (\ s a -> s{_aohsAudioTrackType = a})
instance FromJSON AudioOnlyHlsSettings where
parseJSON
= withObject "AudioOnlyHlsSettings"
(\ x ->
AudioOnlyHlsSettings' <$>
(x .:? "audioOnlyImage") <*> (x .:? "audioGroupId")
<*> (x .:? "audioTrackType"))
instance Hashable AudioOnlyHlsSettings where
instance NFData AudioOnlyHlsSettings where
instance ToJSON AudioOnlyHlsSettings where
toJSON AudioOnlyHlsSettings'{..}
= object
(catMaybes
[("audioOnlyImage" .=) <$> _aohsAudioOnlyImage,
("audioGroupId" .=) <$> _aohsAudioGroupId,
("audioTrackType" .=) <$> _aohsAudioTrackType])
newtype AudioPidSelection = AudioPidSelection'
{ _apsPid :: Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioPidSelection
:: Natural
-> AudioPidSelection
audioPidSelection pPid_ = AudioPidSelection' {_apsPid = _Nat # pPid_}
apsPid :: Lens' AudioPidSelection Natural
apsPid = lens _apsPid (\ s a -> s{_apsPid = a}) . _Nat
instance FromJSON AudioPidSelection where
parseJSON
= withObject "AudioPidSelection"
(\ x -> AudioPidSelection' <$> (x .: "pid"))
instance Hashable AudioPidSelection where
instance NFData AudioPidSelection where
instance ToJSON AudioPidSelection where
toJSON AudioPidSelection'{..}
= object (catMaybes [Just ("pid" .= _apsPid)])
data AudioSelector = AudioSelector'
{ _asSelectorSettings :: !(Maybe AudioSelectorSettings)
, _asName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioSelector
:: Text
-> AudioSelector
audioSelector pName_ =
AudioSelector' {_asSelectorSettings = Nothing, _asName = pName_}
asSelectorSettings :: Lens' AudioSelector (Maybe AudioSelectorSettings)
asSelectorSettings = lens _asSelectorSettings (\ s a -> s{_asSelectorSettings = a})
asName :: Lens' AudioSelector Text
asName = lens _asName (\ s a -> s{_asName = a})
instance FromJSON AudioSelector where
parseJSON
= withObject "AudioSelector"
(\ x ->
AudioSelector' <$>
(x .:? "selectorSettings") <*> (x .: "name"))
instance Hashable AudioSelector where
instance NFData AudioSelector where
instance ToJSON AudioSelector where
toJSON AudioSelector'{..}
= object
(catMaybes
[("selectorSettings" .=) <$> _asSelectorSettings,
Just ("name" .= _asName)])
data AudioSelectorSettings = AudioSelectorSettings'
{ _assAudioLanguageSelection :: !(Maybe AudioLanguageSelection)
, _assAudioPidSelection :: !(Maybe AudioPidSelection)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
audioSelectorSettings
:: AudioSelectorSettings
audioSelectorSettings =
AudioSelectorSettings'
{_assAudioLanguageSelection = Nothing, _assAudioPidSelection = Nothing}
assAudioLanguageSelection :: Lens' AudioSelectorSettings (Maybe AudioLanguageSelection)
assAudioLanguageSelection = lens _assAudioLanguageSelection (\ s a -> s{_assAudioLanguageSelection = a})
assAudioPidSelection :: Lens' AudioSelectorSettings (Maybe AudioPidSelection)
assAudioPidSelection = lens _assAudioPidSelection (\ s a -> s{_assAudioPidSelection = a})
instance FromJSON AudioSelectorSettings where
parseJSON
= withObject "AudioSelectorSettings"
(\ x ->
AudioSelectorSettings' <$>
(x .:? "audioLanguageSelection") <*>
(x .:? "audioPidSelection"))
instance Hashable AudioSelectorSettings where
instance NFData AudioSelectorSettings where
instance ToJSON AudioSelectorSettings where
toJSON AudioSelectorSettings'{..}
= object
(catMaybes
[("audioLanguageSelection" .=) <$>
_assAudioLanguageSelection,
("audioPidSelection" .=) <$> _assAudioPidSelection])
data AvailBlanking = AvailBlanking'
{ _abState :: !(Maybe AvailBlankingState)
, _abAvailBlankingImage :: !(Maybe InputLocation)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
availBlanking
:: AvailBlanking
availBlanking =
AvailBlanking' {_abState = Nothing, _abAvailBlankingImage = Nothing}
abState :: Lens' AvailBlanking (Maybe AvailBlankingState)
abState = lens _abState (\ s a -> s{_abState = a})
abAvailBlankingImage :: Lens' AvailBlanking (Maybe InputLocation)
abAvailBlankingImage = lens _abAvailBlankingImage (\ s a -> s{_abAvailBlankingImage = a})
instance FromJSON AvailBlanking where
parseJSON
= withObject "AvailBlanking"
(\ x ->
AvailBlanking' <$>
(x .:? "state") <*> (x .:? "availBlankingImage"))
instance Hashable AvailBlanking where
instance NFData AvailBlanking where
instance ToJSON AvailBlanking where
toJSON AvailBlanking'{..}
= object
(catMaybes
[("state" .=) <$> _abState,
("availBlankingImage" .=) <$> _abAvailBlankingImage])
newtype AvailConfiguration = AvailConfiguration'
{ _acAvailSettings :: Maybe AvailSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
availConfiguration
:: AvailConfiguration
availConfiguration = AvailConfiguration' {_acAvailSettings = Nothing}
acAvailSettings :: Lens' AvailConfiguration (Maybe AvailSettings)
acAvailSettings = lens _acAvailSettings (\ s a -> s{_acAvailSettings = a})
instance FromJSON AvailConfiguration where
parseJSON
= withObject "AvailConfiguration"
(\ x ->
AvailConfiguration' <$> (x .:? "availSettings"))
instance Hashable AvailConfiguration where
instance NFData AvailConfiguration where
instance ToJSON AvailConfiguration where
toJSON AvailConfiguration'{..}
= object
(catMaybes
[("availSettings" .=) <$> _acAvailSettings])
data AvailSettings = AvailSettings'
{ _asScte35SpliceInsert :: !(Maybe Scte35SpliceInsert)
, _asScte35TimeSignalApos :: !(Maybe Scte35TimeSignalApos)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
availSettings
:: AvailSettings
availSettings =
AvailSettings'
{_asScte35SpliceInsert = Nothing, _asScte35TimeSignalApos = Nothing}
asScte35SpliceInsert :: Lens' AvailSettings (Maybe Scte35SpliceInsert)
asScte35SpliceInsert = lens _asScte35SpliceInsert (\ s a -> s{_asScte35SpliceInsert = a})
asScte35TimeSignalApos :: Lens' AvailSettings (Maybe Scte35TimeSignalApos)
asScte35TimeSignalApos = lens _asScte35TimeSignalApos (\ s a -> s{_asScte35TimeSignalApos = a})
instance FromJSON AvailSettings where
parseJSON
= withObject "AvailSettings"
(\ x ->
AvailSettings' <$>
(x .:? "scte35SpliceInsert") <*>
(x .:? "scte35TimeSignalApos"))
instance Hashable AvailSettings where
instance NFData AvailSettings where
instance ToJSON AvailSettings where
toJSON AvailSettings'{..}
= object
(catMaybes
[("scte35SpliceInsert" .=) <$> _asScte35SpliceInsert,
("scte35TimeSignalApos" .=) <$>
_asScte35TimeSignalApos])
data BlackoutSlate = BlackoutSlate'
{ _bsNetworkEndBlackoutImage :: !(Maybe InputLocation)
, _bsState :: !(Maybe BlackoutSlateState)
, _bsNetworkEndBlackout :: !(Maybe BlackoutSlateNetworkEndBlackout)
, _bsNetworkId :: !(Maybe Text)
, _bsBlackoutSlateImage :: !(Maybe InputLocation)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
blackoutSlate
:: BlackoutSlate
blackoutSlate =
BlackoutSlate'
{ _bsNetworkEndBlackoutImage = Nothing
, _bsState = Nothing
, _bsNetworkEndBlackout = Nothing
, _bsNetworkId = Nothing
, _bsBlackoutSlateImage = Nothing
}
bsNetworkEndBlackoutImage :: Lens' BlackoutSlate (Maybe InputLocation)
bsNetworkEndBlackoutImage = lens _bsNetworkEndBlackoutImage (\ s a -> s{_bsNetworkEndBlackoutImage = a})
bsState :: Lens' BlackoutSlate (Maybe BlackoutSlateState)
bsState = lens _bsState (\ s a -> s{_bsState = a})
bsNetworkEndBlackout :: Lens' BlackoutSlate (Maybe BlackoutSlateNetworkEndBlackout)
bsNetworkEndBlackout = lens _bsNetworkEndBlackout (\ s a -> s{_bsNetworkEndBlackout = a})
bsNetworkId :: Lens' BlackoutSlate (Maybe Text)
bsNetworkId = lens _bsNetworkId (\ s a -> s{_bsNetworkId = a})
bsBlackoutSlateImage :: Lens' BlackoutSlate (Maybe InputLocation)
bsBlackoutSlateImage = lens _bsBlackoutSlateImage (\ s a -> s{_bsBlackoutSlateImage = a})
instance FromJSON BlackoutSlate where
parseJSON
= withObject "BlackoutSlate"
(\ x ->
BlackoutSlate' <$>
(x .:? "networkEndBlackoutImage") <*> (x .:? "state")
<*> (x .:? "networkEndBlackout")
<*> (x .:? "networkId")
<*> (x .:? "blackoutSlateImage"))
instance Hashable BlackoutSlate where
instance NFData BlackoutSlate where
instance ToJSON BlackoutSlate where
toJSON BlackoutSlate'{..}
= object
(catMaybes
[("networkEndBlackoutImage" .=) <$>
_bsNetworkEndBlackoutImage,
("state" .=) <$> _bsState,
("networkEndBlackout" .=) <$> _bsNetworkEndBlackout,
("networkId" .=) <$> _bsNetworkId,
("blackoutSlateImage" .=) <$> _bsBlackoutSlateImage])
data BurnInDestinationSettings = BurnInDestinationSettings'
{ _bidsBackgroundOpacity :: !(Maybe Nat)
, _bidsFontOpacity :: !(Maybe Nat)
, _bidsShadowYOffset :: !(Maybe Int)
, _bidsFontResolution :: !(Maybe Nat)
, _bidsYPosition :: !(Maybe Nat)
, _bidsBackgroundColor :: !(Maybe BurnInBackgroundColor)
, _bidsShadowXOffset :: !(Maybe Int)
, _bidsFontSize :: !(Maybe Text)
, _bidsXPosition :: !(Maybe Nat)
, _bidsAlignment :: !(Maybe BurnInAlignment)
, _bidsShadowOpacity :: !(Maybe Nat)
, _bidsTeletextGridControl :: !(Maybe BurnInTeletextGridControl)
, _bidsOutlineColor :: !(Maybe BurnInOutlineColor)
, _bidsOutlineSize :: !(Maybe Nat)
, _bidsFont :: !(Maybe InputLocation)
, _bidsShadowColor :: !(Maybe BurnInShadowColor)
, _bidsFontColor :: !(Maybe BurnInFontColor)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
burnInDestinationSettings
:: BurnInDestinationSettings
burnInDestinationSettings =
BurnInDestinationSettings'
{ _bidsBackgroundOpacity = Nothing
, _bidsFontOpacity = Nothing
, _bidsShadowYOffset = Nothing
, _bidsFontResolution = Nothing
, _bidsYPosition = Nothing
, _bidsBackgroundColor = Nothing
, _bidsShadowXOffset = Nothing
, _bidsFontSize = Nothing
, _bidsXPosition = Nothing
, _bidsAlignment = Nothing
, _bidsShadowOpacity = Nothing
, _bidsTeletextGridControl = Nothing
, _bidsOutlineColor = Nothing
, _bidsOutlineSize = Nothing
, _bidsFont = Nothing
, _bidsShadowColor = Nothing
, _bidsFontColor = Nothing
}
bidsBackgroundOpacity :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsBackgroundOpacity = lens _bidsBackgroundOpacity (\ s a -> s{_bidsBackgroundOpacity = a}) . mapping _Nat
bidsFontOpacity :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsFontOpacity = lens _bidsFontOpacity (\ s a -> s{_bidsFontOpacity = a}) . mapping _Nat
bidsShadowYOffset :: Lens' BurnInDestinationSettings (Maybe Int)
bidsShadowYOffset = lens _bidsShadowYOffset (\ s a -> s{_bidsShadowYOffset = a})
bidsFontResolution :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsFontResolution = lens _bidsFontResolution (\ s a -> s{_bidsFontResolution = a}) . mapping _Nat
bidsYPosition :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsYPosition = lens _bidsYPosition (\ s a -> s{_bidsYPosition = a}) . mapping _Nat
bidsBackgroundColor :: Lens' BurnInDestinationSettings (Maybe BurnInBackgroundColor)
bidsBackgroundColor = lens _bidsBackgroundColor (\ s a -> s{_bidsBackgroundColor = a})
bidsShadowXOffset :: Lens' BurnInDestinationSettings (Maybe Int)
bidsShadowXOffset = lens _bidsShadowXOffset (\ s a -> s{_bidsShadowXOffset = a})
bidsFontSize :: Lens' BurnInDestinationSettings (Maybe Text)
bidsFontSize = lens _bidsFontSize (\ s a -> s{_bidsFontSize = a})
bidsXPosition :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsXPosition = lens _bidsXPosition (\ s a -> s{_bidsXPosition = a}) . mapping _Nat
bidsAlignment :: Lens' BurnInDestinationSettings (Maybe BurnInAlignment)
bidsAlignment = lens _bidsAlignment (\ s a -> s{_bidsAlignment = a})
bidsShadowOpacity :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsShadowOpacity = lens _bidsShadowOpacity (\ s a -> s{_bidsShadowOpacity = a}) . mapping _Nat
bidsTeletextGridControl :: Lens' BurnInDestinationSettings (Maybe BurnInTeletextGridControl)
bidsTeletextGridControl = lens _bidsTeletextGridControl (\ s a -> s{_bidsTeletextGridControl = a})
bidsOutlineColor :: Lens' BurnInDestinationSettings (Maybe BurnInOutlineColor)
bidsOutlineColor = lens _bidsOutlineColor (\ s a -> s{_bidsOutlineColor = a})
bidsOutlineSize :: Lens' BurnInDestinationSettings (Maybe Natural)
bidsOutlineSize = lens _bidsOutlineSize (\ s a -> s{_bidsOutlineSize = a}) . mapping _Nat
bidsFont :: Lens' BurnInDestinationSettings (Maybe InputLocation)
bidsFont = lens _bidsFont (\ s a -> s{_bidsFont = a})
bidsShadowColor :: Lens' BurnInDestinationSettings (Maybe BurnInShadowColor)
bidsShadowColor = lens _bidsShadowColor (\ s a -> s{_bidsShadowColor = a})
bidsFontColor :: Lens' BurnInDestinationSettings (Maybe BurnInFontColor)
bidsFontColor = lens _bidsFontColor (\ s a -> s{_bidsFontColor = a})
instance FromJSON BurnInDestinationSettings where
parseJSON
= withObject "BurnInDestinationSettings"
(\ x ->
BurnInDestinationSettings' <$>
(x .:? "backgroundOpacity") <*> (x .:? "fontOpacity")
<*> (x .:? "shadowYOffset")
<*> (x .:? "fontResolution")
<*> (x .:? "yPosition")
<*> (x .:? "backgroundColor")
<*> (x .:? "shadowXOffset")
<*> (x .:? "fontSize")
<*> (x .:? "xPosition")
<*> (x .:? "alignment")
<*> (x .:? "shadowOpacity")
<*> (x .:? "teletextGridControl")
<*> (x .:? "outlineColor")
<*> (x .:? "outlineSize")
<*> (x .:? "font")
<*> (x .:? "shadowColor")
<*> (x .:? "fontColor"))
instance Hashable BurnInDestinationSettings where
instance NFData BurnInDestinationSettings where
instance ToJSON BurnInDestinationSettings where
toJSON BurnInDestinationSettings'{..}
= object
(catMaybes
[("backgroundOpacity" .=) <$> _bidsBackgroundOpacity,
("fontOpacity" .=) <$> _bidsFontOpacity,
("shadowYOffset" .=) <$> _bidsShadowYOffset,
("fontResolution" .=) <$> _bidsFontResolution,
("yPosition" .=) <$> _bidsYPosition,
("backgroundColor" .=) <$> _bidsBackgroundColor,
("shadowXOffset" .=) <$> _bidsShadowXOffset,
("fontSize" .=) <$> _bidsFontSize,
("xPosition" .=) <$> _bidsXPosition,
("alignment" .=) <$> _bidsAlignment,
("shadowOpacity" .=) <$> _bidsShadowOpacity,
("teletextGridControl" .=) <$>
_bidsTeletextGridControl,
("outlineColor" .=) <$> _bidsOutlineColor,
("outlineSize" .=) <$> _bidsOutlineSize,
("font" .=) <$> _bidsFont,
("shadowColor" .=) <$> _bidsShadowColor,
("fontColor" .=) <$> _bidsFontColor])
data CaptionDescription = CaptionDescription'
{ _cdLanguageCode :: !(Maybe Text)
, _cdDestinationSettings :: !(Maybe CaptionDestinationSettings)
, _cdLanguageDescription :: !(Maybe Text)
, _cdCaptionSelectorName :: !Text
, _cdName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
captionDescription
:: Text
-> Text
-> CaptionDescription
captionDescription pCaptionSelectorName_ pName_ =
CaptionDescription'
{ _cdLanguageCode = Nothing
, _cdDestinationSettings = Nothing
, _cdLanguageDescription = Nothing
, _cdCaptionSelectorName = pCaptionSelectorName_
, _cdName = pName_
}
cdLanguageCode :: Lens' CaptionDescription (Maybe Text)
cdLanguageCode = lens _cdLanguageCode (\ s a -> s{_cdLanguageCode = a})
cdDestinationSettings :: Lens' CaptionDescription (Maybe CaptionDestinationSettings)
cdDestinationSettings = lens _cdDestinationSettings (\ s a -> s{_cdDestinationSettings = a})
cdLanguageDescription :: Lens' CaptionDescription (Maybe Text)
cdLanguageDescription = lens _cdLanguageDescription (\ s a -> s{_cdLanguageDescription = a})
cdCaptionSelectorName :: Lens' CaptionDescription Text
cdCaptionSelectorName = lens _cdCaptionSelectorName (\ s a -> s{_cdCaptionSelectorName = a})
cdName :: Lens' CaptionDescription Text
cdName = lens _cdName (\ s a -> s{_cdName = a})
instance FromJSON CaptionDescription where
parseJSON
= withObject "CaptionDescription"
(\ x ->
CaptionDescription' <$>
(x .:? "languageCode") <*>
(x .:? "destinationSettings")
<*> (x .:? "languageDescription")
<*> (x .: "captionSelectorName")
<*> (x .: "name"))
instance Hashable CaptionDescription where
instance NFData CaptionDescription where
instance ToJSON CaptionDescription where
toJSON CaptionDescription'{..}
= object
(catMaybes
[("languageCode" .=) <$> _cdLanguageCode,
("destinationSettings" .=) <$>
_cdDestinationSettings,
("languageDescription" .=) <$>
_cdLanguageDescription,
Just
("captionSelectorName" .= _cdCaptionSelectorName),
Just ("name" .= _cdName)])
data CaptionDestinationSettings = CaptionDestinationSettings'
{ _cdsTeletextDestinationSettings :: !(Maybe TeletextDestinationSettings)
, _cdsRtmpCaptionInfoDestinationSettings :: !(Maybe RtmpCaptionInfoDestinationSettings)
, _cdsDvbSubDestinationSettings :: !(Maybe DvbSubDestinationSettings)
, _cdsScte27DestinationSettings :: !(Maybe Scte27DestinationSettings)
, _cdsTtmlDestinationSettings :: !(Maybe TtmlDestinationSettings)
, _cdsScte20PlusEmbeddedDestinationSettings :: !(Maybe Scte20PlusEmbeddedDestinationSettings)
, _cdsEmbeddedPlusScte20DestinationSettings :: !(Maybe EmbeddedPlusScte20DestinationSettings)
, _cdsSmpteTtDestinationSettings :: !(Maybe SmpteTtDestinationSettings)
, _cdsWebvttDestinationSettings :: !(Maybe WebvttDestinationSettings)
, _cdsEmbeddedDestinationSettings :: !(Maybe EmbeddedDestinationSettings)
, _cdsBurnInDestinationSettings :: !(Maybe BurnInDestinationSettings)
, _cdsAribDestinationSettings :: !(Maybe AribDestinationSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
captionDestinationSettings
:: CaptionDestinationSettings
captionDestinationSettings =
CaptionDestinationSettings'
{ _cdsTeletextDestinationSettings = Nothing
, _cdsRtmpCaptionInfoDestinationSettings = Nothing
, _cdsDvbSubDestinationSettings = Nothing
, _cdsScte27DestinationSettings = Nothing
, _cdsTtmlDestinationSettings = Nothing
, _cdsScte20PlusEmbeddedDestinationSettings = Nothing
, _cdsEmbeddedPlusScte20DestinationSettings = Nothing
, _cdsSmpteTtDestinationSettings = Nothing
, _cdsWebvttDestinationSettings = Nothing
, _cdsEmbeddedDestinationSettings = Nothing
, _cdsBurnInDestinationSettings = Nothing
, _cdsAribDestinationSettings = Nothing
}
cdsTeletextDestinationSettings :: Lens' CaptionDestinationSettings (Maybe TeletextDestinationSettings)
cdsTeletextDestinationSettings = lens _cdsTeletextDestinationSettings (\ s a -> s{_cdsTeletextDestinationSettings = a})
cdsRtmpCaptionInfoDestinationSettings :: Lens' CaptionDestinationSettings (Maybe RtmpCaptionInfoDestinationSettings)
cdsRtmpCaptionInfoDestinationSettings = lens _cdsRtmpCaptionInfoDestinationSettings (\ s a -> s{_cdsRtmpCaptionInfoDestinationSettings = a})
cdsDvbSubDestinationSettings :: Lens' CaptionDestinationSettings (Maybe DvbSubDestinationSettings)
cdsDvbSubDestinationSettings = lens _cdsDvbSubDestinationSettings (\ s a -> s{_cdsDvbSubDestinationSettings = a})
cdsScte27DestinationSettings :: Lens' CaptionDestinationSettings (Maybe Scte27DestinationSettings)
cdsScte27DestinationSettings = lens _cdsScte27DestinationSettings (\ s a -> s{_cdsScte27DestinationSettings = a})
cdsTtmlDestinationSettings :: Lens' CaptionDestinationSettings (Maybe TtmlDestinationSettings)
cdsTtmlDestinationSettings = lens _cdsTtmlDestinationSettings (\ s a -> s{_cdsTtmlDestinationSettings = a})
cdsScte20PlusEmbeddedDestinationSettings :: Lens' CaptionDestinationSettings (Maybe Scte20PlusEmbeddedDestinationSettings)
cdsScte20PlusEmbeddedDestinationSettings = lens _cdsScte20PlusEmbeddedDestinationSettings (\ s a -> s{_cdsScte20PlusEmbeddedDestinationSettings = a})
cdsEmbeddedPlusScte20DestinationSettings :: Lens' CaptionDestinationSettings (Maybe EmbeddedPlusScte20DestinationSettings)
cdsEmbeddedPlusScte20DestinationSettings = lens _cdsEmbeddedPlusScte20DestinationSettings (\ s a -> s{_cdsEmbeddedPlusScte20DestinationSettings = a})
cdsSmpteTtDestinationSettings :: Lens' CaptionDestinationSettings (Maybe SmpteTtDestinationSettings)
cdsSmpteTtDestinationSettings = lens _cdsSmpteTtDestinationSettings (\ s a -> s{_cdsSmpteTtDestinationSettings = a})
cdsWebvttDestinationSettings :: Lens' CaptionDestinationSettings (Maybe WebvttDestinationSettings)
cdsWebvttDestinationSettings = lens _cdsWebvttDestinationSettings (\ s a -> s{_cdsWebvttDestinationSettings = a})
cdsEmbeddedDestinationSettings :: Lens' CaptionDestinationSettings (Maybe EmbeddedDestinationSettings)
cdsEmbeddedDestinationSettings = lens _cdsEmbeddedDestinationSettings (\ s a -> s{_cdsEmbeddedDestinationSettings = a})
cdsBurnInDestinationSettings :: Lens' CaptionDestinationSettings (Maybe BurnInDestinationSettings)
cdsBurnInDestinationSettings = lens _cdsBurnInDestinationSettings (\ s a -> s{_cdsBurnInDestinationSettings = a})
cdsAribDestinationSettings :: Lens' CaptionDestinationSettings (Maybe AribDestinationSettings)
cdsAribDestinationSettings = lens _cdsAribDestinationSettings (\ s a -> s{_cdsAribDestinationSettings = a})
instance FromJSON CaptionDestinationSettings where
parseJSON
= withObject "CaptionDestinationSettings"
(\ x ->
CaptionDestinationSettings' <$>
(x .:? "teletextDestinationSettings") <*>
(x .:? "rtmpCaptionInfoDestinationSettings")
<*> (x .:? "dvbSubDestinationSettings")
<*> (x .:? "scte27DestinationSettings")
<*> (x .:? "ttmlDestinationSettings")
<*> (x .:? "scte20PlusEmbeddedDestinationSettings")
<*> (x .:? "embeddedPlusScte20DestinationSettings")
<*> (x .:? "smpteTtDestinationSettings")
<*> (x .:? "webvttDestinationSettings")
<*> (x .:? "embeddedDestinationSettings")
<*> (x .:? "burnInDestinationSettings")
<*> (x .:? "aribDestinationSettings"))
instance Hashable CaptionDestinationSettings where
instance NFData CaptionDestinationSettings where
instance ToJSON CaptionDestinationSettings where
toJSON CaptionDestinationSettings'{..}
= object
(catMaybes
[("teletextDestinationSettings" .=) <$>
_cdsTeletextDestinationSettings,
("rtmpCaptionInfoDestinationSettings" .=) <$>
_cdsRtmpCaptionInfoDestinationSettings,
("dvbSubDestinationSettings" .=) <$>
_cdsDvbSubDestinationSettings,
("scte27DestinationSettings" .=) <$>
_cdsScte27DestinationSettings,
("ttmlDestinationSettings" .=) <$>
_cdsTtmlDestinationSettings,
("scte20PlusEmbeddedDestinationSettings" .=) <$>
_cdsScte20PlusEmbeddedDestinationSettings,
("embeddedPlusScte20DestinationSettings" .=) <$>
_cdsEmbeddedPlusScte20DestinationSettings,
("smpteTtDestinationSettings" .=) <$>
_cdsSmpteTtDestinationSettings,
("webvttDestinationSettings" .=) <$>
_cdsWebvttDestinationSettings,
("embeddedDestinationSettings" .=) <$>
_cdsEmbeddedDestinationSettings,
("burnInDestinationSettings" .=) <$>
_cdsBurnInDestinationSettings,
("aribDestinationSettings" .=) <$>
_cdsAribDestinationSettings])
data CaptionLanguageMapping = CaptionLanguageMapping'
{ _clmLanguageCode :: !Text
, _clmLanguageDescription :: !Text
, _clmCaptionChannel :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
captionLanguageMapping
:: Text
-> Text
-> Natural
-> CaptionLanguageMapping
captionLanguageMapping pLanguageCode_ pLanguageDescription_ pCaptionChannel_ =
CaptionLanguageMapping'
{ _clmLanguageCode = pLanguageCode_
, _clmLanguageDescription = pLanguageDescription_
, _clmCaptionChannel = _Nat # pCaptionChannel_
}
clmLanguageCode :: Lens' CaptionLanguageMapping Text
clmLanguageCode = lens _clmLanguageCode (\ s a -> s{_clmLanguageCode = a})
clmLanguageDescription :: Lens' CaptionLanguageMapping Text
clmLanguageDescription = lens _clmLanguageDescription (\ s a -> s{_clmLanguageDescription = a})
clmCaptionChannel :: Lens' CaptionLanguageMapping Natural
clmCaptionChannel = lens _clmCaptionChannel (\ s a -> s{_clmCaptionChannel = a}) . _Nat
instance FromJSON CaptionLanguageMapping where
parseJSON
= withObject "CaptionLanguageMapping"
(\ x ->
CaptionLanguageMapping' <$>
(x .: "languageCode") <*>
(x .: "languageDescription")
<*> (x .: "captionChannel"))
instance Hashable CaptionLanguageMapping where
instance NFData CaptionLanguageMapping where
instance ToJSON CaptionLanguageMapping where
toJSON CaptionLanguageMapping'{..}
= object
(catMaybes
[Just ("languageCode" .= _clmLanguageCode),
Just
("languageDescription" .= _clmLanguageDescription),
Just ("captionChannel" .= _clmCaptionChannel)])
data CaptionSelector = CaptionSelector'
{ _csLanguageCode :: !(Maybe Text)
, _csSelectorSettings :: !(Maybe CaptionSelectorSettings)
, _csName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
captionSelector
:: Text
-> CaptionSelector
captionSelector pName_ =
CaptionSelector'
{_csLanguageCode = Nothing, _csSelectorSettings = Nothing, _csName = pName_}
csLanguageCode :: Lens' CaptionSelector (Maybe Text)
csLanguageCode = lens _csLanguageCode (\ s a -> s{_csLanguageCode = a})
csSelectorSettings :: Lens' CaptionSelector (Maybe CaptionSelectorSettings)
csSelectorSettings = lens _csSelectorSettings (\ s a -> s{_csSelectorSettings = a})
csName :: Lens' CaptionSelector Text
csName = lens _csName (\ s a -> s{_csName = a})
instance FromJSON CaptionSelector where
parseJSON
= withObject "CaptionSelector"
(\ x ->
CaptionSelector' <$>
(x .:? "languageCode") <*> (x .:? "selectorSettings")
<*> (x .: "name"))
instance Hashable CaptionSelector where
instance NFData CaptionSelector where
instance ToJSON CaptionSelector where
toJSON CaptionSelector'{..}
= object
(catMaybes
[("languageCode" .=) <$> _csLanguageCode,
("selectorSettings" .=) <$> _csSelectorSettings,
Just ("name" .= _csName)])
data CaptionSelectorSettings = CaptionSelectorSettings'
{ _cssTeletextSourceSettings :: !(Maybe TeletextSourceSettings)
, _cssAribSourceSettings :: !(Maybe AribSourceSettings)
, _cssScte27SourceSettings :: !(Maybe Scte27SourceSettings)
, _cssDvbSubSourceSettings :: !(Maybe DvbSubSourceSettings)
, _cssScte20SourceSettings :: !(Maybe Scte20SourceSettings)
, _cssEmbeddedSourceSettings :: !(Maybe EmbeddedSourceSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
captionSelectorSettings
:: CaptionSelectorSettings
captionSelectorSettings =
CaptionSelectorSettings'
{ _cssTeletextSourceSettings = Nothing
, _cssAribSourceSettings = Nothing
, _cssScte27SourceSettings = Nothing
, _cssDvbSubSourceSettings = Nothing
, _cssScte20SourceSettings = Nothing
, _cssEmbeddedSourceSettings = Nothing
}
cssTeletextSourceSettings :: Lens' CaptionSelectorSettings (Maybe TeletextSourceSettings)
cssTeletextSourceSettings = lens _cssTeletextSourceSettings (\ s a -> s{_cssTeletextSourceSettings = a})
cssAribSourceSettings :: Lens' CaptionSelectorSettings (Maybe AribSourceSettings)
cssAribSourceSettings = lens _cssAribSourceSettings (\ s a -> s{_cssAribSourceSettings = a})
cssScte27SourceSettings :: Lens' CaptionSelectorSettings (Maybe Scte27SourceSettings)
cssScte27SourceSettings = lens _cssScte27SourceSettings (\ s a -> s{_cssScte27SourceSettings = a})
cssDvbSubSourceSettings :: Lens' CaptionSelectorSettings (Maybe DvbSubSourceSettings)
cssDvbSubSourceSettings = lens _cssDvbSubSourceSettings (\ s a -> s{_cssDvbSubSourceSettings = a})
cssScte20SourceSettings :: Lens' CaptionSelectorSettings (Maybe Scte20SourceSettings)
cssScte20SourceSettings = lens _cssScte20SourceSettings (\ s a -> s{_cssScte20SourceSettings = a})
cssEmbeddedSourceSettings :: Lens' CaptionSelectorSettings (Maybe EmbeddedSourceSettings)
cssEmbeddedSourceSettings = lens _cssEmbeddedSourceSettings (\ s a -> s{_cssEmbeddedSourceSettings = a})
instance FromJSON CaptionSelectorSettings where
parseJSON
= withObject "CaptionSelectorSettings"
(\ x ->
CaptionSelectorSettings' <$>
(x .:? "teletextSourceSettings") <*>
(x .:? "aribSourceSettings")
<*> (x .:? "scte27SourceSettings")
<*> (x .:? "dvbSubSourceSettings")
<*> (x .:? "scte20SourceSettings")
<*> (x .:? "embeddedSourceSettings"))
instance Hashable CaptionSelectorSettings where
instance NFData CaptionSelectorSettings where
instance ToJSON CaptionSelectorSettings where
toJSON CaptionSelectorSettings'{..}
= object
(catMaybes
[("teletextSourceSettings" .=) <$>
_cssTeletextSourceSettings,
("aribSourceSettings" .=) <$> _cssAribSourceSettings,
("scte27SourceSettings" .=) <$>
_cssScte27SourceSettings,
("dvbSubSourceSettings" .=) <$>
_cssDvbSubSourceSettings,
("scte20SourceSettings" .=) <$>
_cssScte20SourceSettings,
("embeddedSourceSettings" .=) <$>
_cssEmbeddedSourceSettings])
data Channel = Channel'
{ _cState :: !(Maybe ChannelState)
, _cARN :: !(Maybe Text)
, _cPipelinesRunningCount :: !(Maybe Int)
, _cInputSpecification :: !(Maybe InputSpecification)
, _cInputAttachments :: !(Maybe [InputAttachment])
, _cDestinations :: !(Maybe [OutputDestination])
, _cName :: !(Maybe Text)
, _cId :: !(Maybe Text)
, _cEgressEndpoints :: !(Maybe [ChannelEgressEndpoint])
, _cEncoderSettings :: !(Maybe EncoderSettings)
, _cRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
channel
:: Channel
channel =
Channel'
{ _cState = Nothing
, _cARN = Nothing
, _cPipelinesRunningCount = Nothing
, _cInputSpecification = Nothing
, _cInputAttachments = Nothing
, _cDestinations = Nothing
, _cName = Nothing
, _cId = Nothing
, _cEgressEndpoints = Nothing
, _cEncoderSettings = Nothing
, _cRoleARN = Nothing
}
cState :: Lens' Channel (Maybe ChannelState)
cState = lens _cState (\ s a -> s{_cState = a})
cARN :: Lens' Channel (Maybe Text)
cARN = lens _cARN (\ s a -> s{_cARN = a})
cPipelinesRunningCount :: Lens' Channel (Maybe Int)
cPipelinesRunningCount = lens _cPipelinesRunningCount (\ s a -> s{_cPipelinesRunningCount = a})
cInputSpecification :: Lens' Channel (Maybe InputSpecification)
cInputSpecification = lens _cInputSpecification (\ s a -> s{_cInputSpecification = a})
cInputAttachments :: Lens' Channel [InputAttachment]
cInputAttachments = lens _cInputAttachments (\ s a -> s{_cInputAttachments = a}) . _Default . _Coerce
cDestinations :: Lens' Channel [OutputDestination]
cDestinations = lens _cDestinations (\ s a -> s{_cDestinations = a}) . _Default . _Coerce
cName :: Lens' Channel (Maybe Text)
cName = lens _cName (\ s a -> s{_cName = a})
cId :: Lens' Channel (Maybe Text)
cId = lens _cId (\ s a -> s{_cId = a})
cEgressEndpoints :: Lens' Channel [ChannelEgressEndpoint]
cEgressEndpoints = lens _cEgressEndpoints (\ s a -> s{_cEgressEndpoints = a}) . _Default . _Coerce
cEncoderSettings :: Lens' Channel (Maybe EncoderSettings)
cEncoderSettings = lens _cEncoderSettings (\ s a -> s{_cEncoderSettings = a})
cRoleARN :: Lens' Channel (Maybe Text)
cRoleARN = lens _cRoleARN (\ s a -> s{_cRoleARN = a})
instance FromJSON Channel where
parseJSON
= withObject "Channel"
(\ x ->
Channel' <$>
(x .:? "state") <*> (x .:? "arn") <*>
(x .:? "pipelinesRunningCount")
<*> (x .:? "inputSpecification")
<*> (x .:? "inputAttachments" .!= mempty)
<*> (x .:? "destinations" .!= mempty)
<*> (x .:? "name")
<*> (x .:? "id")
<*> (x .:? "egressEndpoints" .!= mempty)
<*> (x .:? "encoderSettings")
<*> (x .:? "roleArn"))
instance Hashable Channel where
instance NFData Channel where
newtype ChannelEgressEndpoint = ChannelEgressEndpoint'
{ _ceeSourceIP :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
channelEgressEndpoint
:: ChannelEgressEndpoint
channelEgressEndpoint = ChannelEgressEndpoint' {_ceeSourceIP = Nothing}
ceeSourceIP :: Lens' ChannelEgressEndpoint (Maybe Text)
ceeSourceIP = lens _ceeSourceIP (\ s a -> s{_ceeSourceIP = a})
instance FromJSON ChannelEgressEndpoint where
parseJSON
= withObject "ChannelEgressEndpoint"
(\ x ->
ChannelEgressEndpoint' <$> (x .:? "sourceIp"))
instance Hashable ChannelEgressEndpoint where
instance NFData ChannelEgressEndpoint where
data ChannelSummary = ChannelSummary'
{ _chaState :: !(Maybe ChannelState)
, _chaARN :: !(Maybe Text)
, _chaPipelinesRunningCount :: !(Maybe Int)
, _chaInputSpecification :: !(Maybe InputSpecification)
, _chaInputAttachments :: !(Maybe [InputAttachment])
, _chaDestinations :: !(Maybe [OutputDestination])
, _chaName :: !(Maybe Text)
, _chaId :: !(Maybe Text)
, _chaEgressEndpoints :: !(Maybe [ChannelEgressEndpoint])
, _chaRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
channelSummary
:: ChannelSummary
channelSummary =
ChannelSummary'
{ _chaState = Nothing
, _chaARN = Nothing
, _chaPipelinesRunningCount = Nothing
, _chaInputSpecification = Nothing
, _chaInputAttachments = Nothing
, _chaDestinations = Nothing
, _chaName = Nothing
, _chaId = Nothing
, _chaEgressEndpoints = Nothing
, _chaRoleARN = Nothing
}
chaState :: Lens' ChannelSummary (Maybe ChannelState)
chaState = lens _chaState (\ s a -> s{_chaState = a})
chaARN :: Lens' ChannelSummary (Maybe Text)
chaARN = lens _chaARN (\ s a -> s{_chaARN = a})
chaPipelinesRunningCount :: Lens' ChannelSummary (Maybe Int)
chaPipelinesRunningCount = lens _chaPipelinesRunningCount (\ s a -> s{_chaPipelinesRunningCount = a})
chaInputSpecification :: Lens' ChannelSummary (Maybe InputSpecification)
chaInputSpecification = lens _chaInputSpecification (\ s a -> s{_chaInputSpecification = a})
chaInputAttachments :: Lens' ChannelSummary [InputAttachment]
chaInputAttachments = lens _chaInputAttachments (\ s a -> s{_chaInputAttachments = a}) . _Default . _Coerce
chaDestinations :: Lens' ChannelSummary [OutputDestination]
chaDestinations = lens _chaDestinations (\ s a -> s{_chaDestinations = a}) . _Default . _Coerce
chaName :: Lens' ChannelSummary (Maybe Text)
chaName = lens _chaName (\ s a -> s{_chaName = a})
chaId :: Lens' ChannelSummary (Maybe Text)
chaId = lens _chaId (\ s a -> s{_chaId = a})
chaEgressEndpoints :: Lens' ChannelSummary [ChannelEgressEndpoint]
chaEgressEndpoints = lens _chaEgressEndpoints (\ s a -> s{_chaEgressEndpoints = a}) . _Default . _Coerce
chaRoleARN :: Lens' ChannelSummary (Maybe Text)
chaRoleARN = lens _chaRoleARN (\ s a -> s{_chaRoleARN = a})
instance FromJSON ChannelSummary where
parseJSON
= withObject "ChannelSummary"
(\ x ->
ChannelSummary' <$>
(x .:? "state") <*> (x .:? "arn") <*>
(x .:? "pipelinesRunningCount")
<*> (x .:? "inputSpecification")
<*> (x .:? "inputAttachments" .!= mempty)
<*> (x .:? "destinations" .!= mempty)
<*> (x .:? "name")
<*> (x .:? "id")
<*> (x .:? "egressEndpoints" .!= mempty)
<*> (x .:? "roleArn"))
instance Hashable ChannelSummary where
instance NFData ChannelSummary where
data DvbNitSettings = DvbNitSettings'
{ _dnsRepInterval :: !(Maybe Nat)
, _dnsNetworkName :: !Text
, _dnsNetworkId :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dvbNitSettings
:: Text
-> Natural
-> DvbNitSettings
dvbNitSettings pNetworkName_ pNetworkId_ =
DvbNitSettings'
{ _dnsRepInterval = Nothing
, _dnsNetworkName = pNetworkName_
, _dnsNetworkId = _Nat # pNetworkId_
}
dnsRepInterval :: Lens' DvbNitSettings (Maybe Natural)
dnsRepInterval = lens _dnsRepInterval (\ s a -> s{_dnsRepInterval = a}) . mapping _Nat
dnsNetworkName :: Lens' DvbNitSettings Text
dnsNetworkName = lens _dnsNetworkName (\ s a -> s{_dnsNetworkName = a})
dnsNetworkId :: Lens' DvbNitSettings Natural
dnsNetworkId = lens _dnsNetworkId (\ s a -> s{_dnsNetworkId = a}) . _Nat
instance FromJSON DvbNitSettings where
parseJSON
= withObject "DvbNitSettings"
(\ x ->
DvbNitSettings' <$>
(x .:? "repInterval") <*> (x .: "networkName") <*>
(x .: "networkId"))
instance Hashable DvbNitSettings where
instance NFData DvbNitSettings where
instance ToJSON DvbNitSettings where
toJSON DvbNitSettings'{..}
= object
(catMaybes
[("repInterval" .=) <$> _dnsRepInterval,
Just ("networkName" .= _dnsNetworkName),
Just ("networkId" .= _dnsNetworkId)])
data DvbSdtSettings = DvbSdtSettings'
{ _dssRepInterval :: !(Maybe Nat)
, _dssServiceProviderName :: !(Maybe Text)
, _dssOutputSdt :: !(Maybe DvbSdtOutputSdt)
, _dssServiceName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dvbSdtSettings
:: DvbSdtSettings
dvbSdtSettings =
DvbSdtSettings'
{ _dssRepInterval = Nothing
, _dssServiceProviderName = Nothing
, _dssOutputSdt = Nothing
, _dssServiceName = Nothing
}
dssRepInterval :: Lens' DvbSdtSettings (Maybe Natural)
dssRepInterval = lens _dssRepInterval (\ s a -> s{_dssRepInterval = a}) . mapping _Nat
dssServiceProviderName :: Lens' DvbSdtSettings (Maybe Text)
dssServiceProviderName = lens _dssServiceProviderName (\ s a -> s{_dssServiceProviderName = a})
dssOutputSdt :: Lens' DvbSdtSettings (Maybe DvbSdtOutputSdt)
dssOutputSdt = lens _dssOutputSdt (\ s a -> s{_dssOutputSdt = a})
dssServiceName :: Lens' DvbSdtSettings (Maybe Text)
dssServiceName = lens _dssServiceName (\ s a -> s{_dssServiceName = a})
instance FromJSON DvbSdtSettings where
parseJSON
= withObject "DvbSdtSettings"
(\ x ->
DvbSdtSettings' <$>
(x .:? "repInterval") <*>
(x .:? "serviceProviderName")
<*> (x .:? "outputSdt")
<*> (x .:? "serviceName"))
instance Hashable DvbSdtSettings where
instance NFData DvbSdtSettings where
instance ToJSON DvbSdtSettings where
toJSON DvbSdtSettings'{..}
= object
(catMaybes
[("repInterval" .=) <$> _dssRepInterval,
("serviceProviderName" .=) <$>
_dssServiceProviderName,
("outputSdt" .=) <$> _dssOutputSdt,
("serviceName" .=) <$> _dssServiceName])
data DvbSubDestinationSettings = DvbSubDestinationSettings'
{ _dsdsBackgroundOpacity :: !(Maybe Nat)
, _dsdsFontOpacity :: !(Maybe Nat)
, _dsdsShadowYOffset :: !(Maybe Int)
, _dsdsFontResolution :: !(Maybe Nat)
, _dsdsYPosition :: !(Maybe Nat)
, _dsdsBackgroundColor :: !(Maybe DvbSubDestinationBackgroundColor)
, _dsdsShadowXOffset :: !(Maybe Int)
, _dsdsFontSize :: !(Maybe Text)
, _dsdsXPosition :: !(Maybe Nat)
, _dsdsAlignment :: !(Maybe DvbSubDestinationAlignment)
, _dsdsShadowOpacity :: !(Maybe Nat)
, _dsdsTeletextGridControl :: !(Maybe DvbSubDestinationTeletextGridControl)
, _dsdsOutlineColor :: !(Maybe DvbSubDestinationOutlineColor)
, _dsdsOutlineSize :: !(Maybe Nat)
, _dsdsFont :: !(Maybe InputLocation)
, _dsdsShadowColor :: !(Maybe DvbSubDestinationShadowColor)
, _dsdsFontColor :: !(Maybe DvbSubDestinationFontColor)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dvbSubDestinationSettings
:: DvbSubDestinationSettings
dvbSubDestinationSettings =
DvbSubDestinationSettings'
{ _dsdsBackgroundOpacity = Nothing
, _dsdsFontOpacity = Nothing
, _dsdsShadowYOffset = Nothing
, _dsdsFontResolution = Nothing
, _dsdsYPosition = Nothing
, _dsdsBackgroundColor = Nothing
, _dsdsShadowXOffset = Nothing
, _dsdsFontSize = Nothing
, _dsdsXPosition = Nothing
, _dsdsAlignment = Nothing
, _dsdsShadowOpacity = Nothing
, _dsdsTeletextGridControl = Nothing
, _dsdsOutlineColor = Nothing
, _dsdsOutlineSize = Nothing
, _dsdsFont = Nothing
, _dsdsShadowColor = Nothing
, _dsdsFontColor = Nothing
}
dsdsBackgroundOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsBackgroundOpacity = lens _dsdsBackgroundOpacity (\ s a -> s{_dsdsBackgroundOpacity = a}) . mapping _Nat
dsdsFontOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsFontOpacity = lens _dsdsFontOpacity (\ s a -> s{_dsdsFontOpacity = a}) . mapping _Nat
dsdsShadowYOffset :: Lens' DvbSubDestinationSettings (Maybe Int)
dsdsShadowYOffset = lens _dsdsShadowYOffset (\ s a -> s{_dsdsShadowYOffset = a})
dsdsFontResolution :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsFontResolution = lens _dsdsFontResolution (\ s a -> s{_dsdsFontResolution = a}) . mapping _Nat
dsdsYPosition :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsYPosition = lens _dsdsYPosition (\ s a -> s{_dsdsYPosition = a}) . mapping _Nat
dsdsBackgroundColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationBackgroundColor)
dsdsBackgroundColor = lens _dsdsBackgroundColor (\ s a -> s{_dsdsBackgroundColor = a})
dsdsShadowXOffset :: Lens' DvbSubDestinationSettings (Maybe Int)
dsdsShadowXOffset = lens _dsdsShadowXOffset (\ s a -> s{_dsdsShadowXOffset = a})
dsdsFontSize :: Lens' DvbSubDestinationSettings (Maybe Text)
dsdsFontSize = lens _dsdsFontSize (\ s a -> s{_dsdsFontSize = a})
dsdsXPosition :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsXPosition = lens _dsdsXPosition (\ s a -> s{_dsdsXPosition = a}) . mapping _Nat
dsdsAlignment :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationAlignment)
dsdsAlignment = lens _dsdsAlignment (\ s a -> s{_dsdsAlignment = a})
dsdsShadowOpacity :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsShadowOpacity = lens _dsdsShadowOpacity (\ s a -> s{_dsdsShadowOpacity = a}) . mapping _Nat
dsdsTeletextGridControl :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationTeletextGridControl)
dsdsTeletextGridControl = lens _dsdsTeletextGridControl (\ s a -> s{_dsdsTeletextGridControl = a})
dsdsOutlineColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationOutlineColor)
dsdsOutlineColor = lens _dsdsOutlineColor (\ s a -> s{_dsdsOutlineColor = a})
dsdsOutlineSize :: Lens' DvbSubDestinationSettings (Maybe Natural)
dsdsOutlineSize = lens _dsdsOutlineSize (\ s a -> s{_dsdsOutlineSize = a}) . mapping _Nat
dsdsFont :: Lens' DvbSubDestinationSettings (Maybe InputLocation)
dsdsFont = lens _dsdsFont (\ s a -> s{_dsdsFont = a})
dsdsShadowColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationShadowColor)
dsdsShadowColor = lens _dsdsShadowColor (\ s a -> s{_dsdsShadowColor = a})
dsdsFontColor :: Lens' DvbSubDestinationSettings (Maybe DvbSubDestinationFontColor)
dsdsFontColor = lens _dsdsFontColor (\ s a -> s{_dsdsFontColor = a})
instance FromJSON DvbSubDestinationSettings where
parseJSON
= withObject "DvbSubDestinationSettings"
(\ x ->
DvbSubDestinationSettings' <$>
(x .:? "backgroundOpacity") <*> (x .:? "fontOpacity")
<*> (x .:? "shadowYOffset")
<*> (x .:? "fontResolution")
<*> (x .:? "yPosition")
<*> (x .:? "backgroundColor")
<*> (x .:? "shadowXOffset")
<*> (x .:? "fontSize")
<*> (x .:? "xPosition")
<*> (x .:? "alignment")
<*> (x .:? "shadowOpacity")
<*> (x .:? "teletextGridControl")
<*> (x .:? "outlineColor")
<*> (x .:? "outlineSize")
<*> (x .:? "font")
<*> (x .:? "shadowColor")
<*> (x .:? "fontColor"))
instance Hashable DvbSubDestinationSettings where
instance NFData DvbSubDestinationSettings where
instance ToJSON DvbSubDestinationSettings where
toJSON DvbSubDestinationSettings'{..}
= object
(catMaybes
[("backgroundOpacity" .=) <$> _dsdsBackgroundOpacity,
("fontOpacity" .=) <$> _dsdsFontOpacity,
("shadowYOffset" .=) <$> _dsdsShadowYOffset,
("fontResolution" .=) <$> _dsdsFontResolution,
("yPosition" .=) <$> _dsdsYPosition,
("backgroundColor" .=) <$> _dsdsBackgroundColor,
("shadowXOffset" .=) <$> _dsdsShadowXOffset,
("fontSize" .=) <$> _dsdsFontSize,
("xPosition" .=) <$> _dsdsXPosition,
("alignment" .=) <$> _dsdsAlignment,
("shadowOpacity" .=) <$> _dsdsShadowOpacity,
("teletextGridControl" .=) <$>
_dsdsTeletextGridControl,
("outlineColor" .=) <$> _dsdsOutlineColor,
("outlineSize" .=) <$> _dsdsOutlineSize,
("font" .=) <$> _dsdsFont,
("shadowColor" .=) <$> _dsdsShadowColor,
("fontColor" .=) <$> _dsdsFontColor])
newtype DvbSubSourceSettings = DvbSubSourceSettings'
{ _dsssPid :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dvbSubSourceSettings
:: DvbSubSourceSettings
dvbSubSourceSettings = DvbSubSourceSettings' {_dsssPid = Nothing}
dsssPid :: Lens' DvbSubSourceSettings (Maybe Natural)
dsssPid = lens _dsssPid (\ s a -> s{_dsssPid = a}) . mapping _Nat
instance FromJSON DvbSubSourceSettings where
parseJSON
= withObject "DvbSubSourceSettings"
(\ x -> DvbSubSourceSettings' <$> (x .:? "pid"))
instance Hashable DvbSubSourceSettings where
instance NFData DvbSubSourceSettings where
instance ToJSON DvbSubSourceSettings where
toJSON DvbSubSourceSettings'{..}
= object (catMaybes [("pid" .=) <$> _dsssPid])
newtype DvbTdtSettings = DvbTdtSettings'
{ _dtsRepInterval :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dvbTdtSettings
:: DvbTdtSettings
dvbTdtSettings = DvbTdtSettings' {_dtsRepInterval = Nothing}
dtsRepInterval :: Lens' DvbTdtSettings (Maybe Natural)
dtsRepInterval = lens _dtsRepInterval (\ s a -> s{_dtsRepInterval = a}) . mapping _Nat
instance FromJSON DvbTdtSettings where
parseJSON
= withObject "DvbTdtSettings"
(\ x -> DvbTdtSettings' <$> (x .:? "repInterval"))
instance Hashable DvbTdtSettings where
instance NFData DvbTdtSettings where
instance ToJSON DvbTdtSettings where
toJSON DvbTdtSettings'{..}
= object
(catMaybes [("repInterval" .=) <$> _dtsRepInterval])
data Eac3Settings = Eac3Settings'
{ _esStereoDownmix :: !(Maybe Eac3StereoDownmix)
, _esLoRoCenterMixLevel :: !(Maybe Double)
, _esLtRtCenterMixLevel :: !(Maybe Double)
, _esLfeFilter :: !(Maybe Eac3LfeFilter)
, _esLtRtSurroundMixLevel :: !(Maybe Double)
, _esMetadataControl :: !(Maybe Eac3MetadataControl)
, _esLoRoSurroundMixLevel :: !(Maybe Double)
, _esSurroundMode :: !(Maybe Eac3SurroundMode)
, _esAttenuationControl :: !(Maybe Eac3AttenuationControl)
, _esPassthroughControl :: !(Maybe Eac3PassthroughControl)
, _esBitstreamMode :: !(Maybe Eac3BitstreamMode)
, _esLfeControl :: !(Maybe Eac3LfeControl)
, _esCodingMode :: !(Maybe Eac3CodingMode)
, _esDrcLine :: !(Maybe Eac3DrcLine)
, _esDrcRf :: !(Maybe Eac3DrcRf)
, _esDcFilter :: !(Maybe Eac3DcFilter)
, _esBitrate :: !(Maybe Double)
, _esPhaseControl :: !(Maybe Eac3PhaseControl)
, _esSurroundExMode :: !(Maybe Eac3SurroundExMode)
, _esDialnorm :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
eac3Settings
:: Eac3Settings
eac3Settings =
Eac3Settings'
{ _esStereoDownmix = Nothing
, _esLoRoCenterMixLevel = Nothing
, _esLtRtCenterMixLevel = Nothing
, _esLfeFilter = Nothing
, _esLtRtSurroundMixLevel = Nothing
, _esMetadataControl = Nothing
, _esLoRoSurroundMixLevel = Nothing
, _esSurroundMode = Nothing
, _esAttenuationControl = Nothing
, _esPassthroughControl = Nothing
, _esBitstreamMode = Nothing
, _esLfeControl = Nothing
, _esCodingMode = Nothing
, _esDrcLine = Nothing
, _esDrcRf = Nothing
, _esDcFilter = Nothing
, _esBitrate = Nothing
, _esPhaseControl = Nothing
, _esSurroundExMode = Nothing
, _esDialnorm = Nothing
}
esStereoDownmix :: Lens' Eac3Settings (Maybe Eac3StereoDownmix)
esStereoDownmix = lens _esStereoDownmix (\ s a -> s{_esStereoDownmix = a})
esLoRoCenterMixLevel :: Lens' Eac3Settings (Maybe Double)
esLoRoCenterMixLevel = lens _esLoRoCenterMixLevel (\ s a -> s{_esLoRoCenterMixLevel = a})
esLtRtCenterMixLevel :: Lens' Eac3Settings (Maybe Double)
esLtRtCenterMixLevel = lens _esLtRtCenterMixLevel (\ s a -> s{_esLtRtCenterMixLevel = a})
esLfeFilter :: Lens' Eac3Settings (Maybe Eac3LfeFilter)
esLfeFilter = lens _esLfeFilter (\ s a -> s{_esLfeFilter = a})
esLtRtSurroundMixLevel :: Lens' Eac3Settings (Maybe Double)
esLtRtSurroundMixLevel = lens _esLtRtSurroundMixLevel (\ s a -> s{_esLtRtSurroundMixLevel = a})
esMetadataControl :: Lens' Eac3Settings (Maybe Eac3MetadataControl)
esMetadataControl = lens _esMetadataControl (\ s a -> s{_esMetadataControl = a})
esLoRoSurroundMixLevel :: Lens' Eac3Settings (Maybe Double)
esLoRoSurroundMixLevel = lens _esLoRoSurroundMixLevel (\ s a -> s{_esLoRoSurroundMixLevel = a})
esSurroundMode :: Lens' Eac3Settings (Maybe Eac3SurroundMode)
esSurroundMode = lens _esSurroundMode (\ s a -> s{_esSurroundMode = a})
esAttenuationControl :: Lens' Eac3Settings (Maybe Eac3AttenuationControl)
esAttenuationControl = lens _esAttenuationControl (\ s a -> s{_esAttenuationControl = a})
esPassthroughControl :: Lens' Eac3Settings (Maybe Eac3PassthroughControl)
esPassthroughControl = lens _esPassthroughControl (\ s a -> s{_esPassthroughControl = a})
esBitstreamMode :: Lens' Eac3Settings (Maybe Eac3BitstreamMode)
esBitstreamMode = lens _esBitstreamMode (\ s a -> s{_esBitstreamMode = a})
esLfeControl :: Lens' Eac3Settings (Maybe Eac3LfeControl)
esLfeControl = lens _esLfeControl (\ s a -> s{_esLfeControl = a})
esCodingMode :: Lens' Eac3Settings (Maybe Eac3CodingMode)
esCodingMode = lens _esCodingMode (\ s a -> s{_esCodingMode = a})
esDrcLine :: Lens' Eac3Settings (Maybe Eac3DrcLine)
esDrcLine = lens _esDrcLine (\ s a -> s{_esDrcLine = a})
esDrcRf :: Lens' Eac3Settings (Maybe Eac3DrcRf)
esDrcRf = lens _esDrcRf (\ s a -> s{_esDrcRf = a})
esDcFilter :: Lens' Eac3Settings (Maybe Eac3DcFilter)
esDcFilter = lens _esDcFilter (\ s a -> s{_esDcFilter = a})
esBitrate :: Lens' Eac3Settings (Maybe Double)
esBitrate = lens _esBitrate (\ s a -> s{_esBitrate = a})
esPhaseControl :: Lens' Eac3Settings (Maybe Eac3PhaseControl)
esPhaseControl = lens _esPhaseControl (\ s a -> s{_esPhaseControl = a})
esSurroundExMode :: Lens' Eac3Settings (Maybe Eac3SurroundExMode)
esSurroundExMode = lens _esSurroundExMode (\ s a -> s{_esSurroundExMode = a})
esDialnorm :: Lens' Eac3Settings (Maybe Natural)
esDialnorm = lens _esDialnorm (\ s a -> s{_esDialnorm = a}) . mapping _Nat
instance FromJSON Eac3Settings where
parseJSON
= withObject "Eac3Settings"
(\ x ->
Eac3Settings' <$>
(x .:? "stereoDownmix") <*>
(x .:? "loRoCenterMixLevel")
<*> (x .:? "ltRtCenterMixLevel")
<*> (x .:? "lfeFilter")
<*> (x .:? "ltRtSurroundMixLevel")
<*> (x .:? "metadataControl")
<*> (x .:? "loRoSurroundMixLevel")
<*> (x .:? "surroundMode")
<*> (x .:? "attenuationControl")
<*> (x .:? "passthroughControl")
<*> (x .:? "bitstreamMode")
<*> (x .:? "lfeControl")
<*> (x .:? "codingMode")
<*> (x .:? "drcLine")
<*> (x .:? "drcRf")
<*> (x .:? "dcFilter")
<*> (x .:? "bitrate")
<*> (x .:? "phaseControl")
<*> (x .:? "surroundExMode")
<*> (x .:? "dialnorm"))
instance Hashable Eac3Settings where
instance NFData Eac3Settings where
instance ToJSON Eac3Settings where
toJSON Eac3Settings'{..}
= object
(catMaybes
[("stereoDownmix" .=) <$> _esStereoDownmix,
("loRoCenterMixLevel" .=) <$> _esLoRoCenterMixLevel,
("ltRtCenterMixLevel" .=) <$> _esLtRtCenterMixLevel,
("lfeFilter" .=) <$> _esLfeFilter,
("ltRtSurroundMixLevel" .=) <$>
_esLtRtSurroundMixLevel,
("metadataControl" .=) <$> _esMetadataControl,
("loRoSurroundMixLevel" .=) <$>
_esLoRoSurroundMixLevel,
("surroundMode" .=) <$> _esSurroundMode,
("attenuationControl" .=) <$> _esAttenuationControl,
("passthroughControl" .=) <$> _esPassthroughControl,
("bitstreamMode" .=) <$> _esBitstreamMode,
("lfeControl" .=) <$> _esLfeControl,
("codingMode" .=) <$> _esCodingMode,
("drcLine" .=) <$> _esDrcLine,
("drcRf" .=) <$> _esDrcRf,
("dcFilter" .=) <$> _esDcFilter,
("bitrate" .=) <$> _esBitrate,
("phaseControl" .=) <$> _esPhaseControl,
("surroundExMode" .=) <$> _esSurroundExMode,
("dialnorm" .=) <$> _esDialnorm])
data EmbeddedDestinationSettings =
EmbeddedDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
embeddedDestinationSettings
:: EmbeddedDestinationSettings
embeddedDestinationSettings = EmbeddedDestinationSettings'
instance FromJSON EmbeddedDestinationSettings where
parseJSON
= withObject "EmbeddedDestinationSettings"
(\ x -> pure EmbeddedDestinationSettings')
instance Hashable EmbeddedDestinationSettings where
instance NFData EmbeddedDestinationSettings where
instance ToJSON EmbeddedDestinationSettings where
toJSON = const (Object mempty)
data EmbeddedPlusScte20DestinationSettings =
EmbeddedPlusScte20DestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
embeddedPlusScte20DestinationSettings
:: EmbeddedPlusScte20DestinationSettings
embeddedPlusScte20DestinationSettings = EmbeddedPlusScte20DestinationSettings'
instance FromJSON
EmbeddedPlusScte20DestinationSettings
where
parseJSON
= withObject "EmbeddedPlusScte20DestinationSettings"
(\ x -> pure EmbeddedPlusScte20DestinationSettings')
instance Hashable
EmbeddedPlusScte20DestinationSettings
where
instance NFData EmbeddedPlusScte20DestinationSettings
where
instance ToJSON EmbeddedPlusScte20DestinationSettings
where
toJSON = const (Object mempty)
data EmbeddedSourceSettings = EmbeddedSourceSettings'
{ _essConvert608To708 :: !(Maybe EmbeddedConvert608To708)
, _essScte20Detection :: !(Maybe EmbeddedScte20Detection)
, _essSource608TrackNumber :: !(Maybe Nat)
, _essSource608ChannelNumber :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
embeddedSourceSettings
:: EmbeddedSourceSettings
embeddedSourceSettings =
EmbeddedSourceSettings'
{ _essConvert608To708 = Nothing
, _essScte20Detection = Nothing
, _essSource608TrackNumber = Nothing
, _essSource608ChannelNumber = Nothing
}
essConvert608To708 :: Lens' EmbeddedSourceSettings (Maybe EmbeddedConvert608To708)
essConvert608To708 = lens _essConvert608To708 (\ s a -> s{_essConvert608To708 = a})
essScte20Detection :: Lens' EmbeddedSourceSettings (Maybe EmbeddedScte20Detection)
essScte20Detection = lens _essScte20Detection (\ s a -> s{_essScte20Detection = a})
essSource608TrackNumber :: Lens' EmbeddedSourceSettings (Maybe Natural)
essSource608TrackNumber = lens _essSource608TrackNumber (\ s a -> s{_essSource608TrackNumber = a}) . mapping _Nat
essSource608ChannelNumber :: Lens' EmbeddedSourceSettings (Maybe Natural)
essSource608ChannelNumber = lens _essSource608ChannelNumber (\ s a -> s{_essSource608ChannelNumber = a}) . mapping _Nat
instance FromJSON EmbeddedSourceSettings where
parseJSON
= withObject "EmbeddedSourceSettings"
(\ x ->
EmbeddedSourceSettings' <$>
(x .:? "convert608To708") <*>
(x .:? "scte20Detection")
<*> (x .:? "source608TrackNumber")
<*> (x .:? "source608ChannelNumber"))
instance Hashable EmbeddedSourceSettings where
instance NFData EmbeddedSourceSettings where
instance ToJSON EmbeddedSourceSettings where
toJSON EmbeddedSourceSettings'{..}
= object
(catMaybes
[("convert608To708" .=) <$> _essConvert608To708,
("scte20Detection" .=) <$> _essScte20Detection,
("source608TrackNumber" .=) <$>
_essSource608TrackNumber,
("source608ChannelNumber" .=) <$>
_essSource608ChannelNumber])
data EncoderSettings = EncoderSettings'
{ _esCaptionDescriptions :: !(Maybe [CaptionDescription])
, _esAvailConfiguration :: !(Maybe AvailConfiguration)
, _esAvailBlanking :: !(Maybe AvailBlanking)
, _esGlobalConfiguration :: !(Maybe GlobalConfiguration)
, _esBlackoutSlate :: !(Maybe BlackoutSlate)
, _esVideoDescriptions :: ![VideoDescription]
, _esAudioDescriptions :: ![AudioDescription]
, _esOutputGroups :: ![OutputGroup]
, _esTimecodeConfig :: !TimecodeConfig
} deriving (Eq, Read, Show, Data, Typeable, Generic)
encoderSettings
:: TimecodeConfig
-> EncoderSettings
encoderSettings pTimecodeConfig_ =
EncoderSettings'
{ _esCaptionDescriptions = Nothing
, _esAvailConfiguration = Nothing
, _esAvailBlanking = Nothing
, _esGlobalConfiguration = Nothing
, _esBlackoutSlate = Nothing
, _esVideoDescriptions = mempty
, _esAudioDescriptions = mempty
, _esOutputGroups = mempty
, _esTimecodeConfig = pTimecodeConfig_
}
esCaptionDescriptions :: Lens' EncoderSettings [CaptionDescription]
esCaptionDescriptions = lens _esCaptionDescriptions (\ s a -> s{_esCaptionDescriptions = a}) . _Default . _Coerce
esAvailConfiguration :: Lens' EncoderSettings (Maybe AvailConfiguration)
esAvailConfiguration = lens _esAvailConfiguration (\ s a -> s{_esAvailConfiguration = a})
esAvailBlanking :: Lens' EncoderSettings (Maybe AvailBlanking)
esAvailBlanking = lens _esAvailBlanking (\ s a -> s{_esAvailBlanking = a})
esGlobalConfiguration :: Lens' EncoderSettings (Maybe GlobalConfiguration)
esGlobalConfiguration = lens _esGlobalConfiguration (\ s a -> s{_esGlobalConfiguration = a})
esBlackoutSlate :: Lens' EncoderSettings (Maybe BlackoutSlate)
esBlackoutSlate = lens _esBlackoutSlate (\ s a -> s{_esBlackoutSlate = a})
esVideoDescriptions :: Lens' EncoderSettings [VideoDescription]
esVideoDescriptions = lens _esVideoDescriptions (\ s a -> s{_esVideoDescriptions = a}) . _Coerce
esAudioDescriptions :: Lens' EncoderSettings [AudioDescription]
esAudioDescriptions = lens _esAudioDescriptions (\ s a -> s{_esAudioDescriptions = a}) . _Coerce
esOutputGroups :: Lens' EncoderSettings [OutputGroup]
esOutputGroups = lens _esOutputGroups (\ s a -> s{_esOutputGroups = a}) . _Coerce
esTimecodeConfig :: Lens' EncoderSettings TimecodeConfig
esTimecodeConfig = lens _esTimecodeConfig (\ s a -> s{_esTimecodeConfig = a})
instance FromJSON EncoderSettings where
parseJSON
= withObject "EncoderSettings"
(\ x ->
EncoderSettings' <$>
(x .:? "captionDescriptions" .!= mempty) <*>
(x .:? "availConfiguration")
<*> (x .:? "availBlanking")
<*> (x .:? "globalConfiguration")
<*> (x .:? "blackoutSlate")
<*> (x .:? "videoDescriptions" .!= mempty)
<*> (x .:? "audioDescriptions" .!= mempty)
<*> (x .:? "outputGroups" .!= mempty)
<*> (x .: "timecodeConfig"))
instance Hashable EncoderSettings where
instance NFData EncoderSettings where
instance ToJSON EncoderSettings where
toJSON EncoderSettings'{..}
= object
(catMaybes
[("captionDescriptions" .=) <$>
_esCaptionDescriptions,
("availConfiguration" .=) <$> _esAvailConfiguration,
("availBlanking" .=) <$> _esAvailBlanking,
("globalConfiguration" .=) <$>
_esGlobalConfiguration,
("blackoutSlate" .=) <$> _esBlackoutSlate,
Just ("videoDescriptions" .= _esVideoDescriptions),
Just ("audioDescriptions" .= _esAudioDescriptions),
Just ("outputGroups" .= _esOutputGroups),
Just ("timecodeConfig" .= _esTimecodeConfig)])
data FecOutputSettings = FecOutputSettings'
{ _fosRowLength :: !(Maybe Nat)
, _fosIncludeFec :: !(Maybe FecOutputIncludeFec)
, _fosColumnDepth :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
fecOutputSettings
:: FecOutputSettings
fecOutputSettings =
FecOutputSettings'
{ _fosRowLength = Nothing
, _fosIncludeFec = Nothing
, _fosColumnDepth = Nothing
}
fosRowLength :: Lens' FecOutputSettings (Maybe Natural)
fosRowLength = lens _fosRowLength (\ s a -> s{_fosRowLength = a}) . mapping _Nat
fosIncludeFec :: Lens' FecOutputSettings (Maybe FecOutputIncludeFec)
fosIncludeFec = lens _fosIncludeFec (\ s a -> s{_fosIncludeFec = a})
fosColumnDepth :: Lens' FecOutputSettings (Maybe Natural)
fosColumnDepth = lens _fosColumnDepth (\ s a -> s{_fosColumnDepth = a}) . mapping _Nat
instance FromJSON FecOutputSettings where
parseJSON
= withObject "FecOutputSettings"
(\ x ->
FecOutputSettings' <$>
(x .:? "rowLength") <*> (x .:? "includeFec") <*>
(x .:? "columnDepth"))
instance Hashable FecOutputSettings where
instance NFData FecOutputSettings where
instance ToJSON FecOutputSettings where
toJSON FecOutputSettings'{..}
= object
(catMaybes
[("rowLength" .=) <$> _fosRowLength,
("includeFec" .=) <$> _fosIncludeFec,
("columnDepth" .=) <$> _fosColumnDepth])
data GlobalConfiguration = GlobalConfiguration'
{ _gcInputLossBehavior :: !(Maybe InputLossBehavior)
, _gcInitialAudioGain :: !(Maybe Int)
, _gcSupportLowFramerateInputs :: !(Maybe GlobalConfigurationLowFramerateInputs)
, _gcInputEndAction :: !(Maybe GlobalConfigurationInputEndAction)
, _gcOutputTimingSource :: !(Maybe GlobalConfigurationOutputTimingSource)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
globalConfiguration
:: GlobalConfiguration
globalConfiguration =
GlobalConfiguration'
{ _gcInputLossBehavior = Nothing
, _gcInitialAudioGain = Nothing
, _gcSupportLowFramerateInputs = Nothing
, _gcInputEndAction = Nothing
, _gcOutputTimingSource = Nothing
}
gcInputLossBehavior :: Lens' GlobalConfiguration (Maybe InputLossBehavior)
gcInputLossBehavior = lens _gcInputLossBehavior (\ s a -> s{_gcInputLossBehavior = a})
gcInitialAudioGain :: Lens' GlobalConfiguration (Maybe Int)
gcInitialAudioGain = lens _gcInitialAudioGain (\ s a -> s{_gcInitialAudioGain = a})
gcSupportLowFramerateInputs :: Lens' GlobalConfiguration (Maybe GlobalConfigurationLowFramerateInputs)
gcSupportLowFramerateInputs = lens _gcSupportLowFramerateInputs (\ s a -> s{_gcSupportLowFramerateInputs = a})
gcInputEndAction :: Lens' GlobalConfiguration (Maybe GlobalConfigurationInputEndAction)
gcInputEndAction = lens _gcInputEndAction (\ s a -> s{_gcInputEndAction = a})
gcOutputTimingSource :: Lens' GlobalConfiguration (Maybe GlobalConfigurationOutputTimingSource)
gcOutputTimingSource = lens _gcOutputTimingSource (\ s a -> s{_gcOutputTimingSource = a})
instance FromJSON GlobalConfiguration where
parseJSON
= withObject "GlobalConfiguration"
(\ x ->
GlobalConfiguration' <$>
(x .:? "inputLossBehavior") <*>
(x .:? "initialAudioGain")
<*> (x .:? "supportLowFramerateInputs")
<*> (x .:? "inputEndAction")
<*> (x .:? "outputTimingSource"))
instance Hashable GlobalConfiguration where
instance NFData GlobalConfiguration where
instance ToJSON GlobalConfiguration where
toJSON GlobalConfiguration'{..}
= object
(catMaybes
[("inputLossBehavior" .=) <$> _gcInputLossBehavior,
("initialAudioGain" .=) <$> _gcInitialAudioGain,
("supportLowFramerateInputs" .=) <$>
_gcSupportLowFramerateInputs,
("inputEndAction" .=) <$> _gcInputEndAction,
("outputTimingSource" .=) <$> _gcOutputTimingSource])
data H264Settings = H264Settings'
{ _hsTemporalAq :: !(Maybe H264TemporalAq)
, _hsSceneChangeDetect :: !(Maybe H264SceneChangeDetect)
, _hsScanType :: !(Maybe H264ScanType)
, _hsTimecodeInsertion :: !(Maybe H264TimecodeInsertionBehavior)
, _hsParNumerator :: !(Maybe Int)
, _hsAfdSignaling :: !(Maybe AfdSignaling)
, _hsGopSize :: !(Maybe Double)
, _hsGopSizeUnits :: !(Maybe H264GopSizeUnits)
, _hsSlices :: !(Maybe Nat)
, _hsProfile :: !(Maybe H264Profile)
, _hsRateControlMode :: !(Maybe H264RateControlMode)
, _hsMinIInterval :: !(Maybe Nat)
, _hsParControl :: !(Maybe H264ParControl)
, _hsFlickerAq :: !(Maybe H264FlickerAq)
, _hsBufSize :: !(Maybe Nat)
, _hsSpatialAq :: !(Maybe H264SpatialAq)
, _hsGopNumBFrames :: !(Maybe Nat)
, _hsFixedAfd :: !(Maybe FixedAfd)
, _hsSoftness :: !(Maybe Nat)
, _hsBitrate :: !(Maybe Nat)
, _hsFramerateDenominator :: !(Maybe Int)
, _hsEntropyEncoding :: !(Maybe H264EntropyEncoding)
, _hsFramerateControl :: !(Maybe H264FramerateControl)
, _hsColorMetadata :: !(Maybe H264ColorMetadata)
, _hsLookAheadRateControl :: !(Maybe H264LookAheadRateControl)
, _hsAdaptiveQuantization :: !(Maybe H264AdaptiveQuantization)
, _hsFramerateNumerator :: !(Maybe Int)
, _hsLevel :: !(Maybe H264Level)
, _hsGopBReference :: !(Maybe H264GopBReference)
, _hsMaxBitrate :: !(Maybe Nat)
, _hsSyntax :: !(Maybe H264Syntax)
, _hsBufFillPct :: !(Maybe Nat)
, _hsGopClosedCadence :: !(Maybe Nat)
, _hsNumRefFrames :: !(Maybe Nat)
, _hsParDenominator :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
h264Settings
:: H264Settings
h264Settings =
H264Settings'
{ _hsTemporalAq = Nothing
, _hsSceneChangeDetect = Nothing
, _hsScanType = Nothing
, _hsTimecodeInsertion = Nothing
, _hsParNumerator = Nothing
, _hsAfdSignaling = Nothing
, _hsGopSize = Nothing
, _hsGopSizeUnits = Nothing
, _hsSlices = Nothing
, _hsProfile = Nothing
, _hsRateControlMode = Nothing
, _hsMinIInterval = Nothing
, _hsParControl = Nothing
, _hsFlickerAq = Nothing
, _hsBufSize = Nothing
, _hsSpatialAq = Nothing
, _hsGopNumBFrames = Nothing
, _hsFixedAfd = Nothing
, _hsSoftness = Nothing
, _hsBitrate = Nothing
, _hsFramerateDenominator = Nothing
, _hsEntropyEncoding = Nothing
, _hsFramerateControl = Nothing
, _hsColorMetadata = Nothing
, _hsLookAheadRateControl = Nothing
, _hsAdaptiveQuantization = Nothing
, _hsFramerateNumerator = Nothing
, _hsLevel = Nothing
, _hsGopBReference = Nothing
, _hsMaxBitrate = Nothing
, _hsSyntax = Nothing
, _hsBufFillPct = Nothing
, _hsGopClosedCadence = Nothing
, _hsNumRefFrames = Nothing
, _hsParDenominator = Nothing
}
hsTemporalAq :: Lens' H264Settings (Maybe H264TemporalAq)
hsTemporalAq = lens _hsTemporalAq (\ s a -> s{_hsTemporalAq = a})
hsSceneChangeDetect :: Lens' H264Settings (Maybe H264SceneChangeDetect)
hsSceneChangeDetect = lens _hsSceneChangeDetect (\ s a -> s{_hsSceneChangeDetect = a})
hsScanType :: Lens' H264Settings (Maybe H264ScanType)
hsScanType = lens _hsScanType (\ s a -> s{_hsScanType = a})
hsTimecodeInsertion :: Lens' H264Settings (Maybe H264TimecodeInsertionBehavior)
hsTimecodeInsertion = lens _hsTimecodeInsertion (\ s a -> s{_hsTimecodeInsertion = a})
hsParNumerator :: Lens' H264Settings (Maybe Int)
hsParNumerator = lens _hsParNumerator (\ s a -> s{_hsParNumerator = a})
hsAfdSignaling :: Lens' H264Settings (Maybe AfdSignaling)
hsAfdSignaling = lens _hsAfdSignaling (\ s a -> s{_hsAfdSignaling = a})
hsGopSize :: Lens' H264Settings (Maybe Double)
hsGopSize = lens _hsGopSize (\ s a -> s{_hsGopSize = a})
hsGopSizeUnits :: Lens' H264Settings (Maybe H264GopSizeUnits)
hsGopSizeUnits = lens _hsGopSizeUnits (\ s a -> s{_hsGopSizeUnits = a})
hsSlices :: Lens' H264Settings (Maybe Natural)
hsSlices = lens _hsSlices (\ s a -> s{_hsSlices = a}) . mapping _Nat
hsProfile :: Lens' H264Settings (Maybe H264Profile)
hsProfile = lens _hsProfile (\ s a -> s{_hsProfile = a})
hsRateControlMode :: Lens' H264Settings (Maybe H264RateControlMode)
hsRateControlMode = lens _hsRateControlMode (\ s a -> s{_hsRateControlMode = a})
hsMinIInterval :: Lens' H264Settings (Maybe Natural)
hsMinIInterval = lens _hsMinIInterval (\ s a -> s{_hsMinIInterval = a}) . mapping _Nat
hsParControl :: Lens' H264Settings (Maybe H264ParControl)
hsParControl = lens _hsParControl (\ s a -> s{_hsParControl = a})
hsFlickerAq :: Lens' H264Settings (Maybe H264FlickerAq)
hsFlickerAq = lens _hsFlickerAq (\ s a -> s{_hsFlickerAq = a})
hsBufSize :: Lens' H264Settings (Maybe Natural)
hsBufSize = lens _hsBufSize (\ s a -> s{_hsBufSize = a}) . mapping _Nat
hsSpatialAq :: Lens' H264Settings (Maybe H264SpatialAq)
hsSpatialAq = lens _hsSpatialAq (\ s a -> s{_hsSpatialAq = a})
hsGopNumBFrames :: Lens' H264Settings (Maybe Natural)
hsGopNumBFrames = lens _hsGopNumBFrames (\ s a -> s{_hsGopNumBFrames = a}) . mapping _Nat
hsFixedAfd :: Lens' H264Settings (Maybe FixedAfd)
hsFixedAfd = lens _hsFixedAfd (\ s a -> s{_hsFixedAfd = a})
hsSoftness :: Lens' H264Settings (Maybe Natural)
hsSoftness = lens _hsSoftness (\ s a -> s{_hsSoftness = a}) . mapping _Nat
hsBitrate :: Lens' H264Settings (Maybe Natural)
hsBitrate = lens _hsBitrate (\ s a -> s{_hsBitrate = a}) . mapping _Nat
hsFramerateDenominator :: Lens' H264Settings (Maybe Int)
hsFramerateDenominator = lens _hsFramerateDenominator (\ s a -> s{_hsFramerateDenominator = a})
hsEntropyEncoding :: Lens' H264Settings (Maybe H264EntropyEncoding)
hsEntropyEncoding = lens _hsEntropyEncoding (\ s a -> s{_hsEntropyEncoding = a})
hsFramerateControl :: Lens' H264Settings (Maybe H264FramerateControl)
hsFramerateControl = lens _hsFramerateControl (\ s a -> s{_hsFramerateControl = a})
hsColorMetadata :: Lens' H264Settings (Maybe H264ColorMetadata)
hsColorMetadata = lens _hsColorMetadata (\ s a -> s{_hsColorMetadata = a})
hsLookAheadRateControl :: Lens' H264Settings (Maybe H264LookAheadRateControl)
hsLookAheadRateControl = lens _hsLookAheadRateControl (\ s a -> s{_hsLookAheadRateControl = a})
hsAdaptiveQuantization :: Lens' H264Settings (Maybe H264AdaptiveQuantization)
hsAdaptiveQuantization = lens _hsAdaptiveQuantization (\ s a -> s{_hsAdaptiveQuantization = a})
hsFramerateNumerator :: Lens' H264Settings (Maybe Int)
hsFramerateNumerator = lens _hsFramerateNumerator (\ s a -> s{_hsFramerateNumerator = a})
hsLevel :: Lens' H264Settings (Maybe H264Level)
hsLevel = lens _hsLevel (\ s a -> s{_hsLevel = a})
hsGopBReference :: Lens' H264Settings (Maybe H264GopBReference)
hsGopBReference = lens _hsGopBReference (\ s a -> s{_hsGopBReference = a})
hsMaxBitrate :: Lens' H264Settings (Maybe Natural)
hsMaxBitrate = lens _hsMaxBitrate (\ s a -> s{_hsMaxBitrate = a}) . mapping _Nat
hsSyntax :: Lens' H264Settings (Maybe H264Syntax)
hsSyntax = lens _hsSyntax (\ s a -> s{_hsSyntax = a})
hsBufFillPct :: Lens' H264Settings (Maybe Natural)
hsBufFillPct = lens _hsBufFillPct (\ s a -> s{_hsBufFillPct = a}) . mapping _Nat
hsGopClosedCadence :: Lens' H264Settings (Maybe Natural)
hsGopClosedCadence = lens _hsGopClosedCadence (\ s a -> s{_hsGopClosedCadence = a}) . mapping _Nat
hsNumRefFrames :: Lens' H264Settings (Maybe Natural)
hsNumRefFrames = lens _hsNumRefFrames (\ s a -> s{_hsNumRefFrames = a}) . mapping _Nat
hsParDenominator :: Lens' H264Settings (Maybe Natural)
hsParDenominator = lens _hsParDenominator (\ s a -> s{_hsParDenominator = a}) . mapping _Nat
instance FromJSON H264Settings where
parseJSON
= withObject "H264Settings"
(\ x ->
H264Settings' <$>
(x .:? "temporalAq") <*> (x .:? "sceneChangeDetect")
<*> (x .:? "scanType")
<*> (x .:? "timecodeInsertion")
<*> (x .:? "parNumerator")
<*> (x .:? "afdSignaling")
<*> (x .:? "gopSize")
<*> (x .:? "gopSizeUnits")
<*> (x .:? "slices")
<*> (x .:? "profile")
<*> (x .:? "rateControlMode")
<*> (x .:? "minIInterval")
<*> (x .:? "parControl")
<*> (x .:? "flickerAq")
<*> (x .:? "bufSize")
<*> (x .:? "spatialAq")
<*> (x .:? "gopNumBFrames")
<*> (x .:? "fixedAfd")
<*> (x .:? "softness")
<*> (x .:? "bitrate")
<*> (x .:? "framerateDenominator")
<*> (x .:? "entropyEncoding")
<*> (x .:? "framerateControl")
<*> (x .:? "colorMetadata")
<*> (x .:? "lookAheadRateControl")
<*> (x .:? "adaptiveQuantization")
<*> (x .:? "framerateNumerator")
<*> (x .:? "level")
<*> (x .:? "gopBReference")
<*> (x .:? "maxBitrate")
<*> (x .:? "syntax")
<*> (x .:? "bufFillPct")
<*> (x .:? "gopClosedCadence")
<*> (x .:? "numRefFrames")
<*> (x .:? "parDenominator"))
instance Hashable H264Settings where
instance NFData H264Settings where
instance ToJSON H264Settings where
toJSON H264Settings'{..}
= object
(catMaybes
[("temporalAq" .=) <$> _hsTemporalAq,
("sceneChangeDetect" .=) <$> _hsSceneChangeDetect,
("scanType" .=) <$> _hsScanType,
("timecodeInsertion" .=) <$> _hsTimecodeInsertion,
("parNumerator" .=) <$> _hsParNumerator,
("afdSignaling" .=) <$> _hsAfdSignaling,
("gopSize" .=) <$> _hsGopSize,
("gopSizeUnits" .=) <$> _hsGopSizeUnits,
("slices" .=) <$> _hsSlices,
("profile" .=) <$> _hsProfile,
("rateControlMode" .=) <$> _hsRateControlMode,
("minIInterval" .=) <$> _hsMinIInterval,
("parControl" .=) <$> _hsParControl,
("flickerAq" .=) <$> _hsFlickerAq,
("bufSize" .=) <$> _hsBufSize,
("spatialAq" .=) <$> _hsSpatialAq,
("gopNumBFrames" .=) <$> _hsGopNumBFrames,
("fixedAfd" .=) <$> _hsFixedAfd,
("softness" .=) <$> _hsSoftness,
("bitrate" .=) <$> _hsBitrate,
("framerateDenominator" .=) <$>
_hsFramerateDenominator,
("entropyEncoding" .=) <$> _hsEntropyEncoding,
("framerateControl" .=) <$> _hsFramerateControl,
("colorMetadata" .=) <$> _hsColorMetadata,
("lookAheadRateControl" .=) <$>
_hsLookAheadRateControl,
("adaptiveQuantization" .=) <$>
_hsAdaptiveQuantization,
("framerateNumerator" .=) <$> _hsFramerateNumerator,
("level" .=) <$> _hsLevel,
("gopBReference" .=) <$> _hsGopBReference,
("maxBitrate" .=) <$> _hsMaxBitrate,
("syntax" .=) <$> _hsSyntax,
("bufFillPct" .=) <$> _hsBufFillPct,
("gopClosedCadence" .=) <$> _hsGopClosedCadence,
("numRefFrames" .=) <$> _hsNumRefFrames,
("parDenominator" .=) <$> _hsParDenominator])
data HlsAkamaiSettings = HlsAkamaiSettings'
{ _hasHTTPTransferMode :: !(Maybe HlsAkamaiHTTPTransferMode)
, _hasNumRetries :: !(Maybe Nat)
, _hasToken :: !(Maybe Text)
, _hasConnectionRetryInterval :: !(Maybe Nat)
, _hasFilecacheDuration :: !(Maybe Nat)
, _hasRestartDelay :: !(Maybe Nat)
, _hasSalt :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsAkamaiSettings
:: HlsAkamaiSettings
hlsAkamaiSettings =
HlsAkamaiSettings'
{ _hasHTTPTransferMode = Nothing
, _hasNumRetries = Nothing
, _hasToken = Nothing
, _hasConnectionRetryInterval = Nothing
, _hasFilecacheDuration = Nothing
, _hasRestartDelay = Nothing
, _hasSalt = Nothing
}
hasHTTPTransferMode :: Lens' HlsAkamaiSettings (Maybe HlsAkamaiHTTPTransferMode)
hasHTTPTransferMode = lens _hasHTTPTransferMode (\ s a -> s{_hasHTTPTransferMode = a})
hasNumRetries :: Lens' HlsAkamaiSettings (Maybe Natural)
hasNumRetries = lens _hasNumRetries (\ s a -> s{_hasNumRetries = a}) . mapping _Nat
hasToken :: Lens' HlsAkamaiSettings (Maybe Text)
hasToken = lens _hasToken (\ s a -> s{_hasToken = a})
hasConnectionRetryInterval :: Lens' HlsAkamaiSettings (Maybe Natural)
hasConnectionRetryInterval = lens _hasConnectionRetryInterval (\ s a -> s{_hasConnectionRetryInterval = a}) . mapping _Nat
hasFilecacheDuration :: Lens' HlsAkamaiSettings (Maybe Natural)
hasFilecacheDuration = lens _hasFilecacheDuration (\ s a -> s{_hasFilecacheDuration = a}) . mapping _Nat
hasRestartDelay :: Lens' HlsAkamaiSettings (Maybe Natural)
hasRestartDelay = lens _hasRestartDelay (\ s a -> s{_hasRestartDelay = a}) . mapping _Nat
hasSalt :: Lens' HlsAkamaiSettings (Maybe Text)
hasSalt = lens _hasSalt (\ s a -> s{_hasSalt = a})
instance FromJSON HlsAkamaiSettings where
parseJSON
= withObject "HlsAkamaiSettings"
(\ x ->
HlsAkamaiSettings' <$>
(x .:? "httpTransferMode") <*> (x .:? "numRetries")
<*> (x .:? "token")
<*> (x .:? "connectionRetryInterval")
<*> (x .:? "filecacheDuration")
<*> (x .:? "restartDelay")
<*> (x .:? "salt"))
instance Hashable HlsAkamaiSettings where
instance NFData HlsAkamaiSettings where
instance ToJSON HlsAkamaiSettings where
toJSON HlsAkamaiSettings'{..}
= object
(catMaybes
[("httpTransferMode" .=) <$> _hasHTTPTransferMode,
("numRetries" .=) <$> _hasNumRetries,
("token" .=) <$> _hasToken,
("connectionRetryInterval" .=) <$>
_hasConnectionRetryInterval,
("filecacheDuration" .=) <$> _hasFilecacheDuration,
("restartDelay" .=) <$> _hasRestartDelay,
("salt" .=) <$> _hasSalt])
data HlsBasicPutSettings = HlsBasicPutSettings'
{ _hbpsNumRetries :: !(Maybe Nat)
, _hbpsConnectionRetryInterval :: !(Maybe Nat)
, _hbpsFilecacheDuration :: !(Maybe Nat)
, _hbpsRestartDelay :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsBasicPutSettings
:: HlsBasicPutSettings
hlsBasicPutSettings =
HlsBasicPutSettings'
{ _hbpsNumRetries = Nothing
, _hbpsConnectionRetryInterval = Nothing
, _hbpsFilecacheDuration = Nothing
, _hbpsRestartDelay = Nothing
}
hbpsNumRetries :: Lens' HlsBasicPutSettings (Maybe Natural)
hbpsNumRetries = lens _hbpsNumRetries (\ s a -> s{_hbpsNumRetries = a}) . mapping _Nat
hbpsConnectionRetryInterval :: Lens' HlsBasicPutSettings (Maybe Natural)
hbpsConnectionRetryInterval = lens _hbpsConnectionRetryInterval (\ s a -> s{_hbpsConnectionRetryInterval = a}) . mapping _Nat
hbpsFilecacheDuration :: Lens' HlsBasicPutSettings (Maybe Natural)
hbpsFilecacheDuration = lens _hbpsFilecacheDuration (\ s a -> s{_hbpsFilecacheDuration = a}) . mapping _Nat
hbpsRestartDelay :: Lens' HlsBasicPutSettings (Maybe Natural)
hbpsRestartDelay = lens _hbpsRestartDelay (\ s a -> s{_hbpsRestartDelay = a}) . mapping _Nat
instance FromJSON HlsBasicPutSettings where
parseJSON
= withObject "HlsBasicPutSettings"
(\ x ->
HlsBasicPutSettings' <$>
(x .:? "numRetries") <*>
(x .:? "connectionRetryInterval")
<*> (x .:? "filecacheDuration")
<*> (x .:? "restartDelay"))
instance Hashable HlsBasicPutSettings where
instance NFData HlsBasicPutSettings where
instance ToJSON HlsBasicPutSettings where
toJSON HlsBasicPutSettings'{..}
= object
(catMaybes
[("numRetries" .=) <$> _hbpsNumRetries,
("connectionRetryInterval" .=) <$>
_hbpsConnectionRetryInterval,
("filecacheDuration" .=) <$> _hbpsFilecacheDuration,
("restartDelay" .=) <$> _hbpsRestartDelay])
data HlsCdnSettings = HlsCdnSettings'
{ _hcsHlsAkamaiSettings :: !(Maybe HlsAkamaiSettings)
, _hcsHlsMediaStoreSettings :: !(Maybe HlsMediaStoreSettings)
, _hcsHlsBasicPutSettings :: !(Maybe HlsBasicPutSettings)
, _hcsHlsWebdavSettings :: !(Maybe HlsWebdavSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsCdnSettings
:: HlsCdnSettings
hlsCdnSettings =
HlsCdnSettings'
{ _hcsHlsAkamaiSettings = Nothing
, _hcsHlsMediaStoreSettings = Nothing
, _hcsHlsBasicPutSettings = Nothing
, _hcsHlsWebdavSettings = Nothing
}
hcsHlsAkamaiSettings :: Lens' HlsCdnSettings (Maybe HlsAkamaiSettings)
hcsHlsAkamaiSettings = lens _hcsHlsAkamaiSettings (\ s a -> s{_hcsHlsAkamaiSettings = a})
hcsHlsMediaStoreSettings :: Lens' HlsCdnSettings (Maybe HlsMediaStoreSettings)
hcsHlsMediaStoreSettings = lens _hcsHlsMediaStoreSettings (\ s a -> s{_hcsHlsMediaStoreSettings = a})
hcsHlsBasicPutSettings :: Lens' HlsCdnSettings (Maybe HlsBasicPutSettings)
hcsHlsBasicPutSettings = lens _hcsHlsBasicPutSettings (\ s a -> s{_hcsHlsBasicPutSettings = a})
hcsHlsWebdavSettings :: Lens' HlsCdnSettings (Maybe HlsWebdavSettings)
hcsHlsWebdavSettings = lens _hcsHlsWebdavSettings (\ s a -> s{_hcsHlsWebdavSettings = a})
instance FromJSON HlsCdnSettings where
parseJSON
= withObject "HlsCdnSettings"
(\ x ->
HlsCdnSettings' <$>
(x .:? "hlsAkamaiSettings") <*>
(x .:? "hlsMediaStoreSettings")
<*> (x .:? "hlsBasicPutSettings")
<*> (x .:? "hlsWebdavSettings"))
instance Hashable HlsCdnSettings where
instance NFData HlsCdnSettings where
instance ToJSON HlsCdnSettings where
toJSON HlsCdnSettings'{..}
= object
(catMaybes
[("hlsAkamaiSettings" .=) <$> _hcsHlsAkamaiSettings,
("hlsMediaStoreSettings" .=) <$>
_hcsHlsMediaStoreSettings,
("hlsBasicPutSettings" .=) <$>
_hcsHlsBasicPutSettings,
("hlsWebdavSettings" .=) <$> _hcsHlsWebdavSettings])
data HlsGroupSettings = HlsGroupSettings'
{ _hgsDirectoryStructure :: !(Maybe HlsDirectoryStructure)
, _hgsEncryptionType :: !(Maybe HlsEncryptionType)
, _hgsTimedMetadataId3Period :: !(Maybe Nat)
, _hgsIvInManifest :: !(Maybe HlsIvInManifest)
, _hgsTsFileMode :: !(Maybe HlsTsFileMode)
, _hgsMinSegmentLength :: !(Maybe Nat)
, _hgsProgramDateTime :: !(Maybe HlsProgramDateTime)
, _hgsIndexNSegments :: !(Maybe Nat)
, _hgsProgramDateTimePeriod :: !(Maybe Nat)
, _hgsCodecSpecification :: !(Maybe HlsCodecSpecification)
, _hgsHlsCdnSettings :: !(Maybe HlsCdnSettings)
, _hgsCaptionLanguageMappings :: !(Maybe [CaptionLanguageMapping])
, _hgsInputLossAction :: !(Maybe InputLossActionForHlsOut)
, _hgsMode :: !(Maybe HlsMode)
, _hgsKeyProviderSettings :: !(Maybe KeyProviderSettings)
, _hgsConstantIv :: !(Maybe Text)
, _hgsBaseURLManifest :: !(Maybe Text)
, _hgsAdMarkers :: !(Maybe [HlsAdMarkers])
, _hgsKeyFormat :: !(Maybe Text)
, _hgsSegmentLength :: !(Maybe Nat)
, _hgsTimedMetadataId3Frame :: !(Maybe HlsTimedMetadataId3Frame)
, _hgsBaseURLContent :: !(Maybe Text)
, _hgsOutputSelection :: !(Maybe HlsOutputSelection)
, _hgsCaptionLanguageSetting :: !(Maybe HlsCaptionLanguageSetting)
, _hgsSegmentsPerSubdirectory :: !(Maybe Nat)
, _hgsManifestDurationFormat :: !(Maybe HlsManifestDurationFormat)
, _hgsIvSource :: !(Maybe HlsIvSource)
, _hgsSegmentationMode :: !(Maybe HlsSegmentationMode)
, _hgsKeyFormatVersions :: !(Maybe Text)
, _hgsClientCache :: !(Maybe HlsClientCache)
, _hgsTimestampDeltaMilliseconds :: !(Maybe Nat)
, _hgsStreamInfResolution :: !(Maybe HlsStreamInfResolution)
, _hgsKeepSegments :: !(Maybe Nat)
, _hgsManifestCompression :: !(Maybe HlsManifestCompression)
, _hgsDestination :: !OutputLocationRef
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsGroupSettings
:: OutputLocationRef
-> HlsGroupSettings
hlsGroupSettings pDestination_ =
HlsGroupSettings'
{ _hgsDirectoryStructure = Nothing
, _hgsEncryptionType = Nothing
, _hgsTimedMetadataId3Period = Nothing
, _hgsIvInManifest = Nothing
, _hgsTsFileMode = Nothing
, _hgsMinSegmentLength = Nothing
, _hgsProgramDateTime = Nothing
, _hgsIndexNSegments = Nothing
, _hgsProgramDateTimePeriod = Nothing
, _hgsCodecSpecification = Nothing
, _hgsHlsCdnSettings = Nothing
, _hgsCaptionLanguageMappings = Nothing
, _hgsInputLossAction = Nothing
, _hgsMode = Nothing
, _hgsKeyProviderSettings = Nothing
, _hgsConstantIv = Nothing
, _hgsBaseURLManifest = Nothing
, _hgsAdMarkers = Nothing
, _hgsKeyFormat = Nothing
, _hgsSegmentLength = Nothing
, _hgsTimedMetadataId3Frame = Nothing
, _hgsBaseURLContent = Nothing
, _hgsOutputSelection = Nothing
, _hgsCaptionLanguageSetting = Nothing
, _hgsSegmentsPerSubdirectory = Nothing
, _hgsManifestDurationFormat = Nothing
, _hgsIvSource = Nothing
, _hgsSegmentationMode = Nothing
, _hgsKeyFormatVersions = Nothing
, _hgsClientCache = Nothing
, _hgsTimestampDeltaMilliseconds = Nothing
, _hgsStreamInfResolution = Nothing
, _hgsKeepSegments = Nothing
, _hgsManifestCompression = Nothing
, _hgsDestination = pDestination_
}
hgsDirectoryStructure :: Lens' HlsGroupSettings (Maybe HlsDirectoryStructure)
hgsDirectoryStructure = lens _hgsDirectoryStructure (\ s a -> s{_hgsDirectoryStructure = a})
hgsEncryptionType :: Lens' HlsGroupSettings (Maybe HlsEncryptionType)
hgsEncryptionType = lens _hgsEncryptionType (\ s a -> s{_hgsEncryptionType = a})
hgsTimedMetadataId3Period :: Lens' HlsGroupSettings (Maybe Natural)
hgsTimedMetadataId3Period = lens _hgsTimedMetadataId3Period (\ s a -> s{_hgsTimedMetadataId3Period = a}) . mapping _Nat
hgsIvInManifest :: Lens' HlsGroupSettings (Maybe HlsIvInManifest)
hgsIvInManifest = lens _hgsIvInManifest (\ s a -> s{_hgsIvInManifest = a})
hgsTsFileMode :: Lens' HlsGroupSettings (Maybe HlsTsFileMode)
hgsTsFileMode = lens _hgsTsFileMode (\ s a -> s{_hgsTsFileMode = a})
hgsMinSegmentLength :: Lens' HlsGroupSettings (Maybe Natural)
hgsMinSegmentLength = lens _hgsMinSegmentLength (\ s a -> s{_hgsMinSegmentLength = a}) . mapping _Nat
hgsProgramDateTime :: Lens' HlsGroupSettings (Maybe HlsProgramDateTime)
hgsProgramDateTime = lens _hgsProgramDateTime (\ s a -> s{_hgsProgramDateTime = a})
hgsIndexNSegments :: Lens' HlsGroupSettings (Maybe Natural)
hgsIndexNSegments = lens _hgsIndexNSegments (\ s a -> s{_hgsIndexNSegments = a}) . mapping _Nat
hgsProgramDateTimePeriod :: Lens' HlsGroupSettings (Maybe Natural)
hgsProgramDateTimePeriod = lens _hgsProgramDateTimePeriod (\ s a -> s{_hgsProgramDateTimePeriod = a}) . mapping _Nat
hgsCodecSpecification :: Lens' HlsGroupSettings (Maybe HlsCodecSpecification)
hgsCodecSpecification = lens _hgsCodecSpecification (\ s a -> s{_hgsCodecSpecification = a})
hgsHlsCdnSettings :: Lens' HlsGroupSettings (Maybe HlsCdnSettings)
hgsHlsCdnSettings = lens _hgsHlsCdnSettings (\ s a -> s{_hgsHlsCdnSettings = a})
hgsCaptionLanguageMappings :: Lens' HlsGroupSettings [CaptionLanguageMapping]
hgsCaptionLanguageMappings = lens _hgsCaptionLanguageMappings (\ s a -> s{_hgsCaptionLanguageMappings = a}) . _Default . _Coerce
hgsInputLossAction :: Lens' HlsGroupSettings (Maybe InputLossActionForHlsOut)
hgsInputLossAction = lens _hgsInputLossAction (\ s a -> s{_hgsInputLossAction = a})
hgsMode :: Lens' HlsGroupSettings (Maybe HlsMode)
hgsMode = lens _hgsMode (\ s a -> s{_hgsMode = a})
hgsKeyProviderSettings :: Lens' HlsGroupSettings (Maybe KeyProviderSettings)
hgsKeyProviderSettings = lens _hgsKeyProviderSettings (\ s a -> s{_hgsKeyProviderSettings = a})
hgsConstantIv :: Lens' HlsGroupSettings (Maybe Text)
hgsConstantIv = lens _hgsConstantIv (\ s a -> s{_hgsConstantIv = a})
hgsBaseURLManifest :: Lens' HlsGroupSettings (Maybe Text)
hgsBaseURLManifest = lens _hgsBaseURLManifest (\ s a -> s{_hgsBaseURLManifest = a})
hgsAdMarkers :: Lens' HlsGroupSettings [HlsAdMarkers]
hgsAdMarkers = lens _hgsAdMarkers (\ s a -> s{_hgsAdMarkers = a}) . _Default . _Coerce
hgsKeyFormat :: Lens' HlsGroupSettings (Maybe Text)
hgsKeyFormat = lens _hgsKeyFormat (\ s a -> s{_hgsKeyFormat = a})
hgsSegmentLength :: Lens' HlsGroupSettings (Maybe Natural)
hgsSegmentLength = lens _hgsSegmentLength (\ s a -> s{_hgsSegmentLength = a}) . mapping _Nat
hgsTimedMetadataId3Frame :: Lens' HlsGroupSettings (Maybe HlsTimedMetadataId3Frame)
hgsTimedMetadataId3Frame = lens _hgsTimedMetadataId3Frame (\ s a -> s{_hgsTimedMetadataId3Frame = a})
hgsBaseURLContent :: Lens' HlsGroupSettings (Maybe Text)
hgsBaseURLContent = lens _hgsBaseURLContent (\ s a -> s{_hgsBaseURLContent = a})
hgsOutputSelection :: Lens' HlsGroupSettings (Maybe HlsOutputSelection)
hgsOutputSelection = lens _hgsOutputSelection (\ s a -> s{_hgsOutputSelection = a})
hgsCaptionLanguageSetting :: Lens' HlsGroupSettings (Maybe HlsCaptionLanguageSetting)
hgsCaptionLanguageSetting = lens _hgsCaptionLanguageSetting (\ s a -> s{_hgsCaptionLanguageSetting = a})
hgsSegmentsPerSubdirectory :: Lens' HlsGroupSettings (Maybe Natural)
hgsSegmentsPerSubdirectory = lens _hgsSegmentsPerSubdirectory (\ s a -> s{_hgsSegmentsPerSubdirectory = a}) . mapping _Nat
hgsManifestDurationFormat :: Lens' HlsGroupSettings (Maybe HlsManifestDurationFormat)
hgsManifestDurationFormat = lens _hgsManifestDurationFormat (\ s a -> s{_hgsManifestDurationFormat = a})
hgsIvSource :: Lens' HlsGroupSettings (Maybe HlsIvSource)
hgsIvSource = lens _hgsIvSource (\ s a -> s{_hgsIvSource = a})
hgsSegmentationMode :: Lens' HlsGroupSettings (Maybe HlsSegmentationMode)
hgsSegmentationMode = lens _hgsSegmentationMode (\ s a -> s{_hgsSegmentationMode = a})
hgsKeyFormatVersions :: Lens' HlsGroupSettings (Maybe Text)
hgsKeyFormatVersions = lens _hgsKeyFormatVersions (\ s a -> s{_hgsKeyFormatVersions = a})
hgsClientCache :: Lens' HlsGroupSettings (Maybe HlsClientCache)
hgsClientCache = lens _hgsClientCache (\ s a -> s{_hgsClientCache = a})
hgsTimestampDeltaMilliseconds :: Lens' HlsGroupSettings (Maybe Natural)
hgsTimestampDeltaMilliseconds = lens _hgsTimestampDeltaMilliseconds (\ s a -> s{_hgsTimestampDeltaMilliseconds = a}) . mapping _Nat
hgsStreamInfResolution :: Lens' HlsGroupSettings (Maybe HlsStreamInfResolution)
hgsStreamInfResolution = lens _hgsStreamInfResolution (\ s a -> s{_hgsStreamInfResolution = a})
hgsKeepSegments :: Lens' HlsGroupSettings (Maybe Natural)
hgsKeepSegments = lens _hgsKeepSegments (\ s a -> s{_hgsKeepSegments = a}) . mapping _Nat
hgsManifestCompression :: Lens' HlsGroupSettings (Maybe HlsManifestCompression)
hgsManifestCompression = lens _hgsManifestCompression (\ s a -> s{_hgsManifestCompression = a})
hgsDestination :: Lens' HlsGroupSettings OutputLocationRef
hgsDestination = lens _hgsDestination (\ s a -> s{_hgsDestination = a})
instance FromJSON HlsGroupSettings where
parseJSON
= withObject "HlsGroupSettings"
(\ x ->
HlsGroupSettings' <$>
(x .:? "directoryStructure") <*>
(x .:? "encryptionType")
<*> (x .:? "timedMetadataId3Period")
<*> (x .:? "ivInManifest")
<*> (x .:? "tsFileMode")
<*> (x .:? "minSegmentLength")
<*> (x .:? "programDateTime")
<*> (x .:? "indexNSegments")
<*> (x .:? "programDateTimePeriod")
<*> (x .:? "codecSpecification")
<*> (x .:? "hlsCdnSettings")
<*> (x .:? "captionLanguageMappings" .!= mempty)
<*> (x .:? "inputLossAction")
<*> (x .:? "mode")
<*> (x .:? "keyProviderSettings")
<*> (x .:? "constantIv")
<*> (x .:? "baseUrlManifest")
<*> (x .:? "adMarkers" .!= mempty)
<*> (x .:? "keyFormat")
<*> (x .:? "segmentLength")
<*> (x .:? "timedMetadataId3Frame")
<*> (x .:? "baseUrlContent")
<*> (x .:? "outputSelection")
<*> (x .:? "captionLanguageSetting")
<*> (x .:? "segmentsPerSubdirectory")
<*> (x .:? "manifestDurationFormat")
<*> (x .:? "ivSource")
<*> (x .:? "segmentationMode")
<*> (x .:? "keyFormatVersions")
<*> (x .:? "clientCache")
<*> (x .:? "timestampDeltaMilliseconds")
<*> (x .:? "streamInfResolution")
<*> (x .:? "keepSegments")
<*> (x .:? "manifestCompression")
<*> (x .: "destination"))
instance Hashable HlsGroupSettings where
instance NFData HlsGroupSettings where
instance ToJSON HlsGroupSettings where
toJSON HlsGroupSettings'{..}
= object
(catMaybes
[("directoryStructure" .=) <$>
_hgsDirectoryStructure,
("encryptionType" .=) <$> _hgsEncryptionType,
("timedMetadataId3Period" .=) <$>
_hgsTimedMetadataId3Period,
("ivInManifest" .=) <$> _hgsIvInManifest,
("tsFileMode" .=) <$> _hgsTsFileMode,
("minSegmentLength" .=) <$> _hgsMinSegmentLength,
("programDateTime" .=) <$> _hgsProgramDateTime,
("indexNSegments" .=) <$> _hgsIndexNSegments,
("programDateTimePeriod" .=) <$>
_hgsProgramDateTimePeriod,
("codecSpecification" .=) <$> _hgsCodecSpecification,
("hlsCdnSettings" .=) <$> _hgsHlsCdnSettings,
("captionLanguageMappings" .=) <$>
_hgsCaptionLanguageMappings,
("inputLossAction" .=) <$> _hgsInputLossAction,
("mode" .=) <$> _hgsMode,
("keyProviderSettings" .=) <$>
_hgsKeyProviderSettings,
("constantIv" .=) <$> _hgsConstantIv,
("baseUrlManifest" .=) <$> _hgsBaseURLManifest,
("adMarkers" .=) <$> _hgsAdMarkers,
("keyFormat" .=) <$> _hgsKeyFormat,
("segmentLength" .=) <$> _hgsSegmentLength,
("timedMetadataId3Frame" .=) <$>
_hgsTimedMetadataId3Frame,
("baseUrlContent" .=) <$> _hgsBaseURLContent,
("outputSelection" .=) <$> _hgsOutputSelection,
("captionLanguageSetting" .=) <$>
_hgsCaptionLanguageSetting,
("segmentsPerSubdirectory" .=) <$>
_hgsSegmentsPerSubdirectory,
("manifestDurationFormat" .=) <$>
_hgsManifestDurationFormat,
("ivSource" .=) <$> _hgsIvSource,
("segmentationMode" .=) <$> _hgsSegmentationMode,
("keyFormatVersions" .=) <$> _hgsKeyFormatVersions,
("clientCache" .=) <$> _hgsClientCache,
("timestampDeltaMilliseconds" .=) <$>
_hgsTimestampDeltaMilliseconds,
("streamInfResolution" .=) <$>
_hgsStreamInfResolution,
("keepSegments" .=) <$> _hgsKeepSegments,
("manifestCompression" .=) <$>
_hgsManifestCompression,
Just ("destination" .= _hgsDestination)])
data HlsInputSettings = HlsInputSettings'
{ _hisBufferSegments :: !(Maybe Nat)
, _hisRetries :: !(Maybe Nat)
, _hisRetryInterval :: !(Maybe Nat)
, _hisBandwidth :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsInputSettings
:: HlsInputSettings
hlsInputSettings =
HlsInputSettings'
{ _hisBufferSegments = Nothing
, _hisRetries = Nothing
, _hisRetryInterval = Nothing
, _hisBandwidth = Nothing
}
hisBufferSegments :: Lens' HlsInputSettings (Maybe Natural)
hisBufferSegments = lens _hisBufferSegments (\ s a -> s{_hisBufferSegments = a}) . mapping _Nat
hisRetries :: Lens' HlsInputSettings (Maybe Natural)
hisRetries = lens _hisRetries (\ s a -> s{_hisRetries = a}) . mapping _Nat
hisRetryInterval :: Lens' HlsInputSettings (Maybe Natural)
hisRetryInterval = lens _hisRetryInterval (\ s a -> s{_hisRetryInterval = a}) . mapping _Nat
hisBandwidth :: Lens' HlsInputSettings (Maybe Natural)
hisBandwidth = lens _hisBandwidth (\ s a -> s{_hisBandwidth = a}) . mapping _Nat
instance FromJSON HlsInputSettings where
parseJSON
= withObject "HlsInputSettings"
(\ x ->
HlsInputSettings' <$>
(x .:? "bufferSegments") <*> (x .:? "retries") <*>
(x .:? "retryInterval")
<*> (x .:? "bandwidth"))
instance Hashable HlsInputSettings where
instance NFData HlsInputSettings where
instance ToJSON HlsInputSettings where
toJSON HlsInputSettings'{..}
= object
(catMaybes
[("bufferSegments" .=) <$> _hisBufferSegments,
("retries" .=) <$> _hisRetries,
("retryInterval" .=) <$> _hisRetryInterval,
("bandwidth" .=) <$> _hisBandwidth])
data HlsMediaStoreSettings = HlsMediaStoreSettings'
{ _hmssNumRetries :: !(Maybe Nat)
, _hmssConnectionRetryInterval :: !(Maybe Nat)
, _hmssFilecacheDuration :: !(Maybe Nat)
, _hmssMediaStoreStorageClass :: !(Maybe HlsMediaStoreStorageClass)
, _hmssRestartDelay :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsMediaStoreSettings
:: HlsMediaStoreSettings
hlsMediaStoreSettings =
HlsMediaStoreSettings'
{ _hmssNumRetries = Nothing
, _hmssConnectionRetryInterval = Nothing
, _hmssFilecacheDuration = Nothing
, _hmssMediaStoreStorageClass = Nothing
, _hmssRestartDelay = Nothing
}
hmssNumRetries :: Lens' HlsMediaStoreSettings (Maybe Natural)
hmssNumRetries = lens _hmssNumRetries (\ s a -> s{_hmssNumRetries = a}) . mapping _Nat
hmssConnectionRetryInterval :: Lens' HlsMediaStoreSettings (Maybe Natural)
hmssConnectionRetryInterval = lens _hmssConnectionRetryInterval (\ s a -> s{_hmssConnectionRetryInterval = a}) . mapping _Nat
hmssFilecacheDuration :: Lens' HlsMediaStoreSettings (Maybe Natural)
hmssFilecacheDuration = lens _hmssFilecacheDuration (\ s a -> s{_hmssFilecacheDuration = a}) . mapping _Nat
hmssMediaStoreStorageClass :: Lens' HlsMediaStoreSettings (Maybe HlsMediaStoreStorageClass)
hmssMediaStoreStorageClass = lens _hmssMediaStoreStorageClass (\ s a -> s{_hmssMediaStoreStorageClass = a})
hmssRestartDelay :: Lens' HlsMediaStoreSettings (Maybe Natural)
hmssRestartDelay = lens _hmssRestartDelay (\ s a -> s{_hmssRestartDelay = a}) . mapping _Nat
instance FromJSON HlsMediaStoreSettings where
parseJSON
= withObject "HlsMediaStoreSettings"
(\ x ->
HlsMediaStoreSettings' <$>
(x .:? "numRetries") <*>
(x .:? "connectionRetryInterval")
<*> (x .:? "filecacheDuration")
<*> (x .:? "mediaStoreStorageClass")
<*> (x .:? "restartDelay"))
instance Hashable HlsMediaStoreSettings where
instance NFData HlsMediaStoreSettings where
instance ToJSON HlsMediaStoreSettings where
toJSON HlsMediaStoreSettings'{..}
= object
(catMaybes
[("numRetries" .=) <$> _hmssNumRetries,
("connectionRetryInterval" .=) <$>
_hmssConnectionRetryInterval,
("filecacheDuration" .=) <$> _hmssFilecacheDuration,
("mediaStoreStorageClass" .=) <$>
_hmssMediaStoreStorageClass,
("restartDelay" .=) <$> _hmssRestartDelay])
data HlsOutputSettings = HlsOutputSettings'
{ _hosSegmentModifier :: !(Maybe Text)
, _hosNameModifier :: !(Maybe Text)
, _hosHlsSettings :: !HlsSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsOutputSettings
:: HlsSettings
-> HlsOutputSettings
hlsOutputSettings pHlsSettings_ =
HlsOutputSettings'
{ _hosSegmentModifier = Nothing
, _hosNameModifier = Nothing
, _hosHlsSettings = pHlsSettings_
}
hosSegmentModifier :: Lens' HlsOutputSettings (Maybe Text)
hosSegmentModifier = lens _hosSegmentModifier (\ s a -> s{_hosSegmentModifier = a})
hosNameModifier :: Lens' HlsOutputSettings (Maybe Text)
hosNameModifier = lens _hosNameModifier (\ s a -> s{_hosNameModifier = a})
hosHlsSettings :: Lens' HlsOutputSettings HlsSettings
hosHlsSettings = lens _hosHlsSettings (\ s a -> s{_hosHlsSettings = a})
instance FromJSON HlsOutputSettings where
parseJSON
= withObject "HlsOutputSettings"
(\ x ->
HlsOutputSettings' <$>
(x .:? "segmentModifier") <*> (x .:? "nameModifier")
<*> (x .: "hlsSettings"))
instance Hashable HlsOutputSettings where
instance NFData HlsOutputSettings where
instance ToJSON HlsOutputSettings where
toJSON HlsOutputSettings'{..}
= object
(catMaybes
[("segmentModifier" .=) <$> _hosSegmentModifier,
("nameModifier" .=) <$> _hosNameModifier,
Just ("hlsSettings" .= _hosHlsSettings)])
data HlsSettings = HlsSettings'
{ _hsAudioOnlyHlsSettings :: !(Maybe AudioOnlyHlsSettings)
, _hsStandardHlsSettings :: !(Maybe StandardHlsSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsSettings
:: HlsSettings
hlsSettings =
HlsSettings'
{_hsAudioOnlyHlsSettings = Nothing, _hsStandardHlsSettings = Nothing}
hsAudioOnlyHlsSettings :: Lens' HlsSettings (Maybe AudioOnlyHlsSettings)
hsAudioOnlyHlsSettings = lens _hsAudioOnlyHlsSettings (\ s a -> s{_hsAudioOnlyHlsSettings = a})
hsStandardHlsSettings :: Lens' HlsSettings (Maybe StandardHlsSettings)
hsStandardHlsSettings = lens _hsStandardHlsSettings (\ s a -> s{_hsStandardHlsSettings = a})
instance FromJSON HlsSettings where
parseJSON
= withObject "HlsSettings"
(\ x ->
HlsSettings' <$>
(x .:? "audioOnlyHlsSettings") <*>
(x .:? "standardHlsSettings"))
instance Hashable HlsSettings where
instance NFData HlsSettings where
instance ToJSON HlsSettings where
toJSON HlsSettings'{..}
= object
(catMaybes
[("audioOnlyHlsSettings" .=) <$>
_hsAudioOnlyHlsSettings,
("standardHlsSettings" .=) <$>
_hsStandardHlsSettings])
data HlsWebdavSettings = HlsWebdavSettings'
{ _hwsHTTPTransferMode :: !(Maybe HlsWebdavHTTPTransferMode)
, _hwsNumRetries :: !(Maybe Nat)
, _hwsConnectionRetryInterval :: !(Maybe Nat)
, _hwsFilecacheDuration :: !(Maybe Nat)
, _hwsRestartDelay :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
hlsWebdavSettings
:: HlsWebdavSettings
hlsWebdavSettings =
HlsWebdavSettings'
{ _hwsHTTPTransferMode = Nothing
, _hwsNumRetries = Nothing
, _hwsConnectionRetryInterval = Nothing
, _hwsFilecacheDuration = Nothing
, _hwsRestartDelay = Nothing
}
hwsHTTPTransferMode :: Lens' HlsWebdavSettings (Maybe HlsWebdavHTTPTransferMode)
hwsHTTPTransferMode = lens _hwsHTTPTransferMode (\ s a -> s{_hwsHTTPTransferMode = a})
hwsNumRetries :: Lens' HlsWebdavSettings (Maybe Natural)
hwsNumRetries = lens _hwsNumRetries (\ s a -> s{_hwsNumRetries = a}) . mapping _Nat
hwsConnectionRetryInterval :: Lens' HlsWebdavSettings (Maybe Natural)
hwsConnectionRetryInterval = lens _hwsConnectionRetryInterval (\ s a -> s{_hwsConnectionRetryInterval = a}) . mapping _Nat
hwsFilecacheDuration :: Lens' HlsWebdavSettings (Maybe Natural)
hwsFilecacheDuration = lens _hwsFilecacheDuration (\ s a -> s{_hwsFilecacheDuration = a}) . mapping _Nat
hwsRestartDelay :: Lens' HlsWebdavSettings (Maybe Natural)
hwsRestartDelay = lens _hwsRestartDelay (\ s a -> s{_hwsRestartDelay = a}) . mapping _Nat
instance FromJSON HlsWebdavSettings where
parseJSON
= withObject "HlsWebdavSettings"
(\ x ->
HlsWebdavSettings' <$>
(x .:? "httpTransferMode") <*> (x .:? "numRetries")
<*> (x .:? "connectionRetryInterval")
<*> (x .:? "filecacheDuration")
<*> (x .:? "restartDelay"))
instance Hashable HlsWebdavSettings where
instance NFData HlsWebdavSettings where
instance ToJSON HlsWebdavSettings where
toJSON HlsWebdavSettings'{..}
= object
(catMaybes
[("httpTransferMode" .=) <$> _hwsHTTPTransferMode,
("numRetries" .=) <$> _hwsNumRetries,
("connectionRetryInterval" .=) <$>
_hwsConnectionRetryInterval,
("filecacheDuration" .=) <$> _hwsFilecacheDuration,
("restartDelay" .=) <$> _hwsRestartDelay])
data Input = Input'
{ _iState :: !(Maybe InputState)
, _iSecurityGroups :: !(Maybe [Text])
, _iARN :: !(Maybe Text)
, _iSources :: !(Maybe [InputSource])
, _iDestinations :: !(Maybe [InputDestination])
, _iName :: !(Maybe Text)
, _iAttachedChannels :: !(Maybe [Text])
, _iId :: !(Maybe Text)
, _iType :: !(Maybe InputType)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
input
:: Input
input =
Input'
{ _iState = Nothing
, _iSecurityGroups = Nothing
, _iARN = Nothing
, _iSources = Nothing
, _iDestinations = Nothing
, _iName = Nothing
, _iAttachedChannels = Nothing
, _iId = Nothing
, _iType = Nothing
}
iState :: Lens' Input (Maybe InputState)
iState = lens _iState (\ s a -> s{_iState = a})
iSecurityGroups :: Lens' Input [Text]
iSecurityGroups = lens _iSecurityGroups (\ s a -> s{_iSecurityGroups = a}) . _Default . _Coerce
iARN :: Lens' Input (Maybe Text)
iARN = lens _iARN (\ s a -> s{_iARN = a})
iSources :: Lens' Input [InputSource]
iSources = lens _iSources (\ s a -> s{_iSources = a}) . _Default . _Coerce
iDestinations :: Lens' Input [InputDestination]
iDestinations = lens _iDestinations (\ s a -> s{_iDestinations = a}) . _Default . _Coerce
iName :: Lens' Input (Maybe Text)
iName = lens _iName (\ s a -> s{_iName = a})
iAttachedChannels :: Lens' Input [Text]
iAttachedChannels = lens _iAttachedChannels (\ s a -> s{_iAttachedChannels = a}) . _Default . _Coerce
iId :: Lens' Input (Maybe Text)
iId = lens _iId (\ s a -> s{_iId = a})
iType :: Lens' Input (Maybe InputType)
iType = lens _iType (\ s a -> s{_iType = a})
instance FromJSON Input where
parseJSON
= withObject "Input"
(\ x ->
Input' <$>
(x .:? "state") <*>
(x .:? "securityGroups" .!= mempty)
<*> (x .:? "arn")
<*> (x .:? "sources" .!= mempty)
<*> (x .:? "destinations" .!= mempty)
<*> (x .:? "name")
<*> (x .:? "attachedChannels" .!= mempty)
<*> (x .:? "id")
<*> (x .:? "type"))
instance Hashable Input where
instance NFData Input where
data InputAttachment = InputAttachment'
{ _iaInputId :: !(Maybe Text)
, _iaInputSettings :: !(Maybe InputSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputAttachment
:: InputAttachment
inputAttachment =
InputAttachment' {_iaInputId = Nothing, _iaInputSettings = Nothing}
iaInputId :: Lens' InputAttachment (Maybe Text)
iaInputId = lens _iaInputId (\ s a -> s{_iaInputId = a})
iaInputSettings :: Lens' InputAttachment (Maybe InputSettings)
iaInputSettings = lens _iaInputSettings (\ s a -> s{_iaInputSettings = a})
instance FromJSON InputAttachment where
parseJSON
= withObject "InputAttachment"
(\ x ->
InputAttachment' <$>
(x .:? "inputId") <*> (x .:? "inputSettings"))
instance Hashable InputAttachment where
instance NFData InputAttachment where
instance ToJSON InputAttachment where
toJSON InputAttachment'{..}
= object
(catMaybes
[("inputId" .=) <$> _iaInputId,
("inputSettings" .=) <$> _iaInputSettings])
data InputChannelLevel = InputChannelLevel'
{ _iclInputChannel :: !Nat
, _iclGain :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputChannelLevel
:: Natural
-> Int
-> InputChannelLevel
inputChannelLevel pInputChannel_ pGain_ =
InputChannelLevel'
{_iclInputChannel = _Nat # pInputChannel_, _iclGain = pGain_}
iclInputChannel :: Lens' InputChannelLevel Natural
iclInputChannel = lens _iclInputChannel (\ s a -> s{_iclInputChannel = a}) . _Nat
iclGain :: Lens' InputChannelLevel Int
iclGain = lens _iclGain (\ s a -> s{_iclGain = a})
instance FromJSON InputChannelLevel where
parseJSON
= withObject "InputChannelLevel"
(\ x ->
InputChannelLevel' <$>
(x .: "inputChannel") <*> (x .: "gain"))
instance Hashable InputChannelLevel where
instance NFData InputChannelLevel where
instance ToJSON InputChannelLevel where
toJSON InputChannelLevel'{..}
= object
(catMaybes
[Just ("inputChannel" .= _iclInputChannel),
Just ("gain" .= _iclGain)])
data InputDestination = InputDestination'
{ _idURL :: !(Maybe Text)
, _idIP :: !(Maybe Text)
, _idPort :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputDestination
:: InputDestination
inputDestination =
InputDestination' {_idURL = Nothing, _idIP = Nothing, _idPort = Nothing}
idURL :: Lens' InputDestination (Maybe Text)
idURL = lens _idURL (\ s a -> s{_idURL = a})
idIP :: Lens' InputDestination (Maybe Text)
idIP = lens _idIP (\ s a -> s{_idIP = a})
idPort :: Lens' InputDestination (Maybe Text)
idPort = lens _idPort (\ s a -> s{_idPort = a})
instance FromJSON InputDestination where
parseJSON
= withObject "InputDestination"
(\ x ->
InputDestination' <$>
(x .:? "url") <*> (x .:? "ip") <*> (x .:? "port"))
instance Hashable InputDestination where
instance NFData InputDestination where
newtype InputDestinationRequest = InputDestinationRequest'
{ _idrStreamName :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputDestinationRequest
:: InputDestinationRequest
inputDestinationRequest = InputDestinationRequest' {_idrStreamName = Nothing}
idrStreamName :: Lens' InputDestinationRequest (Maybe Text)
idrStreamName = lens _idrStreamName (\ s a -> s{_idrStreamName = a})
instance Hashable InputDestinationRequest where
instance NFData InputDestinationRequest where
instance ToJSON InputDestinationRequest where
toJSON InputDestinationRequest'{..}
= object
(catMaybes [("streamName" .=) <$> _idrStreamName])
data InputLocation = InputLocation'
{ _ilUsername :: !(Maybe Text)
, _ilPasswordParam :: !(Maybe Text)
, _ilURI :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputLocation
:: Text
-> InputLocation
inputLocation pURI_ =
InputLocation'
{_ilUsername = Nothing, _ilPasswordParam = Nothing, _ilURI = pURI_}
ilUsername :: Lens' InputLocation (Maybe Text)
ilUsername = lens _ilUsername (\ s a -> s{_ilUsername = a})
ilPasswordParam :: Lens' InputLocation (Maybe Text)
ilPasswordParam = lens _ilPasswordParam (\ s a -> s{_ilPasswordParam = a})
ilURI :: Lens' InputLocation Text
ilURI = lens _ilURI (\ s a -> s{_ilURI = a})
instance FromJSON InputLocation where
parseJSON
= withObject "InputLocation"
(\ x ->
InputLocation' <$>
(x .:? "username") <*> (x .:? "passwordParam") <*>
(x .: "uri"))
instance Hashable InputLocation where
instance NFData InputLocation where
instance ToJSON InputLocation where
toJSON InputLocation'{..}
= object
(catMaybes
[("username" .=) <$> _ilUsername,
("passwordParam" .=) <$> _ilPasswordParam,
Just ("uri" .= _ilURI)])
data InputLossBehavior = InputLossBehavior'
{ _ilbInputLossImageColor :: !(Maybe Text)
, _ilbBlackFrameMsec :: !(Maybe Nat)
, _ilbRepeatFrameMsec :: !(Maybe Nat)
, _ilbInputLossImageType :: !(Maybe InputLossImageType)
, _ilbInputLossImageSlate :: !(Maybe InputLocation)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputLossBehavior
:: InputLossBehavior
inputLossBehavior =
InputLossBehavior'
{ _ilbInputLossImageColor = Nothing
, _ilbBlackFrameMsec = Nothing
, _ilbRepeatFrameMsec = Nothing
, _ilbInputLossImageType = Nothing
, _ilbInputLossImageSlate = Nothing
}
ilbInputLossImageColor :: Lens' InputLossBehavior (Maybe Text)
ilbInputLossImageColor = lens _ilbInputLossImageColor (\ s a -> s{_ilbInputLossImageColor = a})
ilbBlackFrameMsec :: Lens' InputLossBehavior (Maybe Natural)
ilbBlackFrameMsec = lens _ilbBlackFrameMsec (\ s a -> s{_ilbBlackFrameMsec = a}) . mapping _Nat
ilbRepeatFrameMsec :: Lens' InputLossBehavior (Maybe Natural)
ilbRepeatFrameMsec = lens _ilbRepeatFrameMsec (\ s a -> s{_ilbRepeatFrameMsec = a}) . mapping _Nat
ilbInputLossImageType :: Lens' InputLossBehavior (Maybe InputLossImageType)
ilbInputLossImageType = lens _ilbInputLossImageType (\ s a -> s{_ilbInputLossImageType = a})
ilbInputLossImageSlate :: Lens' InputLossBehavior (Maybe InputLocation)
ilbInputLossImageSlate = lens _ilbInputLossImageSlate (\ s a -> s{_ilbInputLossImageSlate = a})
instance FromJSON InputLossBehavior where
parseJSON
= withObject "InputLossBehavior"
(\ x ->
InputLossBehavior' <$>
(x .:? "inputLossImageColor") <*>
(x .:? "blackFrameMsec")
<*> (x .:? "repeatFrameMsec")
<*> (x .:? "inputLossImageType")
<*> (x .:? "inputLossImageSlate"))
instance Hashable InputLossBehavior where
instance NFData InputLossBehavior where
instance ToJSON InputLossBehavior where
toJSON InputLossBehavior'{..}
= object
(catMaybes
[("inputLossImageColor" .=) <$>
_ilbInputLossImageColor,
("blackFrameMsec" .=) <$> _ilbBlackFrameMsec,
("repeatFrameMsec" .=) <$> _ilbRepeatFrameMsec,
("inputLossImageType" .=) <$> _ilbInputLossImageType,
("inputLossImageSlate" .=) <$>
_ilbInputLossImageSlate])
data InputSecurityGroup = InputSecurityGroup'
{ _isgState :: !(Maybe InputSecurityGroupState)
, _isgARN :: !(Maybe Text)
, _isgInputs :: !(Maybe [Text])
, _isgId :: !(Maybe Text)
, _isgWhitelistRules :: !(Maybe [InputWhitelistRule])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputSecurityGroup
:: InputSecurityGroup
inputSecurityGroup =
InputSecurityGroup'
{ _isgState = Nothing
, _isgARN = Nothing
, _isgInputs = Nothing
, _isgId = Nothing
, _isgWhitelistRules = Nothing
}
isgState :: Lens' InputSecurityGroup (Maybe InputSecurityGroupState)
isgState = lens _isgState (\ s a -> s{_isgState = a})
isgARN :: Lens' InputSecurityGroup (Maybe Text)
isgARN = lens _isgARN (\ s a -> s{_isgARN = a})
isgInputs :: Lens' InputSecurityGroup [Text]
isgInputs = lens _isgInputs (\ s a -> s{_isgInputs = a}) . _Default . _Coerce
isgId :: Lens' InputSecurityGroup (Maybe Text)
isgId = lens _isgId (\ s a -> s{_isgId = a})
isgWhitelistRules :: Lens' InputSecurityGroup [InputWhitelistRule]
isgWhitelistRules = lens _isgWhitelistRules (\ s a -> s{_isgWhitelistRules = a}) . _Default . _Coerce
instance FromJSON InputSecurityGroup where
parseJSON
= withObject "InputSecurityGroup"
(\ x ->
InputSecurityGroup' <$>
(x .:? "state") <*> (x .:? "arn") <*>
(x .:? "inputs" .!= mempty)
<*> (x .:? "id")
<*> (x .:? "whitelistRules" .!= mempty))
instance Hashable InputSecurityGroup where
instance NFData InputSecurityGroup where
data InputSettings = InputSettings'
{ _isVideoSelector :: !(Maybe VideoSelector)
, _isNetworkInputSettings :: !(Maybe NetworkInputSettings)
, _isAudioSelectors :: !(Maybe [AudioSelector])
, _isDeblockFilter :: !(Maybe InputDeblockFilter)
, _isDenoiseFilter :: !(Maybe InputDenoiseFilter)
, _isFilterStrength :: !(Maybe Nat)
, _isCaptionSelectors :: !(Maybe [CaptionSelector])
, _isInputFilter :: !(Maybe InputFilter)
, _isSourceEndBehavior :: !(Maybe InputSourceEndBehavior)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputSettings
:: InputSettings
inputSettings =
InputSettings'
{ _isVideoSelector = Nothing
, _isNetworkInputSettings = Nothing
, _isAudioSelectors = Nothing
, _isDeblockFilter = Nothing
, _isDenoiseFilter = Nothing
, _isFilterStrength = Nothing
, _isCaptionSelectors = Nothing
, _isInputFilter = Nothing
, _isSourceEndBehavior = Nothing
}
isVideoSelector :: Lens' InputSettings (Maybe VideoSelector)
isVideoSelector = lens _isVideoSelector (\ s a -> s{_isVideoSelector = a})
isNetworkInputSettings :: Lens' InputSettings (Maybe NetworkInputSettings)
isNetworkInputSettings = lens _isNetworkInputSettings (\ s a -> s{_isNetworkInputSettings = a})
isAudioSelectors :: Lens' InputSettings [AudioSelector]
isAudioSelectors = lens _isAudioSelectors (\ s a -> s{_isAudioSelectors = a}) . _Default . _Coerce
isDeblockFilter :: Lens' InputSettings (Maybe InputDeblockFilter)
isDeblockFilter = lens _isDeblockFilter (\ s a -> s{_isDeblockFilter = a})
isDenoiseFilter :: Lens' InputSettings (Maybe InputDenoiseFilter)
isDenoiseFilter = lens _isDenoiseFilter (\ s a -> s{_isDenoiseFilter = a})
isFilterStrength :: Lens' InputSettings (Maybe Natural)
isFilterStrength = lens _isFilterStrength (\ s a -> s{_isFilterStrength = a}) . mapping _Nat
isCaptionSelectors :: Lens' InputSettings [CaptionSelector]
isCaptionSelectors = lens _isCaptionSelectors (\ s a -> s{_isCaptionSelectors = a}) . _Default . _Coerce
isInputFilter :: Lens' InputSettings (Maybe InputFilter)
isInputFilter = lens _isInputFilter (\ s a -> s{_isInputFilter = a})
isSourceEndBehavior :: Lens' InputSettings (Maybe InputSourceEndBehavior)
isSourceEndBehavior = lens _isSourceEndBehavior (\ s a -> s{_isSourceEndBehavior = a})
instance FromJSON InputSettings where
parseJSON
= withObject "InputSettings"
(\ x ->
InputSettings' <$>
(x .:? "videoSelector") <*>
(x .:? "networkInputSettings")
<*> (x .:? "audioSelectors" .!= mempty)
<*> (x .:? "deblockFilter")
<*> (x .:? "denoiseFilter")
<*> (x .:? "filterStrength")
<*> (x .:? "captionSelectors" .!= mempty)
<*> (x .:? "inputFilter")
<*> (x .:? "sourceEndBehavior"))
instance Hashable InputSettings where
instance NFData InputSettings where
instance ToJSON InputSettings where
toJSON InputSettings'{..}
= object
(catMaybes
[("videoSelector" .=) <$> _isVideoSelector,
("networkInputSettings" .=) <$>
_isNetworkInputSettings,
("audioSelectors" .=) <$> _isAudioSelectors,
("deblockFilter" .=) <$> _isDeblockFilter,
("denoiseFilter" .=) <$> _isDenoiseFilter,
("filterStrength" .=) <$> _isFilterStrength,
("captionSelectors" .=) <$> _isCaptionSelectors,
("inputFilter" .=) <$> _isInputFilter,
("sourceEndBehavior" .=) <$> _isSourceEndBehavior])
data InputSource = InputSource'
{ _isURL :: !(Maybe Text)
, _isUsername :: !(Maybe Text)
, _isPasswordParam :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputSource
:: InputSource
inputSource =
InputSource'
{_isURL = Nothing, _isUsername = Nothing, _isPasswordParam = Nothing}
isURL :: Lens' InputSource (Maybe Text)
isURL = lens _isURL (\ s a -> s{_isURL = a})
isUsername :: Lens' InputSource (Maybe Text)
isUsername = lens _isUsername (\ s a -> s{_isUsername = a})
isPasswordParam :: Lens' InputSource (Maybe Text)
isPasswordParam = lens _isPasswordParam (\ s a -> s{_isPasswordParam = a})
instance FromJSON InputSource where
parseJSON
= withObject "InputSource"
(\ x ->
InputSource' <$>
(x .:? "url") <*> (x .:? "username") <*>
(x .:? "passwordParam"))
instance Hashable InputSource where
instance NFData InputSource where
data InputSourceRequest = InputSourceRequest'
{ _isrURL :: !(Maybe Text)
, _isrUsername :: !(Maybe Text)
, _isrPasswordParam :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputSourceRequest
:: InputSourceRequest
inputSourceRequest =
InputSourceRequest'
{_isrURL = Nothing, _isrUsername = Nothing, _isrPasswordParam = Nothing}
isrURL :: Lens' InputSourceRequest (Maybe Text)
isrURL = lens _isrURL (\ s a -> s{_isrURL = a})
isrUsername :: Lens' InputSourceRequest (Maybe Text)
isrUsername = lens _isrUsername (\ s a -> s{_isrUsername = a})
isrPasswordParam :: Lens' InputSourceRequest (Maybe Text)
isrPasswordParam = lens _isrPasswordParam (\ s a -> s{_isrPasswordParam = a})
instance Hashable InputSourceRequest where
instance NFData InputSourceRequest where
instance ToJSON InputSourceRequest where
toJSON InputSourceRequest'{..}
= object
(catMaybes
[("url" .=) <$> _isrURL,
("username" .=) <$> _isrUsername,
("passwordParam" .=) <$> _isrPasswordParam])
data InputSpecification = InputSpecification'
{ _isResolution :: !(Maybe InputResolution)
, _isCodec :: !(Maybe InputCodec)
, _isMaximumBitrate :: !(Maybe InputMaximumBitrate)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputSpecification
:: InputSpecification
inputSpecification =
InputSpecification'
{_isResolution = Nothing, _isCodec = Nothing, _isMaximumBitrate = Nothing}
isResolution :: Lens' InputSpecification (Maybe InputResolution)
isResolution = lens _isResolution (\ s a -> s{_isResolution = a})
isCodec :: Lens' InputSpecification (Maybe InputCodec)
isCodec = lens _isCodec (\ s a -> s{_isCodec = a})
isMaximumBitrate :: Lens' InputSpecification (Maybe InputMaximumBitrate)
isMaximumBitrate = lens _isMaximumBitrate (\ s a -> s{_isMaximumBitrate = a})
instance FromJSON InputSpecification where
parseJSON
= withObject "InputSpecification"
(\ x ->
InputSpecification' <$>
(x .:? "resolution") <*> (x .:? "codec") <*>
(x .:? "maximumBitrate"))
instance Hashable InputSpecification where
instance NFData InputSpecification where
instance ToJSON InputSpecification where
toJSON InputSpecification'{..}
= object
(catMaybes
[("resolution" .=) <$> _isResolution,
("codec" .=) <$> _isCodec,
("maximumBitrate" .=) <$> _isMaximumBitrate])
newtype InputWhitelistRule = InputWhitelistRule'
{ _iwrCidr :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputWhitelistRule
:: InputWhitelistRule
inputWhitelistRule = InputWhitelistRule' {_iwrCidr = Nothing}
iwrCidr :: Lens' InputWhitelistRule (Maybe Text)
iwrCidr = lens _iwrCidr (\ s a -> s{_iwrCidr = a})
instance FromJSON InputWhitelistRule where
parseJSON
= withObject "InputWhitelistRule"
(\ x -> InputWhitelistRule' <$> (x .:? "cidr"))
instance Hashable InputWhitelistRule where
instance NFData InputWhitelistRule where
newtype InputWhitelistRuleCidr = InputWhitelistRuleCidr'
{ _iwrcCidr :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
inputWhitelistRuleCidr
:: InputWhitelistRuleCidr
inputWhitelistRuleCidr = InputWhitelistRuleCidr' {_iwrcCidr = Nothing}
iwrcCidr :: Lens' InputWhitelistRuleCidr (Maybe Text)
iwrcCidr = lens _iwrcCidr (\ s a -> s{_iwrcCidr = a})
instance Hashable InputWhitelistRuleCidr where
instance NFData InputWhitelistRuleCidr where
instance ToJSON InputWhitelistRuleCidr where
toJSON InputWhitelistRuleCidr'{..}
= object (catMaybes [("cidr" .=) <$> _iwrcCidr])
newtype KeyProviderSettings = KeyProviderSettings'
{ _kpsStaticKeySettings :: Maybe StaticKeySettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
keyProviderSettings
:: KeyProviderSettings
keyProviderSettings = KeyProviderSettings' {_kpsStaticKeySettings = Nothing}
kpsStaticKeySettings :: Lens' KeyProviderSettings (Maybe StaticKeySettings)
kpsStaticKeySettings = lens _kpsStaticKeySettings (\ s a -> s{_kpsStaticKeySettings = a})
instance FromJSON KeyProviderSettings where
parseJSON
= withObject "KeyProviderSettings"
(\ x ->
KeyProviderSettings' <$> (x .:? "staticKeySettings"))
instance Hashable KeyProviderSettings where
instance NFData KeyProviderSettings where
instance ToJSON KeyProviderSettings where
toJSON KeyProviderSettings'{..}
= object
(catMaybes
[("staticKeySettings" .=) <$> _kpsStaticKeySettings])
data M2tsSettings = M2tsSettings'
{ _msPmtPid :: !(Maybe Text)
, _msEtvSignalPid :: !(Maybe Text)
, _msVideoPid :: !(Maybe Text)
, _msBufferModel :: !(Maybe M2tsBufferModel)
, _msScte35Pid :: !(Maybe Text)
, _msTransportStreamId :: !(Maybe Nat)
, _msProgramNum :: !(Maybe Nat)
, _msFragmentTime :: !(Maybe Double)
, _msTimedMetadataBehavior :: !(Maybe M2tsTimedMetadataBehavior)
, _msCCDescriptor :: !(Maybe M2tsCCDescriptor)
, _msPmtInterval :: !(Maybe Nat)
, _msDvbSdtSettings :: !(Maybe DvbSdtSettings)
, _msEcmPid :: !(Maybe Text)
, _msNullPacketBitrate :: !(Maybe Double)
, _msAudioBufferModel :: !(Maybe M2tsAudioBufferModel)
, _msTimedMetadataPid :: !(Maybe Text)
, _msKlv :: !(Maybe M2tsKlv)
, _msAudioFramesPerPes :: !(Maybe Nat)
, _msPcrPeriod :: !(Maybe Nat)
, _msPcrPid :: !(Maybe Text)
, _msSegmentationMarkers :: !(Maybe M2tsSegmentationMarkers)
, _msAribCaptionsPidControl :: !(Maybe M2tsAribCaptionsPidControl)
, _msKlvDataPids :: !(Maybe Text)
, _msEbpLookaheadMs :: !(Maybe Nat)
, _msDvbSubPids :: !(Maybe Text)
, _msScte27Pids :: !(Maybe Text)
, _msPatInterval :: !(Maybe Nat)
, _msAudioStreamType :: !(Maybe M2tsAudioStreamType)
, _msEsRateInPes :: !(Maybe M2tsEsRateInPes)
, _msEtvPlatformPid :: !(Maybe Text)
, _msBitrate :: !(Maybe Nat)
, _msScte35Control :: !(Maybe M2tsScte35Control)
, _msAudioPids :: !(Maybe Text)
, _msDvbTeletextPid :: !(Maybe Text)
, _msEbif :: !(Maybe M2tsEbifControl)
, _msArib :: !(Maybe M2tsArib)
, _msAribCaptionsPid :: !(Maybe Text)
, _msAbsentInputAudioBehavior :: !(Maybe M2tsAbsentInputAudioBehavior)
, _msSegmentationTime :: !(Maybe Double)
, _msEbpAudioInterval :: !(Maybe M2tsAudioInterval)
, _msDvbNitSettings :: !(Maybe DvbNitSettings)
, _msPcrControl :: !(Maybe M2tsPcrControl)
, _msEbpPlacement :: !(Maybe M2tsEbpPlacement)
, _msRateMode :: !(Maybe M2tsRateMode)
, _msSegmentationStyle :: !(Maybe M2tsSegmentationStyle)
, _msDvbTdtSettings :: !(Maybe DvbTdtSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
m2tsSettings
:: M2tsSettings
m2tsSettings =
M2tsSettings'
{ _msPmtPid = Nothing
, _msEtvSignalPid = Nothing
, _msVideoPid = Nothing
, _msBufferModel = Nothing
, _msScte35Pid = Nothing
, _msTransportStreamId = Nothing
, _msProgramNum = Nothing
, _msFragmentTime = Nothing
, _msTimedMetadataBehavior = Nothing
, _msCCDescriptor = Nothing
, _msPmtInterval = Nothing
, _msDvbSdtSettings = Nothing
, _msEcmPid = Nothing
, _msNullPacketBitrate = Nothing
, _msAudioBufferModel = Nothing
, _msTimedMetadataPid = Nothing
, _msKlv = Nothing
, _msAudioFramesPerPes = Nothing
, _msPcrPeriod = Nothing
, _msPcrPid = Nothing
, _msSegmentationMarkers = Nothing
, _msAribCaptionsPidControl = Nothing
, _msKlvDataPids = Nothing
, _msEbpLookaheadMs = Nothing
, _msDvbSubPids = Nothing
, _msScte27Pids = Nothing
, _msPatInterval = Nothing
, _msAudioStreamType = Nothing
, _msEsRateInPes = Nothing
, _msEtvPlatformPid = Nothing
, _msBitrate = Nothing
, _msScte35Control = Nothing
, _msAudioPids = Nothing
, _msDvbTeletextPid = Nothing
, _msEbif = Nothing
, _msArib = Nothing
, _msAribCaptionsPid = Nothing
, _msAbsentInputAudioBehavior = Nothing
, _msSegmentationTime = Nothing
, _msEbpAudioInterval = Nothing
, _msDvbNitSettings = Nothing
, _msPcrControl = Nothing
, _msEbpPlacement = Nothing
, _msRateMode = Nothing
, _msSegmentationStyle = Nothing
, _msDvbTdtSettings = Nothing
}
msPmtPid :: Lens' M2tsSettings (Maybe Text)
msPmtPid = lens _msPmtPid (\ s a -> s{_msPmtPid = a})
msEtvSignalPid :: Lens' M2tsSettings (Maybe Text)
msEtvSignalPid = lens _msEtvSignalPid (\ s a -> s{_msEtvSignalPid = a})
msVideoPid :: Lens' M2tsSettings (Maybe Text)
msVideoPid = lens _msVideoPid (\ s a -> s{_msVideoPid = a})
msBufferModel :: Lens' M2tsSettings (Maybe M2tsBufferModel)
msBufferModel = lens _msBufferModel (\ s a -> s{_msBufferModel = a})
msScte35Pid :: Lens' M2tsSettings (Maybe Text)
msScte35Pid = lens _msScte35Pid (\ s a -> s{_msScte35Pid = a})
msTransportStreamId :: Lens' M2tsSettings (Maybe Natural)
msTransportStreamId = lens _msTransportStreamId (\ s a -> s{_msTransportStreamId = a}) . mapping _Nat
msProgramNum :: Lens' M2tsSettings (Maybe Natural)
msProgramNum = lens _msProgramNum (\ s a -> s{_msProgramNum = a}) . mapping _Nat
msFragmentTime :: Lens' M2tsSettings (Maybe Double)
msFragmentTime = lens _msFragmentTime (\ s a -> s{_msFragmentTime = a})
msTimedMetadataBehavior :: Lens' M2tsSettings (Maybe M2tsTimedMetadataBehavior)
msTimedMetadataBehavior = lens _msTimedMetadataBehavior (\ s a -> s{_msTimedMetadataBehavior = a})
msCCDescriptor :: Lens' M2tsSettings (Maybe M2tsCCDescriptor)
msCCDescriptor = lens _msCCDescriptor (\ s a -> s{_msCCDescriptor = a})
msPmtInterval :: Lens' M2tsSettings (Maybe Natural)
msPmtInterval = lens _msPmtInterval (\ s a -> s{_msPmtInterval = a}) . mapping _Nat
msDvbSdtSettings :: Lens' M2tsSettings (Maybe DvbSdtSettings)
msDvbSdtSettings = lens _msDvbSdtSettings (\ s a -> s{_msDvbSdtSettings = a})
msEcmPid :: Lens' M2tsSettings (Maybe Text)
msEcmPid = lens _msEcmPid (\ s a -> s{_msEcmPid = a})
msNullPacketBitrate :: Lens' M2tsSettings (Maybe Double)
msNullPacketBitrate = lens _msNullPacketBitrate (\ s a -> s{_msNullPacketBitrate = a})
msAudioBufferModel :: Lens' M2tsSettings (Maybe M2tsAudioBufferModel)
msAudioBufferModel = lens _msAudioBufferModel (\ s a -> s{_msAudioBufferModel = a})
msTimedMetadataPid :: Lens' M2tsSettings (Maybe Text)
msTimedMetadataPid = lens _msTimedMetadataPid (\ s a -> s{_msTimedMetadataPid = a})
msKlv :: Lens' M2tsSettings (Maybe M2tsKlv)
msKlv = lens _msKlv (\ s a -> s{_msKlv = a})
msAudioFramesPerPes :: Lens' M2tsSettings (Maybe Natural)
msAudioFramesPerPes = lens _msAudioFramesPerPes (\ s a -> s{_msAudioFramesPerPes = a}) . mapping _Nat
msPcrPeriod :: Lens' M2tsSettings (Maybe Natural)
msPcrPeriod = lens _msPcrPeriod (\ s a -> s{_msPcrPeriod = a}) . mapping _Nat
msPcrPid :: Lens' M2tsSettings (Maybe Text)
msPcrPid = lens _msPcrPid (\ s a -> s{_msPcrPid = a})
msSegmentationMarkers :: Lens' M2tsSettings (Maybe M2tsSegmentationMarkers)
msSegmentationMarkers = lens _msSegmentationMarkers (\ s a -> s{_msSegmentationMarkers = a})
msAribCaptionsPidControl :: Lens' M2tsSettings (Maybe M2tsAribCaptionsPidControl)
msAribCaptionsPidControl = lens _msAribCaptionsPidControl (\ s a -> s{_msAribCaptionsPidControl = a})
msKlvDataPids :: Lens' M2tsSettings (Maybe Text)
msKlvDataPids = lens _msKlvDataPids (\ s a -> s{_msKlvDataPids = a})
msEbpLookaheadMs :: Lens' M2tsSettings (Maybe Natural)
msEbpLookaheadMs = lens _msEbpLookaheadMs (\ s a -> s{_msEbpLookaheadMs = a}) . mapping _Nat
msDvbSubPids :: Lens' M2tsSettings (Maybe Text)
msDvbSubPids = lens _msDvbSubPids (\ s a -> s{_msDvbSubPids = a})
msScte27Pids :: Lens' M2tsSettings (Maybe Text)
msScte27Pids = lens _msScte27Pids (\ s a -> s{_msScte27Pids = a})
msPatInterval :: Lens' M2tsSettings (Maybe Natural)
msPatInterval = lens _msPatInterval (\ s a -> s{_msPatInterval = a}) . mapping _Nat
msAudioStreamType :: Lens' M2tsSettings (Maybe M2tsAudioStreamType)
msAudioStreamType = lens _msAudioStreamType (\ s a -> s{_msAudioStreamType = a})
msEsRateInPes :: Lens' M2tsSettings (Maybe M2tsEsRateInPes)
msEsRateInPes = lens _msEsRateInPes (\ s a -> s{_msEsRateInPes = a})
msEtvPlatformPid :: Lens' M2tsSettings (Maybe Text)
msEtvPlatformPid = lens _msEtvPlatformPid (\ s a -> s{_msEtvPlatformPid = a})
msBitrate :: Lens' M2tsSettings (Maybe Natural)
msBitrate = lens _msBitrate (\ s a -> s{_msBitrate = a}) . mapping _Nat
msScte35Control :: Lens' M2tsSettings (Maybe M2tsScte35Control)
msScte35Control = lens _msScte35Control (\ s a -> s{_msScte35Control = a})
msAudioPids :: Lens' M2tsSettings (Maybe Text)
msAudioPids = lens _msAudioPids (\ s a -> s{_msAudioPids = a})
msDvbTeletextPid :: Lens' M2tsSettings (Maybe Text)
msDvbTeletextPid = lens _msDvbTeletextPid (\ s a -> s{_msDvbTeletextPid = a})
msEbif :: Lens' M2tsSettings (Maybe M2tsEbifControl)
msEbif = lens _msEbif (\ s a -> s{_msEbif = a})
msArib :: Lens' M2tsSettings (Maybe M2tsArib)
msArib = lens _msArib (\ s a -> s{_msArib = a})
msAribCaptionsPid :: Lens' M2tsSettings (Maybe Text)
msAribCaptionsPid = lens _msAribCaptionsPid (\ s a -> s{_msAribCaptionsPid = a})
msAbsentInputAudioBehavior :: Lens' M2tsSettings (Maybe M2tsAbsentInputAudioBehavior)
msAbsentInputAudioBehavior = lens _msAbsentInputAudioBehavior (\ s a -> s{_msAbsentInputAudioBehavior = a})
msSegmentationTime :: Lens' M2tsSettings (Maybe Double)
msSegmentationTime = lens _msSegmentationTime (\ s a -> s{_msSegmentationTime = a})
msEbpAudioInterval :: Lens' M2tsSettings (Maybe M2tsAudioInterval)
msEbpAudioInterval = lens _msEbpAudioInterval (\ s a -> s{_msEbpAudioInterval = a})
msDvbNitSettings :: Lens' M2tsSettings (Maybe DvbNitSettings)
msDvbNitSettings = lens _msDvbNitSettings (\ s a -> s{_msDvbNitSettings = a})
msPcrControl :: Lens' M2tsSettings (Maybe M2tsPcrControl)
msPcrControl = lens _msPcrControl (\ s a -> s{_msPcrControl = a})
msEbpPlacement :: Lens' M2tsSettings (Maybe M2tsEbpPlacement)
msEbpPlacement = lens _msEbpPlacement (\ s a -> s{_msEbpPlacement = a})
msRateMode :: Lens' M2tsSettings (Maybe M2tsRateMode)
msRateMode = lens _msRateMode (\ s a -> s{_msRateMode = a})
msSegmentationStyle :: Lens' M2tsSettings (Maybe M2tsSegmentationStyle)
msSegmentationStyle = lens _msSegmentationStyle (\ s a -> s{_msSegmentationStyle = a})
msDvbTdtSettings :: Lens' M2tsSettings (Maybe DvbTdtSettings)
msDvbTdtSettings = lens _msDvbTdtSettings (\ s a -> s{_msDvbTdtSettings = a})
instance FromJSON M2tsSettings where
parseJSON
= withObject "M2tsSettings"
(\ x ->
M2tsSettings' <$>
(x .:? "pmtPid") <*> (x .:? "etvSignalPid") <*>
(x .:? "videoPid")
<*> (x .:? "bufferModel")
<*> (x .:? "scte35Pid")
<*> (x .:? "transportStreamId")
<*> (x .:? "programNum")
<*> (x .:? "fragmentTime")
<*> (x .:? "timedMetadataBehavior")
<*> (x .:? "ccDescriptor")
<*> (x .:? "pmtInterval")
<*> (x .:? "dvbSdtSettings")
<*> (x .:? "ecmPid")
<*> (x .:? "nullPacketBitrate")
<*> (x .:? "audioBufferModel")
<*> (x .:? "timedMetadataPid")
<*> (x .:? "klv")
<*> (x .:? "audioFramesPerPes")
<*> (x .:? "pcrPeriod")
<*> (x .:? "pcrPid")
<*> (x .:? "segmentationMarkers")
<*> (x .:? "aribCaptionsPidControl")
<*> (x .:? "klvDataPids")
<*> (x .:? "ebpLookaheadMs")
<*> (x .:? "dvbSubPids")
<*> (x .:? "scte27Pids")
<*> (x .:? "patInterval")
<*> (x .:? "audioStreamType")
<*> (x .:? "esRateInPes")
<*> (x .:? "etvPlatformPid")
<*> (x .:? "bitrate")
<*> (x .:? "scte35Control")
<*> (x .:? "audioPids")
<*> (x .:? "dvbTeletextPid")
<*> (x .:? "ebif")
<*> (x .:? "arib")
<*> (x .:? "aribCaptionsPid")
<*> (x .:? "absentInputAudioBehavior")
<*> (x .:? "segmentationTime")
<*> (x .:? "ebpAudioInterval")
<*> (x .:? "dvbNitSettings")
<*> (x .:? "pcrControl")
<*> (x .:? "ebpPlacement")
<*> (x .:? "rateMode")
<*> (x .:? "segmentationStyle")
<*> (x .:? "dvbTdtSettings"))
instance Hashable M2tsSettings where
instance NFData M2tsSettings where
instance ToJSON M2tsSettings where
toJSON M2tsSettings'{..}
= object
(catMaybes
[("pmtPid" .=) <$> _msPmtPid,
("etvSignalPid" .=) <$> _msEtvSignalPid,
("videoPid" .=) <$> _msVideoPid,
("bufferModel" .=) <$> _msBufferModel,
("scte35Pid" .=) <$> _msScte35Pid,
("transportStreamId" .=) <$> _msTransportStreamId,
("programNum" .=) <$> _msProgramNum,
("fragmentTime" .=) <$> _msFragmentTime,
("timedMetadataBehavior" .=) <$>
_msTimedMetadataBehavior,
("ccDescriptor" .=) <$> _msCCDescriptor,
("pmtInterval" .=) <$> _msPmtInterval,
("dvbSdtSettings" .=) <$> _msDvbSdtSettings,
("ecmPid" .=) <$> _msEcmPid,
("nullPacketBitrate" .=) <$> _msNullPacketBitrate,
("audioBufferModel" .=) <$> _msAudioBufferModel,
("timedMetadataPid" .=) <$> _msTimedMetadataPid,
("klv" .=) <$> _msKlv,
("audioFramesPerPes" .=) <$> _msAudioFramesPerPes,
("pcrPeriod" .=) <$> _msPcrPeriod,
("pcrPid" .=) <$> _msPcrPid,
("segmentationMarkers" .=) <$>
_msSegmentationMarkers,
("aribCaptionsPidControl" .=) <$>
_msAribCaptionsPidControl,
("klvDataPids" .=) <$> _msKlvDataPids,
("ebpLookaheadMs" .=) <$> _msEbpLookaheadMs,
("dvbSubPids" .=) <$> _msDvbSubPids,
("scte27Pids" .=) <$> _msScte27Pids,
("patInterval" .=) <$> _msPatInterval,
("audioStreamType" .=) <$> _msAudioStreamType,
("esRateInPes" .=) <$> _msEsRateInPes,
("etvPlatformPid" .=) <$> _msEtvPlatformPid,
("bitrate" .=) <$> _msBitrate,
("scte35Control" .=) <$> _msScte35Control,
("audioPids" .=) <$> _msAudioPids,
("dvbTeletextPid" .=) <$> _msDvbTeletextPid,
("ebif" .=) <$> _msEbif, ("arib" .=) <$> _msArib,
("aribCaptionsPid" .=) <$> _msAribCaptionsPid,
("absentInputAudioBehavior" .=) <$>
_msAbsentInputAudioBehavior,
("segmentationTime" .=) <$> _msSegmentationTime,
("ebpAudioInterval" .=) <$> _msEbpAudioInterval,
("dvbNitSettings" .=) <$> _msDvbNitSettings,
("pcrControl" .=) <$> _msPcrControl,
("ebpPlacement" .=) <$> _msEbpPlacement,
("rateMode" .=) <$> _msRateMode,
("segmentationStyle" .=) <$> _msSegmentationStyle,
("dvbTdtSettings" .=) <$> _msDvbTdtSettings])
data M3u8Settings = M3u8Settings'
{ _mPmtPid :: !(Maybe Text)
, _mVideoPid :: !(Maybe Text)
, _mScte35Pid :: !(Maybe Text)
, _mTransportStreamId :: !(Maybe Nat)
, _mProgramNum :: !(Maybe Nat)
, _mTimedMetadataBehavior :: !(Maybe M3u8TimedMetadataBehavior)
, _mPmtInterval :: !(Maybe Nat)
, _mEcmPid :: !(Maybe Text)
, _mTimedMetadataPid :: !(Maybe Text)
, _mAudioFramesPerPes :: !(Maybe Nat)
, _mPcrPeriod :: !(Maybe Nat)
, _mPcrPid :: !(Maybe Text)
, _mPatInterval :: !(Maybe Nat)
, _mAudioPids :: !(Maybe Text)
, _mScte35Behavior :: !(Maybe M3u8Scte35Behavior)
, _mPcrControl :: !(Maybe M3u8PcrControl)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
m3u8Settings
:: M3u8Settings
m3u8Settings =
M3u8Settings'
{ _mPmtPid = Nothing
, _mVideoPid = Nothing
, _mScte35Pid = Nothing
, _mTransportStreamId = Nothing
, _mProgramNum = Nothing
, _mTimedMetadataBehavior = Nothing
, _mPmtInterval = Nothing
, _mEcmPid = Nothing
, _mTimedMetadataPid = Nothing
, _mAudioFramesPerPes = Nothing
, _mPcrPeriod = Nothing
, _mPcrPid = Nothing
, _mPatInterval = Nothing
, _mAudioPids = Nothing
, _mScte35Behavior = Nothing
, _mPcrControl = Nothing
}
mPmtPid :: Lens' M3u8Settings (Maybe Text)
mPmtPid = lens _mPmtPid (\ s a -> s{_mPmtPid = a})
mVideoPid :: Lens' M3u8Settings (Maybe Text)
mVideoPid = lens _mVideoPid (\ s a -> s{_mVideoPid = a})
mScte35Pid :: Lens' M3u8Settings (Maybe Text)
mScte35Pid = lens _mScte35Pid (\ s a -> s{_mScte35Pid = a})
mTransportStreamId :: Lens' M3u8Settings (Maybe Natural)
mTransportStreamId = lens _mTransportStreamId (\ s a -> s{_mTransportStreamId = a}) . mapping _Nat
mProgramNum :: Lens' M3u8Settings (Maybe Natural)
mProgramNum = lens _mProgramNum (\ s a -> s{_mProgramNum = a}) . mapping _Nat
mTimedMetadataBehavior :: Lens' M3u8Settings (Maybe M3u8TimedMetadataBehavior)
mTimedMetadataBehavior = lens _mTimedMetadataBehavior (\ s a -> s{_mTimedMetadataBehavior = a})
mPmtInterval :: Lens' M3u8Settings (Maybe Natural)
mPmtInterval = lens _mPmtInterval (\ s a -> s{_mPmtInterval = a}) . mapping _Nat
mEcmPid :: Lens' M3u8Settings (Maybe Text)
mEcmPid = lens _mEcmPid (\ s a -> s{_mEcmPid = a})
mTimedMetadataPid :: Lens' M3u8Settings (Maybe Text)
mTimedMetadataPid = lens _mTimedMetadataPid (\ s a -> s{_mTimedMetadataPid = a})
mAudioFramesPerPes :: Lens' M3u8Settings (Maybe Natural)
mAudioFramesPerPes = lens _mAudioFramesPerPes (\ s a -> s{_mAudioFramesPerPes = a}) . mapping _Nat
mPcrPeriod :: Lens' M3u8Settings (Maybe Natural)
mPcrPeriod = lens _mPcrPeriod (\ s a -> s{_mPcrPeriod = a}) . mapping _Nat
mPcrPid :: Lens' M3u8Settings (Maybe Text)
mPcrPid = lens _mPcrPid (\ s a -> s{_mPcrPid = a})
mPatInterval :: Lens' M3u8Settings (Maybe Natural)
mPatInterval = lens _mPatInterval (\ s a -> s{_mPatInterval = a}) . mapping _Nat
mAudioPids :: Lens' M3u8Settings (Maybe Text)
mAudioPids = lens _mAudioPids (\ s a -> s{_mAudioPids = a})
mScte35Behavior :: Lens' M3u8Settings (Maybe M3u8Scte35Behavior)
mScte35Behavior = lens _mScte35Behavior (\ s a -> s{_mScte35Behavior = a})
mPcrControl :: Lens' M3u8Settings (Maybe M3u8PcrControl)
mPcrControl = lens _mPcrControl (\ s a -> s{_mPcrControl = a})
instance FromJSON M3u8Settings where
parseJSON
= withObject "M3u8Settings"
(\ x ->
M3u8Settings' <$>
(x .:? "pmtPid") <*> (x .:? "videoPid") <*>
(x .:? "scte35Pid")
<*> (x .:? "transportStreamId")
<*> (x .:? "programNum")
<*> (x .:? "timedMetadataBehavior")
<*> (x .:? "pmtInterval")
<*> (x .:? "ecmPid")
<*> (x .:? "timedMetadataPid")
<*> (x .:? "audioFramesPerPes")
<*> (x .:? "pcrPeriod")
<*> (x .:? "pcrPid")
<*> (x .:? "patInterval")
<*> (x .:? "audioPids")
<*> (x .:? "scte35Behavior")
<*> (x .:? "pcrControl"))
instance Hashable M3u8Settings where
instance NFData M3u8Settings where
instance ToJSON M3u8Settings where
toJSON M3u8Settings'{..}
= object
(catMaybes
[("pmtPid" .=) <$> _mPmtPid,
("videoPid" .=) <$> _mVideoPid,
("scte35Pid" .=) <$> _mScte35Pid,
("transportStreamId" .=) <$> _mTransportStreamId,
("programNum" .=) <$> _mProgramNum,
("timedMetadataBehavior" .=) <$>
_mTimedMetadataBehavior,
("pmtInterval" .=) <$> _mPmtInterval,
("ecmPid" .=) <$> _mEcmPid,
("timedMetadataPid" .=) <$> _mTimedMetadataPid,
("audioFramesPerPes" .=) <$> _mAudioFramesPerPes,
("pcrPeriod" .=) <$> _mPcrPeriod,
("pcrPid" .=) <$> _mPcrPid,
("patInterval" .=) <$> _mPatInterval,
("audioPids" .=) <$> _mAudioPids,
("scte35Behavior" .=) <$> _mScte35Behavior,
("pcrControl" .=) <$> _mPcrControl])
data Mp2Settings = Mp2Settings'
{ _mCodingMode :: !(Maybe Mp2CodingMode)
, _mSampleRate :: !(Maybe Double)
, _mBitrate :: !(Maybe Double)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
mp2Settings
:: Mp2Settings
mp2Settings =
Mp2Settings'
{_mCodingMode = Nothing, _mSampleRate = Nothing, _mBitrate = Nothing}
mCodingMode :: Lens' Mp2Settings (Maybe Mp2CodingMode)
mCodingMode = lens _mCodingMode (\ s a -> s{_mCodingMode = a})
mSampleRate :: Lens' Mp2Settings (Maybe Double)
mSampleRate = lens _mSampleRate (\ s a -> s{_mSampleRate = a})
mBitrate :: Lens' Mp2Settings (Maybe Double)
mBitrate = lens _mBitrate (\ s a -> s{_mBitrate = a})
instance FromJSON Mp2Settings where
parseJSON
= withObject "Mp2Settings"
(\ x ->
Mp2Settings' <$>
(x .:? "codingMode") <*> (x .:? "sampleRate") <*>
(x .:? "bitrate"))
instance Hashable Mp2Settings where
instance NFData Mp2Settings where
instance ToJSON Mp2Settings where
toJSON Mp2Settings'{..}
= object
(catMaybes
[("codingMode" .=) <$> _mCodingMode,
("sampleRate" .=) <$> _mSampleRate,
("bitrate" .=) <$> _mBitrate])
data MsSmoothGroupSettings = MsSmoothGroupSettings'
{ _msgsFragmentLength :: !(Maybe Nat)
, _msgsStreamManifestBehavior :: !(Maybe SmoothGroupStreamManifestBehavior)
, _msgsSendDelayMs :: !(Maybe Nat)
, _msgsEventStopBehavior :: !(Maybe SmoothGroupEventStopBehavior)
, _msgsTimestampOffsetMode :: !(Maybe SmoothGroupTimestampOffsetMode)
, _msgsNumRetries :: !(Maybe Nat)
, _msgsAcquisitionPointId :: !(Maybe Text)
, _msgsInputLossAction :: !(Maybe InputLossActionForMsSmoothOut)
, _msgsTimestampOffset :: !(Maybe Text)
, _msgsCertificateMode :: !(Maybe SmoothGroupCertificateMode)
, _msgsSparseTrackType :: !(Maybe SmoothGroupSparseTrackType)
, _msgsConnectionRetryInterval :: !(Maybe Nat)
, _msgsFilecacheDuration :: !(Maybe Nat)
, _msgsRestartDelay :: !(Maybe Nat)
, _msgsEventIdMode :: !(Maybe SmoothGroupEventIdMode)
, _msgsAudioOnlyTimecodeControl :: !(Maybe SmoothGroupAudioOnlyTimecodeControl)
, _msgsSegmentationMode :: !(Maybe SmoothGroupSegmentationMode)
, _msgsEventId :: !(Maybe Text)
, _msgsDestination :: !OutputLocationRef
} deriving (Eq, Read, Show, Data, Typeable, Generic)
msSmoothGroupSettings
:: OutputLocationRef
-> MsSmoothGroupSettings
msSmoothGroupSettings pDestination_ =
MsSmoothGroupSettings'
{ _msgsFragmentLength = Nothing
, _msgsStreamManifestBehavior = Nothing
, _msgsSendDelayMs = Nothing
, _msgsEventStopBehavior = Nothing
, _msgsTimestampOffsetMode = Nothing
, _msgsNumRetries = Nothing
, _msgsAcquisitionPointId = Nothing
, _msgsInputLossAction = Nothing
, _msgsTimestampOffset = Nothing
, _msgsCertificateMode = Nothing
, _msgsSparseTrackType = Nothing
, _msgsConnectionRetryInterval = Nothing
, _msgsFilecacheDuration = Nothing
, _msgsRestartDelay = Nothing
, _msgsEventIdMode = Nothing
, _msgsAudioOnlyTimecodeControl = Nothing
, _msgsSegmentationMode = Nothing
, _msgsEventId = Nothing
, _msgsDestination = pDestination_
}
msgsFragmentLength :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsFragmentLength = lens _msgsFragmentLength (\ s a -> s{_msgsFragmentLength = a}) . mapping _Nat
msgsStreamManifestBehavior :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupStreamManifestBehavior)
msgsStreamManifestBehavior = lens _msgsStreamManifestBehavior (\ s a -> s{_msgsStreamManifestBehavior = a})
msgsSendDelayMs :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsSendDelayMs = lens _msgsSendDelayMs (\ s a -> s{_msgsSendDelayMs = a}) . mapping _Nat
msgsEventStopBehavior :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupEventStopBehavior)
msgsEventStopBehavior = lens _msgsEventStopBehavior (\ s a -> s{_msgsEventStopBehavior = a})
msgsTimestampOffsetMode :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupTimestampOffsetMode)
msgsTimestampOffsetMode = lens _msgsTimestampOffsetMode (\ s a -> s{_msgsTimestampOffsetMode = a})
msgsNumRetries :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsNumRetries = lens _msgsNumRetries (\ s a -> s{_msgsNumRetries = a}) . mapping _Nat
msgsAcquisitionPointId :: Lens' MsSmoothGroupSettings (Maybe Text)
msgsAcquisitionPointId = lens _msgsAcquisitionPointId (\ s a -> s{_msgsAcquisitionPointId = a})
msgsInputLossAction :: Lens' MsSmoothGroupSettings (Maybe InputLossActionForMsSmoothOut)
msgsInputLossAction = lens _msgsInputLossAction (\ s a -> s{_msgsInputLossAction = a})
msgsTimestampOffset :: Lens' MsSmoothGroupSettings (Maybe Text)
msgsTimestampOffset = lens _msgsTimestampOffset (\ s a -> s{_msgsTimestampOffset = a})
msgsCertificateMode :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupCertificateMode)
msgsCertificateMode = lens _msgsCertificateMode (\ s a -> s{_msgsCertificateMode = a})
msgsSparseTrackType :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupSparseTrackType)
msgsSparseTrackType = lens _msgsSparseTrackType (\ s a -> s{_msgsSparseTrackType = a})
msgsConnectionRetryInterval :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsConnectionRetryInterval = lens _msgsConnectionRetryInterval (\ s a -> s{_msgsConnectionRetryInterval = a}) . mapping _Nat
msgsFilecacheDuration :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsFilecacheDuration = lens _msgsFilecacheDuration (\ s a -> s{_msgsFilecacheDuration = a}) . mapping _Nat
msgsRestartDelay :: Lens' MsSmoothGroupSettings (Maybe Natural)
msgsRestartDelay = lens _msgsRestartDelay (\ s a -> s{_msgsRestartDelay = a}) . mapping _Nat
msgsEventIdMode :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupEventIdMode)
msgsEventIdMode = lens _msgsEventIdMode (\ s a -> s{_msgsEventIdMode = a})
msgsAudioOnlyTimecodeControl :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupAudioOnlyTimecodeControl)
msgsAudioOnlyTimecodeControl = lens _msgsAudioOnlyTimecodeControl (\ s a -> s{_msgsAudioOnlyTimecodeControl = a})
msgsSegmentationMode :: Lens' MsSmoothGroupSettings (Maybe SmoothGroupSegmentationMode)
msgsSegmentationMode = lens _msgsSegmentationMode (\ s a -> s{_msgsSegmentationMode = a})
msgsEventId :: Lens' MsSmoothGroupSettings (Maybe Text)
msgsEventId = lens _msgsEventId (\ s a -> s{_msgsEventId = a})
msgsDestination :: Lens' MsSmoothGroupSettings OutputLocationRef
msgsDestination = lens _msgsDestination (\ s a -> s{_msgsDestination = a})
instance FromJSON MsSmoothGroupSettings where
parseJSON
= withObject "MsSmoothGroupSettings"
(\ x ->
MsSmoothGroupSettings' <$>
(x .:? "fragmentLength") <*>
(x .:? "streamManifestBehavior")
<*> (x .:? "sendDelayMs")
<*> (x .:? "eventStopBehavior")
<*> (x .:? "timestampOffsetMode")
<*> (x .:? "numRetries")
<*> (x .:? "acquisitionPointId")
<*> (x .:? "inputLossAction")
<*> (x .:? "timestampOffset")
<*> (x .:? "certificateMode")
<*> (x .:? "sparseTrackType")
<*> (x .:? "connectionRetryInterval")
<*> (x .:? "filecacheDuration")
<*> (x .:? "restartDelay")
<*> (x .:? "eventIdMode")
<*> (x .:? "audioOnlyTimecodeControl")
<*> (x .:? "segmentationMode")
<*> (x .:? "eventId")
<*> (x .: "destination"))
instance Hashable MsSmoothGroupSettings where
instance NFData MsSmoothGroupSettings where
instance ToJSON MsSmoothGroupSettings where
toJSON MsSmoothGroupSettings'{..}
= object
(catMaybes
[("fragmentLength" .=) <$> _msgsFragmentLength,
("streamManifestBehavior" .=) <$>
_msgsStreamManifestBehavior,
("sendDelayMs" .=) <$> _msgsSendDelayMs,
("eventStopBehavior" .=) <$> _msgsEventStopBehavior,
("timestampOffsetMode" .=) <$>
_msgsTimestampOffsetMode,
("numRetries" .=) <$> _msgsNumRetries,
("acquisitionPointId" .=) <$>
_msgsAcquisitionPointId,
("inputLossAction" .=) <$> _msgsInputLossAction,
("timestampOffset" .=) <$> _msgsTimestampOffset,
("certificateMode" .=) <$> _msgsCertificateMode,
("sparseTrackType" .=) <$> _msgsSparseTrackType,
("connectionRetryInterval" .=) <$>
_msgsConnectionRetryInterval,
("filecacheDuration" .=) <$> _msgsFilecacheDuration,
("restartDelay" .=) <$> _msgsRestartDelay,
("eventIdMode" .=) <$> _msgsEventIdMode,
("audioOnlyTimecodeControl" .=) <$>
_msgsAudioOnlyTimecodeControl,
("segmentationMode" .=) <$> _msgsSegmentationMode,
("eventId" .=) <$> _msgsEventId,
Just ("destination" .= _msgsDestination)])
newtype MsSmoothOutputSettings = MsSmoothOutputSettings'
{ _msosNameModifier :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
msSmoothOutputSettings
:: MsSmoothOutputSettings
msSmoothOutputSettings = MsSmoothOutputSettings' {_msosNameModifier = Nothing}
msosNameModifier :: Lens' MsSmoothOutputSettings (Maybe Text)
msosNameModifier = lens _msosNameModifier (\ s a -> s{_msosNameModifier = a})
instance FromJSON MsSmoothOutputSettings where
parseJSON
= withObject "MsSmoothOutputSettings"
(\ x ->
MsSmoothOutputSettings' <$> (x .:? "nameModifier"))
instance Hashable MsSmoothOutputSettings where
instance NFData MsSmoothOutputSettings where
instance ToJSON MsSmoothOutputSettings where
toJSON MsSmoothOutputSettings'{..}
= object
(catMaybes
[("nameModifier" .=) <$> _msosNameModifier])
data NetworkInputSettings = NetworkInputSettings'
{ _nisHlsInputSettings :: !(Maybe HlsInputSettings)
, _nisServerValidation :: !(Maybe NetworkInputServerValidation)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
networkInputSettings
:: NetworkInputSettings
networkInputSettings =
NetworkInputSettings'
{_nisHlsInputSettings = Nothing, _nisServerValidation = Nothing}
nisHlsInputSettings :: Lens' NetworkInputSettings (Maybe HlsInputSettings)
nisHlsInputSettings = lens _nisHlsInputSettings (\ s a -> s{_nisHlsInputSettings = a})
nisServerValidation :: Lens' NetworkInputSettings (Maybe NetworkInputServerValidation)
nisServerValidation = lens _nisServerValidation (\ s a -> s{_nisServerValidation = a})
instance FromJSON NetworkInputSettings where
parseJSON
= withObject "NetworkInputSettings"
(\ x ->
NetworkInputSettings' <$>
(x .:? "hlsInputSettings") <*>
(x .:? "serverValidation"))
instance Hashable NetworkInputSettings where
instance NFData NetworkInputSettings where
instance ToJSON NetworkInputSettings where
toJSON NetworkInputSettings'{..}
= object
(catMaybes
[("hlsInputSettings" .=) <$> _nisHlsInputSettings,
("serverValidation" .=) <$> _nisServerValidation])
data Output = Output'
{ _oCaptionDescriptionNames :: !(Maybe [Text])
, _oVideoDescriptionName :: !(Maybe Text)
, _oOutputName :: !(Maybe Text)
, _oAudioDescriptionNames :: !(Maybe [Text])
, _oOutputSettings :: !OutputSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
output
:: OutputSettings
-> Output
output pOutputSettings_ =
Output'
{ _oCaptionDescriptionNames = Nothing
, _oVideoDescriptionName = Nothing
, _oOutputName = Nothing
, _oAudioDescriptionNames = Nothing
, _oOutputSettings = pOutputSettings_
}
oCaptionDescriptionNames :: Lens' Output [Text]
oCaptionDescriptionNames = lens _oCaptionDescriptionNames (\ s a -> s{_oCaptionDescriptionNames = a}) . _Default . _Coerce
oVideoDescriptionName :: Lens' Output (Maybe Text)
oVideoDescriptionName = lens _oVideoDescriptionName (\ s a -> s{_oVideoDescriptionName = a})
oOutputName :: Lens' Output (Maybe Text)
oOutputName = lens _oOutputName (\ s a -> s{_oOutputName = a})
oAudioDescriptionNames :: Lens' Output [Text]
oAudioDescriptionNames = lens _oAudioDescriptionNames (\ s a -> s{_oAudioDescriptionNames = a}) . _Default . _Coerce
oOutputSettings :: Lens' Output OutputSettings
oOutputSettings = lens _oOutputSettings (\ s a -> s{_oOutputSettings = a})
instance FromJSON Output where
parseJSON
= withObject "Output"
(\ x ->
Output' <$>
(x .:? "captionDescriptionNames" .!= mempty) <*>
(x .:? "videoDescriptionName")
<*> (x .:? "outputName")
<*> (x .:? "audioDescriptionNames" .!= mempty)
<*> (x .: "outputSettings"))
instance Hashable Output where
instance NFData Output where
instance ToJSON Output where
toJSON Output'{..}
= object
(catMaybes
[("captionDescriptionNames" .=) <$>
_oCaptionDescriptionNames,
("videoDescriptionName" .=) <$>
_oVideoDescriptionName,
("outputName" .=) <$> _oOutputName,
("audioDescriptionNames" .=) <$>
_oAudioDescriptionNames,
Just ("outputSettings" .= _oOutputSettings)])
data OutputDestination = OutputDestination'
{ _odSettings :: !(Maybe [OutputDestinationSettings])
, _odId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputDestination
:: OutputDestination
outputDestination = OutputDestination' {_odSettings = Nothing, _odId = Nothing}
odSettings :: Lens' OutputDestination [OutputDestinationSettings]
odSettings = lens _odSettings (\ s a -> s{_odSettings = a}) . _Default . _Coerce
odId :: Lens' OutputDestination (Maybe Text)
odId = lens _odId (\ s a -> s{_odId = a})
instance FromJSON OutputDestination where
parseJSON
= withObject "OutputDestination"
(\ x ->
OutputDestination' <$>
(x .:? "settings" .!= mempty) <*> (x .:? "id"))
instance Hashable OutputDestination where
instance NFData OutputDestination where
instance ToJSON OutputDestination where
toJSON OutputDestination'{..}
= object
(catMaybes
[("settings" .=) <$> _odSettings,
("id" .=) <$> _odId])
data OutputDestinationSettings = OutputDestinationSettings'
{ _odsURL :: !(Maybe Text)
, _odsUsername :: !(Maybe Text)
, _odsPasswordParam :: !(Maybe Text)
, _odsStreamName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputDestinationSettings
:: OutputDestinationSettings
outputDestinationSettings =
OutputDestinationSettings'
{ _odsURL = Nothing
, _odsUsername = Nothing
, _odsPasswordParam = Nothing
, _odsStreamName = Nothing
}
odsURL :: Lens' OutputDestinationSettings (Maybe Text)
odsURL = lens _odsURL (\ s a -> s{_odsURL = a})
odsUsername :: Lens' OutputDestinationSettings (Maybe Text)
odsUsername = lens _odsUsername (\ s a -> s{_odsUsername = a})
odsPasswordParam :: Lens' OutputDestinationSettings (Maybe Text)
odsPasswordParam = lens _odsPasswordParam (\ s a -> s{_odsPasswordParam = a})
odsStreamName :: Lens' OutputDestinationSettings (Maybe Text)
odsStreamName = lens _odsStreamName (\ s a -> s{_odsStreamName = a})
instance FromJSON OutputDestinationSettings where
parseJSON
= withObject "OutputDestinationSettings"
(\ x ->
OutputDestinationSettings' <$>
(x .:? "url") <*> (x .:? "username") <*>
(x .:? "passwordParam")
<*> (x .:? "streamName"))
instance Hashable OutputDestinationSettings where
instance NFData OutputDestinationSettings where
instance ToJSON OutputDestinationSettings where
toJSON OutputDestinationSettings'{..}
= object
(catMaybes
[("url" .=) <$> _odsURL,
("username" .=) <$> _odsUsername,
("passwordParam" .=) <$> _odsPasswordParam,
("streamName" .=) <$> _odsStreamName])
data OutputGroup = OutputGroup'
{ _ogName :: !(Maybe Text)
, _ogOutputs :: ![Output]
, _ogOutputGroupSettings :: !OutputGroupSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputGroup
:: OutputGroupSettings
-> OutputGroup
outputGroup pOutputGroupSettings_ =
OutputGroup'
{ _ogName = Nothing
, _ogOutputs = mempty
, _ogOutputGroupSettings = pOutputGroupSettings_
}
ogName :: Lens' OutputGroup (Maybe Text)
ogName = lens _ogName (\ s a -> s{_ogName = a})
ogOutputs :: Lens' OutputGroup [Output]
ogOutputs = lens _ogOutputs (\ s a -> s{_ogOutputs = a}) . _Coerce
ogOutputGroupSettings :: Lens' OutputGroup OutputGroupSettings
ogOutputGroupSettings = lens _ogOutputGroupSettings (\ s a -> s{_ogOutputGroupSettings = a})
instance FromJSON OutputGroup where
parseJSON
= withObject "OutputGroup"
(\ x ->
OutputGroup' <$>
(x .:? "name") <*> (x .:? "outputs" .!= mempty) <*>
(x .: "outputGroupSettings"))
instance Hashable OutputGroup where
instance NFData OutputGroup where
instance ToJSON OutputGroup where
toJSON OutputGroup'{..}
= object
(catMaybes
[("name" .=) <$> _ogName,
Just ("outputs" .= _ogOutputs),
Just
("outputGroupSettings" .= _ogOutputGroupSettings)])
data OutputGroupSettings = OutputGroupSettings'
{ _ogsMsSmoothGroupSettings :: !(Maybe MsSmoothGroupSettings)
, _ogsRtmpGroupSettings :: !(Maybe RtmpGroupSettings)
, _ogsHlsGroupSettings :: !(Maybe HlsGroupSettings)
, _ogsArchiveGroupSettings :: !(Maybe ArchiveGroupSettings)
, _ogsUdpGroupSettings :: !(Maybe UdpGroupSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputGroupSettings
:: OutputGroupSettings
outputGroupSettings =
OutputGroupSettings'
{ _ogsMsSmoothGroupSettings = Nothing
, _ogsRtmpGroupSettings = Nothing
, _ogsHlsGroupSettings = Nothing
, _ogsArchiveGroupSettings = Nothing
, _ogsUdpGroupSettings = Nothing
}
ogsMsSmoothGroupSettings :: Lens' OutputGroupSettings (Maybe MsSmoothGroupSettings)
ogsMsSmoothGroupSettings = lens _ogsMsSmoothGroupSettings (\ s a -> s{_ogsMsSmoothGroupSettings = a})
ogsRtmpGroupSettings :: Lens' OutputGroupSettings (Maybe RtmpGroupSettings)
ogsRtmpGroupSettings = lens _ogsRtmpGroupSettings (\ s a -> s{_ogsRtmpGroupSettings = a})
ogsHlsGroupSettings :: Lens' OutputGroupSettings (Maybe HlsGroupSettings)
ogsHlsGroupSettings = lens _ogsHlsGroupSettings (\ s a -> s{_ogsHlsGroupSettings = a})
ogsArchiveGroupSettings :: Lens' OutputGroupSettings (Maybe ArchiveGroupSettings)
ogsArchiveGroupSettings = lens _ogsArchiveGroupSettings (\ s a -> s{_ogsArchiveGroupSettings = a})
ogsUdpGroupSettings :: Lens' OutputGroupSettings (Maybe UdpGroupSettings)
ogsUdpGroupSettings = lens _ogsUdpGroupSettings (\ s a -> s{_ogsUdpGroupSettings = a})
instance FromJSON OutputGroupSettings where
parseJSON
= withObject "OutputGroupSettings"
(\ x ->
OutputGroupSettings' <$>
(x .:? "msSmoothGroupSettings") <*>
(x .:? "rtmpGroupSettings")
<*> (x .:? "hlsGroupSettings")
<*> (x .:? "archiveGroupSettings")
<*> (x .:? "udpGroupSettings"))
instance Hashable OutputGroupSettings where
instance NFData OutputGroupSettings where
instance ToJSON OutputGroupSettings where
toJSON OutputGroupSettings'{..}
= object
(catMaybes
[("msSmoothGroupSettings" .=) <$>
_ogsMsSmoothGroupSettings,
("rtmpGroupSettings" .=) <$> _ogsRtmpGroupSettings,
("hlsGroupSettings" .=) <$> _ogsHlsGroupSettings,
("archiveGroupSettings" .=) <$>
_ogsArchiveGroupSettings,
("udpGroupSettings" .=) <$> _ogsUdpGroupSettings])
newtype OutputLocationRef = OutputLocationRef'
{ _olrDestinationRefId :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputLocationRef
:: OutputLocationRef
outputLocationRef = OutputLocationRef' {_olrDestinationRefId = Nothing}
olrDestinationRefId :: Lens' OutputLocationRef (Maybe Text)
olrDestinationRefId = lens _olrDestinationRefId (\ s a -> s{_olrDestinationRefId = a})
instance FromJSON OutputLocationRef where
parseJSON
= withObject "OutputLocationRef"
(\ x ->
OutputLocationRef' <$> (x .:? "destinationRefId"))
instance Hashable OutputLocationRef where
instance NFData OutputLocationRef where
instance ToJSON OutputLocationRef where
toJSON OutputLocationRef'{..}
= object
(catMaybes
[("destinationRefId" .=) <$> _olrDestinationRefId])
data OutputSettings = OutputSettings'
{ _osArchiveOutputSettings :: !(Maybe ArchiveOutputSettings)
, _osRtmpOutputSettings :: !(Maybe RtmpOutputSettings)
, _osHlsOutputSettings :: !(Maybe HlsOutputSettings)
, _osUdpOutputSettings :: !(Maybe UdpOutputSettings)
, _osMsSmoothOutputSettings :: !(Maybe MsSmoothOutputSettings)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outputSettings
:: OutputSettings
outputSettings =
OutputSettings'
{ _osArchiveOutputSettings = Nothing
, _osRtmpOutputSettings = Nothing
, _osHlsOutputSettings = Nothing
, _osUdpOutputSettings = Nothing
, _osMsSmoothOutputSettings = Nothing
}
osArchiveOutputSettings :: Lens' OutputSettings (Maybe ArchiveOutputSettings)
osArchiveOutputSettings = lens _osArchiveOutputSettings (\ s a -> s{_osArchiveOutputSettings = a})
osRtmpOutputSettings :: Lens' OutputSettings (Maybe RtmpOutputSettings)
osRtmpOutputSettings = lens _osRtmpOutputSettings (\ s a -> s{_osRtmpOutputSettings = a})
osHlsOutputSettings :: Lens' OutputSettings (Maybe HlsOutputSettings)
osHlsOutputSettings = lens _osHlsOutputSettings (\ s a -> s{_osHlsOutputSettings = a})
osUdpOutputSettings :: Lens' OutputSettings (Maybe UdpOutputSettings)
osUdpOutputSettings = lens _osUdpOutputSettings (\ s a -> s{_osUdpOutputSettings = a})
osMsSmoothOutputSettings :: Lens' OutputSettings (Maybe MsSmoothOutputSettings)
osMsSmoothOutputSettings = lens _osMsSmoothOutputSettings (\ s a -> s{_osMsSmoothOutputSettings = a})
instance FromJSON OutputSettings where
parseJSON
= withObject "OutputSettings"
(\ x ->
OutputSettings' <$>
(x .:? "archiveOutputSettings") <*>
(x .:? "rtmpOutputSettings")
<*> (x .:? "hlsOutputSettings")
<*> (x .:? "udpOutputSettings")
<*> (x .:? "msSmoothOutputSettings"))
instance Hashable OutputSettings where
instance NFData OutputSettings where
instance ToJSON OutputSettings where
toJSON OutputSettings'{..}
= object
(catMaybes
[("archiveOutputSettings" .=) <$>
_osArchiveOutputSettings,
("rtmpOutputSettings" .=) <$> _osRtmpOutputSettings,
("hlsOutputSettings" .=) <$> _osHlsOutputSettings,
("udpOutputSettings" .=) <$> _osUdpOutputSettings,
("msSmoothOutputSettings" .=) <$>
_osMsSmoothOutputSettings])
data PassThroughSettings =
PassThroughSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
passThroughSettings
:: PassThroughSettings
passThroughSettings = PassThroughSettings'
instance FromJSON PassThroughSettings where
parseJSON
= withObject "PassThroughSettings"
(\ x -> pure PassThroughSettings')
instance Hashable PassThroughSettings where
instance NFData PassThroughSettings where
instance ToJSON PassThroughSettings where
toJSON = const (Object mempty)
data RemixSettings = RemixSettings'
{ _rsChannelsIn :: !(Maybe Nat)
, _rsChannelsOut :: !(Maybe Nat)
, _rsChannelMappings :: ![AudioChannelMapping]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
remixSettings
:: RemixSettings
remixSettings =
RemixSettings'
{ _rsChannelsIn = Nothing
, _rsChannelsOut = Nothing
, _rsChannelMappings = mempty
}
rsChannelsIn :: Lens' RemixSettings (Maybe Natural)
rsChannelsIn = lens _rsChannelsIn (\ s a -> s{_rsChannelsIn = a}) . mapping _Nat
rsChannelsOut :: Lens' RemixSettings (Maybe Natural)
rsChannelsOut = lens _rsChannelsOut (\ s a -> s{_rsChannelsOut = a}) . mapping _Nat
rsChannelMappings :: Lens' RemixSettings [AudioChannelMapping]
rsChannelMappings = lens _rsChannelMappings (\ s a -> s{_rsChannelMappings = a}) . _Coerce
instance FromJSON RemixSettings where
parseJSON
= withObject "RemixSettings"
(\ x ->
RemixSettings' <$>
(x .:? "channelsIn") <*> (x .:? "channelsOut") <*>
(x .:? "channelMappings" .!= mempty))
instance Hashable RemixSettings where
instance NFData RemixSettings where
instance ToJSON RemixSettings where
toJSON RemixSettings'{..}
= object
(catMaybes
[("channelsIn" .=) <$> _rsChannelsIn,
("channelsOut" .=) <$> _rsChannelsOut,
Just ("channelMappings" .= _rsChannelMappings)])
data RtmpCaptionInfoDestinationSettings =
RtmpCaptionInfoDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
rtmpCaptionInfoDestinationSettings
:: RtmpCaptionInfoDestinationSettings
rtmpCaptionInfoDestinationSettings = RtmpCaptionInfoDestinationSettings'
instance FromJSON RtmpCaptionInfoDestinationSettings
where
parseJSON
= withObject "RtmpCaptionInfoDestinationSettings"
(\ x -> pure RtmpCaptionInfoDestinationSettings')
instance Hashable RtmpCaptionInfoDestinationSettings
where
instance NFData RtmpCaptionInfoDestinationSettings
where
instance ToJSON RtmpCaptionInfoDestinationSettings
where
toJSON = const (Object mempty)
data RtmpGroupSettings = RtmpGroupSettings'
{ _rgsCaptionData :: !(Maybe RtmpCaptionData)
, _rgsRestartDelay :: !(Maybe Nat)
, _rgsAuthenticationScheme :: !(Maybe AuthenticationScheme)
, _rgsCacheLength :: !(Maybe Nat)
, _rgsCacheFullBehavior :: !(Maybe RtmpCacheFullBehavior)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rtmpGroupSettings
:: RtmpGroupSettings
rtmpGroupSettings =
RtmpGroupSettings'
{ _rgsCaptionData = Nothing
, _rgsRestartDelay = Nothing
, _rgsAuthenticationScheme = Nothing
, _rgsCacheLength = Nothing
, _rgsCacheFullBehavior = Nothing
}
rgsCaptionData :: Lens' RtmpGroupSettings (Maybe RtmpCaptionData)
rgsCaptionData = lens _rgsCaptionData (\ s a -> s{_rgsCaptionData = a})
rgsRestartDelay :: Lens' RtmpGroupSettings (Maybe Natural)
rgsRestartDelay = lens _rgsRestartDelay (\ s a -> s{_rgsRestartDelay = a}) . mapping _Nat
rgsAuthenticationScheme :: Lens' RtmpGroupSettings (Maybe AuthenticationScheme)
rgsAuthenticationScheme = lens _rgsAuthenticationScheme (\ s a -> s{_rgsAuthenticationScheme = a})
rgsCacheLength :: Lens' RtmpGroupSettings (Maybe Natural)
rgsCacheLength = lens _rgsCacheLength (\ s a -> s{_rgsCacheLength = a}) . mapping _Nat
rgsCacheFullBehavior :: Lens' RtmpGroupSettings (Maybe RtmpCacheFullBehavior)
rgsCacheFullBehavior = lens _rgsCacheFullBehavior (\ s a -> s{_rgsCacheFullBehavior = a})
instance FromJSON RtmpGroupSettings where
parseJSON
= withObject "RtmpGroupSettings"
(\ x ->
RtmpGroupSettings' <$>
(x .:? "captionData") <*> (x .:? "restartDelay") <*>
(x .:? "authenticationScheme")
<*> (x .:? "cacheLength")
<*> (x .:? "cacheFullBehavior"))
instance Hashable RtmpGroupSettings where
instance NFData RtmpGroupSettings where
instance ToJSON RtmpGroupSettings where
toJSON RtmpGroupSettings'{..}
= object
(catMaybes
[("captionData" .=) <$> _rgsCaptionData,
("restartDelay" .=) <$> _rgsRestartDelay,
("authenticationScheme" .=) <$>
_rgsAuthenticationScheme,
("cacheLength" .=) <$> _rgsCacheLength,
("cacheFullBehavior" .=) <$> _rgsCacheFullBehavior])
data RtmpOutputSettings = RtmpOutputSettings'
{ _rosNumRetries :: !(Maybe Nat)
, _rosCertificateMode :: !(Maybe RtmpOutputCertificateMode)
, _rosConnectionRetryInterval :: !(Maybe Nat)
, _rosDestination :: !OutputLocationRef
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rtmpOutputSettings
:: OutputLocationRef
-> RtmpOutputSettings
rtmpOutputSettings pDestination_ =
RtmpOutputSettings'
{ _rosNumRetries = Nothing
, _rosCertificateMode = Nothing
, _rosConnectionRetryInterval = Nothing
, _rosDestination = pDestination_
}
rosNumRetries :: Lens' RtmpOutputSettings (Maybe Natural)
rosNumRetries = lens _rosNumRetries (\ s a -> s{_rosNumRetries = a}) . mapping _Nat
rosCertificateMode :: Lens' RtmpOutputSettings (Maybe RtmpOutputCertificateMode)
rosCertificateMode = lens _rosCertificateMode (\ s a -> s{_rosCertificateMode = a})
rosConnectionRetryInterval :: Lens' RtmpOutputSettings (Maybe Natural)
rosConnectionRetryInterval = lens _rosConnectionRetryInterval (\ s a -> s{_rosConnectionRetryInterval = a}) . mapping _Nat
rosDestination :: Lens' RtmpOutputSettings OutputLocationRef
rosDestination = lens _rosDestination (\ s a -> s{_rosDestination = a})
instance FromJSON RtmpOutputSettings where
parseJSON
= withObject "RtmpOutputSettings"
(\ x ->
RtmpOutputSettings' <$>
(x .:? "numRetries") <*> (x .:? "certificateMode")
<*> (x .:? "connectionRetryInterval")
<*> (x .: "destination"))
instance Hashable RtmpOutputSettings where
instance NFData RtmpOutputSettings where
instance ToJSON RtmpOutputSettings where
toJSON RtmpOutputSettings'{..}
= object
(catMaybes
[("numRetries" .=) <$> _rosNumRetries,
("certificateMode" .=) <$> _rosCertificateMode,
("connectionRetryInterval" .=) <$>
_rosConnectionRetryInterval,
Just ("destination" .= _rosDestination)])
data Scte20PlusEmbeddedDestinationSettings =
Scte20PlusEmbeddedDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
scte20PlusEmbeddedDestinationSettings
:: Scte20PlusEmbeddedDestinationSettings
scte20PlusEmbeddedDestinationSettings = Scte20PlusEmbeddedDestinationSettings'
instance FromJSON
Scte20PlusEmbeddedDestinationSettings
where
parseJSON
= withObject "Scte20PlusEmbeddedDestinationSettings"
(\ x -> pure Scte20PlusEmbeddedDestinationSettings')
instance Hashable
Scte20PlusEmbeddedDestinationSettings
where
instance NFData Scte20PlusEmbeddedDestinationSettings
where
instance ToJSON Scte20PlusEmbeddedDestinationSettings
where
toJSON = const (Object mempty)
data Scte20SourceSettings = Scte20SourceSettings'
{ _sssConvert608To708 :: !(Maybe Scte20Convert608To708)
, _sssSource608ChannelNumber :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
scte20SourceSettings
:: Scte20SourceSettings
scte20SourceSettings =
Scte20SourceSettings'
{_sssConvert608To708 = Nothing, _sssSource608ChannelNumber = Nothing}
sssConvert608To708 :: Lens' Scte20SourceSettings (Maybe Scte20Convert608To708)
sssConvert608To708 = lens _sssConvert608To708 (\ s a -> s{_sssConvert608To708 = a})
sssSource608ChannelNumber :: Lens' Scte20SourceSettings (Maybe Natural)
sssSource608ChannelNumber = lens _sssSource608ChannelNumber (\ s a -> s{_sssSource608ChannelNumber = a}) . mapping _Nat
instance FromJSON Scte20SourceSettings where
parseJSON
= withObject "Scte20SourceSettings"
(\ x ->
Scte20SourceSettings' <$>
(x .:? "convert608To708") <*>
(x .:? "source608ChannelNumber"))
instance Hashable Scte20SourceSettings where
instance NFData Scte20SourceSettings where
instance ToJSON Scte20SourceSettings where
toJSON Scte20SourceSettings'{..}
= object
(catMaybes
[("convert608To708" .=) <$> _sssConvert608To708,
("source608ChannelNumber" .=) <$>
_sssSource608ChannelNumber])
data Scte27DestinationSettings =
Scte27DestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
scte27DestinationSettings
:: Scte27DestinationSettings
scte27DestinationSettings = Scte27DestinationSettings'
instance FromJSON Scte27DestinationSettings where
parseJSON
= withObject "Scte27DestinationSettings"
(\ x -> pure Scte27DestinationSettings')
instance Hashable Scte27DestinationSettings where
instance NFData Scte27DestinationSettings where
instance ToJSON Scte27DestinationSettings where
toJSON = const (Object mempty)
newtype Scte27SourceSettings = Scte27SourceSettings'
{ _sssPid :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
scte27SourceSettings
:: Scte27SourceSettings
scte27SourceSettings = Scte27SourceSettings' {_sssPid = Nothing}
sssPid :: Lens' Scte27SourceSettings (Maybe Natural)
sssPid = lens _sssPid (\ s a -> s{_sssPid = a}) . mapping _Nat
instance FromJSON Scte27SourceSettings where
parseJSON
= withObject "Scte27SourceSettings"
(\ x -> Scte27SourceSettings' <$> (x .:? "pid"))
instance Hashable Scte27SourceSettings where
instance NFData Scte27SourceSettings where
instance ToJSON Scte27SourceSettings where
toJSON Scte27SourceSettings'{..}
= object (catMaybes [("pid" .=) <$> _sssPid])
data Scte35SpliceInsert = Scte35SpliceInsert'
{ _ssiWebDeliveryAllowedFlag :: !(Maybe Scte35SpliceInsertWebDeliveryAllowedBehavior)
, _ssiAdAvailOffset :: !(Maybe Int)
, _ssiNoRegionalBlackoutFlag :: !(Maybe Scte35SpliceInsertNoRegionalBlackoutBehavior)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
scte35SpliceInsert
:: Scte35SpliceInsert
scte35SpliceInsert =
Scte35SpliceInsert'
{ _ssiWebDeliveryAllowedFlag = Nothing
, _ssiAdAvailOffset = Nothing
, _ssiNoRegionalBlackoutFlag = Nothing
}
ssiWebDeliveryAllowedFlag :: Lens' Scte35SpliceInsert (Maybe Scte35SpliceInsertWebDeliveryAllowedBehavior)
ssiWebDeliveryAllowedFlag = lens _ssiWebDeliveryAllowedFlag (\ s a -> s{_ssiWebDeliveryAllowedFlag = a})
ssiAdAvailOffset :: Lens' Scte35SpliceInsert (Maybe Int)
ssiAdAvailOffset = lens _ssiAdAvailOffset (\ s a -> s{_ssiAdAvailOffset = a})
ssiNoRegionalBlackoutFlag :: Lens' Scte35SpliceInsert (Maybe Scte35SpliceInsertNoRegionalBlackoutBehavior)
ssiNoRegionalBlackoutFlag = lens _ssiNoRegionalBlackoutFlag (\ s a -> s{_ssiNoRegionalBlackoutFlag = a})
instance FromJSON Scte35SpliceInsert where
parseJSON
= withObject "Scte35SpliceInsert"
(\ x ->
Scte35SpliceInsert' <$>
(x .:? "webDeliveryAllowedFlag") <*>
(x .:? "adAvailOffset")
<*> (x .:? "noRegionalBlackoutFlag"))
instance Hashable Scte35SpliceInsert where
instance NFData Scte35SpliceInsert where
instance ToJSON Scte35SpliceInsert where
toJSON Scte35SpliceInsert'{..}
= object
(catMaybes
[("webDeliveryAllowedFlag" .=) <$>
_ssiWebDeliveryAllowedFlag,
("adAvailOffset" .=) <$> _ssiAdAvailOffset,
("noRegionalBlackoutFlag" .=) <$>
_ssiNoRegionalBlackoutFlag])
data Scte35TimeSignalApos = Scte35TimeSignalApos'
{ _stsaWebDeliveryAllowedFlag :: !(Maybe Scte35AposWebDeliveryAllowedBehavior)
, _stsaAdAvailOffset :: !(Maybe Int)
, _stsaNoRegionalBlackoutFlag :: !(Maybe Scte35AposNoRegionalBlackoutBehavior)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
scte35TimeSignalApos
:: Scte35TimeSignalApos
scte35TimeSignalApos =
Scte35TimeSignalApos'
{ _stsaWebDeliveryAllowedFlag = Nothing
, _stsaAdAvailOffset = Nothing
, _stsaNoRegionalBlackoutFlag = Nothing
}
stsaWebDeliveryAllowedFlag :: Lens' Scte35TimeSignalApos (Maybe Scte35AposWebDeliveryAllowedBehavior)
stsaWebDeliveryAllowedFlag = lens _stsaWebDeliveryAllowedFlag (\ s a -> s{_stsaWebDeliveryAllowedFlag = a})
stsaAdAvailOffset :: Lens' Scte35TimeSignalApos (Maybe Int)
stsaAdAvailOffset = lens _stsaAdAvailOffset (\ s a -> s{_stsaAdAvailOffset = a})
stsaNoRegionalBlackoutFlag :: Lens' Scte35TimeSignalApos (Maybe Scte35AposNoRegionalBlackoutBehavior)
stsaNoRegionalBlackoutFlag = lens _stsaNoRegionalBlackoutFlag (\ s a -> s{_stsaNoRegionalBlackoutFlag = a})
instance FromJSON Scte35TimeSignalApos where
parseJSON
= withObject "Scte35TimeSignalApos"
(\ x ->
Scte35TimeSignalApos' <$>
(x .:? "webDeliveryAllowedFlag") <*>
(x .:? "adAvailOffset")
<*> (x .:? "noRegionalBlackoutFlag"))
instance Hashable Scte35TimeSignalApos where
instance NFData Scte35TimeSignalApos where
instance ToJSON Scte35TimeSignalApos where
toJSON Scte35TimeSignalApos'{..}
= object
(catMaybes
[("webDeliveryAllowedFlag" .=) <$>
_stsaWebDeliveryAllowedFlag,
("adAvailOffset" .=) <$> _stsaAdAvailOffset,
("noRegionalBlackoutFlag" .=) <$>
_stsaNoRegionalBlackoutFlag])
data SmpteTtDestinationSettings =
SmpteTtDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
smpteTtDestinationSettings
:: SmpteTtDestinationSettings
smpteTtDestinationSettings = SmpteTtDestinationSettings'
instance FromJSON SmpteTtDestinationSettings where
parseJSON
= withObject "SmpteTtDestinationSettings"
(\ x -> pure SmpteTtDestinationSettings')
instance Hashable SmpteTtDestinationSettings where
instance NFData SmpteTtDestinationSettings where
instance ToJSON SmpteTtDestinationSettings where
toJSON = const (Object mempty)
data StandardHlsSettings = StandardHlsSettings'
{ _shsAudioRenditionSets :: !(Maybe Text)
, _shsM3u8Settings :: !M3u8Settings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
standardHlsSettings
:: M3u8Settings
-> StandardHlsSettings
standardHlsSettings pM3u8Settings_ =
StandardHlsSettings'
{_shsAudioRenditionSets = Nothing, _shsM3u8Settings = pM3u8Settings_}
shsAudioRenditionSets :: Lens' StandardHlsSettings (Maybe Text)
shsAudioRenditionSets = lens _shsAudioRenditionSets (\ s a -> s{_shsAudioRenditionSets = a})
shsM3u8Settings :: Lens' StandardHlsSettings M3u8Settings
shsM3u8Settings = lens _shsM3u8Settings (\ s a -> s{_shsM3u8Settings = a})
instance FromJSON StandardHlsSettings where
parseJSON
= withObject "StandardHlsSettings"
(\ x ->
StandardHlsSettings' <$>
(x .:? "audioRenditionSets") <*>
(x .: "m3u8Settings"))
instance Hashable StandardHlsSettings where
instance NFData StandardHlsSettings where
instance ToJSON StandardHlsSettings where
toJSON StandardHlsSettings'{..}
= object
(catMaybes
[("audioRenditionSets" .=) <$>
_shsAudioRenditionSets,
Just ("m3u8Settings" .= _shsM3u8Settings)])
data StaticKeySettings = StaticKeySettings'
{ _sksKeyProviderServer :: !(Maybe InputLocation)
, _sksStaticKeyValue :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
staticKeySettings
:: Text
-> StaticKeySettings
staticKeySettings pStaticKeyValue_ =
StaticKeySettings'
{_sksKeyProviderServer = Nothing, _sksStaticKeyValue = pStaticKeyValue_}
sksKeyProviderServer :: Lens' StaticKeySettings (Maybe InputLocation)
sksKeyProviderServer = lens _sksKeyProviderServer (\ s a -> s{_sksKeyProviderServer = a})
sksStaticKeyValue :: Lens' StaticKeySettings Text
sksStaticKeyValue = lens _sksStaticKeyValue (\ s a -> s{_sksStaticKeyValue = a})
instance FromJSON StaticKeySettings where
parseJSON
= withObject "StaticKeySettings"
(\ x ->
StaticKeySettings' <$>
(x .:? "keyProviderServer") <*>
(x .: "staticKeyValue"))
instance Hashable StaticKeySettings where
instance NFData StaticKeySettings where
instance ToJSON StaticKeySettings where
toJSON StaticKeySettings'{..}
= object
(catMaybes
[("keyProviderServer" .=) <$> _sksKeyProviderServer,
Just ("staticKeyValue" .= _sksStaticKeyValue)])
data TeletextDestinationSettings =
TeletextDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
teletextDestinationSettings
:: TeletextDestinationSettings
teletextDestinationSettings = TeletextDestinationSettings'
instance FromJSON TeletextDestinationSettings where
parseJSON
= withObject "TeletextDestinationSettings"
(\ x -> pure TeletextDestinationSettings')
instance Hashable TeletextDestinationSettings where
instance NFData TeletextDestinationSettings where
instance ToJSON TeletextDestinationSettings where
toJSON = const (Object mempty)
newtype TeletextSourceSettings = TeletextSourceSettings'
{ _tssPageNumber :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
teletextSourceSettings
:: TeletextSourceSettings
teletextSourceSettings = TeletextSourceSettings' {_tssPageNumber = Nothing}
tssPageNumber :: Lens' TeletextSourceSettings (Maybe Text)
tssPageNumber = lens _tssPageNumber (\ s a -> s{_tssPageNumber = a})
instance FromJSON TeletextSourceSettings where
parseJSON
= withObject "TeletextSourceSettings"
(\ x ->
TeletextSourceSettings' <$> (x .:? "pageNumber"))
instance Hashable TeletextSourceSettings where
instance NFData TeletextSourceSettings where
instance ToJSON TeletextSourceSettings where
toJSON TeletextSourceSettings'{..}
= object
(catMaybes [("pageNumber" .=) <$> _tssPageNumber])
data TimecodeConfig = TimecodeConfig'
{ _tcSyncThreshold :: !(Maybe Nat)
, _tcSource :: !TimecodeConfigSource
} deriving (Eq, Read, Show, Data, Typeable, Generic)
timecodeConfig
:: TimecodeConfigSource
-> TimecodeConfig
timecodeConfig pSource_ =
TimecodeConfig' {_tcSyncThreshold = Nothing, _tcSource = pSource_}
tcSyncThreshold :: Lens' TimecodeConfig (Maybe Natural)
tcSyncThreshold = lens _tcSyncThreshold (\ s a -> s{_tcSyncThreshold = a}) . mapping _Nat
tcSource :: Lens' TimecodeConfig TimecodeConfigSource
tcSource = lens _tcSource (\ s a -> s{_tcSource = a})
instance FromJSON TimecodeConfig where
parseJSON
= withObject "TimecodeConfig"
(\ x ->
TimecodeConfig' <$>
(x .:? "syncThreshold") <*> (x .: "source"))
instance Hashable TimecodeConfig where
instance NFData TimecodeConfig where
instance ToJSON TimecodeConfig where
toJSON TimecodeConfig'{..}
= object
(catMaybes
[("syncThreshold" .=) <$> _tcSyncThreshold,
Just ("source" .= _tcSource)])
newtype TtmlDestinationSettings = TtmlDestinationSettings'
{ _tdsStyleControl :: Maybe TtmlDestinationStyleControl
} deriving (Eq, Read, Show, Data, Typeable, Generic)
ttmlDestinationSettings
:: TtmlDestinationSettings
ttmlDestinationSettings = TtmlDestinationSettings' {_tdsStyleControl = Nothing}
tdsStyleControl :: Lens' TtmlDestinationSettings (Maybe TtmlDestinationStyleControl)
tdsStyleControl = lens _tdsStyleControl (\ s a -> s{_tdsStyleControl = a})
instance FromJSON TtmlDestinationSettings where
parseJSON
= withObject "TtmlDestinationSettings"
(\ x ->
TtmlDestinationSettings' <$> (x .:? "styleControl"))
instance Hashable TtmlDestinationSettings where
instance NFData TtmlDestinationSettings where
instance ToJSON TtmlDestinationSettings where
toJSON TtmlDestinationSettings'{..}
= object
(catMaybes
[("styleControl" .=) <$> _tdsStyleControl])
newtype UdpContainerSettings = UdpContainerSettings'
{ _ucsM2tsSettings :: Maybe M2tsSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
udpContainerSettings
:: UdpContainerSettings
udpContainerSettings = UdpContainerSettings' {_ucsM2tsSettings = Nothing}
ucsM2tsSettings :: Lens' UdpContainerSettings (Maybe M2tsSettings)
ucsM2tsSettings = lens _ucsM2tsSettings (\ s a -> s{_ucsM2tsSettings = a})
instance FromJSON UdpContainerSettings where
parseJSON
= withObject "UdpContainerSettings"
(\ x ->
UdpContainerSettings' <$> (x .:? "m2tsSettings"))
instance Hashable UdpContainerSettings where
instance NFData UdpContainerSettings where
instance ToJSON UdpContainerSettings where
toJSON UdpContainerSettings'{..}
= object
(catMaybes
[("m2tsSettings" .=) <$> _ucsM2tsSettings])
data UdpGroupSettings = UdpGroupSettings'
{ _ugsTimedMetadataId3Period :: !(Maybe Nat)
, _ugsInputLossAction :: !(Maybe InputLossActionForUdpOut)
, _ugsTimedMetadataId3Frame :: !(Maybe UdpTimedMetadataId3Frame)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
udpGroupSettings
:: UdpGroupSettings
udpGroupSettings =
UdpGroupSettings'
{ _ugsTimedMetadataId3Period = Nothing
, _ugsInputLossAction = Nothing
, _ugsTimedMetadataId3Frame = Nothing
}
ugsTimedMetadataId3Period :: Lens' UdpGroupSettings (Maybe Natural)
ugsTimedMetadataId3Period = lens _ugsTimedMetadataId3Period (\ s a -> s{_ugsTimedMetadataId3Period = a}) . mapping _Nat
ugsInputLossAction :: Lens' UdpGroupSettings (Maybe InputLossActionForUdpOut)
ugsInputLossAction = lens _ugsInputLossAction (\ s a -> s{_ugsInputLossAction = a})
ugsTimedMetadataId3Frame :: Lens' UdpGroupSettings (Maybe UdpTimedMetadataId3Frame)
ugsTimedMetadataId3Frame = lens _ugsTimedMetadataId3Frame (\ s a -> s{_ugsTimedMetadataId3Frame = a})
instance FromJSON UdpGroupSettings where
parseJSON
= withObject "UdpGroupSettings"
(\ x ->
UdpGroupSettings' <$>
(x .:? "timedMetadataId3Period") <*>
(x .:? "inputLossAction")
<*> (x .:? "timedMetadataId3Frame"))
instance Hashable UdpGroupSettings where
instance NFData UdpGroupSettings where
instance ToJSON UdpGroupSettings where
toJSON UdpGroupSettings'{..}
= object
(catMaybes
[("timedMetadataId3Period" .=) <$>
_ugsTimedMetadataId3Period,
("inputLossAction" .=) <$> _ugsInputLossAction,
("timedMetadataId3Frame" .=) <$>
_ugsTimedMetadataId3Frame])
data UdpOutputSettings = UdpOutputSettings'
{ _uosFecOutputSettings :: !(Maybe FecOutputSettings)
, _uosBufferMsec :: !(Maybe Nat)
, _uosDestination :: !OutputLocationRef
, _uosContainerSettings :: !UdpContainerSettings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
udpOutputSettings
:: OutputLocationRef
-> UdpContainerSettings
-> UdpOutputSettings
udpOutputSettings pDestination_ pContainerSettings_ =
UdpOutputSettings'
{ _uosFecOutputSettings = Nothing
, _uosBufferMsec = Nothing
, _uosDestination = pDestination_
, _uosContainerSettings = pContainerSettings_
}
uosFecOutputSettings :: Lens' UdpOutputSettings (Maybe FecOutputSettings)
uosFecOutputSettings = lens _uosFecOutputSettings (\ s a -> s{_uosFecOutputSettings = a})
uosBufferMsec :: Lens' UdpOutputSettings (Maybe Natural)
uosBufferMsec = lens _uosBufferMsec (\ s a -> s{_uosBufferMsec = a}) . mapping _Nat
uosDestination :: Lens' UdpOutputSettings OutputLocationRef
uosDestination = lens _uosDestination (\ s a -> s{_uosDestination = a})
uosContainerSettings :: Lens' UdpOutputSettings UdpContainerSettings
uosContainerSettings = lens _uosContainerSettings (\ s a -> s{_uosContainerSettings = a})
instance FromJSON UdpOutputSettings where
parseJSON
= withObject "UdpOutputSettings"
(\ x ->
UdpOutputSettings' <$>
(x .:? "fecOutputSettings") <*> (x .:? "bufferMsec")
<*> (x .: "destination")
<*> (x .: "containerSettings"))
instance Hashable UdpOutputSettings where
instance NFData UdpOutputSettings where
instance ToJSON UdpOutputSettings where
toJSON UdpOutputSettings'{..}
= object
(catMaybes
[("fecOutputSettings" .=) <$> _uosFecOutputSettings,
("bufferMsec" .=) <$> _uosBufferMsec,
Just ("destination" .= _uosDestination),
Just ("containerSettings" .= _uosContainerSettings)])
newtype VideoCodecSettings = VideoCodecSettings'
{ _vcsH264Settings :: Maybe H264Settings
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoCodecSettings
:: VideoCodecSettings
videoCodecSettings = VideoCodecSettings' {_vcsH264Settings = Nothing}
vcsH264Settings :: Lens' VideoCodecSettings (Maybe H264Settings)
vcsH264Settings = lens _vcsH264Settings (\ s a -> s{_vcsH264Settings = a})
instance FromJSON VideoCodecSettings where
parseJSON
= withObject "VideoCodecSettings"
(\ x ->
VideoCodecSettings' <$> (x .:? "h264Settings"))
instance Hashable VideoCodecSettings where
instance NFData VideoCodecSettings where
instance ToJSON VideoCodecSettings where
toJSON VideoCodecSettings'{..}
= object
(catMaybes
[("h264Settings" .=) <$> _vcsH264Settings])
data VideoDescription = VideoDescription'
{ _vdHeight :: !(Maybe Int)
, _vdSharpness :: !(Maybe Nat)
, _vdWidth :: !(Maybe Int)
, _vdScalingBehavior :: !(Maybe VideoDescriptionScalingBehavior)
, _vdRespondToAfd :: !(Maybe VideoDescriptionRespondToAfd)
, _vdCodecSettings :: !(Maybe VideoCodecSettings)
, _vdName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoDescription
:: Text
-> VideoDescription
videoDescription pName_ =
VideoDescription'
{ _vdHeight = Nothing
, _vdSharpness = Nothing
, _vdWidth = Nothing
, _vdScalingBehavior = Nothing
, _vdRespondToAfd = Nothing
, _vdCodecSettings = Nothing
, _vdName = pName_
}
vdHeight :: Lens' VideoDescription (Maybe Int)
vdHeight = lens _vdHeight (\ s a -> s{_vdHeight = a})
vdSharpness :: Lens' VideoDescription (Maybe Natural)
vdSharpness = lens _vdSharpness (\ s a -> s{_vdSharpness = a}) . mapping _Nat
vdWidth :: Lens' VideoDescription (Maybe Int)
vdWidth = lens _vdWidth (\ s a -> s{_vdWidth = a})
vdScalingBehavior :: Lens' VideoDescription (Maybe VideoDescriptionScalingBehavior)
vdScalingBehavior = lens _vdScalingBehavior (\ s a -> s{_vdScalingBehavior = a})
vdRespondToAfd :: Lens' VideoDescription (Maybe VideoDescriptionRespondToAfd)
vdRespondToAfd = lens _vdRespondToAfd (\ s a -> s{_vdRespondToAfd = a})
vdCodecSettings :: Lens' VideoDescription (Maybe VideoCodecSettings)
vdCodecSettings = lens _vdCodecSettings (\ s a -> s{_vdCodecSettings = a})
vdName :: Lens' VideoDescription Text
vdName = lens _vdName (\ s a -> s{_vdName = a})
instance FromJSON VideoDescription where
parseJSON
= withObject "VideoDescription"
(\ x ->
VideoDescription' <$>
(x .:? "height") <*> (x .:? "sharpness") <*>
(x .:? "width")
<*> (x .:? "scalingBehavior")
<*> (x .:? "respondToAfd")
<*> (x .:? "codecSettings")
<*> (x .: "name"))
instance Hashable VideoDescription where
instance NFData VideoDescription where
instance ToJSON VideoDescription where
toJSON VideoDescription'{..}
= object
(catMaybes
[("height" .=) <$> _vdHeight,
("sharpness" .=) <$> _vdSharpness,
("width" .=) <$> _vdWidth,
("scalingBehavior" .=) <$> _vdScalingBehavior,
("respondToAfd" .=) <$> _vdRespondToAfd,
("codecSettings" .=) <$> _vdCodecSettings,
Just ("name" .= _vdName)])
data VideoSelector = VideoSelector'
{ _vsSelectorSettings :: !(Maybe VideoSelectorSettings)
, _vsColorSpaceUsage :: !(Maybe VideoSelectorColorSpaceUsage)
, _vsColorSpace :: !(Maybe VideoSelectorColorSpace)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoSelector
:: VideoSelector
videoSelector =
VideoSelector'
{ _vsSelectorSettings = Nothing
, _vsColorSpaceUsage = Nothing
, _vsColorSpace = Nothing
}
vsSelectorSettings :: Lens' VideoSelector (Maybe VideoSelectorSettings)
vsSelectorSettings = lens _vsSelectorSettings (\ s a -> s{_vsSelectorSettings = a})
vsColorSpaceUsage :: Lens' VideoSelector (Maybe VideoSelectorColorSpaceUsage)
vsColorSpaceUsage = lens _vsColorSpaceUsage (\ s a -> s{_vsColorSpaceUsage = a})
vsColorSpace :: Lens' VideoSelector (Maybe VideoSelectorColorSpace)
vsColorSpace = lens _vsColorSpace (\ s a -> s{_vsColorSpace = a})
instance FromJSON VideoSelector where
parseJSON
= withObject "VideoSelector"
(\ x ->
VideoSelector' <$>
(x .:? "selectorSettings") <*>
(x .:? "colorSpaceUsage")
<*> (x .:? "colorSpace"))
instance Hashable VideoSelector where
instance NFData VideoSelector where
instance ToJSON VideoSelector where
toJSON VideoSelector'{..}
= object
(catMaybes
[("selectorSettings" .=) <$> _vsSelectorSettings,
("colorSpaceUsage" .=) <$> _vsColorSpaceUsage,
("colorSpace" .=) <$> _vsColorSpace])
newtype VideoSelectorPid = VideoSelectorPid'
{ _vspPid :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoSelectorPid
:: VideoSelectorPid
videoSelectorPid = VideoSelectorPid' {_vspPid = Nothing}
vspPid :: Lens' VideoSelectorPid (Maybe Natural)
vspPid = lens _vspPid (\ s a -> s{_vspPid = a}) . mapping _Nat
instance FromJSON VideoSelectorPid where
parseJSON
= withObject "VideoSelectorPid"
(\ x -> VideoSelectorPid' <$> (x .:? "pid"))
instance Hashable VideoSelectorPid where
instance NFData VideoSelectorPid where
instance ToJSON VideoSelectorPid where
toJSON VideoSelectorPid'{..}
= object (catMaybes [("pid" .=) <$> _vspPid])
newtype VideoSelectorProgramId = VideoSelectorProgramId'
{ _vspiProgramId :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoSelectorProgramId
:: VideoSelectorProgramId
videoSelectorProgramId = VideoSelectorProgramId' {_vspiProgramId = Nothing}
vspiProgramId :: Lens' VideoSelectorProgramId (Maybe Natural)
vspiProgramId = lens _vspiProgramId (\ s a -> s{_vspiProgramId = a}) . mapping _Nat
instance FromJSON VideoSelectorProgramId where
parseJSON
= withObject "VideoSelectorProgramId"
(\ x ->
VideoSelectorProgramId' <$> (x .:? "programId"))
instance Hashable VideoSelectorProgramId where
instance NFData VideoSelectorProgramId where
instance ToJSON VideoSelectorProgramId where
toJSON VideoSelectorProgramId'{..}
= object
(catMaybes [("programId" .=) <$> _vspiProgramId])
data VideoSelectorSettings = VideoSelectorSettings'
{ _vssVideoSelectorProgramId :: !(Maybe VideoSelectorProgramId)
, _vssVideoSelectorPid :: !(Maybe VideoSelectorPid)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
videoSelectorSettings
:: VideoSelectorSettings
videoSelectorSettings =
VideoSelectorSettings'
{_vssVideoSelectorProgramId = Nothing, _vssVideoSelectorPid = Nothing}
vssVideoSelectorProgramId :: Lens' VideoSelectorSettings (Maybe VideoSelectorProgramId)
vssVideoSelectorProgramId = lens _vssVideoSelectorProgramId (\ s a -> s{_vssVideoSelectorProgramId = a})
vssVideoSelectorPid :: Lens' VideoSelectorSettings (Maybe VideoSelectorPid)
vssVideoSelectorPid = lens _vssVideoSelectorPid (\ s a -> s{_vssVideoSelectorPid = a})
instance FromJSON VideoSelectorSettings where
parseJSON
= withObject "VideoSelectorSettings"
(\ x ->
VideoSelectorSettings' <$>
(x .:? "videoSelectorProgramId") <*>
(x .:? "videoSelectorPid"))
instance Hashable VideoSelectorSettings where
instance NFData VideoSelectorSettings where
instance ToJSON VideoSelectorSettings where
toJSON VideoSelectorSettings'{..}
= object
(catMaybes
[("videoSelectorProgramId" .=) <$>
_vssVideoSelectorProgramId,
("videoSelectorPid" .=) <$> _vssVideoSelectorPid])
data WebvttDestinationSettings =
WebvttDestinationSettings'
deriving (Eq, Read, Show, Data, Typeable, Generic)
webvttDestinationSettings
:: WebvttDestinationSettings
webvttDestinationSettings = WebvttDestinationSettings'
instance FromJSON WebvttDestinationSettings where
parseJSON
= withObject "WebvttDestinationSettings"
(\ x -> pure WebvttDestinationSettings')
instance Hashable WebvttDestinationSettings where
instance NFData WebvttDestinationSettings where
instance ToJSON WebvttDestinationSettings where
toJSON = const (Object mempty)