amazonka-kinesis-video-archived-media 1.6.1 → 2.0
raw patch · 60 files changed
+6453/−1015 lines, 60 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok
version bump matches the API change (PVP)
Dependencies added: case-insensitive
Dependency ranges changed: amazonka-core, amazonka-test, base
API changes (from Hackage documentation)
- Network.AWS.KinesisVideoArchivedMedia: ProducerTimestamp :: FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia: ServerTimestamp :: FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia: _ClientLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia: _InvalidArgumentException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia: _NotAuthorizedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia: _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia: data Fragment
- Network.AWS.KinesisVideoArchivedMedia: data FragmentSelector
- Network.AWS.KinesisVideoArchivedMedia: data FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia: data TimestampRange
- Network.AWS.KinesisVideoArchivedMedia: fFragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)
- Network.AWS.KinesisVideoArchivedMedia: fFragmentNumber :: Lens' Fragment (Maybe Text)
- Network.AWS.KinesisVideoArchivedMedia: fFragmentSizeInBytes :: Lens' Fragment (Maybe Integer)
- Network.AWS.KinesisVideoArchivedMedia: fProducerTimestamp :: Lens' Fragment (Maybe UTCTime)
- Network.AWS.KinesisVideoArchivedMedia: fServerTimestamp :: Lens' Fragment (Maybe UTCTime)
- Network.AWS.KinesisVideoArchivedMedia: fragment :: Fragment
- Network.AWS.KinesisVideoArchivedMedia: fragmentSelector :: FragmentSelectorType -> TimestampRange -> FragmentSelector
- Network.AWS.KinesisVideoArchivedMedia: fsFragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia: fsTimestampRange :: Lens' FragmentSelector TimestampRange
- Network.AWS.KinesisVideoArchivedMedia: kinesisVideoArchivedMedia :: Service
- Network.AWS.KinesisVideoArchivedMedia: timestampRange :: UTCTime -> UTCTime -> TimestampRange
- Network.AWS.KinesisVideoArchivedMedia: trEndTimestamp :: Lens' TimestampRange UTCTime
- Network.AWS.KinesisVideoArchivedMedia: trStartTimestamp :: Lens' TimestampRange UTCTime
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: data GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: data GetMediaForFragmentListResponse
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentList :: Text -> GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentListResponse :: Int -> RsBody -> GetMediaForFragmentListResponse
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: gmfflFragments :: Lens' GetMediaForFragmentList [Text]
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: gmfflStreamName :: Lens' GetMediaForFragmentList Text
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: gmfflrsContentType :: Lens' GetMediaForFragmentListResponse (Maybe Text)
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: gmfflrsPayload :: Lens' GetMediaForFragmentListResponse RsBody
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: gmfflrsResponseStatus :: Lens' GetMediaForFragmentListResponse Int
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Control.DeepSeq.NFData Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Data.Data.Data Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Data.Hashable.Class.Hashable Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Classes.Eq Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Generics.Generic Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Generics.Generic Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentListResponse
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Read.Read Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Show.Show Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Show.Show Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentListResponse
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Network.AWS.Data.Path.ToPath Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Network.AWS.Data.Query.ToQuery Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Network.AWS.Types.AWSRequest Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: data ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: data ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Control.DeepSeq.NFData Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Control.DeepSeq.NFData Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Data.Data.Data Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Data.Data.Data Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Data.Hashable.Class.Hashable Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Classes.Eq Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Classes.Eq Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Generics.Generic Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Generics.Generic Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Read.Read Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Read.Read Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Show.Show Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance GHC.Show.Show Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Network.AWS.Data.Path.ToPath Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Network.AWS.Data.Query.ToQuery Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: instance Network.AWS.Types.AWSRequest Network.AWS.KinesisVideoArchivedMedia.ListFragments.ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfFragmentSelector :: Lens' ListFragments (Maybe FragmentSelector)
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfMaxResults :: Lens' ListFragments (Maybe Natural)
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfNextToken :: Lens' ListFragments (Maybe Text)
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfStreamName :: Lens' ListFragments Text
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfrsFragments :: Lens' ListFragmentsResponse [Fragment]
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfrsNextToken :: Lens' ListFragmentsResponse (Maybe Text)
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: lfrsResponseStatus :: Lens' ListFragmentsResponse Int
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: listFragments :: Text -> ListFragments
- Network.AWS.KinesisVideoArchivedMedia.ListFragments: listFragmentsResponse :: Int -> ListFragmentsResponse
- Network.AWS.KinesisVideoArchivedMedia.Types: ProducerTimestamp :: FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia.Types: ServerTimestamp :: FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia.Types: _ClientLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia.Types: _InvalidArgumentException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia.Types: _NotAuthorizedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia.Types: _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.KinesisVideoArchivedMedia.Types: data Fragment
- Network.AWS.KinesisVideoArchivedMedia.Types: data FragmentSelector
- Network.AWS.KinesisVideoArchivedMedia.Types: data FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia.Types: data TimestampRange
- Network.AWS.KinesisVideoArchivedMedia.Types: fFragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)
- Network.AWS.KinesisVideoArchivedMedia.Types: fFragmentNumber :: Lens' Fragment (Maybe Text)
- Network.AWS.KinesisVideoArchivedMedia.Types: fFragmentSizeInBytes :: Lens' Fragment (Maybe Integer)
- Network.AWS.KinesisVideoArchivedMedia.Types: fProducerTimestamp :: Lens' Fragment (Maybe UTCTime)
- Network.AWS.KinesisVideoArchivedMedia.Types: fServerTimestamp :: Lens' Fragment (Maybe UTCTime)
- Network.AWS.KinesisVideoArchivedMedia.Types: fragment :: Fragment
- Network.AWS.KinesisVideoArchivedMedia.Types: fragmentSelector :: FragmentSelectorType -> TimestampRange -> FragmentSelector
- Network.AWS.KinesisVideoArchivedMedia.Types: fsFragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType
- Network.AWS.KinesisVideoArchivedMedia.Types: fsTimestampRange :: Lens' FragmentSelector TimestampRange
- Network.AWS.KinesisVideoArchivedMedia.Types: kinesisVideoArchivedMedia :: Service
- Network.AWS.KinesisVideoArchivedMedia.Types: timestampRange :: UTCTime -> UTCTime -> TimestampRange
- Network.AWS.KinesisVideoArchivedMedia.Types: trEndTimestamp :: Lens' TimestampRange UTCTime
- Network.AWS.KinesisVideoArchivedMedia.Types: trStartTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia: ClipFragmentSelector' :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: ClipFragmentSelectorType' :: Text -> ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: ClipTimestampRange' :: POSIX -> POSIX -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: ContainerFormat' :: Text -> ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia: DASHDisplayFragmentNumber' :: Text -> DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia: DASHDisplayFragmentTimestamp' :: Text -> DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: DASHFragmentSelector' :: Maybe DASHFragmentSelectorType -> Maybe DASHTimestampRange -> DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: DASHFragmentSelectorType' :: Text -> DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: DASHPlaybackMode' :: Text -> DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: DASHTimestampRange' :: Maybe POSIX -> Maybe POSIX -> DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: Format' :: Text -> Format
+ Amazonka.KinesisVideoArchivedMedia: FormatConfigKey' :: Text -> FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia: Fragment' :: Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe POSIX -> Maybe POSIX -> Fragment
+ Amazonka.KinesisVideoArchivedMedia: FragmentSelector' :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: FragmentSelectorType' :: Text -> FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: GetClip' :: Maybe Text -> Maybe Text -> ClipFragmentSelector -> GetClip
+ Amazonka.KinesisVideoArchivedMedia: GetClipResponse' :: Maybe Text -> Int -> ResponseBody -> GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia: GetDASHStreamingSessionURL' :: Maybe DASHFragmentSelector -> Maybe DASHDisplayFragmentNumber -> Maybe DASHDisplayFragmentTimestamp -> Maybe Natural -> Maybe Natural -> Maybe DASHPlaybackMode -> Maybe Text -> Maybe Text -> GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: GetDASHStreamingSessionURLResponse' :: Maybe Text -> Int -> GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: GetHLSStreamingSessionURL' :: Maybe ContainerFormat -> Maybe HLSDiscontinuityMode -> Maybe HLSDisplayFragmentTimestamp -> Maybe Natural -> Maybe HLSFragmentSelector -> Maybe Natural -> Maybe HLSPlaybackMode -> Maybe Text -> Maybe Text -> GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: GetHLSStreamingSessionURLResponse' :: Maybe Text -> Int -> GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: GetImages' :: Maybe (HashMap FormatConfigKey Text) -> Maybe Natural -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Natural -> ImageSelectorType -> POSIX -> POSIX -> Natural -> Format -> GetImages
+ Amazonka.KinesisVideoArchivedMedia: GetImagesResponse' :: Maybe [Image] -> Maybe Text -> Int -> GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia: GetMediaForFragmentList' :: Maybe Text -> Maybe Text -> NonEmpty Text -> GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia: GetMediaForFragmentListResponse' :: Maybe Text -> Int -> ResponseBody -> GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia: HLSDiscontinuityMode' :: Text -> HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia: HLSDisplayFragmentTimestamp' :: Text -> HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: HLSFragmentSelector' :: Maybe HLSFragmentSelectorType -> Maybe HLSTimestampRange -> HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: HLSFragmentSelectorType' :: Text -> HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: HLSPlaybackMode' :: Text -> HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: HLSTimestampRange' :: Maybe POSIX -> Maybe POSIX -> HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: Image' :: Maybe ImageError -> Maybe Text -> Maybe POSIX -> Image
+ Amazonka.KinesisVideoArchivedMedia: ImageError' :: Text -> ImageError
+ Amazonka.KinesisVideoArchivedMedia: ImageSelectorType' :: Text -> ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia: ListFragments' :: Maybe FragmentSelector -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> ListFragments
+ Amazonka.KinesisVideoArchivedMedia: ListFragmentsResponse' :: Maybe [Fragment] -> Maybe Text -> Int -> ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia: TimestampRange' :: POSIX -> POSIX -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia: [fromClipFragmentSelectorType] :: ClipFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromContainerFormat] :: ContainerFormat -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromDASHDisplayFragmentNumber] :: DASHDisplayFragmentNumber -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromDASHDisplayFragmentTimestamp] :: DASHDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromDASHFragmentSelectorType] :: DASHFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromDASHPlaybackMode] :: DASHPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromFormatConfigKey] :: FormatConfigKey -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromFormat] :: Format -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromFragmentSelectorType] :: FragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromHLSDiscontinuityMode] :: HLSDiscontinuityMode -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromHLSDisplayFragmentTimestamp] :: HLSDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromHLSFragmentSelectorType] :: HLSFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromHLSPlaybackMode] :: HLSPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromImageError] :: ImageError -> Text
+ Amazonka.KinesisVideoArchivedMedia: [fromImageSelectorType] :: ImageSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia: _ClientLimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _InvalidArgumentException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _InvalidCodecPrivateDataException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _InvalidMediaFrameException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _MissingCodecPrivateDataException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _NoDataRetentionException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _NotAuthorizedException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _ResourceNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: _UnsupportedStreamMediaTypeException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia: data ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: data ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: data DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: data DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: data Fragment
+ Amazonka.KinesisVideoArchivedMedia: data FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: data GetClip
+ Amazonka.KinesisVideoArchivedMedia: data GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia: data GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: data GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: data GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: data GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: data GetImages
+ Amazonka.KinesisVideoArchivedMedia: data GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia: data GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia: data GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia: data HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: data HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: data Image
+ Amazonka.KinesisVideoArchivedMedia: data ListFragments
+ Amazonka.KinesisVideoArchivedMedia: data ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia: data TimestampRange
+ Amazonka.KinesisVideoArchivedMedia: defaultService :: Service
+ Amazonka.KinesisVideoArchivedMedia: newClipFragmentSelector :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: newClipTimestampRange :: UTCTime -> UTCTime -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: newDASHFragmentSelector :: DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: newDASHTimestampRange :: DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: newFragment :: Fragment
+ Amazonka.KinesisVideoArchivedMedia: newFragmentSelector :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: newGetClip :: ClipFragmentSelector -> GetClip
+ Amazonka.KinesisVideoArchivedMedia: newGetClipResponse :: Int -> ResponseBody -> GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia: newGetDASHStreamingSessionURL :: GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: newGetDASHStreamingSessionURLResponse :: Int -> GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: newGetHLSStreamingSessionURL :: GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia: newGetHLSStreamingSessionURLResponse :: Int -> GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia: newGetImages :: ImageSelectorType -> UTCTime -> UTCTime -> Natural -> Format -> GetImages
+ Amazonka.KinesisVideoArchivedMedia: newGetImagesResponse :: Int -> GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia: newGetMediaForFragmentList :: NonEmpty Text -> GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia: newGetMediaForFragmentListResponse :: Int -> ResponseBody -> GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia: newHLSFragmentSelector :: HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia: newHLSTimestampRange :: HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia: newImage :: Image
+ Amazonka.KinesisVideoArchivedMedia: newListFragments :: ListFragments
+ Amazonka.KinesisVideoArchivedMedia: newListFragmentsResponse :: Int -> ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia: newTimestampRange :: UTCTime -> UTCTime -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia: newtype ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: newtype ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia: newtype DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia: newtype DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: newtype DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: newtype DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: newtype Format
+ Amazonka.KinesisVideoArchivedMedia: newtype FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia: newtype FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: newtype HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia: newtype HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: newtype HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: newtype HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: newtype ImageError
+ Amazonka.KinesisVideoArchivedMedia: newtype ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern ClipFragmentSelectorType_PRODUCER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern ClipFragmentSelectorType_SERVER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern ContainerFormat_FRAGMENTED_MP4 :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia: pattern ContainerFormat_MPEG_TS :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHDisplayFragmentNumber_ALWAYS :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHDisplayFragmentNumber_NEVER :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHDisplayFragmentTimestamp_ALWAYS :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHDisplayFragmentTimestamp_NEVER :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHFragmentSelectorType_PRODUCER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHFragmentSelectorType_SERVER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHPlaybackMode_LIVE :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHPlaybackMode_LIVE_REPLAY :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern DASHPlaybackMode_ON_DEMAND :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern FormatConfigKey_JPEGQuality :: FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia: pattern Format_JPEG :: Format
+ Amazonka.KinesisVideoArchivedMedia: pattern Format_PNG :: Format
+ Amazonka.KinesisVideoArchivedMedia: pattern FragmentSelectorType_PRODUCER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern FragmentSelectorType_SERVER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSDiscontinuityMode_ALWAYS :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSDiscontinuityMode_NEVER :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSDiscontinuityMode_ON_DISCONTINUITY :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSDisplayFragmentTimestamp_ALWAYS :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSDisplayFragmentTimestamp_NEVER :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSFragmentSelectorType_PRODUCER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSFragmentSelectorType_SERVER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSPlaybackMode_LIVE :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSPlaybackMode_LIVE_REPLAY :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern HLSPlaybackMode_ON_DEMAND :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia: pattern ImageError_MEDIA_ERROR :: ImageError
+ Amazonka.KinesisVideoArchivedMedia: pattern ImageError_NO_MEDIA :: ImageError
+ Amazonka.KinesisVideoArchivedMedia: pattern ImageSelectorType_PRODUCER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia: pattern ImageSelectorType_SERVER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.GetClip: GetClip' :: Maybe Text -> Maybe Text -> ClipFragmentSelector -> GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: GetClipResponse' :: Maybe Text -> Int -> ResponseBody -> GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:clipFragmentSelector:GetClip'] :: GetClip -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:contentType:GetClipResponse'] :: GetClipResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:httpStatus:GetClipResponse'] :: GetClipResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:payload:GetClipResponse'] :: GetClipResponse -> ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:streamARN:GetClip'] :: GetClip -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetClip: [$sel:streamName:GetClip'] :: GetClip -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetClip: data GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: data GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClipResponse_contentType :: Lens' GetClipResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClipResponse_httpStatus :: Lens' GetClipResponse Int
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClipResponse_payload :: Lens' GetClipResponse ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClip_clipFragmentSelector :: Lens' GetClip ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClip_streamARN :: Lens' GetClip (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetClip: getClip_streamName :: Lens' GetClip (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetClip.GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetClip.GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetClip.GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia.GetClip: newGetClip :: ClipFragmentSelector -> GetClip
+ Amazonka.KinesisVideoArchivedMedia.GetClip: newGetClipResponse :: Int -> ResponseBody -> GetClipResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: GetDASHStreamingSessionURL' :: Maybe DASHFragmentSelector -> Maybe DASHDisplayFragmentNumber -> Maybe DASHDisplayFragmentTimestamp -> Maybe Natural -> Maybe Natural -> Maybe DASHPlaybackMode -> Maybe Text -> Maybe Text -> GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: GetDASHStreamingSessionURLResponse' :: Maybe Text -> Int -> GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:dASHFragmentSelector:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:dASHStreamingSessionURL:GetDASHStreamingSessionURLResponse'] :: GetDASHStreamingSessionURLResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:displayFragmentNumber:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:displayFragmentTimestamp:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:expires:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:httpStatus:GetDASHStreamingSessionURLResponse'] :: GetDASHStreamingSessionURLResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:maxManifestFragmentResults:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:playbackMode:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:streamARN:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: [$sel:streamName:GetDASHStreamingSessionURL'] :: GetDASHStreamingSessionURL -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: data GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: data GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURLResponse_dASHStreamingSessionURL :: Lens' GetDASHStreamingSessionURLResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURLResponse_httpStatus :: Lens' GetDASHStreamingSessionURLResponse Int
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_dASHFragmentSelector :: Lens' GetDASHStreamingSessionURL (Maybe DASHFragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_displayFragmentNumber :: Lens' GetDASHStreamingSessionURL (Maybe DASHDisplayFragmentNumber)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_displayFragmentTimestamp :: Lens' GetDASHStreamingSessionURL (Maybe DASHDisplayFragmentTimestamp)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_expires :: Lens' GetDASHStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_maxManifestFragmentResults :: Lens' GetDASHStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_playbackMode :: Lens' GetDASHStreamingSessionURL (Maybe DASHPlaybackMode)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_streamARN :: Lens' GetDASHStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: getDASHStreamingSessionURL_streamName :: Lens' GetDASHStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL.GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: newGetDASHStreamingSessionURL :: GetDASHStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL: newGetDASHStreamingSessionURLResponse :: Int -> GetDASHStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: GetHLSStreamingSessionURL' :: Maybe ContainerFormat -> Maybe HLSDiscontinuityMode -> Maybe HLSDisplayFragmentTimestamp -> Maybe Natural -> Maybe HLSFragmentSelector -> Maybe Natural -> Maybe HLSPlaybackMode -> Maybe Text -> Maybe Text -> GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: GetHLSStreamingSessionURLResponse' :: Maybe Text -> Int -> GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:containerFormat:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:discontinuityMode:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:displayFragmentTimestamp:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:expires:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:hLSFragmentSelector:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:hLSStreamingSessionURL:GetHLSStreamingSessionURLResponse'] :: GetHLSStreamingSessionURLResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:httpStatus:GetHLSStreamingSessionURLResponse'] :: GetHLSStreamingSessionURLResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:maxMediaPlaylistFragmentResults:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:playbackMode:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:streamARN:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: [$sel:streamName:GetHLSStreamingSessionURL'] :: GetHLSStreamingSessionURL -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: data GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: data GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURLResponse_hLSStreamingSessionURL :: Lens' GetHLSStreamingSessionURLResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURLResponse_httpStatus :: Lens' GetHLSStreamingSessionURLResponse Int
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_containerFormat :: Lens' GetHLSStreamingSessionURL (Maybe ContainerFormat)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_discontinuityMode :: Lens' GetHLSStreamingSessionURL (Maybe HLSDiscontinuityMode)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_displayFragmentTimestamp :: Lens' GetHLSStreamingSessionURL (Maybe HLSDisplayFragmentTimestamp)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_expires :: Lens' GetHLSStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_hLSFragmentSelector :: Lens' GetHLSStreamingSessionURL (Maybe HLSFragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults :: Lens' GetHLSStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_playbackMode :: Lens' GetHLSStreamingSessionURL (Maybe HLSPlaybackMode)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_streamARN :: Lens' GetHLSStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: getHLSStreamingSessionURL_streamName :: Lens' GetHLSStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL.GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: newGetHLSStreamingSessionURL :: GetHLSStreamingSessionURL
+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL: newGetHLSStreamingSessionURLResponse :: Int -> GetHLSStreamingSessionURLResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: GetImages' :: Maybe (HashMap FormatConfigKey Text) -> Maybe Natural -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Natural -> ImageSelectorType -> POSIX -> POSIX -> Natural -> Format -> GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: GetImagesResponse' :: Maybe [Image] -> Maybe Text -> Int -> GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:endTimestamp:GetImages'] :: GetImages -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:format:GetImages'] :: GetImages -> Format
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:formatConfig:GetImages'] :: GetImages -> Maybe (HashMap FormatConfigKey Text)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:heightPixels:GetImages'] :: GetImages -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:httpStatus:GetImagesResponse'] :: GetImagesResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:imageSelectorType:GetImages'] :: GetImages -> ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:images:GetImagesResponse'] :: GetImagesResponse -> Maybe [Image]
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:maxResults:GetImages'] :: GetImages -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:nextToken:GetImages'] :: GetImages -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:nextToken:GetImagesResponse'] :: GetImagesResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:samplingInterval:GetImages'] :: GetImages -> Natural
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:startTimestamp:GetImages'] :: GetImages -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:streamARN:GetImages'] :: GetImages -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:streamName:GetImages'] :: GetImages -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetImages: [$sel:widthPixels:GetImages'] :: GetImages -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.GetImages: data GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: data GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImagesResponse_httpStatus :: Lens' GetImagesResponse Int
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImagesResponse_images :: Lens' GetImagesResponse (Maybe [Image])
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImagesResponse_nextToken :: Lens' GetImagesResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_endTimestamp :: Lens' GetImages UTCTime
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_format :: Lens' GetImages Format
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_formatConfig :: Lens' GetImages (Maybe (HashMap FormatConfigKey Text))
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_heightPixels :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_imageSelectorType :: Lens' GetImages ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_maxResults :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_nextToken :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_samplingInterval :: Lens' GetImages Natural
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_startTimestamp :: Lens' GetImages UTCTime
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_streamARN :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_streamName :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: getImages_widthPixels :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Amazonka.Pager.AWSPager Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetImages.GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetImages.GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetImages.GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetImages.GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetImages.GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetImages.GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetImages: newGetImages :: ImageSelectorType -> UTCTime -> UTCTime -> Natural -> Format -> GetImages
+ Amazonka.KinesisVideoArchivedMedia.GetImages: newGetImagesResponse :: Int -> GetImagesResponse
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: GetMediaForFragmentList' :: Maybe Text -> Maybe Text -> NonEmpty Text -> GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: GetMediaForFragmentListResponse' :: Maybe Text -> Int -> ResponseBody -> GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:contentType:GetMediaForFragmentListResponse'] :: GetMediaForFragmentListResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:fragments:GetMediaForFragmentList'] :: GetMediaForFragmentList -> NonEmpty Text
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:httpStatus:GetMediaForFragmentListResponse'] :: GetMediaForFragmentListResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:payload:GetMediaForFragmentListResponse'] :: GetMediaForFragmentListResponse -> ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:streamARN:GetMediaForFragmentList'] :: GetMediaForFragmentList -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: [$sel:streamName:GetMediaForFragmentList'] :: GetMediaForFragmentList -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: data GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: data GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentListResponse_contentType :: Lens' GetMediaForFragmentListResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentListResponse_httpStatus :: Lens' GetMediaForFragmentListResponse Int
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentListResponse_payload :: Lens' GetMediaForFragmentListResponse ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentList_fragments :: Lens' GetMediaForFragmentList (NonEmpty Text)
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentList_streamARN :: Lens' GetMediaForFragmentList (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: getMediaForFragmentList_streamName :: Lens' GetMediaForFragmentList (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList.GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: newGetMediaForFragmentList :: NonEmpty Text -> GetMediaForFragmentList
+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList: newGetMediaForFragmentListResponse :: Int -> ResponseBody -> GetMediaForFragmentListResponse
+ Amazonka.KinesisVideoArchivedMedia.Lens: clipFragmentSelector_fragmentSelectorType :: Lens' ClipFragmentSelector ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Lens: clipFragmentSelector_timestampRange :: Lens' ClipFragmentSelector ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Lens: clipTimestampRange_endTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Lens: clipTimestampRange_startTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Lens: dASHFragmentSelector_fragmentSelectorType :: Lens' DASHFragmentSelector (Maybe DASHFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Lens: dASHFragmentSelector_timestampRange :: Lens' DASHFragmentSelector (Maybe DASHTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Lens: dASHTimestampRange_endTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: dASHTimestampRange_startTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragmentSelector_fragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragmentSelector_timestampRange :: Lens' FragmentSelector TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragment_fragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragment_fragmentNumber :: Lens' Fragment (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragment_fragmentSizeInBytes :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragment_producerTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: fragment_serverTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClipResponse_contentType :: Lens' GetClipResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClipResponse_httpStatus :: Lens' GetClipResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClipResponse_payload :: Lens' GetClipResponse ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClip_clipFragmentSelector :: Lens' GetClip ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClip_streamARN :: Lens' GetClip (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getClip_streamName :: Lens' GetClip (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURLResponse_dASHStreamingSessionURL :: Lens' GetDASHStreamingSessionURLResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURLResponse_httpStatus :: Lens' GetDASHStreamingSessionURLResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_dASHFragmentSelector :: Lens' GetDASHStreamingSessionURL (Maybe DASHFragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_displayFragmentNumber :: Lens' GetDASHStreamingSessionURL (Maybe DASHDisplayFragmentNumber)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_displayFragmentTimestamp :: Lens' GetDASHStreamingSessionURL (Maybe DASHDisplayFragmentTimestamp)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_expires :: Lens' GetDASHStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_maxManifestFragmentResults :: Lens' GetDASHStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_playbackMode :: Lens' GetDASHStreamingSessionURL (Maybe DASHPlaybackMode)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_streamARN :: Lens' GetDASHStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getDASHStreamingSessionURL_streamName :: Lens' GetDASHStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURLResponse_hLSStreamingSessionURL :: Lens' GetHLSStreamingSessionURLResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURLResponse_httpStatus :: Lens' GetHLSStreamingSessionURLResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_containerFormat :: Lens' GetHLSStreamingSessionURL (Maybe ContainerFormat)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_discontinuityMode :: Lens' GetHLSStreamingSessionURL (Maybe HLSDiscontinuityMode)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_displayFragmentTimestamp :: Lens' GetHLSStreamingSessionURL (Maybe HLSDisplayFragmentTimestamp)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_expires :: Lens' GetHLSStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_hLSFragmentSelector :: Lens' GetHLSStreamingSessionURL (Maybe HLSFragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults :: Lens' GetHLSStreamingSessionURL (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_playbackMode :: Lens' GetHLSStreamingSessionURL (Maybe HLSPlaybackMode)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_streamARN :: Lens' GetHLSStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getHLSStreamingSessionURL_streamName :: Lens' GetHLSStreamingSessionURL (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImagesResponse_httpStatus :: Lens' GetImagesResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImagesResponse_images :: Lens' GetImagesResponse (Maybe [Image])
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImagesResponse_nextToken :: Lens' GetImagesResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_endTimestamp :: Lens' GetImages UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_format :: Lens' GetImages Format
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_formatConfig :: Lens' GetImages (Maybe (HashMap FormatConfigKey Text))
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_heightPixels :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_imageSelectorType :: Lens' GetImages ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_maxResults :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_nextToken :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_samplingInterval :: Lens' GetImages Natural
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_startTimestamp :: Lens' GetImages UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_streamARN :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_streamName :: Lens' GetImages (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getImages_widthPixels :: Lens' GetImages (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentListResponse_contentType :: Lens' GetMediaForFragmentListResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentListResponse_httpStatus :: Lens' GetMediaForFragmentListResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentListResponse_payload :: Lens' GetMediaForFragmentListResponse ResponseBody
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentList_fragments :: Lens' GetMediaForFragmentList (NonEmpty Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentList_streamARN :: Lens' GetMediaForFragmentList (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: getMediaForFragmentList_streamName :: Lens' GetMediaForFragmentList (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: hLSFragmentSelector_fragmentSelectorType :: Lens' HLSFragmentSelector (Maybe HLSFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Lens: hLSFragmentSelector_timestampRange :: Lens' HLSFragmentSelector (Maybe HLSTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Lens: hLSTimestampRange_endTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: hLSTimestampRange_startTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: image_error :: Lens' Image (Maybe ImageError)
+ Amazonka.KinesisVideoArchivedMedia.Lens: image_imageContent :: Lens' Image (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: image_timeStamp :: Lens' Image (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragmentsResponse_fragments :: Lens' ListFragmentsResponse (Maybe [Fragment])
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragmentsResponse_httpStatus :: Lens' ListFragmentsResponse Int
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragmentsResponse_nextToken :: Lens' ListFragmentsResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragments_fragmentSelector :: Lens' ListFragments (Maybe FragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragments_maxResults :: Lens' ListFragments (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragments_nextToken :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragments_streamARN :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: listFragments_streamName :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Lens: timestampRange_endTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Lens: timestampRange_startTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: ListFragments' :: Maybe FragmentSelector -> Maybe Natural -> Maybe Text -> Maybe Text -> Maybe Text -> ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: ListFragmentsResponse' :: Maybe [Fragment] -> Maybe Text -> Int -> ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:fragmentSelector:ListFragments'] :: ListFragments -> Maybe FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:fragments:ListFragmentsResponse'] :: ListFragmentsResponse -> Maybe [Fragment]
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:httpStatus:ListFragmentsResponse'] :: ListFragmentsResponse -> Int
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:maxResults:ListFragments'] :: ListFragments -> Maybe Natural
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:nextToken:ListFragments'] :: ListFragments -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:nextToken:ListFragmentsResponse'] :: ListFragmentsResponse -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:streamARN:ListFragments'] :: ListFragments -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: [$sel:streamName:ListFragments'] :: ListFragments -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: data ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: data ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Amazonka.Data.Headers.ToHeaders Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Amazonka.Data.Path.ToPath Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Amazonka.Pager.AWSPager Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Amazonka.Types.AWSRequest Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.ListFragments.ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragmentsResponse_fragments :: Lens' ListFragmentsResponse (Maybe [Fragment])
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragmentsResponse_httpStatus :: Lens' ListFragmentsResponse Int
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragmentsResponse_nextToken :: Lens' ListFragmentsResponse (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragments_fragmentSelector :: Lens' ListFragments (Maybe FragmentSelector)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragments_maxResults :: Lens' ListFragments (Maybe Natural)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragments_nextToken :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragments_streamARN :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: listFragments_streamName :: Lens' ListFragments (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: newListFragments :: ListFragments
+ Amazonka.KinesisVideoArchivedMedia.ListFragments: newListFragmentsResponse :: Int -> ListFragmentsResponse
+ Amazonka.KinesisVideoArchivedMedia.Types: ClipFragmentSelector' :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: ClipFragmentSelectorType' :: Text -> ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: ClipTimestampRange' :: POSIX -> POSIX -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: ContainerFormat' :: Text -> ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHDisplayFragmentNumber' :: Text -> DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHDisplayFragmentTimestamp' :: Text -> DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHFragmentSelector' :: Maybe DASHFragmentSelectorType -> Maybe DASHTimestampRange -> DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHFragmentSelectorType' :: Text -> DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHPlaybackMode' :: Text -> DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: DASHTimestampRange' :: Maybe POSIX -> Maybe POSIX -> DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: Format' :: Text -> Format
+ Amazonka.KinesisVideoArchivedMedia.Types: FormatConfigKey' :: Text -> FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types: Fragment' :: Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe POSIX -> Maybe POSIX -> Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types: FragmentSelector' :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: FragmentSelectorType' :: Text -> FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSDiscontinuityMode' :: Text -> HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSDisplayFragmentTimestamp' :: Text -> HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSFragmentSelector' :: Maybe HLSFragmentSelectorType -> Maybe HLSTimestampRange -> HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSFragmentSelectorType' :: Text -> HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSPlaybackMode' :: Text -> HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: HLSTimestampRange' :: Maybe POSIX -> Maybe POSIX -> HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: Image' :: Maybe ImageError -> Maybe Text -> Maybe POSIX -> Image
+ Amazonka.KinesisVideoArchivedMedia.Types: ImageError' :: Text -> ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types: ImageSelectorType' :: Text -> ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: TimestampRange' :: POSIX -> POSIX -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:endTimestamp:ClipTimestampRange'] :: ClipTimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:endTimestamp:DASHTimestampRange'] :: DASHTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:endTimestamp:HLSTimestampRange'] :: HLSTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:endTimestamp:TimestampRange'] :: TimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:error:Image'] :: Image -> Maybe ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentLengthInMilliseconds:Fragment'] :: Fragment -> Maybe Integer
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentNumber:Fragment'] :: Fragment -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentSelectorType:ClipFragmentSelector'] :: ClipFragmentSelector -> ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentSelectorType:DASHFragmentSelector'] :: DASHFragmentSelector -> Maybe DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentSelectorType:FragmentSelector'] :: FragmentSelector -> FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentSelectorType:HLSFragmentSelector'] :: HLSFragmentSelector -> Maybe HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:fragmentSizeInBytes:Fragment'] :: Fragment -> Maybe Integer
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:imageContent:Image'] :: Image -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:producerTimestamp:Fragment'] :: Fragment -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:serverTimestamp:Fragment'] :: Fragment -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:startTimestamp:ClipTimestampRange'] :: ClipTimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:startTimestamp:DASHTimestampRange'] :: DASHTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:startTimestamp:HLSTimestampRange'] :: HLSTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:startTimestamp:TimestampRange'] :: TimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:timeStamp:Image'] :: Image -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:timestampRange:ClipFragmentSelector'] :: ClipFragmentSelector -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:timestampRange:DASHFragmentSelector'] :: DASHFragmentSelector -> Maybe DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:timestampRange:FragmentSelector'] :: FragmentSelector -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: [$sel:timestampRange:HLSFragmentSelector'] :: HLSFragmentSelector -> Maybe HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromClipFragmentSelectorType] :: ClipFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromContainerFormat] :: ContainerFormat -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromDASHDisplayFragmentNumber] :: DASHDisplayFragmentNumber -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromDASHDisplayFragmentTimestamp] :: DASHDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromDASHFragmentSelectorType] :: DASHFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromDASHPlaybackMode] :: DASHPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromFormatConfigKey] :: FormatConfigKey -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromFormat] :: Format -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromFragmentSelectorType] :: FragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromHLSDiscontinuityMode] :: HLSDiscontinuityMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromHLSDisplayFragmentTimestamp] :: HLSDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromHLSFragmentSelectorType] :: HLSFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromHLSPlaybackMode] :: HLSPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromImageError] :: ImageError -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: [fromImageSelectorType] :: ImageSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types: _ClientLimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _InvalidArgumentException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _InvalidCodecPrivateDataException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _InvalidMediaFrameException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _MissingCodecPrivateDataException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _NoDataRetentionException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _NotAuthorizedException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _ResourceNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: _UnsupportedStreamMediaTypeException :: AsError a => Fold a ServiceError
+ Amazonka.KinesisVideoArchivedMedia.Types: clipFragmentSelector_fragmentSelectorType :: Lens' ClipFragmentSelector ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: clipFragmentSelector_timestampRange :: Lens' ClipFragmentSelector ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: clipTimestampRange_endTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types: clipTimestampRange_startTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types: dASHFragmentSelector_fragmentSelectorType :: Lens' DASHFragmentSelector (Maybe DASHFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Types: dASHFragmentSelector_timestampRange :: Lens' DASHFragmentSelector (Maybe DASHTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Types: dASHTimestampRange_endTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: dASHTimestampRange_startTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: data ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: data ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: data DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: data DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: data Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types: data FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: data HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: data HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: data Image
+ Amazonka.KinesisVideoArchivedMedia.Types: data TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: defaultService :: Service
+ Amazonka.KinesisVideoArchivedMedia.Types: fragmentSelector_fragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: fragmentSelector_timestampRange :: Lens' FragmentSelector TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: fragment_fragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Types: fragment_fragmentNumber :: Lens' Fragment (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Types: fragment_fragmentSizeInBytes :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Types: fragment_producerTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: fragment_serverTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: hLSFragmentSelector_fragmentSelectorType :: Lens' HLSFragmentSelector (Maybe HLSFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Types: hLSFragmentSelector_timestampRange :: Lens' HLSFragmentSelector (Maybe HLSTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Types: hLSTimestampRange_endTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: hLSTimestampRange_startTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: image_error :: Lens' Image (Maybe ImageError)
+ Amazonka.KinesisVideoArchivedMedia.Types: image_imageContent :: Lens' Image (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Types: image_timeStamp :: Lens' Image (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types: newClipFragmentSelector :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: newClipTimestampRange :: UTCTime -> UTCTime -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: newDASHFragmentSelector :: DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: newDASHTimestampRange :: DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: newFragment :: Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types: newFragmentSelector :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: newHLSFragmentSelector :: HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types: newHLSTimestampRange :: HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: newImage :: Image
+ Amazonka.KinesisVideoArchivedMedia.Types: newTimestampRange :: UTCTime -> UTCTime -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype Format
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types: newtype ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ClipFragmentSelectorType_PRODUCER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ClipFragmentSelectorType_SERVER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ContainerFormat_FRAGMENTED_MP4 :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ContainerFormat_MPEG_TS :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHDisplayFragmentNumber_ALWAYS :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHDisplayFragmentNumber_NEVER :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHDisplayFragmentTimestamp_ALWAYS :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHDisplayFragmentTimestamp_NEVER :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHFragmentSelectorType_PRODUCER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHFragmentSelectorType_SERVER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHPlaybackMode_LIVE :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHPlaybackMode_LIVE_REPLAY :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern DASHPlaybackMode_ON_DEMAND :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern FormatConfigKey_JPEGQuality :: FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern Format_JPEG :: Format
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern Format_PNG :: Format
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern FragmentSelectorType_PRODUCER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern FragmentSelectorType_SERVER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSDiscontinuityMode_ALWAYS :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSDiscontinuityMode_NEVER :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSDiscontinuityMode_ON_DISCONTINUITY :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSDisplayFragmentTimestamp_ALWAYS :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSDisplayFragmentTimestamp_NEVER :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSFragmentSelectorType_PRODUCER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSFragmentSelectorType_SERVER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSPlaybackMode_LIVE :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSPlaybackMode_LIVE_REPLAY :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern HLSPlaybackMode_ON_DEMAND :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ImageError_MEDIA_ERROR :: ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ImageError_NO_MEDIA :: ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ImageSelectorType_PRODUCER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: pattern ImageSelectorType_SERVER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types: timestampRange_endTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types: timestampRange_startTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: ClipFragmentSelector' :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: [$sel:fragmentSelectorType:ClipFragmentSelector'] :: ClipFragmentSelector -> ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: [$sel:timestampRange:ClipFragmentSelector'] :: ClipFragmentSelector -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: clipFragmentSelector_fragmentSelectorType :: Lens' ClipFragmentSelector ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: clipFragmentSelector_timestampRange :: Lens' ClipFragmentSelector ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: data ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector.ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector: newClipFragmentSelector :: ClipFragmentSelectorType -> ClipTimestampRange -> ClipFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: ClipFragmentSelectorType' :: Text -> ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: [fromClipFragmentSelectorType] :: ClipFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType.ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: newtype ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: pattern ClipFragmentSelectorType_PRODUCER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType: pattern ClipFragmentSelectorType_SERVER_TIMESTAMP :: ClipFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: ClipTimestampRange' :: POSIX -> POSIX -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: [$sel:endTimestamp:ClipTimestampRange'] :: ClipTimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: [$sel:startTimestamp:ClipTimestampRange'] :: ClipTimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: clipTimestampRange_endTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: clipTimestampRange_startTimestamp :: Lens' ClipTimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: data ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange.ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange: newClipTimestampRange :: UTCTime -> UTCTime -> ClipTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: ContainerFormat' :: Text -> ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: [fromContainerFormat] :: ContainerFormat -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat.ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: newtype ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: pattern ContainerFormat_FRAGMENTED_MP4 :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat: pattern ContainerFormat_MPEG_TS :: ContainerFormat
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: DASHDisplayFragmentNumber' :: Text -> DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: [fromDASHDisplayFragmentNumber] :: DASHDisplayFragmentNumber -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber.DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: newtype DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: pattern DASHDisplayFragmentNumber_ALWAYS :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber: pattern DASHDisplayFragmentNumber_NEVER :: DASHDisplayFragmentNumber
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: DASHDisplayFragmentTimestamp' :: Text -> DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: [fromDASHDisplayFragmentTimestamp] :: DASHDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp.DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: newtype DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: pattern DASHDisplayFragmentTimestamp_ALWAYS :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp: pattern DASHDisplayFragmentTimestamp_NEVER :: DASHDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: DASHFragmentSelector' :: Maybe DASHFragmentSelectorType -> Maybe DASHTimestampRange -> DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: [$sel:fragmentSelectorType:DASHFragmentSelector'] :: DASHFragmentSelector -> Maybe DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: [$sel:timestampRange:DASHFragmentSelector'] :: DASHFragmentSelector -> Maybe DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: dASHFragmentSelector_fragmentSelectorType :: Lens' DASHFragmentSelector (Maybe DASHFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: dASHFragmentSelector_timestampRange :: Lens' DASHFragmentSelector (Maybe DASHTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: data DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector.DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector: newDASHFragmentSelector :: DASHFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: DASHFragmentSelectorType' :: Text -> DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: [fromDASHFragmentSelectorType] :: DASHFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType.DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: newtype DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: pattern DASHFragmentSelectorType_PRODUCER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType: pattern DASHFragmentSelectorType_SERVER_TIMESTAMP :: DASHFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: DASHPlaybackMode' :: Text -> DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: [fromDASHPlaybackMode] :: DASHPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode.DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: newtype DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: pattern DASHPlaybackMode_LIVE :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: pattern DASHPlaybackMode_LIVE_REPLAY :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode: pattern DASHPlaybackMode_ON_DEMAND :: DASHPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: DASHTimestampRange' :: Maybe POSIX -> Maybe POSIX -> DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: [$sel:endTimestamp:DASHTimestampRange'] :: DASHTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: [$sel:startTimestamp:DASHTimestampRange'] :: DASHTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: dASHTimestampRange_endTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: dASHTimestampRange_startTimestamp :: Lens' DASHTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: data DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange.DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange: newDASHTimestampRange :: DASHTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: Format' :: Text -> Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: [fromFormat] :: Format -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.Format.Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: newtype Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: pattern Format_JPEG :: Format
+ Amazonka.KinesisVideoArchivedMedia.Types.Format: pattern Format_PNG :: Format
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: FormatConfigKey' :: Text -> FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: [fromFormatConfigKey] :: FormatConfigKey -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey.FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: newtype FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey: pattern FormatConfigKey_JPEGQuality :: FormatConfigKey
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: Fragment' :: Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe POSIX -> Maybe POSIX -> Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: [$sel:fragmentLengthInMilliseconds:Fragment'] :: Fragment -> Maybe Integer
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: [$sel:fragmentNumber:Fragment'] :: Fragment -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: [$sel:fragmentSizeInBytes:Fragment'] :: Fragment -> Maybe Integer
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: [$sel:producerTimestamp:Fragment'] :: Fragment -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: [$sel:serverTimestamp:Fragment'] :: Fragment -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: data Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: fragment_fragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: fragment_fragmentNumber :: Lens' Fragment (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: fragment_fragmentSizeInBytes :: Lens' Fragment (Maybe Integer)
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: fragment_producerTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: fragment_serverTimestamp :: Lens' Fragment (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.Fragment.Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment: newFragment :: Fragment
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: FragmentSelector' :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: [$sel:fragmentSelectorType:FragmentSelector'] :: FragmentSelector -> FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: [$sel:timestampRange:FragmentSelector'] :: FragmentSelector -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: data FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: fragmentSelector_fragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: fragmentSelector_timestampRange :: Lens' FragmentSelector TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector.FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector: newFragmentSelector :: FragmentSelectorType -> TimestampRange -> FragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: FragmentSelectorType' :: Text -> FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: [fromFragmentSelectorType] :: FragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType.FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: newtype FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: pattern FragmentSelectorType_PRODUCER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType: pattern FragmentSelectorType_SERVER_TIMESTAMP :: FragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: HLSDiscontinuityMode' :: Text -> HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: [fromHLSDiscontinuityMode] :: HLSDiscontinuityMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode.HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: newtype HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: pattern HLSDiscontinuityMode_ALWAYS :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: pattern HLSDiscontinuityMode_NEVER :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode: pattern HLSDiscontinuityMode_ON_DISCONTINUITY :: HLSDiscontinuityMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: HLSDisplayFragmentTimestamp' :: Text -> HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: [fromHLSDisplayFragmentTimestamp] :: HLSDisplayFragmentTimestamp -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp.HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: newtype HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: pattern HLSDisplayFragmentTimestamp_ALWAYS :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp: pattern HLSDisplayFragmentTimestamp_NEVER :: HLSDisplayFragmentTimestamp
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: HLSFragmentSelector' :: Maybe HLSFragmentSelectorType -> Maybe HLSTimestampRange -> HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: [$sel:fragmentSelectorType:HLSFragmentSelector'] :: HLSFragmentSelector -> Maybe HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: [$sel:timestampRange:HLSFragmentSelector'] :: HLSFragmentSelector -> Maybe HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: data HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: hLSFragmentSelector_fragmentSelectorType :: Lens' HLSFragmentSelector (Maybe HLSFragmentSelectorType)
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: hLSFragmentSelector_timestampRange :: Lens' HLSFragmentSelector (Maybe HLSTimestampRange)
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector.HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector: newHLSFragmentSelector :: HLSFragmentSelector
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: HLSFragmentSelectorType' :: Text -> HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: [fromHLSFragmentSelectorType] :: HLSFragmentSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType.HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: newtype HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: pattern HLSFragmentSelectorType_PRODUCER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType: pattern HLSFragmentSelectorType_SERVER_TIMESTAMP :: HLSFragmentSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: HLSPlaybackMode' :: Text -> HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: [fromHLSPlaybackMode] :: HLSPlaybackMode -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode.HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: newtype HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: pattern HLSPlaybackMode_LIVE :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: pattern HLSPlaybackMode_LIVE_REPLAY :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode: pattern HLSPlaybackMode_ON_DEMAND :: HLSPlaybackMode
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: HLSTimestampRange' :: Maybe POSIX -> Maybe POSIX -> HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: [$sel:endTimestamp:HLSTimestampRange'] :: HLSTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: [$sel:startTimestamp:HLSTimestampRange'] :: HLSTimestampRange -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: data HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: hLSTimestampRange_endTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: hLSTimestampRange_startTimestamp :: Lens' HLSTimestampRange (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange.HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange: newHLSTimestampRange :: HLSTimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: Image' :: Maybe ImageError -> Maybe Text -> Maybe POSIX -> Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: [$sel:error:Image'] :: Image -> Maybe ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: [$sel:imageContent:Image'] :: Image -> Maybe Text
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: [$sel:timeStamp:Image'] :: Image -> Maybe POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: data Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: image_error :: Lens' Image (Maybe ImageError)
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: image_imageContent :: Lens' Image (Maybe Text)
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: image_timeStamp :: Lens' Image (Maybe UTCTime)
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.Image.Image
+ Amazonka.KinesisVideoArchivedMedia.Types.Image: newImage :: Image
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: ImageError' :: Text -> ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: [fromImageError] :: ImageError -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ImageError.ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: newtype ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: pattern ImageError_MEDIA_ERROR :: ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError: pattern ImageError_NO_MEDIA :: ImageError
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: ImageSelectorType' :: Text -> ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: [fromImageSelectorType] :: ImageSelectorType -> Text
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.Headers.ToHeader Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.Log.ToLog Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.Query.ToQuery Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.Text.FromText Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.Text.ToText Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.XML.FromXML Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Amazonka.Data.XML.ToXML Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance GHC.Classes.Ord Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType.ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: newtype ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: pattern ImageSelectorType_PRODUCER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType: pattern ImageSelectorType_SERVER_TIMESTAMP :: ImageSelectorType
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: TimestampRange' :: POSIX -> POSIX -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: [$sel:endTimestamp:TimestampRange'] :: TimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: [$sel:startTimestamp:TimestampRange'] :: TimestampRange -> POSIX
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: data TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance Control.DeepSeq.NFData Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance Data.Hashable.Class.Hashable Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance GHC.Classes.Eq Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance GHC.Generics.Generic Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance GHC.Read.Read Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: instance GHC.Show.Show Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange.TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: newTimestampRange :: UTCTime -> UTCTime -> TimestampRange
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: timestampRange_endTimestamp :: Lens' TimestampRange UTCTime
+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange: timestampRange_startTimestamp :: Lens' TimestampRange UTCTime
Files
- README.md +3/−4
- Setup.hs +0/−2
- amazonka-kinesis-video-archived-media.cabal +103/−76
- fixture/GetClip.yaml +10/−0
- fixture/GetClipResponse.proto +0/−0
- fixture/GetDASHStreamingSessionURL.yaml +10/−0
- fixture/GetDASHStreamingSessionURLResponse.proto +0/−0
- fixture/GetHLSStreamingSessionURL.yaml +10/−0
- fixture/GetHLSStreamingSessionURLResponse.proto +0/−0
- fixture/GetImages.yaml +10/−0
- fixture/GetImagesResponse.proto +0/−0
- gen/Amazonka/KinesisVideoArchivedMedia.hs +213/−0
- gen/Amazonka/KinesisVideoArchivedMedia/GetClip.hs +261/−0
- gen/Amazonka/KinesisVideoArchivedMedia/GetDASHStreamingSessionURL.hs +731/−0
- gen/Amazonka/KinesisVideoArchivedMedia/GetHLSStreamingSessionURL.hs +874/−0
- gen/Amazonka/KinesisVideoArchivedMedia/GetImages.hs +468/−0
- gen/Amazonka/KinesisVideoArchivedMedia/GetMediaForFragmentList.hs +314/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Lens.hs +148/−0
- gen/Amazonka/KinesisVideoArchivedMedia/ListFragments.hs +312/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types.hs +334/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipFragmentSelector.hs +105/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipFragmentSelectorType.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipTimestampRange.hs +137/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ContainerFormat.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHDisplayFragmentNumber.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHDisplayFragmentTimestamp.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHFragmentSelector.hs +179/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHFragmentSelectorType.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHPlaybackMode.hs +76/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHTimestampRange.hs +160/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/Format.hs +68/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/FormatConfigKey.hs +66/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/Fragment.hs +127/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/FragmentSelector.hs +114/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/FragmentSelectorType.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSDiscontinuityMode.hs +76/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSDisplayFragmentTimestamp.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSFragmentSelector.hs +179/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSFragmentSelectorType.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSPlaybackMode.hs +76/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSTimestampRange.hs +155/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/Image.hs +124/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ImageError.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/ImageSelectorType.hs +71/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Types/TimestampRange.hs +95/−0
- gen/Amazonka/KinesisVideoArchivedMedia/Waiters.hs +24/−0
- gen/Network/AWS/KinesisVideoArchivedMedia.hs +0/−109
- gen/Network/AWS/KinesisVideoArchivedMedia/GetMediaForFragmentList.hs +0/−157
- gen/Network/AWS/KinesisVideoArchivedMedia/ListFragments.hs +0/−172
- gen/Network/AWS/KinesisVideoArchivedMedia/Types.hs +0/−128
- gen/Network/AWS/KinesisVideoArchivedMedia/Types/Product.hs +0/−193
- gen/Network/AWS/KinesisVideoArchivedMedia/Types/Sum.hs +0/−47
- gen/Network/AWS/KinesisVideoArchivedMedia/Waiters.hs +0/−21
- test/Main.hs +11/−9
- test/Test/AWS/Gen/KinesisVideoArchivedMedia.hs +0/−68
- test/Test/AWS/KinesisVideoArchivedMedia.hs +0/−20
- test/Test/AWS/KinesisVideoArchivedMedia/Internal.hs +0/−9
- test/Test/Amazonka/Gen/KinesisVideoArchivedMedia.hs +142/−0
- test/Test/Amazonka/KinesisVideoArchivedMedia.hs +20/−0
- test/Test/Amazonka/KinesisVideoArchivedMedia/Internal.hs +8/−0
README.md view
@@ -7,9 +7,8 @@ ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2017-09-30@ of the AWS service descriptions, licensed under Apache 2.0. ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.KinesisVideoArchivedMedia](http://hackage.haskell.org/package/amazonka-kinesis-video-archived-media/docs/Network-AWS-KinesisVideoArchivedMedia.html)+See [Amazonka.KinesisVideoArchivedMedia](http://hackage.haskell.org/package/amazonka-kinesis-video-archived-media/docs/Amazonka-KinesisVideoArchivedMedia.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
amazonka-kinesis-video-archived-media.cabal view
@@ -1,87 +1,114 @@-name: amazonka-kinesis-video-archived-media-version: 1.6.1-synopsis: Amazon Kinesis Video Streams Archived Media SDK.-homepage: https://github.com/brendanhay/amazonka-bug-reports: https://github.com/brendanhay/amazonka/issues-license: MPL-2.0-license-file: LICENSE-author: Brendan Hay-maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright: Copyright (c) 2013-2018 Brendan Hay-category: Network, AWS, Cloud, Distributed Computing-build-type: Simple-cabal-version: >= 1.10-extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version: 2.2+name: amazonka-kinesis-video-archived-media+version: 2.0+synopsis: Amazon Kinesis Video Streams Archived Media SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep+ description:- The types from this library are intended to be used with- <http://hackage.haskell.org/package/amazonka amazonka>, which provides- mechanisms for specifying AuthN/AuthZ information, sending requests,- and receiving responses.- .- Lenses are used for constructing and manipulating types,- due to the depth of nesting of AWS types and transparency regarding- de/serialisation into more palatable Haskell values.- The provided lenses should be compatible with any of the major lens libraries- such as <http://hackage.haskell.org/package/lens lens> or- <http://hackage.haskell.org/package/lens-family-core lens-family-core>.- .- See "Network.AWS.KinesisVideoArchivedMedia" or <https://aws.amazon.com/documentation/ the AWS documentation>- to get started.+ Derived from API version @2017-09-30@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.KinesisVideoArchivedMedia.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.KinesisVideoArchivedMedia" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started. source-repository head- type: git- location: git://github.com/brendanhay/amazonka.git- subdir: amazonka-kinesis-video-archived-media+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-kinesis-video-archived-media library- default-language: Haskell2010- hs-source-dirs: src gen-- ghc-options:- -Wall- -fwarn-incomplete-uni-patterns- -fwarn-incomplete-record-updates- -funbox-strict-fields-- exposed-modules:- Network.AWS.KinesisVideoArchivedMedia- , Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList- , Network.AWS.KinesisVideoArchivedMedia.ListFragments- , Network.AWS.KinesisVideoArchivedMedia.Types- , Network.AWS.KinesisVideoArchivedMedia.Waiters+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields - other-modules:- Network.AWS.KinesisVideoArchivedMedia.Types.Product- , Network.AWS.KinesisVideoArchivedMedia.Types.Sum+ exposed-modules:+ Amazonka.KinesisVideoArchivedMedia+ Amazonka.KinesisVideoArchivedMedia.GetClip+ Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL+ Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL+ Amazonka.KinesisVideoArchivedMedia.GetImages+ Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList+ Amazonka.KinesisVideoArchivedMedia.Lens+ Amazonka.KinesisVideoArchivedMedia.ListFragments+ Amazonka.KinesisVideoArchivedMedia.Types+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector+ Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType+ Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange+ Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber+ Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector+ Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType+ Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode+ Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange+ Amazonka.KinesisVideoArchivedMedia.Types.Format+ Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey+ Amazonka.KinesisVideoArchivedMedia.Types.Fragment+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector+ Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode+ Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector+ Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType+ Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode+ Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange+ Amazonka.KinesisVideoArchivedMedia.Types.Image+ Amazonka.KinesisVideoArchivedMedia.Types.ImageError+ Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType+ Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange+ Amazonka.KinesisVideoArchivedMedia.Waiters - build-depends:- amazonka-core == 1.6.1.*- , base >= 4.7 && < 5+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5 test-suite amazonka-kinesis-video-archived-media-test- type: exitcode-stdio-1.0- default-language: Haskell2010- hs-source-dirs: test- main-is: Main.hs-- ghc-options: -Wall -threaded+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded - -- This section is encoded by the template and any modules added by- -- hand outside these namespaces will not correctly be added to the- -- distribution package.- other-modules:- Test.AWS.KinesisVideoArchivedMedia- , Test.AWS.Gen.KinesisVideoArchivedMedia- , Test.AWS.KinesisVideoArchivedMedia.Internal+ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.KinesisVideoArchivedMedia+ Test.Amazonka.KinesisVideoArchivedMedia+ Test.Amazonka.KinesisVideoArchivedMedia.Internal - build-depends:- amazonka-core == 1.6.1.*- , amazonka-test == 1.6.1.*- , amazonka-kinesis-video-archived-media- , base- , bytestring- , tasty- , tasty-hunit- , text- , time- , unordered-containers+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-kinesis-video-archived-media+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/GetClip.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kinesisvideo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kinesisvideo.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetClipResponse.proto view
+ fixture/GetDASHStreamingSessionURL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kinesisvideo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kinesisvideo.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDASHStreamingSessionURLResponse.proto view
+ fixture/GetHLSStreamingSessionURL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kinesisvideo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kinesisvideo.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetHLSStreamingSessionURLResponse.proto view
+ fixture/GetImages.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kinesisvideo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kinesisvideo.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetImagesResponse.proto view
+ gen/Amazonka/KinesisVideoArchivedMedia.hs view
@@ -0,0 +1,213 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2017-09-30@ of the AWS service descriptions, licensed under Apache 2.0.+module Amazonka.KinesisVideoArchivedMedia+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** ClientLimitExceededException+ _ClientLimitExceededException,++ -- ** InvalidArgumentException+ _InvalidArgumentException,++ -- ** InvalidCodecPrivateDataException+ _InvalidCodecPrivateDataException,++ -- ** InvalidMediaFrameException+ _InvalidMediaFrameException,++ -- ** MissingCodecPrivateDataException+ _MissingCodecPrivateDataException,++ -- ** NoDataRetentionException+ _NoDataRetentionException,++ -- ** NotAuthorizedException+ _NotAuthorizedException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** UnsupportedStreamMediaTypeException+ _UnsupportedStreamMediaTypeException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** GetClip+ GetClip (GetClip'),+ newGetClip,+ GetClipResponse (GetClipResponse'),+ newGetClipResponse,++ -- ** GetDASHStreamingSessionURL+ GetDASHStreamingSessionURL (GetDASHStreamingSessionURL'),+ newGetDASHStreamingSessionURL,+ GetDASHStreamingSessionURLResponse (GetDASHStreamingSessionURLResponse'),+ newGetDASHStreamingSessionURLResponse,++ -- ** GetHLSStreamingSessionURL+ GetHLSStreamingSessionURL (GetHLSStreamingSessionURL'),+ newGetHLSStreamingSessionURL,+ GetHLSStreamingSessionURLResponse (GetHLSStreamingSessionURLResponse'),+ newGetHLSStreamingSessionURLResponse,++ -- ** GetImages (Paginated)+ GetImages (GetImages'),+ newGetImages,+ GetImagesResponse (GetImagesResponse'),+ newGetImagesResponse,++ -- ** GetMediaForFragmentList+ GetMediaForFragmentList (GetMediaForFragmentList'),+ newGetMediaForFragmentList,+ GetMediaForFragmentListResponse (GetMediaForFragmentListResponse'),+ newGetMediaForFragmentListResponse,++ -- ** ListFragments (Paginated)+ ListFragments (ListFragments'),+ newListFragments,+ ListFragmentsResponse (ListFragmentsResponse'),+ newListFragmentsResponse,++ -- * Types++ -- ** ClipFragmentSelectorType+ ClipFragmentSelectorType (..),++ -- ** ContainerFormat+ ContainerFormat (..),++ -- ** DASHDisplayFragmentNumber+ DASHDisplayFragmentNumber (..),++ -- ** DASHDisplayFragmentTimestamp+ DASHDisplayFragmentTimestamp (..),++ -- ** DASHFragmentSelectorType+ DASHFragmentSelectorType (..),++ -- ** DASHPlaybackMode+ DASHPlaybackMode (..),++ -- ** Format+ Format (..),++ -- ** FormatConfigKey+ FormatConfigKey (..),++ -- ** FragmentSelectorType+ FragmentSelectorType (..),++ -- ** HLSDiscontinuityMode+ HLSDiscontinuityMode (..),++ -- ** HLSDisplayFragmentTimestamp+ HLSDisplayFragmentTimestamp (..),++ -- ** HLSFragmentSelectorType+ HLSFragmentSelectorType (..),++ -- ** HLSPlaybackMode+ HLSPlaybackMode (..),++ -- ** ImageError+ ImageError (..),++ -- ** ImageSelectorType+ ImageSelectorType (..),++ -- ** ClipFragmentSelector+ ClipFragmentSelector (ClipFragmentSelector'),+ newClipFragmentSelector,++ -- ** ClipTimestampRange+ ClipTimestampRange (ClipTimestampRange'),+ newClipTimestampRange,++ -- ** DASHFragmentSelector+ DASHFragmentSelector (DASHFragmentSelector'),+ newDASHFragmentSelector,++ -- ** DASHTimestampRange+ DASHTimestampRange (DASHTimestampRange'),+ newDASHTimestampRange,++ -- ** Fragment+ Fragment (Fragment'),+ newFragment,++ -- ** FragmentSelector+ FragmentSelector (FragmentSelector'),+ newFragmentSelector,++ -- ** HLSFragmentSelector+ HLSFragmentSelector (HLSFragmentSelector'),+ newHLSFragmentSelector,++ -- ** HLSTimestampRange+ HLSTimestampRange (HLSTimestampRange'),+ newHLSTimestampRange,++ -- ** Image+ Image (Image'),+ newImage,++ -- ** TimestampRange+ TimestampRange (TimestampRange'),+ newTimestampRange,+ )+where++import Amazonka.KinesisVideoArchivedMedia.GetClip+import Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL+import Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL+import Amazonka.KinesisVideoArchivedMedia.GetImages+import Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList+import Amazonka.KinesisVideoArchivedMedia.Lens+import Amazonka.KinesisVideoArchivedMedia.ListFragments+import Amazonka.KinesisVideoArchivedMedia.Types+import Amazonka.KinesisVideoArchivedMedia.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'KinesisVideoArchivedMedia'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/KinesisVideoArchivedMedia/GetClip.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.GetClip+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Downloads an MP4 file (clip) containing the archived, on-demand media+-- from the specified video stream over the specified time range.+--+-- Both the StreamName and the StreamARN parameters are optional, but you+-- must specify either the StreamName or the StreamARN when invoking this+-- API operation.+--+-- As a prerequisite to using GetCLip API, you must obtain an endpoint+-- using @GetDataEndpoint@, specifying GET_CLIP for the @APIName@+-- parameter.+--+-- An Amazon Kinesis video stream has the following requirements for+-- providing data through MP4:+--+-- - The media must contain h.264 or h.265 encoded video and, optionally,+-- AAC or G.711 encoded audio. Specifically, the codec ID of track 1+-- should be @V_MPEG\/ISO\/AVC@ (for h.264) or V_MPEGH\/ISO\/HEVC (for+-- H.265). Optionally, the codec ID of track 2 should be @A_AAC@ (for+-- AAC) or A_MS\/ACM (for G.711).+--+-- - Data retention must be greater than 0.+--+-- - The video track of each fragment must contain codec private data in+-- the Advanced Video Coding (AVC) for H.264 format and HEVC for H.265+-- format. For more information, see+-- <https://www.iso.org/standard/55980.html MPEG-4 specification ISO\/IEC 14496-15>.+-- For information about adapting stream data to a given format, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html NAL Adaptation Flags>.+--+-- - The audio track (if present) of each fragment must contain codec+-- private data in the AAC format+-- (<https://www.iso.org/standard/43345.html AAC specification ISO\/IEC 13818-7>)+-- or the+-- <http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html MS Wave format>.+--+-- You can monitor the amount of outgoing data by monitoring the+-- @GetClip.OutgoingBytes@ Amazon CloudWatch metric. For information about+-- using CloudWatch to monitor Kinesis Video Streams, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html Monitoring Kinesis Video Streams>.+-- For pricing information, see+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Amazon Kinesis Video Streams Pricing>+-- and <https://aws.amazon.com/pricing/ AWS Pricing>. Charges for outgoing+-- AWS data apply.+module Amazonka.KinesisVideoArchivedMedia.GetClip+ ( -- * Creating a Request+ GetClip (..),+ newGetClip,++ -- * Request Lenses+ getClip_streamARN,+ getClip_streamName,+ getClip_clipFragmentSelector,++ -- * Destructuring the Response+ GetClipResponse (..),+ newGetClipResponse,++ -- * Response Lenses+ getClipResponse_contentType,+ getClipResponse_httpStatus,+ getClipResponse_payload,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetClip' smart constructor.+data GetClip = GetClip'+ { -- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+ -- media clip.+ --+ -- You must specify either the StreamName or the StreamARN.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream for which to retrieve the media clip.+ --+ -- You must specify either the StreamName or the StreamARN.+ streamName :: Prelude.Maybe Prelude.Text,+ -- | The time range of the requested clip and the source of the timestamps.+ clipFragmentSelector :: ClipFragmentSelector+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClip' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamARN', 'getClip_streamARN' - The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- media clip.+--+-- You must specify either the StreamName or the StreamARN.+--+-- 'streamName', 'getClip_streamName' - The name of the stream for which to retrieve the media clip.+--+-- You must specify either the StreamName or the StreamARN.+--+-- 'clipFragmentSelector', 'getClip_clipFragmentSelector' - The time range of the requested clip and the source of the timestamps.+newGetClip ::+ -- | 'clipFragmentSelector'+ ClipFragmentSelector ->+ GetClip+newGetClip pClipFragmentSelector_ =+ GetClip'+ { streamARN = Prelude.Nothing,+ streamName = Prelude.Nothing,+ clipFragmentSelector = pClipFragmentSelector_+ }++-- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- media clip.+--+-- You must specify either the StreamName or the StreamARN.+getClip_streamARN :: Lens.Lens' GetClip (Prelude.Maybe Prelude.Text)+getClip_streamARN = Lens.lens (\GetClip' {streamARN} -> streamARN) (\s@GetClip' {} a -> s {streamARN = a} :: GetClip)++-- | The name of the stream for which to retrieve the media clip.+--+-- You must specify either the StreamName or the StreamARN.+getClip_streamName :: Lens.Lens' GetClip (Prelude.Maybe Prelude.Text)+getClip_streamName = Lens.lens (\GetClip' {streamName} -> streamName) (\s@GetClip' {} a -> s {streamName = a} :: GetClip)++-- | The time range of the requested clip and the source of the timestamps.+getClip_clipFragmentSelector :: Lens.Lens' GetClip ClipFragmentSelector+getClip_clipFragmentSelector = Lens.lens (\GetClip' {clipFragmentSelector} -> clipFragmentSelector) (\s@GetClip' {} a -> s {clipFragmentSelector = a} :: GetClip)++instance Core.AWSRequest GetClip where+ type AWSResponse GetClip = GetClipResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveBody+ ( \s h x ->+ GetClipResponse'+ Prelude.<$> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (Prelude.pure x)+ )++instance Prelude.Hashable GetClip where+ hashWithSalt _salt GetClip' {..} =+ _salt+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName+ `Prelude.hashWithSalt` clipFragmentSelector++instance Prelude.NFData GetClip where+ rnf GetClip' {..} =+ Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName+ `Prelude.seq` Prelude.rnf clipFragmentSelector++instance Data.ToHeaders GetClip where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetClip where+ toJSON GetClip' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName,+ Prelude.Just+ ( "ClipFragmentSelector"+ Data..= clipFragmentSelector+ )+ ]+ )++instance Data.ToPath GetClip where+ toPath = Prelude.const "/getClip"++instance Data.ToQuery GetClip where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetClipResponse' smart constructor.+data GetClipResponse = GetClipResponse'+ { -- | The content type of the media in the requested clip.+ contentType :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Traditional MP4 file that contains the media clip from the specified+ -- video stream. The output will contain the first 100 MB or the first 200+ -- fragments from the specified start timestamp. For more information, see+ -- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+ payload :: Data.ResponseBody+ }+ deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentType', 'getClipResponse_contentType' - The content type of the media in the requested clip.+--+-- 'httpStatus', 'getClipResponse_httpStatus' - The response's http status code.+--+-- 'payload', 'getClipResponse_payload' - Traditional MP4 file that contains the media clip from the specified+-- video stream. The output will contain the first 100 MB or the first 200+-- fragments from the specified start timestamp. For more information, see+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+newGetClipResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'payload'+ Data.ResponseBody ->+ GetClipResponse+newGetClipResponse pHttpStatus_ pPayload_ =+ GetClipResponse'+ { contentType = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ payload = pPayload_+ }++-- | The content type of the media in the requested clip.+getClipResponse_contentType :: Lens.Lens' GetClipResponse (Prelude.Maybe Prelude.Text)+getClipResponse_contentType = Lens.lens (\GetClipResponse' {contentType} -> contentType) (\s@GetClipResponse' {} a -> s {contentType = a} :: GetClipResponse)++-- | The response's http status code.+getClipResponse_httpStatus :: Lens.Lens' GetClipResponse Prelude.Int+getClipResponse_httpStatus = Lens.lens (\GetClipResponse' {httpStatus} -> httpStatus) (\s@GetClipResponse' {} a -> s {httpStatus = a} :: GetClipResponse)++-- | Traditional MP4 file that contains the media clip from the specified+-- video stream. The output will contain the first 100 MB or the first 200+-- fragments from the specified start timestamp. For more information, see+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+getClipResponse_payload :: Lens.Lens' GetClipResponse Data.ResponseBody+getClipResponse_payload = Lens.lens (\GetClipResponse' {payload} -> payload) (\s@GetClipResponse' {} a -> s {payload = a} :: GetClipResponse)
+ gen/Amazonka/KinesisVideoArchivedMedia/GetDASHStreamingSessionURL.hs view
@@ -0,0 +1,731 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for+-- the stream. You can then open the URL in a media player to view the+-- stream contents.+--+-- Both the @StreamName@ and the @StreamARN@ parameters are optional, but+-- you must specify either the @StreamName@ or the @StreamARN@ when+-- invoking this API operation.+--+-- An Amazon Kinesis video stream has the following requirements for+-- providing data through MPEG-DASH:+--+-- - The media must contain h.264 or h.265 encoded video and, optionally,+-- AAC or G.711 encoded audio. Specifically, the codec ID of track 1+-- should be @V_MPEG\/ISO\/AVC@ (for h.264) or V_MPEGH\/ISO\/HEVC (for+-- H.265). Optionally, the codec ID of track 2 should be @A_AAC@ (for+-- AAC) or A_MS\/ACM (for G.711).+--+-- - Data retention must be greater than 0.+--+-- - The video track of each fragment must contain codec private data in+-- the Advanced Video Coding (AVC) for H.264 format and HEVC for H.265+-- format. For more information, see+-- <https://www.iso.org/standard/55980.html MPEG-4 specification ISO\/IEC 14496-15>.+-- For information about adapting stream data to a given format, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html NAL Adaptation Flags>.+--+-- - The audio track (if present) of each fragment must contain codec+-- private data in the AAC format+-- (<https://www.iso.org/standard/43345.html AAC specification ISO\/IEC 13818-7>)+-- or the+-- <http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html MS Wave format>.+--+-- The following procedure shows how to use MPEG-DASH with Kinesis Video+-- Streams:+--+-- 1. Get an endpoint using+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html GetDataEndpoint>,+-- specifying @GET_DASH_STREAMING_SESSION_URL@ for the @APIName@+-- parameter.+--+-- 2. Retrieve the MPEG-DASH URL using @GetDASHStreamingSessionURL@.+-- Kinesis Video Streams creates an MPEG-DASH streaming session to be+-- used for accessing content in a stream using the MPEG-DASH protocol.+-- @GetDASHStreamingSessionURL@ returns an authenticated URL (that+-- includes an encrypted session token) for the session\'s MPEG-DASH+-- /manifest/ (the root resource needed for streaming with MPEG-DASH).+--+-- Don\'t share or store this token where an unauthorized entity can+-- access it. The token provides access to the content of the stream.+-- Safeguard the token with the same measures that you use with your+-- AWS credentials.+--+-- The media that is made available through the manifest consists only+-- of the requested stream, time range, and format. No other media data+-- (such as frames outside the requested window or alternate bitrates)+-- is made available.+--+-- 3. Provide the URL (containing the encrypted session token) for the+-- MPEG-DASH manifest to a media player that supports the MPEG-DASH+-- protocol. Kinesis Video Streams makes the initialization fragment+-- and media fragments available through the manifest URL. The+-- initialization fragment contains the codec private data for the+-- stream, and other data needed to set up the video or audio decoder+-- and renderer. The media fragments contain encoded video frames or+-- encoded audio samples.+--+-- 4. The media player receives the authenticated URL and requests stream+-- metadata and media data normally. When the media player requests+-- data, it calls the following actions:+--+-- - __GetDASHManifest:__ Retrieves an MPEG DASH manifest, which+-- contains the metadata for the media that you want to playback.+--+-- - __GetMP4InitFragment:__ Retrieves the MP4 initialization+-- fragment. The media player typically loads the initialization+-- fragment before loading any media fragments. This fragment+-- contains the \"@fytp@\" and \"@moov@\" MP4 atoms, and the child+-- atoms that are needed to initialize the media player decoder.+--+-- The initialization fragment does not correspond to a fragment in+-- a Kinesis video stream. It contains only the codec private data+-- for the stream and respective track, which the media player+-- needs to decode the media frames.+--+-- - __GetMP4MediaFragment:__ Retrieves MP4 media fragments. These+-- fragments contain the \"@moof@\" and \"@mdat@\" MP4 atoms and+-- their child atoms, containing the encoded fragment\'s media+-- frames and their timestamps.+--+-- After the first media fragment is made available in a streaming+-- session, any fragments that don\'t contain the same codec+-- private data cause an error to be returned when those different+-- media fragments are loaded. Therefore, the codec private data+-- should not change between fragments in a session. This also+-- means that the session fails if the fragments in a stream change+-- from having only video to having both audio and video.+--+-- Data retrieved with this action is billable. See+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Pricing>+-- for details.+--+-- For restrictions that apply to MPEG-DASH sessions, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+--+-- You can monitor the amount of data that the media player consumes by+-- monitoring the @GetMP4MediaFragment.OutgoingBytes@ Amazon CloudWatch+-- metric. For information about using CloudWatch to monitor Kinesis Video+-- Streams, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html Monitoring Kinesis Video Streams>.+-- For pricing information, see+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Amazon Kinesis Video Streams Pricing>+-- and <https://aws.amazon.com/pricing/ AWS Pricing>. Charges for both HLS+-- sessions and outgoing AWS data apply.+--+-- For more information about HLS, see+-- <https://developer.apple.com/streaming/ HTTP Live Streaming> on the+-- <https://developer.apple.com Apple Developer site>.+--+-- If an error is thrown after invoking a Kinesis Video Streams archived+-- media API, in addition to the HTTP status code and the response body, it+-- includes the following pieces of information:+--+-- - @x-amz-ErrorType@ HTTP header – contains a more specific error type+-- in addition to what the HTTP status code provides.+--+-- - @x-amz-RequestId@ HTTP header – if you want to report an issue to+-- AWS, the support team can better diagnose the problem if given the+-- Request Id.+--+-- Both the HTTP status code and the ErrorType header can be utilized to+-- make programmatic decisions about whether errors are retry-able and+-- under what conditions, as well as provide information on what actions+-- the client programmer might need to take in order to successfully try+-- again.+--+-- For more information, see the __Errors__ section at the bottom of this+-- topic, as well as+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html Common Errors>.+module Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL+ ( -- * Creating a Request+ GetDASHStreamingSessionURL (..),+ newGetDASHStreamingSessionURL,++ -- * Request Lenses+ getDASHStreamingSessionURL_dASHFragmentSelector,+ getDASHStreamingSessionURL_displayFragmentNumber,+ getDASHStreamingSessionURL_displayFragmentTimestamp,+ getDASHStreamingSessionURL_expires,+ getDASHStreamingSessionURL_maxManifestFragmentResults,+ getDASHStreamingSessionURL_playbackMode,+ getDASHStreamingSessionURL_streamARN,+ getDASHStreamingSessionURL_streamName,++ -- * Destructuring the Response+ GetDASHStreamingSessionURLResponse (..),+ newGetDASHStreamingSessionURLResponse,++ -- * Response Lenses+ getDASHStreamingSessionURLResponse_dASHStreamingSessionURL,+ getDASHStreamingSessionURLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDASHStreamingSessionURL' smart constructor.+data GetDASHStreamingSessionURL = GetDASHStreamingSessionURL'+ { -- | The time range of the requested fragment and the source of the+ -- timestamps.+ --+ -- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+ -- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+ -- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+ -- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+ -- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+ -- set.+ dASHFragmentSelector :: Prelude.Maybe DASHFragmentSelector,+ -- | Fragments are identified in the manifest file based on their sequence+ -- number in the session. If DisplayFragmentNumber is set to @ALWAYS@, the+ -- Kinesis Video Streams fragment number is added to each S element in the+ -- manifest file with the attribute name “kvs:fn”. These fragment numbers+ -- can be used for logging or for use with other APIs (e.g. @GetMedia@ and+ -- @GetMediaForFragmentList@). A custom MPEG-DASH media player is necessary+ -- to leverage these this custom attribute.+ --+ -- The default value is @NEVER@.+ displayFragmentNumber :: Prelude.Maybe DASHDisplayFragmentNumber,+ -- | Per the MPEG-DASH specification, the wall-clock time of fragments in the+ -- manifest file can be derived using attributes in the manifest itself.+ -- However, typically, MPEG-DASH compatible media players do not properly+ -- handle gaps in the media timeline. Kinesis Video Streams adjusts the+ -- media timeline in the manifest file to enable playback of media with+ -- discontinuities. Therefore, the wall-clock time derived from the+ -- manifest file may be inaccurate. If DisplayFragmentTimestamp is set to+ -- @ALWAYS@, the accurate fragment timestamp is added to each S element in+ -- the manifest file with the attribute name “kvs:ts”. A custom MPEG-DASH+ -- media player is necessary to leverage this custom attribute.+ --+ -- The default value is @NEVER@. When DASHFragmentSelector is+ -- @SERVER_TIMESTAMP@, the timestamps will be the server start timestamps.+ -- Similarly, when DASHFragmentSelector is @PRODUCER_TIMESTAMP@, the+ -- timestamps will be the producer start timestamps.+ displayFragmentTimestamp :: Prelude.Maybe DASHDisplayFragmentTimestamp,+ -- | The time in seconds until the requested session expires. This value can+ -- be between 300 (5 minutes) and 43200 (12 hours).+ --+ -- When a session expires, no new calls to @GetDashManifest@,+ -- @GetMP4InitFragment@, or @GetMP4MediaFragment@ can be made for that+ -- session.+ --+ -- The default is 300 (5 minutes).+ expires :: Prelude.Maybe Prelude.Natural,+ -- | The maximum number of fragments that are returned in the MPEG-DASH+ -- manifest.+ --+ -- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+ -- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+ -- oldest fragments are returned, up to this maximum number.+ --+ -- When there are a higher number of fragments available in a live+ -- MPEG-DASH manifest, video players often buffer content before starting+ -- playback. Increasing the buffer size increases the playback latency, but+ -- it decreases the likelihood that rebuffering will occur during playback.+ -- We recommend that a live MPEG-DASH manifest have a minimum of 3+ -- fragments and a maximum of 10 fragments.+ --+ -- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+ -- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+ --+ -- The maximum value of 1,000 fragments corresponds to more than 16 minutes+ -- of video on streams with 1-second fragments, and more than 2 1\/2 hours+ -- of video on streams with 10-second fragments.+ maxManifestFragmentResults :: Prelude.Maybe Prelude.Natural,+ -- | Whether to retrieve live, live replay, or archived, on-demand data.+ --+ -- Features of the three types of sessions include the following:+ --+ -- - __@LIVE@__ : For sessions of this type, the MPEG-DASH manifest is+ -- continually updated with the latest fragments as they become+ -- available. We recommend that the media player retrieve a new+ -- manifest on a one-second interval. When this type of session is+ -- played in a media player, the user interface typically displays a+ -- \"live\" notification, with no scrubber control for choosing the+ -- position in the playback window to display.+ --+ -- In @LIVE@ mode, the newest available fragments are included in an+ -- MPEG-DASH manifest, even if there is a gap between fragments (that+ -- is, if a fragment is missing). A gap like this might cause a media+ -- player to halt or cause a jump in playback. In this mode, fragments+ -- are not added to the MPEG-DASH manifest if they are older than the+ -- newest fragment in the playlist. If the missing fragment becomes+ -- available after a subsequent fragment is added to the manifest, the+ -- older fragment is not added, and the gap is not filled.+ --+ -- - __@LIVE_REPLAY@__ : For sessions of this type, the MPEG-DASH+ -- manifest is updated similarly to how it is updated for @LIVE@ mode+ -- except that it starts by including fragments from a given start+ -- time. Instead of fragments being added as they are ingested,+ -- fragments are added as the duration of the next fragment elapses.+ -- For example, if the fragments in the session are two seconds long,+ -- then a new fragment is added to the manifest every two seconds. This+ -- mode is useful to be able to start playback from when an event is+ -- detected and continue live streaming media that has not yet been+ -- ingested as of the time of the session creation. This mode is also+ -- useful to stream previously archived media without being limited by+ -- the 1,000 fragment limit in the @ON_DEMAND@ mode.+ --+ -- - __@ON_DEMAND@__ : For sessions of this type, the MPEG-DASH manifest+ -- contains all the fragments for the session, up to the number that is+ -- specified in @MaxManifestFragmentResults@. The manifest must be+ -- retrieved only once for each session. When this type of session is+ -- played in a media player, the user interface typically displays a+ -- scrubber control for choosing the position in the playback window to+ -- display.+ --+ -- In all playback modes, if @FragmentSelectorType@ is+ -- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+ -- start timestamp, the fragment that has the larger fragment number (that+ -- is, the newer fragment) is included in the MPEG-DASH manifest. The other+ -- fragments are not included. Fragments that have different timestamps but+ -- have overlapping durations are still included in the MPEG-DASH manifest.+ -- This can lead to unexpected behavior in the media player.+ --+ -- The default is @LIVE@.+ playbackMode :: Prelude.Maybe DASHPlaybackMode,+ -- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+ -- MPEG-DASH manifest URL.+ --+ -- You must specify either the @StreamName@ or the @StreamARN@.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream for which to retrieve the MPEG-DASH manifest URL.+ --+ -- You must specify either the @StreamName@ or the @StreamARN@.+ streamName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDASHStreamingSessionURL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dASHFragmentSelector', 'getDASHStreamingSessionURL_dASHFragmentSelector' - The time range of the requested fragment and the source of the+-- timestamps.+--+-- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+-- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+-- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+-- set.+--+-- 'displayFragmentNumber', 'getDASHStreamingSessionURL_displayFragmentNumber' - Fragments are identified in the manifest file based on their sequence+-- number in the session. If DisplayFragmentNumber is set to @ALWAYS@, the+-- Kinesis Video Streams fragment number is added to each S element in the+-- manifest file with the attribute name “kvs:fn”. These fragment numbers+-- can be used for logging or for use with other APIs (e.g. @GetMedia@ and+-- @GetMediaForFragmentList@). A custom MPEG-DASH media player is necessary+-- to leverage these this custom attribute.+--+-- The default value is @NEVER@.+--+-- 'displayFragmentTimestamp', 'getDASHStreamingSessionURL_displayFragmentTimestamp' - Per the MPEG-DASH specification, the wall-clock time of fragments in the+-- manifest file can be derived using attributes in the manifest itself.+-- However, typically, MPEG-DASH compatible media players do not properly+-- handle gaps in the media timeline. Kinesis Video Streams adjusts the+-- media timeline in the manifest file to enable playback of media with+-- discontinuities. Therefore, the wall-clock time derived from the+-- manifest file may be inaccurate. If DisplayFragmentTimestamp is set to+-- @ALWAYS@, the accurate fragment timestamp is added to each S element in+-- the manifest file with the attribute name “kvs:ts”. A custom MPEG-DASH+-- media player is necessary to leverage this custom attribute.+--+-- The default value is @NEVER@. When DASHFragmentSelector is+-- @SERVER_TIMESTAMP@, the timestamps will be the server start timestamps.+-- Similarly, when DASHFragmentSelector is @PRODUCER_TIMESTAMP@, the+-- timestamps will be the producer start timestamps.+--+-- 'expires', 'getDASHStreamingSessionURL_expires' - The time in seconds until the requested session expires. This value can+-- be between 300 (5 minutes) and 43200 (12 hours).+--+-- When a session expires, no new calls to @GetDashManifest@,+-- @GetMP4InitFragment@, or @GetMP4MediaFragment@ can be made for that+-- session.+--+-- The default is 300 (5 minutes).+--+-- 'maxManifestFragmentResults', 'getDASHStreamingSessionURL_maxManifestFragmentResults' - The maximum number of fragments that are returned in the MPEG-DASH+-- manifest.+--+-- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+-- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+-- oldest fragments are returned, up to this maximum number.+--+-- When there are a higher number of fragments available in a live+-- MPEG-DASH manifest, video players often buffer content before starting+-- playback. Increasing the buffer size increases the playback latency, but+-- it decreases the likelihood that rebuffering will occur during playback.+-- We recommend that a live MPEG-DASH manifest have a minimum of 3+-- fragments and a maximum of 10 fragments.+--+-- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+-- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+--+-- The maximum value of 1,000 fragments corresponds to more than 16 minutes+-- of video on streams with 1-second fragments, and more than 2 1\/2 hours+-- of video on streams with 10-second fragments.+--+-- 'playbackMode', 'getDASHStreamingSessionURL_playbackMode' - Whether to retrieve live, live replay, or archived, on-demand data.+--+-- Features of the three types of sessions include the following:+--+-- - __@LIVE@__ : For sessions of this type, the MPEG-DASH manifest is+-- continually updated with the latest fragments as they become+-- available. We recommend that the media player retrieve a new+-- manifest on a one-second interval. When this type of session is+-- played in a media player, the user interface typically displays a+-- \"live\" notification, with no scrubber control for choosing the+-- position in the playback window to display.+--+-- In @LIVE@ mode, the newest available fragments are included in an+-- MPEG-DASH manifest, even if there is a gap between fragments (that+-- is, if a fragment is missing). A gap like this might cause a media+-- player to halt or cause a jump in playback. In this mode, fragments+-- are not added to the MPEG-DASH manifest if they are older than the+-- newest fragment in the playlist. If the missing fragment becomes+-- available after a subsequent fragment is added to the manifest, the+-- older fragment is not added, and the gap is not filled.+--+-- - __@LIVE_REPLAY@__ : For sessions of this type, the MPEG-DASH+-- manifest is updated similarly to how it is updated for @LIVE@ mode+-- except that it starts by including fragments from a given start+-- time. Instead of fragments being added as they are ingested,+-- fragments are added as the duration of the next fragment elapses.+-- For example, if the fragments in the session are two seconds long,+-- then a new fragment is added to the manifest every two seconds. This+-- mode is useful to be able to start playback from when an event is+-- detected and continue live streaming media that has not yet been+-- ingested as of the time of the session creation. This mode is also+-- useful to stream previously archived media without being limited by+-- the 1,000 fragment limit in the @ON_DEMAND@ mode.+--+-- - __@ON_DEMAND@__ : For sessions of this type, the MPEG-DASH manifest+-- contains all the fragments for the session, up to the number that is+-- specified in @MaxManifestFragmentResults@. The manifest must be+-- retrieved only once for each session. When this type of session is+-- played in a media player, the user interface typically displays a+-- scrubber control for choosing the position in the playback window to+-- display.+--+-- In all playback modes, if @FragmentSelectorType@ is+-- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+-- start timestamp, the fragment that has the larger fragment number (that+-- is, the newer fragment) is included in the MPEG-DASH manifest. The other+-- fragments are not included. Fragments that have different timestamps but+-- have overlapping durations are still included in the MPEG-DASH manifest.+-- This can lead to unexpected behavior in the media player.+--+-- The default is @LIVE@.+--+-- 'streamARN', 'getDASHStreamingSessionURL_streamARN' - The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- MPEG-DASH manifest URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+--+-- 'streamName', 'getDASHStreamingSessionURL_streamName' - The name of the stream for which to retrieve the MPEG-DASH manifest URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+newGetDASHStreamingSessionURL ::+ GetDASHStreamingSessionURL+newGetDASHStreamingSessionURL =+ GetDASHStreamingSessionURL'+ { dASHFragmentSelector =+ Prelude.Nothing,+ displayFragmentNumber = Prelude.Nothing,+ displayFragmentTimestamp = Prelude.Nothing,+ expires = Prelude.Nothing,+ maxManifestFragmentResults = Prelude.Nothing,+ playbackMode = Prelude.Nothing,+ streamARN = Prelude.Nothing,+ streamName = Prelude.Nothing+ }++-- | The time range of the requested fragment and the source of the+-- timestamps.+--+-- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+-- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+-- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+-- set.+getDASHStreamingSessionURL_dASHFragmentSelector :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe DASHFragmentSelector)+getDASHStreamingSessionURL_dASHFragmentSelector = Lens.lens (\GetDASHStreamingSessionURL' {dASHFragmentSelector} -> dASHFragmentSelector) (\s@GetDASHStreamingSessionURL' {} a -> s {dASHFragmentSelector = a} :: GetDASHStreamingSessionURL)++-- | Fragments are identified in the manifest file based on their sequence+-- number in the session. If DisplayFragmentNumber is set to @ALWAYS@, the+-- Kinesis Video Streams fragment number is added to each S element in the+-- manifest file with the attribute name “kvs:fn”. These fragment numbers+-- can be used for logging or for use with other APIs (e.g. @GetMedia@ and+-- @GetMediaForFragmentList@). A custom MPEG-DASH media player is necessary+-- to leverage these this custom attribute.+--+-- The default value is @NEVER@.+getDASHStreamingSessionURL_displayFragmentNumber :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe DASHDisplayFragmentNumber)+getDASHStreamingSessionURL_displayFragmentNumber = Lens.lens (\GetDASHStreamingSessionURL' {displayFragmentNumber} -> displayFragmentNumber) (\s@GetDASHStreamingSessionURL' {} a -> s {displayFragmentNumber = a} :: GetDASHStreamingSessionURL)++-- | Per the MPEG-DASH specification, the wall-clock time of fragments in the+-- manifest file can be derived using attributes in the manifest itself.+-- However, typically, MPEG-DASH compatible media players do not properly+-- handle gaps in the media timeline. Kinesis Video Streams adjusts the+-- media timeline in the manifest file to enable playback of media with+-- discontinuities. Therefore, the wall-clock time derived from the+-- manifest file may be inaccurate. If DisplayFragmentTimestamp is set to+-- @ALWAYS@, the accurate fragment timestamp is added to each S element in+-- the manifest file with the attribute name “kvs:ts”. A custom MPEG-DASH+-- media player is necessary to leverage this custom attribute.+--+-- The default value is @NEVER@. When DASHFragmentSelector is+-- @SERVER_TIMESTAMP@, the timestamps will be the server start timestamps.+-- Similarly, when DASHFragmentSelector is @PRODUCER_TIMESTAMP@, the+-- timestamps will be the producer start timestamps.+getDASHStreamingSessionURL_displayFragmentTimestamp :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe DASHDisplayFragmentTimestamp)+getDASHStreamingSessionURL_displayFragmentTimestamp = Lens.lens (\GetDASHStreamingSessionURL' {displayFragmentTimestamp} -> displayFragmentTimestamp) (\s@GetDASHStreamingSessionURL' {} a -> s {displayFragmentTimestamp = a} :: GetDASHStreamingSessionURL)++-- | The time in seconds until the requested session expires. This value can+-- be between 300 (5 minutes) and 43200 (12 hours).+--+-- When a session expires, no new calls to @GetDashManifest@,+-- @GetMP4InitFragment@, or @GetMP4MediaFragment@ can be made for that+-- session.+--+-- The default is 300 (5 minutes).+getDASHStreamingSessionURL_expires :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe Prelude.Natural)+getDASHStreamingSessionURL_expires = Lens.lens (\GetDASHStreamingSessionURL' {expires} -> expires) (\s@GetDASHStreamingSessionURL' {} a -> s {expires = a} :: GetDASHStreamingSessionURL)++-- | The maximum number of fragments that are returned in the MPEG-DASH+-- manifest.+--+-- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+-- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+-- oldest fragments are returned, up to this maximum number.+--+-- When there are a higher number of fragments available in a live+-- MPEG-DASH manifest, video players often buffer content before starting+-- playback. Increasing the buffer size increases the playback latency, but+-- it decreases the likelihood that rebuffering will occur during playback.+-- We recommend that a live MPEG-DASH manifest have a minimum of 3+-- fragments and a maximum of 10 fragments.+--+-- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+-- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+--+-- The maximum value of 1,000 fragments corresponds to more than 16 minutes+-- of video on streams with 1-second fragments, and more than 2 1\/2 hours+-- of video on streams with 10-second fragments.+getDASHStreamingSessionURL_maxManifestFragmentResults :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe Prelude.Natural)+getDASHStreamingSessionURL_maxManifestFragmentResults = Lens.lens (\GetDASHStreamingSessionURL' {maxManifestFragmentResults} -> maxManifestFragmentResults) (\s@GetDASHStreamingSessionURL' {} a -> s {maxManifestFragmentResults = a} :: GetDASHStreamingSessionURL)++-- | Whether to retrieve live, live replay, or archived, on-demand data.+--+-- Features of the three types of sessions include the following:+--+-- - __@LIVE@__ : For sessions of this type, the MPEG-DASH manifest is+-- continually updated with the latest fragments as they become+-- available. We recommend that the media player retrieve a new+-- manifest on a one-second interval. When this type of session is+-- played in a media player, the user interface typically displays a+-- \"live\" notification, with no scrubber control for choosing the+-- position in the playback window to display.+--+-- In @LIVE@ mode, the newest available fragments are included in an+-- MPEG-DASH manifest, even if there is a gap between fragments (that+-- is, if a fragment is missing). A gap like this might cause a media+-- player to halt or cause a jump in playback. In this mode, fragments+-- are not added to the MPEG-DASH manifest if they are older than the+-- newest fragment in the playlist. If the missing fragment becomes+-- available after a subsequent fragment is added to the manifest, the+-- older fragment is not added, and the gap is not filled.+--+-- - __@LIVE_REPLAY@__ : For sessions of this type, the MPEG-DASH+-- manifest is updated similarly to how it is updated for @LIVE@ mode+-- except that it starts by including fragments from a given start+-- time. Instead of fragments being added as they are ingested,+-- fragments are added as the duration of the next fragment elapses.+-- For example, if the fragments in the session are two seconds long,+-- then a new fragment is added to the manifest every two seconds. This+-- mode is useful to be able to start playback from when an event is+-- detected and continue live streaming media that has not yet been+-- ingested as of the time of the session creation. This mode is also+-- useful to stream previously archived media without being limited by+-- the 1,000 fragment limit in the @ON_DEMAND@ mode.+--+-- - __@ON_DEMAND@__ : For sessions of this type, the MPEG-DASH manifest+-- contains all the fragments for the session, up to the number that is+-- specified in @MaxManifestFragmentResults@. The manifest must be+-- retrieved only once for each session. When this type of session is+-- played in a media player, the user interface typically displays a+-- scrubber control for choosing the position in the playback window to+-- display.+--+-- In all playback modes, if @FragmentSelectorType@ is+-- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+-- start timestamp, the fragment that has the larger fragment number (that+-- is, the newer fragment) is included in the MPEG-DASH manifest. The other+-- fragments are not included. Fragments that have different timestamps but+-- have overlapping durations are still included in the MPEG-DASH manifest.+-- This can lead to unexpected behavior in the media player.+--+-- The default is @LIVE@.+getDASHStreamingSessionURL_playbackMode :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe DASHPlaybackMode)+getDASHStreamingSessionURL_playbackMode = Lens.lens (\GetDASHStreamingSessionURL' {playbackMode} -> playbackMode) (\s@GetDASHStreamingSessionURL' {} a -> s {playbackMode = a} :: GetDASHStreamingSessionURL)++-- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- MPEG-DASH manifest URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+getDASHStreamingSessionURL_streamARN :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe Prelude.Text)+getDASHStreamingSessionURL_streamARN = Lens.lens (\GetDASHStreamingSessionURL' {streamARN} -> streamARN) (\s@GetDASHStreamingSessionURL' {} a -> s {streamARN = a} :: GetDASHStreamingSessionURL)++-- | The name of the stream for which to retrieve the MPEG-DASH manifest URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+getDASHStreamingSessionURL_streamName :: Lens.Lens' GetDASHStreamingSessionURL (Prelude.Maybe Prelude.Text)+getDASHStreamingSessionURL_streamName = Lens.lens (\GetDASHStreamingSessionURL' {streamName} -> streamName) (\s@GetDASHStreamingSessionURL' {} a -> s {streamName = a} :: GetDASHStreamingSessionURL)++instance Core.AWSRequest GetDASHStreamingSessionURL where+ type+ AWSResponse GetDASHStreamingSessionURL =+ GetDASHStreamingSessionURLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDASHStreamingSessionURLResponse'+ Prelude.<$> (x Data..?> "DASHStreamingSessionURL")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDASHStreamingSessionURL where+ hashWithSalt _salt GetDASHStreamingSessionURL' {..} =+ _salt+ `Prelude.hashWithSalt` dASHFragmentSelector+ `Prelude.hashWithSalt` displayFragmentNumber+ `Prelude.hashWithSalt` displayFragmentTimestamp+ `Prelude.hashWithSalt` expires+ `Prelude.hashWithSalt` maxManifestFragmentResults+ `Prelude.hashWithSalt` playbackMode+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName++instance Prelude.NFData GetDASHStreamingSessionURL where+ rnf GetDASHStreamingSessionURL' {..} =+ Prelude.rnf dASHFragmentSelector+ `Prelude.seq` Prelude.rnf displayFragmentNumber+ `Prelude.seq` Prelude.rnf displayFragmentTimestamp+ `Prelude.seq` Prelude.rnf expires+ `Prelude.seq` Prelude.rnf maxManifestFragmentResults+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName++instance Data.ToHeaders GetDASHStreamingSessionURL where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetDASHStreamingSessionURL where+ toJSON GetDASHStreamingSessionURL' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DASHFragmentSelector" Data..=)+ Prelude.<$> dASHFragmentSelector,+ ("DisplayFragmentNumber" Data..=)+ Prelude.<$> displayFragmentNumber,+ ("DisplayFragmentTimestamp" Data..=)+ Prelude.<$> displayFragmentTimestamp,+ ("Expires" Data..=) Prelude.<$> expires,+ ("MaxManifestFragmentResults" Data..=)+ Prelude.<$> maxManifestFragmentResults,+ ("PlaybackMode" Data..=) Prelude.<$> playbackMode,+ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName+ ]+ )++instance Data.ToPath GetDASHStreamingSessionURL where+ toPath = Prelude.const "/getDASHStreamingSessionURL"++instance Data.ToQuery GetDASHStreamingSessionURL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDASHStreamingSessionURLResponse' smart constructor.+data GetDASHStreamingSessionURLResponse = GetDASHStreamingSessionURLResponse'+ { -- | The URL (containing the session token) that a media player can use to+ -- retrieve the MPEG-DASH manifest.+ dASHStreamingSessionURL :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDASHStreamingSessionURLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dASHStreamingSessionURL', 'getDASHStreamingSessionURLResponse_dASHStreamingSessionURL' - The URL (containing the session token) that a media player can use to+-- retrieve the MPEG-DASH manifest.+--+-- 'httpStatus', 'getDASHStreamingSessionURLResponse_httpStatus' - The response's http status code.+newGetDASHStreamingSessionURLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDASHStreamingSessionURLResponse+newGetDASHStreamingSessionURLResponse pHttpStatus_ =+ GetDASHStreamingSessionURLResponse'+ { dASHStreamingSessionURL =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The URL (containing the session token) that a media player can use to+-- retrieve the MPEG-DASH manifest.+getDASHStreamingSessionURLResponse_dASHStreamingSessionURL :: Lens.Lens' GetDASHStreamingSessionURLResponse (Prelude.Maybe Prelude.Text)+getDASHStreamingSessionURLResponse_dASHStreamingSessionURL = Lens.lens (\GetDASHStreamingSessionURLResponse' {dASHStreamingSessionURL} -> dASHStreamingSessionURL) (\s@GetDASHStreamingSessionURLResponse' {} a -> s {dASHStreamingSessionURL = a} :: GetDASHStreamingSessionURLResponse)++-- | The response's http status code.+getDASHStreamingSessionURLResponse_httpStatus :: Lens.Lens' GetDASHStreamingSessionURLResponse Prelude.Int+getDASHStreamingSessionURLResponse_httpStatus = Lens.lens (\GetDASHStreamingSessionURLResponse' {httpStatus} -> httpStatus) (\s@GetDASHStreamingSessionURLResponse' {} a -> s {httpStatus = a} :: GetDASHStreamingSessionURLResponse)++instance+ Prelude.NFData+ GetDASHStreamingSessionURLResponse+ where+ rnf GetDASHStreamingSessionURLResponse' {..} =+ Prelude.rnf dASHStreamingSessionURL+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KinesisVideoArchivedMedia/GetHLSStreamingSessionURL.hs view
@@ -0,0 +1,874 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then+-- open the URL in a browser or media player to view the stream contents.+--+-- Both the @StreamName@ and the @StreamARN@ parameters are optional, but+-- you must specify either the @StreamName@ or the @StreamARN@ when+-- invoking this API operation.+--+-- An Amazon Kinesis video stream has the following requirements for+-- providing data through HLS:+--+-- - The media must contain h.264 or h.265 encoded video and, optionally,+-- AAC encoded audio. Specifically, the codec ID of track 1 should be+-- @V_MPEG\/ISO\/AVC@ (for h.264) or @V_MPEG\/ISO\/HEVC@ (for h.265).+-- Optionally, the codec ID of track 2 should be @A_AAC@.+--+-- - Data retention must be greater than 0.+--+-- - The video track of each fragment must contain codec private data in+-- the Advanced Video Coding (AVC) for H.264 format or HEVC for H.265+-- format+-- (<https://www.iso.org/standard/55980.html MPEG-4 specification ISO\/IEC 14496-15>).+-- For information about adapting stream data to a given format, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html NAL Adaptation Flags>.+--+-- - The audio track (if present) of each fragment must contain codec+-- private data in the AAC format+-- (<https://www.iso.org/standard/43345.html AAC specification ISO\/IEC 13818-7>).+--+-- Kinesis Video Streams HLS sessions contain fragments in the fragmented+-- MPEG-4 form (also called fMP4 or CMAF) or the MPEG-2 form (also called+-- TS chunks, which the HLS specification also supports). For more+-- information about HLS fragment types, see the+-- <https://tools.ietf.org/html/draft-pantos-http-live-streaming-23 HLS specification>.+--+-- The following procedure shows how to use HLS with Kinesis Video Streams:+--+-- 1. Get an endpoint using+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html GetDataEndpoint>,+-- specifying @GET_HLS_STREAMING_SESSION_URL@ for the @APIName@+-- parameter.+--+-- 2. Retrieve the HLS URL using @GetHLSStreamingSessionURL@. Kinesis+-- Video Streams creates an HLS streaming session to be used for+-- accessing content in a stream using the HLS protocol.+-- @GetHLSStreamingSessionURL@ returns an authenticated URL (that+-- includes an encrypted session token) for the session\'s HLS /master+-- playlist/ (the root resource needed for streaming with HLS).+--+-- Don\'t share or store this token where an unauthorized entity could+-- access it. The token provides access to the content of the stream.+-- Safeguard the token with the same measures that you would use with+-- your AWS credentials.+--+-- The media that is made available through the playlist consists only+-- of the requested stream, time range, and format. No other media data+-- (such as frames outside the requested window or alternate bitrates)+-- is made available.+--+-- 3. Provide the URL (containing the encrypted session token) for the HLS+-- master playlist to a media player that supports the HLS protocol.+-- Kinesis Video Streams makes the HLS media playlist, initialization+-- fragment, and media fragments available through the master playlist+-- URL. The initialization fragment contains the codec private data for+-- the stream, and other data needed to set up the video or audio+-- decoder and renderer. The media fragments contain H.264-encoded+-- video frames or AAC-encoded audio samples.+--+-- 4. The media player receives the authenticated URL and requests stream+-- metadata and media data normally. When the media player requests+-- data, it calls the following actions:+--+-- - __GetHLSMasterPlaylist:__ Retrieves an HLS master playlist,+-- which contains a URL for the @GetHLSMediaPlaylist@ action for+-- each track, and additional metadata for the media player,+-- including estimated bitrate and resolution.+--+-- - __GetHLSMediaPlaylist:__ Retrieves an HLS media playlist, which+-- contains a URL to access the MP4 initialization fragment with+-- the @GetMP4InitFragment@ action, and URLs to access the MP4+-- media fragments with the @GetMP4MediaFragment@ actions. The HLS+-- media playlist also contains metadata about the stream that the+-- player needs to play it, such as whether the @PlaybackMode@ is+-- @LIVE@ or @ON_DEMAND@. The HLS media playlist is typically+-- static for sessions with a @PlaybackType@ of @ON_DEMAND@. The+-- HLS media playlist is continually updated with new fragments for+-- sessions with a @PlaybackType@ of @LIVE@. There is a distinct+-- HLS media playlist for the video track and the audio track (if+-- applicable) that contains MP4 media URLs for the specific track.+--+-- - __GetMP4InitFragment:__ Retrieves the MP4 initialization+-- fragment. The media player typically loads the initialization+-- fragment before loading any media fragments. This fragment+-- contains the \"@fytp@\" and \"@moov@\" MP4 atoms, and the child+-- atoms that are needed to initialize the media player decoder.+--+-- The initialization fragment does not correspond to a fragment in+-- a Kinesis video stream. It contains only the codec private data+-- for the stream and respective track, which the media player+-- needs to decode the media frames.+--+-- - __GetMP4MediaFragment:__ Retrieves MP4 media fragments. These+-- fragments contain the \"@moof@\" and \"@mdat@\" MP4 atoms and+-- their child atoms, containing the encoded fragment\'s media+-- frames and their timestamps.+--+-- After the first media fragment is made available in a streaming+-- session, any fragments that don\'t contain the same codec+-- private data cause an error to be returned when those different+-- media fragments are loaded. Therefore, the codec private data+-- should not change between fragments in a session. This also+-- means that the session fails if the fragments in a stream change+-- from having only video to having both audio and video.+--+-- Data retrieved with this action is billable. See+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Pricing>+-- for details.+--+-- - __GetTSFragment:__ Retrieves MPEG TS fragments containing both+-- initialization and media data for all tracks in the stream.+--+-- If the @ContainerFormat@ is @MPEG_TS@, this API is used instead+-- of @GetMP4InitFragment@ and @GetMP4MediaFragment@ to retrieve+-- stream media.+--+-- Data retrieved with this action is billable. For more+-- information, see+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Kinesis Video Streams pricing>.+--+-- A streaming session URL must not be shared between players. The service+-- might throttle a session if multiple media players are sharing it. For+-- connection limits, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+--+-- You can monitor the amount of data that the media player consumes by+-- monitoring the @GetMP4MediaFragment.OutgoingBytes@ Amazon CloudWatch+-- metric. For information about using CloudWatch to monitor Kinesis Video+-- Streams, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html Monitoring Kinesis Video Streams>.+-- For pricing information, see+-- <https://aws.amazon.com/kinesis/video-streams/pricing/ Amazon Kinesis Video Streams Pricing>+-- and <https://aws.amazon.com/pricing/ AWS Pricing>. Charges for both HLS+-- sessions and outgoing AWS data apply.+--+-- For more information about HLS, see+-- <https://developer.apple.com/streaming/ HTTP Live Streaming> on the+-- <https://developer.apple.com Apple Developer site>.+--+-- If an error is thrown after invoking a Kinesis Video Streams archived+-- media API, in addition to the HTTP status code and the response body, it+-- includes the following pieces of information:+--+-- - @x-amz-ErrorType@ HTTP header – contains a more specific error type+-- in addition to what the HTTP status code provides.+--+-- - @x-amz-RequestId@ HTTP header – if you want to report an issue to+-- AWS, the support team can better diagnose the problem if given the+-- Request Id.+--+-- Both the HTTP status code and the ErrorType header can be utilized to+-- make programmatic decisions about whether errors are retry-able and+-- under what conditions, as well as provide information on what actions+-- the client programmer might need to take in order to successfully try+-- again.+--+-- For more information, see the __Errors__ section at the bottom of this+-- topic, as well as+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html Common Errors>.+module Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL+ ( -- * Creating a Request+ GetHLSStreamingSessionURL (..),+ newGetHLSStreamingSessionURL,++ -- * Request Lenses+ getHLSStreamingSessionURL_containerFormat,+ getHLSStreamingSessionURL_discontinuityMode,+ getHLSStreamingSessionURL_displayFragmentTimestamp,+ getHLSStreamingSessionURL_expires,+ getHLSStreamingSessionURL_hLSFragmentSelector,+ getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults,+ getHLSStreamingSessionURL_playbackMode,+ getHLSStreamingSessionURL_streamARN,+ getHLSStreamingSessionURL_streamName,++ -- * Destructuring the Response+ GetHLSStreamingSessionURLResponse (..),+ newGetHLSStreamingSessionURLResponse,++ -- * Response Lenses+ getHLSStreamingSessionURLResponse_hLSStreamingSessionURL,+ getHLSStreamingSessionURLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetHLSStreamingSessionURL' smart constructor.+data GetHLSStreamingSessionURL = GetHLSStreamingSessionURL'+ { -- | Specifies which format should be used for packaging the media.+ -- Specifying the @FRAGMENTED_MP4@ container format packages the media into+ -- MP4 fragments (fMP4 or CMAF). This is the recommended packaging because+ -- there is minimal packaging overhead. The other container format option+ -- is @MPEG_TS@. HLS has supported MPEG TS chunks since it was released and+ -- is sometimes the only supported packaging on older HLS players. MPEG TS+ -- typically has a 5-25 percent packaging overhead. This means MPEG TS+ -- typically requires 5-25 percent more bandwidth and cost than fMP4.+ --+ -- The default is @FRAGMENTED_MP4@.+ containerFormat :: Prelude.Maybe ContainerFormat,+ -- | Specifies when flags marking discontinuities between fragments are added+ -- to the media playlists.+ --+ -- Media players typically build a timeline of media content to play, based+ -- on the timestamps of each fragment. This means that if there is any+ -- overlap or gap between fragments (as is typical if HLSFragmentSelector+ -- is set to @SERVER_TIMESTAMP@), the media player timeline will also have+ -- small gaps between fragments in some places, and will overwrite frames+ -- in other places. Gaps in the media player timeline can cause playback to+ -- stall and overlaps can cause playback to be jittery. When there are+ -- discontinuity flags between fragments, the media player is expected to+ -- reset the timeline, resulting in the next fragment being played+ -- immediately after the previous fragment.+ --+ -- The following modes are supported:+ --+ -- - @ALWAYS@: a discontinuity marker is placed between every fragment in+ -- the HLS media playlist. It is recommended to use a value of @ALWAYS@+ -- if the fragment timestamps are not accurate.+ --+ -- - @NEVER@: no discontinuity markers are placed anywhere. It is+ -- recommended to use a value of @NEVER@ to ensure the media player+ -- timeline most accurately maps to the producer timestamps.+ --+ -- - @ON_DISCONTINUITY@: a discontinuity marker is placed between+ -- fragments that have a gap or overlap of more than 50 milliseconds.+ -- For most playback scenarios, it is recommended to use a value of+ -- @ON_DISCONTINUITY@ so that the media player timeline is only reset+ -- when there is a significant issue with the media timeline (e.g. a+ -- missing fragment).+ --+ -- The default is @ALWAYS@ when HLSFragmentSelector is set to+ -- @SERVER_TIMESTAMP@, and @NEVER@ when it is set to @PRODUCER_TIMESTAMP@.+ discontinuityMode :: Prelude.Maybe HLSDiscontinuityMode,+ -- | Specifies when the fragment start timestamps should be included in the+ -- HLS media playlist. Typically, media players report the playhead+ -- position as a time relative to the start of the first fragment in the+ -- playback session. However, when the start timestamps are included in the+ -- HLS media playlist, some media players might report the current playhead+ -- as an absolute time based on the fragment timestamps. This can be useful+ -- for creating a playback experience that shows viewers the wall-clock+ -- time of the media.+ --+ -- The default is @NEVER@. When HLSFragmentSelector is @SERVER_TIMESTAMP@,+ -- the timestamps will be the server start timestamps. Similarly, when+ -- HLSFragmentSelector is @PRODUCER_TIMESTAMP@, the timestamps will be the+ -- producer start timestamps.+ displayFragmentTimestamp :: Prelude.Maybe HLSDisplayFragmentTimestamp,+ -- | The time in seconds until the requested session expires. This value can+ -- be between 300 (5 minutes) and 43200 (12 hours).+ --+ -- When a session expires, no new calls to @GetHLSMasterPlaylist@,+ -- @GetHLSMediaPlaylist@, @GetMP4InitFragment@, @GetMP4MediaFragment@, or+ -- @GetTSFragment@ can be made for that session.+ --+ -- The default is 300 (5 minutes).+ expires :: Prelude.Maybe Prelude.Natural,+ -- | The time range of the requested fragment and the source of the+ -- timestamps.+ --+ -- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+ -- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+ -- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+ -- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+ -- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+ -- set.+ hLSFragmentSelector :: Prelude.Maybe HLSFragmentSelector,+ -- | The maximum number of fragments that are returned in the HLS media+ -- playlists.+ --+ -- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+ -- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+ -- oldest fragments are returned, up to this maximum number.+ --+ -- When there are a higher number of fragments available in a live HLS+ -- media playlist, video players often buffer content before starting+ -- playback. Increasing the buffer size increases the playback latency, but+ -- it decreases the likelihood that rebuffering will occur during playback.+ -- We recommend that a live HLS media playlist have a minimum of 3+ -- fragments and a maximum of 10 fragments.+ --+ -- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+ -- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+ --+ -- The maximum value of 5,000 fragments corresponds to more than 80 minutes+ -- of video on streams with 1-second fragments, and more than 13 hours of+ -- video on streams with 10-second fragments.+ maxMediaPlaylistFragmentResults :: Prelude.Maybe Prelude.Natural,+ -- | Whether to retrieve live, live replay, or archived, on-demand data.+ --+ -- Features of the three types of sessions include the following:+ --+ -- - __@LIVE@__ : For sessions of this type, the HLS media playlist is+ -- continually updated with the latest fragments as they become+ -- available. We recommend that the media player retrieve a new+ -- playlist on a one-second interval. When this type of session is+ -- played in a media player, the user interface typically displays a+ -- \"live\" notification, with no scrubber control for choosing the+ -- position in the playback window to display.+ --+ -- In @LIVE@ mode, the newest available fragments are included in an+ -- HLS media playlist, even if there is a gap between fragments (that+ -- is, if a fragment is missing). A gap like this might cause a media+ -- player to halt or cause a jump in playback. In this mode, fragments+ -- are not added to the HLS media playlist if they are older than the+ -- newest fragment in the playlist. If the missing fragment becomes+ -- available after a subsequent fragment is added to the playlist, the+ -- older fragment is not added, and the gap is not filled.+ --+ -- - __@LIVE_REPLAY@__ : For sessions of this type, the HLS media+ -- playlist is updated similarly to how it is updated for @LIVE@ mode+ -- except that it starts by including fragments from a given start+ -- time. Instead of fragments being added as they are ingested,+ -- fragments are added as the duration of the next fragment elapses.+ -- For example, if the fragments in the session are two seconds long,+ -- then a new fragment is added to the media playlist every two+ -- seconds. This mode is useful to be able to start playback from when+ -- an event is detected and continue live streaming media that has not+ -- yet been ingested as of the time of the session creation. This mode+ -- is also useful to stream previously archived media without being+ -- limited by the 1,000 fragment limit in the @ON_DEMAND@ mode.+ --+ -- - __@ON_DEMAND@__ : For sessions of this type, the HLS media playlist+ -- contains all the fragments for the session, up to the number that is+ -- specified in @MaxMediaPlaylistFragmentResults@. The playlist must be+ -- retrieved only once for each session. When this type of session is+ -- played in a media player, the user interface typically displays a+ -- scrubber control for choosing the position in the playback window to+ -- display.+ --+ -- In all playback modes, if @FragmentSelectorType@ is+ -- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+ -- start timestamp, the fragment that has the largest fragment number (that+ -- is, the newest fragment) is included in the HLS media playlist. The+ -- other fragments are not included. Fragments that have different+ -- timestamps but have overlapping durations are still included in the HLS+ -- media playlist. This can lead to unexpected behavior in the media+ -- player.+ --+ -- The default is @LIVE@.+ playbackMode :: Prelude.Maybe HLSPlaybackMode,+ -- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+ -- HLS master playlist URL.+ --+ -- You must specify either the @StreamName@ or the @StreamARN@.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream for which to retrieve the HLS master playlist+ -- URL.+ --+ -- You must specify either the @StreamName@ or the @StreamARN@.+ streamName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetHLSStreamingSessionURL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'containerFormat', 'getHLSStreamingSessionURL_containerFormat' - Specifies which format should be used for packaging the media.+-- Specifying the @FRAGMENTED_MP4@ container format packages the media into+-- MP4 fragments (fMP4 or CMAF). This is the recommended packaging because+-- there is minimal packaging overhead. The other container format option+-- is @MPEG_TS@. HLS has supported MPEG TS chunks since it was released and+-- is sometimes the only supported packaging on older HLS players. MPEG TS+-- typically has a 5-25 percent packaging overhead. This means MPEG TS+-- typically requires 5-25 percent more bandwidth and cost than fMP4.+--+-- The default is @FRAGMENTED_MP4@.+--+-- 'discontinuityMode', 'getHLSStreamingSessionURL_discontinuityMode' - Specifies when flags marking discontinuities between fragments are added+-- to the media playlists.+--+-- Media players typically build a timeline of media content to play, based+-- on the timestamps of each fragment. This means that if there is any+-- overlap or gap between fragments (as is typical if HLSFragmentSelector+-- is set to @SERVER_TIMESTAMP@), the media player timeline will also have+-- small gaps between fragments in some places, and will overwrite frames+-- in other places. Gaps in the media player timeline can cause playback to+-- stall and overlaps can cause playback to be jittery. When there are+-- discontinuity flags between fragments, the media player is expected to+-- reset the timeline, resulting in the next fragment being played+-- immediately after the previous fragment.+--+-- The following modes are supported:+--+-- - @ALWAYS@: a discontinuity marker is placed between every fragment in+-- the HLS media playlist. It is recommended to use a value of @ALWAYS@+-- if the fragment timestamps are not accurate.+--+-- - @NEVER@: no discontinuity markers are placed anywhere. It is+-- recommended to use a value of @NEVER@ to ensure the media player+-- timeline most accurately maps to the producer timestamps.+--+-- - @ON_DISCONTINUITY@: a discontinuity marker is placed between+-- fragments that have a gap or overlap of more than 50 milliseconds.+-- For most playback scenarios, it is recommended to use a value of+-- @ON_DISCONTINUITY@ so that the media player timeline is only reset+-- when there is a significant issue with the media timeline (e.g. a+-- missing fragment).+--+-- The default is @ALWAYS@ when HLSFragmentSelector is set to+-- @SERVER_TIMESTAMP@, and @NEVER@ when it is set to @PRODUCER_TIMESTAMP@.+--+-- 'displayFragmentTimestamp', 'getHLSStreamingSessionURL_displayFragmentTimestamp' - Specifies when the fragment start timestamps should be included in the+-- HLS media playlist. Typically, media players report the playhead+-- position as a time relative to the start of the first fragment in the+-- playback session. However, when the start timestamps are included in the+-- HLS media playlist, some media players might report the current playhead+-- as an absolute time based on the fragment timestamps. This can be useful+-- for creating a playback experience that shows viewers the wall-clock+-- time of the media.+--+-- The default is @NEVER@. When HLSFragmentSelector is @SERVER_TIMESTAMP@,+-- the timestamps will be the server start timestamps. Similarly, when+-- HLSFragmentSelector is @PRODUCER_TIMESTAMP@, the timestamps will be the+-- producer start timestamps.+--+-- 'expires', 'getHLSStreamingSessionURL_expires' - The time in seconds until the requested session expires. This value can+-- be between 300 (5 minutes) and 43200 (12 hours).+--+-- When a session expires, no new calls to @GetHLSMasterPlaylist@,+-- @GetHLSMediaPlaylist@, @GetMP4InitFragment@, @GetMP4MediaFragment@, or+-- @GetTSFragment@ can be made for that session.+--+-- The default is 300 (5 minutes).+--+-- 'hLSFragmentSelector', 'getHLSStreamingSessionURL_hLSFragmentSelector' - The time range of the requested fragment and the source of the+-- timestamps.+--+-- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+-- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+-- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+-- set.+--+-- 'maxMediaPlaylistFragmentResults', 'getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults' - The maximum number of fragments that are returned in the HLS media+-- playlists.+--+-- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+-- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+-- oldest fragments are returned, up to this maximum number.+--+-- When there are a higher number of fragments available in a live HLS+-- media playlist, video players often buffer content before starting+-- playback. Increasing the buffer size increases the playback latency, but+-- it decreases the likelihood that rebuffering will occur during playback.+-- We recommend that a live HLS media playlist have a minimum of 3+-- fragments and a maximum of 10 fragments.+--+-- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+-- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+--+-- The maximum value of 5,000 fragments corresponds to more than 80 minutes+-- of video on streams with 1-second fragments, and more than 13 hours of+-- video on streams with 10-second fragments.+--+-- 'playbackMode', 'getHLSStreamingSessionURL_playbackMode' - Whether to retrieve live, live replay, or archived, on-demand data.+--+-- Features of the three types of sessions include the following:+--+-- - __@LIVE@__ : For sessions of this type, the HLS media playlist is+-- continually updated with the latest fragments as they become+-- available. We recommend that the media player retrieve a new+-- playlist on a one-second interval. When this type of session is+-- played in a media player, the user interface typically displays a+-- \"live\" notification, with no scrubber control for choosing the+-- position in the playback window to display.+--+-- In @LIVE@ mode, the newest available fragments are included in an+-- HLS media playlist, even if there is a gap between fragments (that+-- is, if a fragment is missing). A gap like this might cause a media+-- player to halt or cause a jump in playback. In this mode, fragments+-- are not added to the HLS media playlist if they are older than the+-- newest fragment in the playlist. If the missing fragment becomes+-- available after a subsequent fragment is added to the playlist, the+-- older fragment is not added, and the gap is not filled.+--+-- - __@LIVE_REPLAY@__ : For sessions of this type, the HLS media+-- playlist is updated similarly to how it is updated for @LIVE@ mode+-- except that it starts by including fragments from a given start+-- time. Instead of fragments being added as they are ingested,+-- fragments are added as the duration of the next fragment elapses.+-- For example, if the fragments in the session are two seconds long,+-- then a new fragment is added to the media playlist every two+-- seconds. This mode is useful to be able to start playback from when+-- an event is detected and continue live streaming media that has not+-- yet been ingested as of the time of the session creation. This mode+-- is also useful to stream previously archived media without being+-- limited by the 1,000 fragment limit in the @ON_DEMAND@ mode.+--+-- - __@ON_DEMAND@__ : For sessions of this type, the HLS media playlist+-- contains all the fragments for the session, up to the number that is+-- specified in @MaxMediaPlaylistFragmentResults@. The playlist must be+-- retrieved only once for each session. When this type of session is+-- played in a media player, the user interface typically displays a+-- scrubber control for choosing the position in the playback window to+-- display.+--+-- In all playback modes, if @FragmentSelectorType@ is+-- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+-- start timestamp, the fragment that has the largest fragment number (that+-- is, the newest fragment) is included in the HLS media playlist. The+-- other fragments are not included. Fragments that have different+-- timestamps but have overlapping durations are still included in the HLS+-- media playlist. This can lead to unexpected behavior in the media+-- player.+--+-- The default is @LIVE@.+--+-- 'streamARN', 'getHLSStreamingSessionURL_streamARN' - The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- HLS master playlist URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+--+-- 'streamName', 'getHLSStreamingSessionURL_streamName' - The name of the stream for which to retrieve the HLS master playlist+-- URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+newGetHLSStreamingSessionURL ::+ GetHLSStreamingSessionURL+newGetHLSStreamingSessionURL =+ GetHLSStreamingSessionURL'+ { containerFormat =+ Prelude.Nothing,+ discontinuityMode = Prelude.Nothing,+ displayFragmentTimestamp = Prelude.Nothing,+ expires = Prelude.Nothing,+ hLSFragmentSelector = Prelude.Nothing,+ maxMediaPlaylistFragmentResults =+ Prelude.Nothing,+ playbackMode = Prelude.Nothing,+ streamARN = Prelude.Nothing,+ streamName = Prelude.Nothing+ }++-- | Specifies which format should be used for packaging the media.+-- Specifying the @FRAGMENTED_MP4@ container format packages the media into+-- MP4 fragments (fMP4 or CMAF). This is the recommended packaging because+-- there is minimal packaging overhead. The other container format option+-- is @MPEG_TS@. HLS has supported MPEG TS chunks since it was released and+-- is sometimes the only supported packaging on older HLS players. MPEG TS+-- typically has a 5-25 percent packaging overhead. This means MPEG TS+-- typically requires 5-25 percent more bandwidth and cost than fMP4.+--+-- The default is @FRAGMENTED_MP4@.+getHLSStreamingSessionURL_containerFormat :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe ContainerFormat)+getHLSStreamingSessionURL_containerFormat = Lens.lens (\GetHLSStreamingSessionURL' {containerFormat} -> containerFormat) (\s@GetHLSStreamingSessionURL' {} a -> s {containerFormat = a} :: GetHLSStreamingSessionURL)++-- | Specifies when flags marking discontinuities between fragments are added+-- to the media playlists.+--+-- Media players typically build a timeline of media content to play, based+-- on the timestamps of each fragment. This means that if there is any+-- overlap or gap between fragments (as is typical if HLSFragmentSelector+-- is set to @SERVER_TIMESTAMP@), the media player timeline will also have+-- small gaps between fragments in some places, and will overwrite frames+-- in other places. Gaps in the media player timeline can cause playback to+-- stall and overlaps can cause playback to be jittery. When there are+-- discontinuity flags between fragments, the media player is expected to+-- reset the timeline, resulting in the next fragment being played+-- immediately after the previous fragment.+--+-- The following modes are supported:+--+-- - @ALWAYS@: a discontinuity marker is placed between every fragment in+-- the HLS media playlist. It is recommended to use a value of @ALWAYS@+-- if the fragment timestamps are not accurate.+--+-- - @NEVER@: no discontinuity markers are placed anywhere. It is+-- recommended to use a value of @NEVER@ to ensure the media player+-- timeline most accurately maps to the producer timestamps.+--+-- - @ON_DISCONTINUITY@: a discontinuity marker is placed between+-- fragments that have a gap or overlap of more than 50 milliseconds.+-- For most playback scenarios, it is recommended to use a value of+-- @ON_DISCONTINUITY@ so that the media player timeline is only reset+-- when there is a significant issue with the media timeline (e.g. a+-- missing fragment).+--+-- The default is @ALWAYS@ when HLSFragmentSelector is set to+-- @SERVER_TIMESTAMP@, and @NEVER@ when it is set to @PRODUCER_TIMESTAMP@.+getHLSStreamingSessionURL_discontinuityMode :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe HLSDiscontinuityMode)+getHLSStreamingSessionURL_discontinuityMode = Lens.lens (\GetHLSStreamingSessionURL' {discontinuityMode} -> discontinuityMode) (\s@GetHLSStreamingSessionURL' {} a -> s {discontinuityMode = a} :: GetHLSStreamingSessionURL)++-- | Specifies when the fragment start timestamps should be included in the+-- HLS media playlist. Typically, media players report the playhead+-- position as a time relative to the start of the first fragment in the+-- playback session. However, when the start timestamps are included in the+-- HLS media playlist, some media players might report the current playhead+-- as an absolute time based on the fragment timestamps. This can be useful+-- for creating a playback experience that shows viewers the wall-clock+-- time of the media.+--+-- The default is @NEVER@. When HLSFragmentSelector is @SERVER_TIMESTAMP@,+-- the timestamps will be the server start timestamps. Similarly, when+-- HLSFragmentSelector is @PRODUCER_TIMESTAMP@, the timestamps will be the+-- producer start timestamps.+getHLSStreamingSessionURL_displayFragmentTimestamp :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe HLSDisplayFragmentTimestamp)+getHLSStreamingSessionURL_displayFragmentTimestamp = Lens.lens (\GetHLSStreamingSessionURL' {displayFragmentTimestamp} -> displayFragmentTimestamp) (\s@GetHLSStreamingSessionURL' {} a -> s {displayFragmentTimestamp = a} :: GetHLSStreamingSessionURL)++-- | The time in seconds until the requested session expires. This value can+-- be between 300 (5 minutes) and 43200 (12 hours).+--+-- When a session expires, no new calls to @GetHLSMasterPlaylist@,+-- @GetHLSMediaPlaylist@, @GetMP4InitFragment@, @GetMP4MediaFragment@, or+-- @GetTSFragment@ can be made for that session.+--+-- The default is 300 (5 minutes).+getHLSStreamingSessionURL_expires :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe Prelude.Natural)+getHLSStreamingSessionURL_expires = Lens.lens (\GetHLSStreamingSessionURL' {expires} -> expires) (\s@GetHLSStreamingSessionURL' {} a -> s {expires = a} :: GetHLSStreamingSessionURL)++-- | The time range of the requested fragment and the source of the+-- timestamps.+--+-- This parameter is required if @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@. This parameter is optional if PlaybackMode is @LIVE@. If+-- @PlaybackMode@ is @LIVE@, the @FragmentSelectorType@ can be set, but the+-- @TimestampRange@ should not be set. If @PlaybackMode@ is @ON_DEMAND@ or+-- @LIVE_REPLAY@, both @FragmentSelectorType@ and @TimestampRange@ must be+-- set.+getHLSStreamingSessionURL_hLSFragmentSelector :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe HLSFragmentSelector)+getHLSStreamingSessionURL_hLSFragmentSelector = Lens.lens (\GetHLSStreamingSessionURL' {hLSFragmentSelector} -> hLSFragmentSelector) (\s@GetHLSStreamingSessionURL' {} a -> s {hLSFragmentSelector = a} :: GetHLSStreamingSessionURL)++-- | The maximum number of fragments that are returned in the HLS media+-- playlists.+--+-- When the @PlaybackMode@ is @LIVE@, the most recent fragments are+-- returned up to this value. When the @PlaybackMode@ is @ON_DEMAND@, the+-- oldest fragments are returned, up to this maximum number.+--+-- When there are a higher number of fragments available in a live HLS+-- media playlist, video players often buffer content before starting+-- playback. Increasing the buffer size increases the playback latency, but+-- it decreases the likelihood that rebuffering will occur during playback.+-- We recommend that a live HLS media playlist have a minimum of 3+-- fragments and a maximum of 10 fragments.+--+-- The default is 5 fragments if @PlaybackMode@ is @LIVE@ or @LIVE_REPLAY@,+-- and 1,000 if @PlaybackMode@ is @ON_DEMAND@.+--+-- The maximum value of 5,000 fragments corresponds to more than 80 minutes+-- of video on streams with 1-second fragments, and more than 13 hours of+-- video on streams with 10-second fragments.+getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe Prelude.Natural)+getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults = Lens.lens (\GetHLSStreamingSessionURL' {maxMediaPlaylistFragmentResults} -> maxMediaPlaylistFragmentResults) (\s@GetHLSStreamingSessionURL' {} a -> s {maxMediaPlaylistFragmentResults = a} :: GetHLSStreamingSessionURL)++-- | Whether to retrieve live, live replay, or archived, on-demand data.+--+-- Features of the three types of sessions include the following:+--+-- - __@LIVE@__ : For sessions of this type, the HLS media playlist is+-- continually updated with the latest fragments as they become+-- available. We recommend that the media player retrieve a new+-- playlist on a one-second interval. When this type of session is+-- played in a media player, the user interface typically displays a+-- \"live\" notification, with no scrubber control for choosing the+-- position in the playback window to display.+--+-- In @LIVE@ mode, the newest available fragments are included in an+-- HLS media playlist, even if there is a gap between fragments (that+-- is, if a fragment is missing). A gap like this might cause a media+-- player to halt or cause a jump in playback. In this mode, fragments+-- are not added to the HLS media playlist if they are older than the+-- newest fragment in the playlist. If the missing fragment becomes+-- available after a subsequent fragment is added to the playlist, the+-- older fragment is not added, and the gap is not filled.+--+-- - __@LIVE_REPLAY@__ : For sessions of this type, the HLS media+-- playlist is updated similarly to how it is updated for @LIVE@ mode+-- except that it starts by including fragments from a given start+-- time. Instead of fragments being added as they are ingested,+-- fragments are added as the duration of the next fragment elapses.+-- For example, if the fragments in the session are two seconds long,+-- then a new fragment is added to the media playlist every two+-- seconds. This mode is useful to be able to start playback from when+-- an event is detected and continue live streaming media that has not+-- yet been ingested as of the time of the session creation. This mode+-- is also useful to stream previously archived media without being+-- limited by the 1,000 fragment limit in the @ON_DEMAND@ mode.+--+-- - __@ON_DEMAND@__ : For sessions of this type, the HLS media playlist+-- contains all the fragments for the session, up to the number that is+-- specified in @MaxMediaPlaylistFragmentResults@. The playlist must be+-- retrieved only once for each session. When this type of session is+-- played in a media player, the user interface typically displays a+-- scrubber control for choosing the position in the playback window to+-- display.+--+-- In all playback modes, if @FragmentSelectorType@ is+-- @PRODUCER_TIMESTAMP@, and if there are multiple fragments with the same+-- start timestamp, the fragment that has the largest fragment number (that+-- is, the newest fragment) is included in the HLS media playlist. The+-- other fragments are not included. Fragments that have different+-- timestamps but have overlapping durations are still included in the HLS+-- media playlist. This can lead to unexpected behavior in the media+-- player.+--+-- The default is @LIVE@.+getHLSStreamingSessionURL_playbackMode :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe HLSPlaybackMode)+getHLSStreamingSessionURL_playbackMode = Lens.lens (\GetHLSStreamingSessionURL' {playbackMode} -> playbackMode) (\s@GetHLSStreamingSessionURL' {} a -> s {playbackMode = a} :: GetHLSStreamingSessionURL)++-- | The Amazon Resource Name (ARN) of the stream for which to retrieve the+-- HLS master playlist URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+getHLSStreamingSessionURL_streamARN :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe Prelude.Text)+getHLSStreamingSessionURL_streamARN = Lens.lens (\GetHLSStreamingSessionURL' {streamARN} -> streamARN) (\s@GetHLSStreamingSessionURL' {} a -> s {streamARN = a} :: GetHLSStreamingSessionURL)++-- | The name of the stream for which to retrieve the HLS master playlist+-- URL.+--+-- You must specify either the @StreamName@ or the @StreamARN@.+getHLSStreamingSessionURL_streamName :: Lens.Lens' GetHLSStreamingSessionURL (Prelude.Maybe Prelude.Text)+getHLSStreamingSessionURL_streamName = Lens.lens (\GetHLSStreamingSessionURL' {streamName} -> streamName) (\s@GetHLSStreamingSessionURL' {} a -> s {streamName = a} :: GetHLSStreamingSessionURL)++instance Core.AWSRequest GetHLSStreamingSessionURL where+ type+ AWSResponse GetHLSStreamingSessionURL =+ GetHLSStreamingSessionURLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetHLSStreamingSessionURLResponse'+ Prelude.<$> (x Data..?> "HLSStreamingSessionURL")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetHLSStreamingSessionURL where+ hashWithSalt _salt GetHLSStreamingSessionURL' {..} =+ _salt+ `Prelude.hashWithSalt` containerFormat+ `Prelude.hashWithSalt` discontinuityMode+ `Prelude.hashWithSalt` displayFragmentTimestamp+ `Prelude.hashWithSalt` expires+ `Prelude.hashWithSalt` hLSFragmentSelector+ `Prelude.hashWithSalt` maxMediaPlaylistFragmentResults+ `Prelude.hashWithSalt` playbackMode+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName++instance Prelude.NFData GetHLSStreamingSessionURL where+ rnf GetHLSStreamingSessionURL' {..} =+ Prelude.rnf containerFormat+ `Prelude.seq` Prelude.rnf discontinuityMode+ `Prelude.seq` Prelude.rnf displayFragmentTimestamp+ `Prelude.seq` Prelude.rnf expires+ `Prelude.seq` Prelude.rnf hLSFragmentSelector+ `Prelude.seq` Prelude.rnf maxMediaPlaylistFragmentResults+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName++instance Data.ToHeaders GetHLSStreamingSessionURL where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetHLSStreamingSessionURL where+ toJSON GetHLSStreamingSessionURL' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ContainerFormat" Data..=)+ Prelude.<$> containerFormat,+ ("DiscontinuityMode" Data..=)+ Prelude.<$> discontinuityMode,+ ("DisplayFragmentTimestamp" Data..=)+ Prelude.<$> displayFragmentTimestamp,+ ("Expires" Data..=) Prelude.<$> expires,+ ("HLSFragmentSelector" Data..=)+ Prelude.<$> hLSFragmentSelector,+ ("MaxMediaPlaylistFragmentResults" Data..=)+ Prelude.<$> maxMediaPlaylistFragmentResults,+ ("PlaybackMode" Data..=) Prelude.<$> playbackMode,+ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName+ ]+ )++instance Data.ToPath GetHLSStreamingSessionURL where+ toPath = Prelude.const "/getHLSStreamingSessionURL"++instance Data.ToQuery GetHLSStreamingSessionURL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetHLSStreamingSessionURLResponse' smart constructor.+data GetHLSStreamingSessionURLResponse = GetHLSStreamingSessionURLResponse'+ { -- | The URL (containing the session token) that a media player can use to+ -- retrieve the HLS master playlist.+ hLSStreamingSessionURL :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetHLSStreamingSessionURLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hLSStreamingSessionURL', 'getHLSStreamingSessionURLResponse_hLSStreamingSessionURL' - The URL (containing the session token) that a media player can use to+-- retrieve the HLS master playlist.+--+-- 'httpStatus', 'getHLSStreamingSessionURLResponse_httpStatus' - The response's http status code.+newGetHLSStreamingSessionURLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetHLSStreamingSessionURLResponse+newGetHLSStreamingSessionURLResponse pHttpStatus_ =+ GetHLSStreamingSessionURLResponse'+ { hLSStreamingSessionURL =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The URL (containing the session token) that a media player can use to+-- retrieve the HLS master playlist.+getHLSStreamingSessionURLResponse_hLSStreamingSessionURL :: Lens.Lens' GetHLSStreamingSessionURLResponse (Prelude.Maybe Prelude.Text)+getHLSStreamingSessionURLResponse_hLSStreamingSessionURL = Lens.lens (\GetHLSStreamingSessionURLResponse' {hLSStreamingSessionURL} -> hLSStreamingSessionURL) (\s@GetHLSStreamingSessionURLResponse' {} a -> s {hLSStreamingSessionURL = a} :: GetHLSStreamingSessionURLResponse)++-- | The response's http status code.+getHLSStreamingSessionURLResponse_httpStatus :: Lens.Lens' GetHLSStreamingSessionURLResponse Prelude.Int+getHLSStreamingSessionURLResponse_httpStatus = Lens.lens (\GetHLSStreamingSessionURLResponse' {httpStatus} -> httpStatus) (\s@GetHLSStreamingSessionURLResponse' {} a -> s {httpStatus = a} :: GetHLSStreamingSessionURLResponse)++instance+ Prelude.NFData+ GetHLSStreamingSessionURLResponse+ where+ rnf GetHLSStreamingSessionURLResponse' {..} =+ Prelude.rnf hLSStreamingSessionURL+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KinesisVideoArchivedMedia/GetImages.hs view
@@ -0,0 +1,468 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.GetImages+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of Images corresponding to each timestamp for a given+-- time range, sampling interval, and image format configuration.+--+-- This operation returns paginated results.+module Amazonka.KinesisVideoArchivedMedia.GetImages+ ( -- * Creating a Request+ GetImages (..),+ newGetImages,++ -- * Request Lenses+ getImages_formatConfig,+ getImages_heightPixels,+ getImages_maxResults,+ getImages_nextToken,+ getImages_streamARN,+ getImages_streamName,+ getImages_widthPixels,+ getImages_imageSelectorType,+ getImages_startTimestamp,+ getImages_endTimestamp,+ getImages_samplingInterval,+ getImages_format,++ -- * Destructuring the Response+ GetImagesResponse (..),+ newGetImagesResponse,++ -- * Response Lenses+ getImagesResponse_images,+ getImagesResponse_nextToken,+ getImagesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetImages' smart constructor.+data GetImages = GetImages'+ { -- | The list of a key-value pair structure that contains extra parameters+ -- that can be applied when the image is generated. The @FormatConfig@ key+ -- is the @JPEGQuality@, which indicates the JPEG quality key to be used to+ -- generate the image. The @FormatConfig@ value accepts ints from 1 to 100.+ -- If the value is 1, the image will be generated with less quality and the+ -- best compression. If the value is 100, the image will be generated with+ -- the best quality and less compression. If no value is provided, the+ -- default value of the @JPEGQuality@ key will be set to 80.+ formatConfig :: Prelude.Maybe (Prelude.HashMap FormatConfigKey Prelude.Text),+ -- | The height of the output image that is used in conjunction with the+ -- @WidthPixels@ parameter. When both @HeightPixels@ and @WidthPixels@+ -- parameters are provided, the image will be stretched to fit the+ -- specified aspect ratio. If only the @HeightPixels@ parameter is+ -- provided, its original aspect ratio will be used to calculate the+ -- @WidthPixels@ ratio. If neither parameter is provided, the original+ -- image size will be returned.+ heightPixels :: Prelude.Maybe Prelude.Natural,+ -- | The maximum number of images to be returned by the API.+ --+ -- The default limit is 100 images per API response. The additional results+ -- will be paginated.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token that specifies where to start paginating the next set of Images.+ -- This is the @GetImages:NextToken@ from a previously truncated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the stream from which to retrieve the+ -- images. You must specify either the @StreamName@ or the @StreamARN@.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream from which to retrieve the images. You must+ -- specify either the @StreamName@ or the @StreamARN@.+ streamName :: Prelude.Maybe Prelude.Text,+ -- | The width of the output image that is used in conjunction with the+ -- @HeightPixels@ parameter. When both @WidthPixels@ and @HeightPixels@+ -- parameters are provided, the image will be stretched to fit the+ -- specified aspect ratio. If only the @WidthPixels@ parameter is provided+ -- or if only the @HeightPixels@ is provided, a @ValidationException@ will+ -- be thrown. If neither parameter is provided, the original image size+ -- from the stream will be returned.+ widthPixels :: Prelude.Maybe Prelude.Natural,+ -- | The origin of the Server or Producer timestamps to use to generate the+ -- images.+ imageSelectorType :: ImageSelectorType,+ -- | The starting point from which the images should be generated. This+ -- @StartTimestamp@ must be within an inclusive range of timestamps for an+ -- image to be returned.+ startTimestamp :: Data.POSIX,+ -- | The end timestamp for the range of images to be generated.+ endTimestamp :: Data.POSIX,+ -- | The time interval in milliseconds (ms) at which the images need to be+ -- generated from the stream. The minimum value that can be provided is+ -- 3000 ms. If the timestamp range is less than the sampling interval, the+ -- Image from the @startTimestamp@ will be returned if available.+ --+ -- The minimum value of 3000 ms is a soft limit. If needed, a lower+ -- sampling frequency can be requested.+ samplingInterval :: Prelude.Natural,+ -- | The format that will be used to encode the image.+ format :: Format+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetImages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfig', 'getImages_formatConfig' - The list of a key-value pair structure that contains extra parameters+-- that can be applied when the image is generated. The @FormatConfig@ key+-- is the @JPEGQuality@, which indicates the JPEG quality key to be used to+-- generate the image. The @FormatConfig@ value accepts ints from 1 to 100.+-- If the value is 1, the image will be generated with less quality and the+-- best compression. If the value is 100, the image will be generated with+-- the best quality and less compression. If no value is provided, the+-- default value of the @JPEGQuality@ key will be set to 80.+--+-- 'heightPixels', 'getImages_heightPixels' - The height of the output image that is used in conjunction with the+-- @WidthPixels@ parameter. When both @HeightPixels@ and @WidthPixels@+-- parameters are provided, the image will be stretched to fit the+-- specified aspect ratio. If only the @HeightPixels@ parameter is+-- provided, its original aspect ratio will be used to calculate the+-- @WidthPixels@ ratio. If neither parameter is provided, the original+-- image size will be returned.+--+-- 'maxResults', 'getImages_maxResults' - The maximum number of images to be returned by the API.+--+-- The default limit is 100 images per API response. The additional results+-- will be paginated.+--+-- 'nextToken', 'getImages_nextToken' - A token that specifies where to start paginating the next set of Images.+-- This is the @GetImages:NextToken@ from a previously truncated response.+--+-- 'streamARN', 'getImages_streamARN' - The Amazon Resource Name (ARN) of the stream from which to retrieve the+-- images. You must specify either the @StreamName@ or the @StreamARN@.+--+-- 'streamName', 'getImages_streamName' - The name of the stream from which to retrieve the images. You must+-- specify either the @StreamName@ or the @StreamARN@.+--+-- 'widthPixels', 'getImages_widthPixels' - The width of the output image that is used in conjunction with the+-- @HeightPixels@ parameter. When both @WidthPixels@ and @HeightPixels@+-- parameters are provided, the image will be stretched to fit the+-- specified aspect ratio. If only the @WidthPixels@ parameter is provided+-- or if only the @HeightPixels@ is provided, a @ValidationException@ will+-- be thrown. If neither parameter is provided, the original image size+-- from the stream will be returned.+--+-- 'imageSelectorType', 'getImages_imageSelectorType' - The origin of the Server or Producer timestamps to use to generate the+-- images.+--+-- 'startTimestamp', 'getImages_startTimestamp' - The starting point from which the images should be generated. This+-- @StartTimestamp@ must be within an inclusive range of timestamps for an+-- image to be returned.+--+-- 'endTimestamp', 'getImages_endTimestamp' - The end timestamp for the range of images to be generated.+--+-- 'samplingInterval', 'getImages_samplingInterval' - The time interval in milliseconds (ms) at which the images need to be+-- generated from the stream. The minimum value that can be provided is+-- 3000 ms. If the timestamp range is less than the sampling interval, the+-- Image from the @startTimestamp@ will be returned if available.+--+-- The minimum value of 3000 ms is a soft limit. If needed, a lower+-- sampling frequency can be requested.+--+-- 'format', 'getImages_format' - The format that will be used to encode the image.+newGetImages ::+ -- | 'imageSelectorType'+ ImageSelectorType ->+ -- | 'startTimestamp'+ Prelude.UTCTime ->+ -- | 'endTimestamp'+ Prelude.UTCTime ->+ -- | 'samplingInterval'+ Prelude.Natural ->+ -- | 'format'+ Format ->+ GetImages+newGetImages+ pImageSelectorType_+ pStartTimestamp_+ pEndTimestamp_+ pSamplingInterval_+ pFormat_ =+ GetImages'+ { formatConfig = Prelude.Nothing,+ heightPixels = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ streamARN = Prelude.Nothing,+ streamName = Prelude.Nothing,+ widthPixels = Prelude.Nothing,+ imageSelectorType = pImageSelectorType_,+ startTimestamp = Data._Time Lens.# pStartTimestamp_,+ endTimestamp = Data._Time Lens.# pEndTimestamp_,+ samplingInterval = pSamplingInterval_,+ format = pFormat_+ }++-- | The list of a key-value pair structure that contains extra parameters+-- that can be applied when the image is generated. The @FormatConfig@ key+-- is the @JPEGQuality@, which indicates the JPEG quality key to be used to+-- generate the image. The @FormatConfig@ value accepts ints from 1 to 100.+-- If the value is 1, the image will be generated with less quality and the+-- best compression. If the value is 100, the image will be generated with+-- the best quality and less compression. If no value is provided, the+-- default value of the @JPEGQuality@ key will be set to 80.+getImages_formatConfig :: Lens.Lens' GetImages (Prelude.Maybe (Prelude.HashMap FormatConfigKey Prelude.Text))+getImages_formatConfig = Lens.lens (\GetImages' {formatConfig} -> formatConfig) (\s@GetImages' {} a -> s {formatConfig = a} :: GetImages) Prelude.. Lens.mapping Lens.coerced++-- | The height of the output image that is used in conjunction with the+-- @WidthPixels@ parameter. When both @HeightPixels@ and @WidthPixels@+-- parameters are provided, the image will be stretched to fit the+-- specified aspect ratio. If only the @HeightPixels@ parameter is+-- provided, its original aspect ratio will be used to calculate the+-- @WidthPixels@ ratio. If neither parameter is provided, the original+-- image size will be returned.+getImages_heightPixels :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Natural)+getImages_heightPixels = Lens.lens (\GetImages' {heightPixels} -> heightPixels) (\s@GetImages' {} a -> s {heightPixels = a} :: GetImages)++-- | The maximum number of images to be returned by the API.+--+-- The default limit is 100 images per API response. The additional results+-- will be paginated.+getImages_maxResults :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Natural)+getImages_maxResults = Lens.lens (\GetImages' {maxResults} -> maxResults) (\s@GetImages' {} a -> s {maxResults = a} :: GetImages)++-- | A token that specifies where to start paginating the next set of Images.+-- This is the @GetImages:NextToken@ from a previously truncated response.+getImages_nextToken :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Text)+getImages_nextToken = Lens.lens (\GetImages' {nextToken} -> nextToken) (\s@GetImages' {} a -> s {nextToken = a} :: GetImages)++-- | The Amazon Resource Name (ARN) of the stream from which to retrieve the+-- images. You must specify either the @StreamName@ or the @StreamARN@.+getImages_streamARN :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Text)+getImages_streamARN = Lens.lens (\GetImages' {streamARN} -> streamARN) (\s@GetImages' {} a -> s {streamARN = a} :: GetImages)++-- | The name of the stream from which to retrieve the images. You must+-- specify either the @StreamName@ or the @StreamARN@.+getImages_streamName :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Text)+getImages_streamName = Lens.lens (\GetImages' {streamName} -> streamName) (\s@GetImages' {} a -> s {streamName = a} :: GetImages)++-- | The width of the output image that is used in conjunction with the+-- @HeightPixels@ parameter. When both @WidthPixels@ and @HeightPixels@+-- parameters are provided, the image will be stretched to fit the+-- specified aspect ratio. If only the @WidthPixels@ parameter is provided+-- or if only the @HeightPixels@ is provided, a @ValidationException@ will+-- be thrown. If neither parameter is provided, the original image size+-- from the stream will be returned.+getImages_widthPixels :: Lens.Lens' GetImages (Prelude.Maybe Prelude.Natural)+getImages_widthPixels = Lens.lens (\GetImages' {widthPixels} -> widthPixels) (\s@GetImages' {} a -> s {widthPixels = a} :: GetImages)++-- | The origin of the Server or Producer timestamps to use to generate the+-- images.+getImages_imageSelectorType :: Lens.Lens' GetImages ImageSelectorType+getImages_imageSelectorType = Lens.lens (\GetImages' {imageSelectorType} -> imageSelectorType) (\s@GetImages' {} a -> s {imageSelectorType = a} :: GetImages)++-- | The starting point from which the images should be generated. This+-- @StartTimestamp@ must be within an inclusive range of timestamps for an+-- image to be returned.+getImages_startTimestamp :: Lens.Lens' GetImages Prelude.UTCTime+getImages_startTimestamp = Lens.lens (\GetImages' {startTimestamp} -> startTimestamp) (\s@GetImages' {} a -> s {startTimestamp = a} :: GetImages) Prelude.. Data._Time++-- | The end timestamp for the range of images to be generated.+getImages_endTimestamp :: Lens.Lens' GetImages Prelude.UTCTime+getImages_endTimestamp = Lens.lens (\GetImages' {endTimestamp} -> endTimestamp) (\s@GetImages' {} a -> s {endTimestamp = a} :: GetImages) Prelude.. Data._Time++-- | The time interval in milliseconds (ms) at which the images need to be+-- generated from the stream. The minimum value that can be provided is+-- 3000 ms. If the timestamp range is less than the sampling interval, the+-- Image from the @startTimestamp@ will be returned if available.+--+-- The minimum value of 3000 ms is a soft limit. If needed, a lower+-- sampling frequency can be requested.+getImages_samplingInterval :: Lens.Lens' GetImages Prelude.Natural+getImages_samplingInterval = Lens.lens (\GetImages' {samplingInterval} -> samplingInterval) (\s@GetImages' {} a -> s {samplingInterval = a} :: GetImages)++-- | The format that will be used to encode the image.+getImages_format :: Lens.Lens' GetImages Format+getImages_format = Lens.lens (\GetImages' {format} -> format) (\s@GetImages' {} a -> s {format = a} :: GetImages)++instance Core.AWSPager GetImages where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getImagesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getImagesResponse_images+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getImages_nextToken+ Lens..~ rs+ Lens.^? getImagesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetImages where+ type AWSResponse GetImages = GetImagesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetImagesResponse'+ Prelude.<$> (x Data..?> "Images" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetImages where+ hashWithSalt _salt GetImages' {..} =+ _salt+ `Prelude.hashWithSalt` formatConfig+ `Prelude.hashWithSalt` heightPixels+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName+ `Prelude.hashWithSalt` widthPixels+ `Prelude.hashWithSalt` imageSelectorType+ `Prelude.hashWithSalt` startTimestamp+ `Prelude.hashWithSalt` endTimestamp+ `Prelude.hashWithSalt` samplingInterval+ `Prelude.hashWithSalt` format++instance Prelude.NFData GetImages where+ rnf GetImages' {..} =+ Prelude.rnf formatConfig+ `Prelude.seq` Prelude.rnf heightPixels+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName+ `Prelude.seq` Prelude.rnf widthPixels+ `Prelude.seq` Prelude.rnf imageSelectorType+ `Prelude.seq` Prelude.rnf startTimestamp+ `Prelude.seq` Prelude.rnf endTimestamp+ `Prelude.seq` Prelude.rnf samplingInterval+ `Prelude.seq` Prelude.rnf format++instance Data.ToHeaders GetImages where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetImages where+ toJSON GetImages' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FormatConfig" Data..=) Prelude.<$> formatConfig,+ ("HeightPixels" Data..=) Prelude.<$> heightPixels,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName,+ ("WidthPixels" Data..=) Prelude.<$> widthPixels,+ Prelude.Just+ ("ImageSelectorType" Data..= imageSelectorType),+ Prelude.Just+ ("StartTimestamp" Data..= startTimestamp),+ Prelude.Just ("EndTimestamp" Data..= endTimestamp),+ Prelude.Just+ ("SamplingInterval" Data..= samplingInterval),+ Prelude.Just ("Format" Data..= format)+ ]+ )++instance Data.ToPath GetImages where+ toPath = Prelude.const "/getImages"++instance Data.ToQuery GetImages where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetImagesResponse' smart constructor.+data GetImagesResponse = GetImagesResponse'+ { -- | The list of images generated from the video stream. If there is no media+ -- available for the given timestamp, the @NO_MEDIA@ error will be listed+ -- in the output. If an error occurs while the image is being generated,+ -- the @MEDIA_ERROR@ will be listed in the output as the cause of the+ -- missing image.+ images :: Prelude.Maybe [Image],+ -- | The encrypted token that was used in the request to get more images.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetImagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'images', 'getImagesResponse_images' - The list of images generated from the video stream. If there is no media+-- available for the given timestamp, the @NO_MEDIA@ error will be listed+-- in the output. If an error occurs while the image is being generated,+-- the @MEDIA_ERROR@ will be listed in the output as the cause of the+-- missing image.+--+-- 'nextToken', 'getImagesResponse_nextToken' - The encrypted token that was used in the request to get more images.+--+-- 'httpStatus', 'getImagesResponse_httpStatus' - The response's http status code.+newGetImagesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetImagesResponse+newGetImagesResponse pHttpStatus_ =+ GetImagesResponse'+ { images = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of images generated from the video stream. If there is no media+-- available for the given timestamp, the @NO_MEDIA@ error will be listed+-- in the output. If an error occurs while the image is being generated,+-- the @MEDIA_ERROR@ will be listed in the output as the cause of the+-- missing image.+getImagesResponse_images :: Lens.Lens' GetImagesResponse (Prelude.Maybe [Image])+getImagesResponse_images = Lens.lens (\GetImagesResponse' {images} -> images) (\s@GetImagesResponse' {} a -> s {images = a} :: GetImagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The encrypted token that was used in the request to get more images.+getImagesResponse_nextToken :: Lens.Lens' GetImagesResponse (Prelude.Maybe Prelude.Text)+getImagesResponse_nextToken = Lens.lens (\GetImagesResponse' {nextToken} -> nextToken) (\s@GetImagesResponse' {} a -> s {nextToken = a} :: GetImagesResponse)++-- | The response's http status code.+getImagesResponse_httpStatus :: Lens.Lens' GetImagesResponse Prelude.Int+getImagesResponse_httpStatus = Lens.lens (\GetImagesResponse' {httpStatus} -> httpStatus) (\s@GetImagesResponse' {} a -> s {httpStatus = a} :: GetImagesResponse)++instance Prelude.NFData GetImagesResponse where+ rnf GetImagesResponse' {..} =+ Prelude.rnf images+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KinesisVideoArchivedMedia/GetMediaForFragmentList.hs view
@@ -0,0 +1,314 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets media for a list of fragments (specified by fragment number) from+-- the archived data in an Amazon Kinesis video stream.+--+-- You must first call the @GetDataEndpoint@ API to get an endpoint. Then+-- send the @GetMediaForFragmentList@ requests to this endpoint using the+-- <https://docs.aws.amazon.com/cli/latest/reference/ --endpoint-url parameter>.+--+-- For limits, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+--+-- If an error is thrown after invoking a Kinesis Video Streams archived+-- media API, in addition to the HTTP status code and the response body, it+-- includes the following pieces of information:+--+-- - @x-amz-ErrorType@ HTTP header – contains a more specific error type+-- in addition to what the HTTP status code provides.+--+-- - @x-amz-RequestId@ HTTP header – if you want to report an issue to+-- AWS, the support team can better diagnose the problem if given the+-- Request Id.+--+-- Both the HTTP status code and the ErrorType header can be utilized to+-- make programmatic decisions about whether errors are retry-able and+-- under what conditions, as well as provide information on what actions+-- the client programmer might need to take in order to successfully try+-- again.+--+-- For more information, see the __Errors__ section at the bottom of this+-- topic, as well as+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html Common Errors>.+module Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList+ ( -- * Creating a Request+ GetMediaForFragmentList (..),+ newGetMediaForFragmentList,++ -- * Request Lenses+ getMediaForFragmentList_streamARN,+ getMediaForFragmentList_streamName,+ getMediaForFragmentList_fragments,++ -- * Destructuring the Response+ GetMediaForFragmentListResponse (..),+ newGetMediaForFragmentListResponse,++ -- * Response Lenses+ getMediaForFragmentListResponse_contentType,+ getMediaForFragmentListResponse_httpStatus,+ getMediaForFragmentListResponse_payload,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMediaForFragmentList' smart constructor.+data GetMediaForFragmentList = GetMediaForFragmentList'+ { -- | The Amazon Resource Name (ARN) of the stream from which to retrieve+ -- fragment media. Specify either this parameter or the @StreamName@+ -- parameter.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream from which to retrieve fragment media. Specify+ -- either this parameter or the @StreamARN@ parameter.+ streamName :: Prelude.Maybe Prelude.Text,+ -- | A list of the numbers of fragments for which to retrieve media. You+ -- retrieve these values with ListFragments.+ fragments :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaForFragmentList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamARN', 'getMediaForFragmentList_streamARN' - The Amazon Resource Name (ARN) of the stream from which to retrieve+-- fragment media. Specify either this parameter or the @StreamName@+-- parameter.+--+-- 'streamName', 'getMediaForFragmentList_streamName' - The name of the stream from which to retrieve fragment media. Specify+-- either this parameter or the @StreamARN@ parameter.+--+-- 'fragments', 'getMediaForFragmentList_fragments' - A list of the numbers of fragments for which to retrieve media. You+-- retrieve these values with ListFragments.+newGetMediaForFragmentList ::+ -- | 'fragments'+ Prelude.NonEmpty Prelude.Text ->+ GetMediaForFragmentList+newGetMediaForFragmentList pFragments_ =+ GetMediaForFragmentList'+ { streamARN =+ Prelude.Nothing,+ streamName = Prelude.Nothing,+ fragments = Lens.coerced Lens.# pFragments_+ }++-- | The Amazon Resource Name (ARN) of the stream from which to retrieve+-- fragment media. Specify either this parameter or the @StreamName@+-- parameter.+getMediaForFragmentList_streamARN :: Lens.Lens' GetMediaForFragmentList (Prelude.Maybe Prelude.Text)+getMediaForFragmentList_streamARN = Lens.lens (\GetMediaForFragmentList' {streamARN} -> streamARN) (\s@GetMediaForFragmentList' {} a -> s {streamARN = a} :: GetMediaForFragmentList)++-- | The name of the stream from which to retrieve fragment media. Specify+-- either this parameter or the @StreamARN@ parameter.+getMediaForFragmentList_streamName :: Lens.Lens' GetMediaForFragmentList (Prelude.Maybe Prelude.Text)+getMediaForFragmentList_streamName = Lens.lens (\GetMediaForFragmentList' {streamName} -> streamName) (\s@GetMediaForFragmentList' {} a -> s {streamName = a} :: GetMediaForFragmentList)++-- | A list of the numbers of fragments for which to retrieve media. You+-- retrieve these values with ListFragments.+getMediaForFragmentList_fragments :: Lens.Lens' GetMediaForFragmentList (Prelude.NonEmpty Prelude.Text)+getMediaForFragmentList_fragments = Lens.lens (\GetMediaForFragmentList' {fragments} -> fragments) (\s@GetMediaForFragmentList' {} a -> s {fragments = a} :: GetMediaForFragmentList) Prelude.. Lens.coerced++instance Core.AWSRequest GetMediaForFragmentList where+ type+ AWSResponse GetMediaForFragmentList =+ GetMediaForFragmentListResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveBody+ ( \s h x ->+ GetMediaForFragmentListResponse'+ Prelude.<$> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (Prelude.pure x)+ )++instance Prelude.Hashable GetMediaForFragmentList where+ hashWithSalt _salt GetMediaForFragmentList' {..} =+ _salt+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName+ `Prelude.hashWithSalt` fragments++instance Prelude.NFData GetMediaForFragmentList where+ rnf GetMediaForFragmentList' {..} =+ Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName+ `Prelude.seq` Prelude.rnf fragments++instance Data.ToHeaders GetMediaForFragmentList where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetMediaForFragmentList where+ toJSON GetMediaForFragmentList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName,+ Prelude.Just ("Fragments" Data..= fragments)+ ]+ )++instance Data.ToPath GetMediaForFragmentList where+ toPath = Prelude.const "/getMediaForFragmentList"++instance Data.ToQuery GetMediaForFragmentList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMediaForFragmentListResponse' smart constructor.+data GetMediaForFragmentListResponse = GetMediaForFragmentListResponse'+ { -- | The content type of the requested media.+ contentType :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The payload that Kinesis Video Streams returns is a sequence of chunks+ -- from the specified stream. For information about the chunks, see+ -- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html PutMedia>.+ -- The chunks that Kinesis Video Streams returns in the+ -- @GetMediaForFragmentList@ call also include the following additional+ -- Matroska (MKV) tags:+ --+ -- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the+ -- chunk.+ --+ -- - AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side timestamp of+ -- the fragment.+ --+ -- - AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side timestamp+ -- of the fragment.+ --+ -- The following tags will be included if an exception occurs:+ --+ -- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that+ -- threw the exception+ --+ -- - AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the+ -- exception+ --+ -- - AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the+ -- exception+ payload :: Data.ResponseBody+ }+ deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaForFragmentListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentType', 'getMediaForFragmentListResponse_contentType' - The content type of the requested media.+--+-- 'httpStatus', 'getMediaForFragmentListResponse_httpStatus' - The response's http status code.+--+-- 'payload', 'getMediaForFragmentListResponse_payload' - The payload that Kinesis Video Streams returns is a sequence of chunks+-- from the specified stream. For information about the chunks, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html PutMedia>.+-- The chunks that Kinesis Video Streams returns in the+-- @GetMediaForFragmentList@ call also include the following additional+-- Matroska (MKV) tags:+--+-- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the+-- chunk.+--+-- - AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side timestamp of+-- the fragment.+--+-- - AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side timestamp+-- of the fragment.+--+-- The following tags will be included if an exception occurs:+--+-- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that+-- threw the exception+--+-- - AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the+-- exception+--+-- - AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the+-- exception+newGetMediaForFragmentListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'payload'+ Data.ResponseBody ->+ GetMediaForFragmentListResponse+newGetMediaForFragmentListResponse+ pHttpStatus_+ pPayload_ =+ GetMediaForFragmentListResponse'+ { contentType =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ payload = pPayload_+ }++-- | The content type of the requested media.+getMediaForFragmentListResponse_contentType :: Lens.Lens' GetMediaForFragmentListResponse (Prelude.Maybe Prelude.Text)+getMediaForFragmentListResponse_contentType = Lens.lens (\GetMediaForFragmentListResponse' {contentType} -> contentType) (\s@GetMediaForFragmentListResponse' {} a -> s {contentType = a} :: GetMediaForFragmentListResponse)++-- | The response's http status code.+getMediaForFragmentListResponse_httpStatus :: Lens.Lens' GetMediaForFragmentListResponse Prelude.Int+getMediaForFragmentListResponse_httpStatus = Lens.lens (\GetMediaForFragmentListResponse' {httpStatus} -> httpStatus) (\s@GetMediaForFragmentListResponse' {} a -> s {httpStatus = a} :: GetMediaForFragmentListResponse)++-- | The payload that Kinesis Video Streams returns is a sequence of chunks+-- from the specified stream. For information about the chunks, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html PutMedia>.+-- The chunks that Kinesis Video Streams returns in the+-- @GetMediaForFragmentList@ call also include the following additional+-- Matroska (MKV) tags:+--+-- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the+-- chunk.+--+-- - AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side timestamp of+-- the fragment.+--+-- - AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side timestamp+-- of the fragment.+--+-- The following tags will be included if an exception occurs:+--+-- - AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that+-- threw the exception+--+-- - AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the+-- exception+--+-- - AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the+-- exception+getMediaForFragmentListResponse_payload :: Lens.Lens' GetMediaForFragmentListResponse Data.ResponseBody+getMediaForFragmentListResponse_payload = Lens.lens (\GetMediaForFragmentListResponse' {payload} -> payload) (\s@GetMediaForFragmentListResponse' {} a -> s {payload = a} :: GetMediaForFragmentListResponse)
+ gen/Amazonka/KinesisVideoArchivedMedia/Lens.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Lens+ ( -- * Operations++ -- ** GetClip+ getClip_streamARN,+ getClip_streamName,+ getClip_clipFragmentSelector,+ getClipResponse_contentType,+ getClipResponse_httpStatus,+ getClipResponse_payload,++ -- ** GetDASHStreamingSessionURL+ getDASHStreamingSessionURL_dASHFragmentSelector,+ getDASHStreamingSessionURL_displayFragmentNumber,+ getDASHStreamingSessionURL_displayFragmentTimestamp,+ getDASHStreamingSessionURL_expires,+ getDASHStreamingSessionURL_maxManifestFragmentResults,+ getDASHStreamingSessionURL_playbackMode,+ getDASHStreamingSessionURL_streamARN,+ getDASHStreamingSessionURL_streamName,+ getDASHStreamingSessionURLResponse_dASHStreamingSessionURL,+ getDASHStreamingSessionURLResponse_httpStatus,++ -- ** GetHLSStreamingSessionURL+ getHLSStreamingSessionURL_containerFormat,+ getHLSStreamingSessionURL_discontinuityMode,+ getHLSStreamingSessionURL_displayFragmentTimestamp,+ getHLSStreamingSessionURL_expires,+ getHLSStreamingSessionURL_hLSFragmentSelector,+ getHLSStreamingSessionURL_maxMediaPlaylistFragmentResults,+ getHLSStreamingSessionURL_playbackMode,+ getHLSStreamingSessionURL_streamARN,+ getHLSStreamingSessionURL_streamName,+ getHLSStreamingSessionURLResponse_hLSStreamingSessionURL,+ getHLSStreamingSessionURLResponse_httpStatus,++ -- ** GetImages+ getImages_formatConfig,+ getImages_heightPixels,+ getImages_maxResults,+ getImages_nextToken,+ getImages_streamARN,+ getImages_streamName,+ getImages_widthPixels,+ getImages_imageSelectorType,+ getImages_startTimestamp,+ getImages_endTimestamp,+ getImages_samplingInterval,+ getImages_format,+ getImagesResponse_images,+ getImagesResponse_nextToken,+ getImagesResponse_httpStatus,++ -- ** GetMediaForFragmentList+ getMediaForFragmentList_streamARN,+ getMediaForFragmentList_streamName,+ getMediaForFragmentList_fragments,+ getMediaForFragmentListResponse_contentType,+ getMediaForFragmentListResponse_httpStatus,+ getMediaForFragmentListResponse_payload,++ -- ** ListFragments+ listFragments_fragmentSelector,+ listFragments_maxResults,+ listFragments_nextToken,+ listFragments_streamARN,+ listFragments_streamName,+ listFragmentsResponse_fragments,+ listFragmentsResponse_nextToken,+ listFragmentsResponse_httpStatus,++ -- * Types++ -- ** ClipFragmentSelector+ clipFragmentSelector_fragmentSelectorType,+ clipFragmentSelector_timestampRange,++ -- ** ClipTimestampRange+ clipTimestampRange_startTimestamp,+ clipTimestampRange_endTimestamp,++ -- ** DASHFragmentSelector+ dASHFragmentSelector_fragmentSelectorType,+ dASHFragmentSelector_timestampRange,++ -- ** DASHTimestampRange+ dASHTimestampRange_endTimestamp,+ dASHTimestampRange_startTimestamp,++ -- ** Fragment+ fragment_fragmentLengthInMilliseconds,+ fragment_fragmentNumber,+ fragment_fragmentSizeInBytes,+ fragment_producerTimestamp,+ fragment_serverTimestamp,++ -- ** FragmentSelector+ fragmentSelector_fragmentSelectorType,+ fragmentSelector_timestampRange,++ -- ** HLSFragmentSelector+ hLSFragmentSelector_fragmentSelectorType,+ hLSFragmentSelector_timestampRange,++ -- ** HLSTimestampRange+ hLSTimestampRange_endTimestamp,+ hLSTimestampRange_startTimestamp,++ -- ** Image+ image_error,+ image_imageContent,+ image_timeStamp,++ -- ** TimestampRange+ timestampRange_startTimestamp,+ timestampRange_endTimestamp,+ )+where++import Amazonka.KinesisVideoArchivedMedia.GetClip+import Amazonka.KinesisVideoArchivedMedia.GetDASHStreamingSessionURL+import Amazonka.KinesisVideoArchivedMedia.GetHLSStreamingSessionURL+import Amazonka.KinesisVideoArchivedMedia.GetImages+import Amazonka.KinesisVideoArchivedMedia.GetMediaForFragmentList+import Amazonka.KinesisVideoArchivedMedia.ListFragments+import Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.Fragment+import Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.Image+import Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange
+ gen/Amazonka/KinesisVideoArchivedMedia/ListFragments.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.ListFragments+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of Fragment objects from the specified stream and+-- timestamp range within the archived data.+--+-- Listing fragments is eventually consistent. This means that even if the+-- producer receives an acknowledgment that a fragment is persisted, the+-- result might not be returned immediately from a request to+-- @ListFragments@. However, results are typically available in less than+-- one second.+--+-- You must first call the @GetDataEndpoint@ API to get an endpoint. Then+-- send the @ListFragments@ requests to this endpoint using the+-- <https://docs.aws.amazon.com/cli/latest/reference/ --endpoint-url parameter>.+--+-- If an error is thrown after invoking a Kinesis Video Streams archived+-- media API, in addition to the HTTP status code and the response body, it+-- includes the following pieces of information:+--+-- - @x-amz-ErrorType@ HTTP header – contains a more specific error type+-- in addition to what the HTTP status code provides.+--+-- - @x-amz-RequestId@ HTTP header – if you want to report an issue to+-- AWS, the support team can better diagnose the problem if given the+-- Request Id.+--+-- Both the HTTP status code and the ErrorType header can be utilized to+-- make programmatic decisions about whether errors are retry-able and+-- under what conditions, as well as provide information on what actions+-- the client programmer might need to take in order to successfully try+-- again.+--+-- For more information, see the __Errors__ section at the bottom of this+-- topic, as well as+-- <https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html Common Errors>.+--+-- This operation returns paginated results.+module Amazonka.KinesisVideoArchivedMedia.ListFragments+ ( -- * Creating a Request+ ListFragments (..),+ newListFragments,++ -- * Request Lenses+ listFragments_fragmentSelector,+ listFragments_maxResults,+ listFragments_nextToken,+ listFragments_streamARN,+ listFragments_streamName,++ -- * Destructuring the Response+ ListFragmentsResponse (..),+ newListFragmentsResponse,++ -- * Response Lenses+ listFragmentsResponse_fragments,+ listFragmentsResponse_nextToken,+ listFragmentsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFragments' smart constructor.+data ListFragments = ListFragments'+ { -- | Describes the timestamp range and timestamp origin for the range of+ -- fragments to return.+ fragmentSelector :: Prelude.Maybe FragmentSelector,+ -- | The total number of fragments to return. If the total number of+ -- fragments available is more than the value specified in @max-results@,+ -- then a ListFragmentsOutput$NextToken is provided in the output that you+ -- can use to resume pagination.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to specify where to start paginating. This is the+ -- ListFragmentsOutput$NextToken from a previously truncated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the stream from which to retrieve a+ -- fragment list. Specify either this parameter or the @StreamName@+ -- parameter.+ streamARN :: Prelude.Maybe Prelude.Text,+ -- | The name of the stream from which to retrieve a fragment list. Specify+ -- either this parameter or the @StreamARN@ parameter.+ streamName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFragments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentSelector', 'listFragments_fragmentSelector' - Describes the timestamp range and timestamp origin for the range of+-- fragments to return.+--+-- 'maxResults', 'listFragments_maxResults' - The total number of fragments to return. If the total number of+-- fragments available is more than the value specified in @max-results@,+-- then a ListFragmentsOutput$NextToken is provided in the output that you+-- can use to resume pagination.+--+-- 'nextToken', 'listFragments_nextToken' - A token to specify where to start paginating. This is the+-- ListFragmentsOutput$NextToken from a previously truncated response.+--+-- 'streamARN', 'listFragments_streamARN' - The Amazon Resource Name (ARN) of the stream from which to retrieve a+-- fragment list. Specify either this parameter or the @StreamName@+-- parameter.+--+-- 'streamName', 'listFragments_streamName' - The name of the stream from which to retrieve a fragment list. Specify+-- either this parameter or the @StreamARN@ parameter.+newListFragments ::+ ListFragments+newListFragments =+ ListFragments'+ { fragmentSelector = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ streamARN = Prelude.Nothing,+ streamName = Prelude.Nothing+ }++-- | Describes the timestamp range and timestamp origin for the range of+-- fragments to return.+listFragments_fragmentSelector :: Lens.Lens' ListFragments (Prelude.Maybe FragmentSelector)+listFragments_fragmentSelector = Lens.lens (\ListFragments' {fragmentSelector} -> fragmentSelector) (\s@ListFragments' {} a -> s {fragmentSelector = a} :: ListFragments)++-- | The total number of fragments to return. If the total number of+-- fragments available is more than the value specified in @max-results@,+-- then a ListFragmentsOutput$NextToken is provided in the output that you+-- can use to resume pagination.+listFragments_maxResults :: Lens.Lens' ListFragments (Prelude.Maybe Prelude.Natural)+listFragments_maxResults = Lens.lens (\ListFragments' {maxResults} -> maxResults) (\s@ListFragments' {} a -> s {maxResults = a} :: ListFragments)++-- | A token to specify where to start paginating. This is the+-- ListFragmentsOutput$NextToken from a previously truncated response.+listFragments_nextToken :: Lens.Lens' ListFragments (Prelude.Maybe Prelude.Text)+listFragments_nextToken = Lens.lens (\ListFragments' {nextToken} -> nextToken) (\s@ListFragments' {} a -> s {nextToken = a} :: ListFragments)++-- | The Amazon Resource Name (ARN) of the stream from which to retrieve a+-- fragment list. Specify either this parameter or the @StreamName@+-- parameter.+listFragments_streamARN :: Lens.Lens' ListFragments (Prelude.Maybe Prelude.Text)+listFragments_streamARN = Lens.lens (\ListFragments' {streamARN} -> streamARN) (\s@ListFragments' {} a -> s {streamARN = a} :: ListFragments)++-- | The name of the stream from which to retrieve a fragment list. Specify+-- either this parameter or the @StreamARN@ parameter.+listFragments_streamName :: Lens.Lens' ListFragments (Prelude.Maybe Prelude.Text)+listFragments_streamName = Lens.lens (\ListFragments' {streamName} -> streamName) (\s@ListFragments' {} a -> s {streamName = a} :: ListFragments)++instance Core.AWSPager ListFragments where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFragmentsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFragmentsResponse_fragments+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFragments_nextToken+ Lens..~ rs+ Lens.^? listFragmentsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFragments where+ type+ AWSResponse ListFragments =+ ListFragmentsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFragmentsResponse'+ Prelude.<$> (x Data..?> "Fragments" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFragments where+ hashWithSalt _salt ListFragments' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentSelector+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` streamARN+ `Prelude.hashWithSalt` streamName++instance Prelude.NFData ListFragments where+ rnf ListFragments' {..} =+ Prelude.rnf fragmentSelector+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf streamARN+ `Prelude.seq` Prelude.rnf streamName++instance Data.ToHeaders ListFragments where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON ListFragments where+ toJSON ListFragments' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FragmentSelector" Data..=)+ Prelude.<$> fragmentSelector,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("StreamARN" Data..=) Prelude.<$> streamARN,+ ("StreamName" Data..=) Prelude.<$> streamName+ ]+ )++instance Data.ToPath ListFragments where+ toPath = Prelude.const "/listFragments"++instance Data.ToQuery ListFragments where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFragmentsResponse' smart constructor.+data ListFragmentsResponse = ListFragmentsResponse'+ { -- | A list of archived Fragment objects from the stream that meet the+ -- selector criteria. Results are in no specific order, even across pages.+ fragments :: Prelude.Maybe [Fragment],+ -- | If the returned list is truncated, the operation returns this token to+ -- use to retrieve the next page of results. This value is @null@ when+ -- there are no more results to return.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFragmentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragments', 'listFragmentsResponse_fragments' - A list of archived Fragment objects from the stream that meet the+-- selector criteria. Results are in no specific order, even across pages.+--+-- 'nextToken', 'listFragmentsResponse_nextToken' - If the returned list is truncated, the operation returns this token to+-- use to retrieve the next page of results. This value is @null@ when+-- there are no more results to return.+--+-- 'httpStatus', 'listFragmentsResponse_httpStatus' - The response's http status code.+newListFragmentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFragmentsResponse+newListFragmentsResponse pHttpStatus_ =+ ListFragmentsResponse'+ { fragments = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of archived Fragment objects from the stream that meet the+-- selector criteria. Results are in no specific order, even across pages.+listFragmentsResponse_fragments :: Lens.Lens' ListFragmentsResponse (Prelude.Maybe [Fragment])+listFragmentsResponse_fragments = Lens.lens (\ListFragmentsResponse' {fragments} -> fragments) (\s@ListFragmentsResponse' {} a -> s {fragments = a} :: ListFragmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the returned list is truncated, the operation returns this token to+-- use to retrieve the next page of results. This value is @null@ when+-- there are no more results to return.+listFragmentsResponse_nextToken :: Lens.Lens' ListFragmentsResponse (Prelude.Maybe Prelude.Text)+listFragmentsResponse_nextToken = Lens.lens (\ListFragmentsResponse' {nextToken} -> nextToken) (\s@ListFragmentsResponse' {} a -> s {nextToken = a} :: ListFragmentsResponse)++-- | The response's http status code.+listFragmentsResponse_httpStatus :: Lens.Lens' ListFragmentsResponse Prelude.Int+listFragmentsResponse_httpStatus = Lens.lens (\ListFragmentsResponse' {httpStatus} -> httpStatus) (\s@ListFragmentsResponse' {} a -> s {httpStatus = a} :: ListFragmentsResponse)++instance Prelude.NFData ListFragmentsResponse where+ rnf ListFragmentsResponse' {..} =+ Prelude.rnf fragments+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KinesisVideoArchivedMedia/Types.hs view
@@ -0,0 +1,334 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _ClientLimitExceededException,+ _InvalidArgumentException,+ _InvalidCodecPrivateDataException,+ _InvalidMediaFrameException,+ _MissingCodecPrivateDataException,+ _NoDataRetentionException,+ _NotAuthorizedException,+ _ResourceNotFoundException,+ _UnsupportedStreamMediaTypeException,++ -- * ClipFragmentSelectorType+ ClipFragmentSelectorType (..),++ -- * ContainerFormat+ ContainerFormat (..),++ -- * DASHDisplayFragmentNumber+ DASHDisplayFragmentNumber (..),++ -- * DASHDisplayFragmentTimestamp+ DASHDisplayFragmentTimestamp (..),++ -- * DASHFragmentSelectorType+ DASHFragmentSelectorType (..),++ -- * DASHPlaybackMode+ DASHPlaybackMode (..),++ -- * Format+ Format (..),++ -- * FormatConfigKey+ FormatConfigKey (..),++ -- * FragmentSelectorType+ FragmentSelectorType (..),++ -- * HLSDiscontinuityMode+ HLSDiscontinuityMode (..),++ -- * HLSDisplayFragmentTimestamp+ HLSDisplayFragmentTimestamp (..),++ -- * HLSFragmentSelectorType+ HLSFragmentSelectorType (..),++ -- * HLSPlaybackMode+ HLSPlaybackMode (..),++ -- * ImageError+ ImageError (..),++ -- * ImageSelectorType+ ImageSelectorType (..),++ -- * ClipFragmentSelector+ ClipFragmentSelector (..),+ newClipFragmentSelector,+ clipFragmentSelector_fragmentSelectorType,+ clipFragmentSelector_timestampRange,++ -- * ClipTimestampRange+ ClipTimestampRange (..),+ newClipTimestampRange,+ clipTimestampRange_startTimestamp,+ clipTimestampRange_endTimestamp,++ -- * DASHFragmentSelector+ DASHFragmentSelector (..),+ newDASHFragmentSelector,+ dASHFragmentSelector_fragmentSelectorType,+ dASHFragmentSelector_timestampRange,++ -- * DASHTimestampRange+ DASHTimestampRange (..),+ newDASHTimestampRange,+ dASHTimestampRange_endTimestamp,+ dASHTimestampRange_startTimestamp,++ -- * Fragment+ Fragment (..),+ newFragment,+ fragment_fragmentLengthInMilliseconds,+ fragment_fragmentNumber,+ fragment_fragmentSizeInBytes,+ fragment_producerTimestamp,+ fragment_serverTimestamp,++ -- * FragmentSelector+ FragmentSelector (..),+ newFragmentSelector,+ fragmentSelector_fragmentSelectorType,+ fragmentSelector_timestampRange,++ -- * HLSFragmentSelector+ HLSFragmentSelector (..),+ newHLSFragmentSelector,+ hLSFragmentSelector_fragmentSelectorType,+ hLSFragmentSelector_timestampRange,++ -- * HLSTimestampRange+ HLSTimestampRange (..),+ newHLSTimestampRange,+ hLSTimestampRange_endTimestamp,+ hLSTimestampRange_startTimestamp,++ -- * Image+ Image (..),+ newImage,+ image_error,+ image_imageContent,+ image_timeStamp,++ -- * TimestampRange+ TimestampRange (..),+ newTimestampRange,+ timestampRange_startTimestamp,+ timestampRange_endTimestamp,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat+import Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber+import Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp+import Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode+import Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.Format+import Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey+import Amazonka.KinesisVideoArchivedMedia.Types.Fragment+import Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode+import Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp+import Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector+import Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode+import Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange+import Amazonka.KinesisVideoArchivedMedia.Types.Image+import Amazonka.KinesisVideoArchivedMedia.Types.ImageError+import Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2017-09-30@ of the Amazon Kinesis Video Streams Archived Media SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev =+ "KinesisVideoArchivedMedia",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "kinesisvideo",+ Core.signingName = "kinesisvideo",+ Core.version = "2017-09-30",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error =+ Core.parseJSONError "KinesisVideoArchivedMedia",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | Kinesis Video Streams has throttled the request because you have+-- exceeded a limit. Try making the call later. For information about+-- limits, see+-- <http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html Kinesis Video Streams Limits>.+_ClientLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ClientLimitExceededException =+ Core._MatchServiceError+ defaultService+ "ClientLimitExceededException"+ Prelude.. Core.hasStatus 400++-- | A specified parameter exceeds its restrictions, is not supported, or+-- can\'t be used.+_InvalidArgumentException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidArgumentException =+ Core._MatchServiceError+ defaultService+ "InvalidArgumentException"+ Prelude.. Core.hasStatus 400++-- | The codec private data in at least one of the tracks of the video stream+-- is not valid for this operation.+_InvalidCodecPrivateDataException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidCodecPrivateDataException =+ Core._MatchServiceError+ defaultService+ "InvalidCodecPrivateDataException"+ Prelude.. Core.hasStatus 400++-- | One or more frames in the requested clip could not be parsed based on+-- the specified codec.+_InvalidMediaFrameException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidMediaFrameException =+ Core._MatchServiceError+ defaultService+ "InvalidMediaFrameException"+ Prelude.. Core.hasStatus 400++-- | No codec private data was found in at least one of tracks of the video+-- stream.+_MissingCodecPrivateDataException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_MissingCodecPrivateDataException =+ Core._MatchServiceError+ defaultService+ "MissingCodecPrivateDataException"+ Prelude.. Core.hasStatus 400++-- | A streaming session was requested for a stream that does not retain data+-- (that is, has a @DataRetentionInHours@ of 0).+_NoDataRetentionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NoDataRetentionException =+ Core._MatchServiceError+ defaultService+ "NoDataRetentionException"+ Prelude.. Core.hasStatus 400++-- | Status Code: 403, The caller is not authorized to perform an operation+-- on the given stream, or the token has expired.+_NotAuthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotAuthorizedException =+ Core._MatchServiceError+ defaultService+ "NotAuthorizedException"+ Prelude.. Core.hasStatus 401++-- | @GetMedia@ throws this error when Kinesis Video Streams can\'t find the+-- stream that you specified.+--+-- @GetHLSStreamingSessionURL@ and @GetDASHStreamingSessionURL@ throw this+-- error if a session with a @PlaybackMode@ of @ON_DEMAND@ or+-- @LIVE_REPLAY@is requested for a stream that has no fragments within the+-- requested time range, or if a session with a @PlaybackMode@ of @LIVE@ is+-- requested for a stream that has no fragments within the last 30 seconds.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The type of the media (for example, h.264 or h.265 video or ACC or G.711+-- audio) could not be determined from the codec IDs of the tracks in the+-- first fragment for a playback session. The codec ID for track 1 should+-- be @V_MPEG\/ISO\/AVC@ and, optionally, the codec ID for track 2 should+-- be @A_AAC@.+_UnsupportedStreamMediaTypeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedStreamMediaTypeException =+ Core._MatchServiceError+ defaultService+ "UnsupportedStreamMediaTypeException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipFragmentSelector.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange+import qualified Amazonka.Prelude as Prelude++-- | Describes the timestamp range and timestamp origin of a range of+-- fragments.+--+-- Fragments that have duplicate producer timestamps are deduplicated. This+-- means that if producers are producing a stream of fragments with+-- producer timestamps that are approximately equal to the true clock time,+-- the clip will contain all of the fragments within the requested+-- timestamp range. If some fragments are ingested within the same time+-- range and very different points in time, only the oldest ingested+-- collection of fragments are returned.+--+-- /See:/ 'newClipFragmentSelector' smart constructor.+data ClipFragmentSelector = ClipFragmentSelector'+ { -- | The origin of the timestamps to use (Server or Producer).+ fragmentSelectorType :: ClipFragmentSelectorType,+ -- | The range of timestamps to return.+ timestampRange :: ClipTimestampRange+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClipFragmentSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentSelectorType', 'clipFragmentSelector_fragmentSelectorType' - The origin of the timestamps to use (Server or Producer).+--+-- 'timestampRange', 'clipFragmentSelector_timestampRange' - The range of timestamps to return.+newClipFragmentSelector ::+ -- | 'fragmentSelectorType'+ ClipFragmentSelectorType ->+ -- | 'timestampRange'+ ClipTimestampRange ->+ ClipFragmentSelector+newClipFragmentSelector+ pFragmentSelectorType_+ pTimestampRange_ =+ ClipFragmentSelector'+ { fragmentSelectorType =+ pFragmentSelectorType_,+ timestampRange = pTimestampRange_+ }++-- | The origin of the timestamps to use (Server or Producer).+clipFragmentSelector_fragmentSelectorType :: Lens.Lens' ClipFragmentSelector ClipFragmentSelectorType+clipFragmentSelector_fragmentSelectorType = Lens.lens (\ClipFragmentSelector' {fragmentSelectorType} -> fragmentSelectorType) (\s@ClipFragmentSelector' {} a -> s {fragmentSelectorType = a} :: ClipFragmentSelector)++-- | The range of timestamps to return.+clipFragmentSelector_timestampRange :: Lens.Lens' ClipFragmentSelector ClipTimestampRange+clipFragmentSelector_timestampRange = Lens.lens (\ClipFragmentSelector' {timestampRange} -> timestampRange) (\s@ClipFragmentSelector' {} a -> s {timestampRange = a} :: ClipFragmentSelector)++instance Prelude.Hashable ClipFragmentSelector where+ hashWithSalt _salt ClipFragmentSelector' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentSelectorType+ `Prelude.hashWithSalt` timestampRange++instance Prelude.NFData ClipFragmentSelector where+ rnf ClipFragmentSelector' {..} =+ Prelude.rnf fragmentSelectorType+ `Prelude.seq` Prelude.rnf timestampRange++instance Data.ToJSON ClipFragmentSelector where+ toJSON ClipFragmentSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FragmentSelectorType"+ Data..= fragmentSelectorType+ ),+ Prelude.Just+ ("TimestampRange" Data..= timestampRange)+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipFragmentSelectorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ClipFragmentSelectorType+ ( ClipFragmentSelectorType+ ( ..,+ ClipFragmentSelectorType_PRODUCER_TIMESTAMP,+ ClipFragmentSelectorType_SERVER_TIMESTAMP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ClipFragmentSelectorType = ClipFragmentSelectorType'+ { fromClipFragmentSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ClipFragmentSelectorType_PRODUCER_TIMESTAMP :: ClipFragmentSelectorType+pattern ClipFragmentSelectorType_PRODUCER_TIMESTAMP = ClipFragmentSelectorType' "PRODUCER_TIMESTAMP"++pattern ClipFragmentSelectorType_SERVER_TIMESTAMP :: ClipFragmentSelectorType+pattern ClipFragmentSelectorType_SERVER_TIMESTAMP = ClipFragmentSelectorType' "SERVER_TIMESTAMP"++{-# COMPLETE+ ClipFragmentSelectorType_PRODUCER_TIMESTAMP,+ ClipFragmentSelectorType_SERVER_TIMESTAMP,+ ClipFragmentSelectorType'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ClipTimestampRange.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ClipTimestampRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The range of timestamps for which to return fragments.+--+-- /See:/ 'newClipTimestampRange' smart constructor.+data ClipTimestampRange = ClipTimestampRange'+ { -- | The starting timestamp in the range of timestamps for which to return+ -- fragments.+ --+ -- Only fragments that start exactly at or after @StartTimestamp@ are+ -- included in the session. Fragments that start before @StartTimestamp@+ -- and continue past it aren\'t included in the session. If+ -- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+ -- be later than the stream head.+ startTimestamp :: Data.POSIX,+ -- | The end of the timestamp range for the requested media.+ --+ -- This value must be within 24 hours of the specified @StartTimestamp@,+ -- and it must be later than the @StartTimestamp@ value. If+ -- @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this value+ -- must be in the past.+ --+ -- This value is inclusive. The @EndTimestamp@ is compared to the+ -- (starting) timestamp of the fragment. Fragments that start before the+ -- @EndTimestamp@ value and continue past it are included in the session.+ endTimestamp :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClipTimestampRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startTimestamp', 'clipTimestampRange_startTimestamp' - The starting timestamp in the range of timestamps for which to return+-- fragments.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+--+-- 'endTimestamp', 'clipTimestampRange_endTimestamp' - The end of the timestamp range for the requested media.+--+-- This value must be within 24 hours of the specified @StartTimestamp@,+-- and it must be later than the @StartTimestamp@ value. If+-- @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this value+-- must be in the past.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+newClipTimestampRange ::+ -- | 'startTimestamp'+ Prelude.UTCTime ->+ -- | 'endTimestamp'+ Prelude.UTCTime ->+ ClipTimestampRange+newClipTimestampRange pStartTimestamp_ pEndTimestamp_ =+ ClipTimestampRange'+ { startTimestamp =+ Data._Time Lens.# pStartTimestamp_,+ endTimestamp = Data._Time Lens.# pEndTimestamp_+ }++-- | The starting timestamp in the range of timestamps for which to return+-- fragments.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+clipTimestampRange_startTimestamp :: Lens.Lens' ClipTimestampRange Prelude.UTCTime+clipTimestampRange_startTimestamp = Lens.lens (\ClipTimestampRange' {startTimestamp} -> startTimestamp) (\s@ClipTimestampRange' {} a -> s {startTimestamp = a} :: ClipTimestampRange) Prelude.. Data._Time++-- | The end of the timestamp range for the requested media.+--+-- This value must be within 24 hours of the specified @StartTimestamp@,+-- and it must be later than the @StartTimestamp@ value. If+-- @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this value+-- must be in the past.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+clipTimestampRange_endTimestamp :: Lens.Lens' ClipTimestampRange Prelude.UTCTime+clipTimestampRange_endTimestamp = Lens.lens (\ClipTimestampRange' {endTimestamp} -> endTimestamp) (\s@ClipTimestampRange' {} a -> s {endTimestamp = a} :: ClipTimestampRange) Prelude.. Data._Time++instance Prelude.Hashable ClipTimestampRange where+ hashWithSalt _salt ClipTimestampRange' {..} =+ _salt+ `Prelude.hashWithSalt` startTimestamp+ `Prelude.hashWithSalt` endTimestamp++instance Prelude.NFData ClipTimestampRange where+ rnf ClipTimestampRange' {..} =+ Prelude.rnf startTimestamp+ `Prelude.seq` Prelude.rnf endTimestamp++instance Data.ToJSON ClipTimestampRange where+ toJSON ClipTimestampRange' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("StartTimestamp" Data..= startTimestamp),+ Prelude.Just ("EndTimestamp" Data..= endTimestamp)+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ContainerFormat.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ContainerFormat+ ( ContainerFormat+ ( ..,+ ContainerFormat_FRAGMENTED_MP4,+ ContainerFormat_MPEG_TS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContainerFormat = ContainerFormat'+ { fromContainerFormat ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ContainerFormat_FRAGMENTED_MP4 :: ContainerFormat+pattern ContainerFormat_FRAGMENTED_MP4 = ContainerFormat' "FRAGMENTED_MP4"++pattern ContainerFormat_MPEG_TS :: ContainerFormat+pattern ContainerFormat_MPEG_TS = ContainerFormat' "MPEG_TS"++{-# COMPLETE+ ContainerFormat_FRAGMENTED_MP4,+ ContainerFormat_MPEG_TS,+ ContainerFormat'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHDisplayFragmentNumber.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentNumber+ ( DASHDisplayFragmentNumber+ ( ..,+ DASHDisplayFragmentNumber_ALWAYS,+ DASHDisplayFragmentNumber_NEVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DASHDisplayFragmentNumber = DASHDisplayFragmentNumber'+ { fromDASHDisplayFragmentNumber ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DASHDisplayFragmentNumber_ALWAYS :: DASHDisplayFragmentNumber+pattern DASHDisplayFragmentNumber_ALWAYS = DASHDisplayFragmentNumber' "ALWAYS"++pattern DASHDisplayFragmentNumber_NEVER :: DASHDisplayFragmentNumber+pattern DASHDisplayFragmentNumber_NEVER = DASHDisplayFragmentNumber' "NEVER"++{-# COMPLETE+ DASHDisplayFragmentNumber_ALWAYS,+ DASHDisplayFragmentNumber_NEVER,+ DASHDisplayFragmentNumber'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHDisplayFragmentTimestamp.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHDisplayFragmentTimestamp+ ( DASHDisplayFragmentTimestamp+ ( ..,+ DASHDisplayFragmentTimestamp_ALWAYS,+ DASHDisplayFragmentTimestamp_NEVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DASHDisplayFragmentTimestamp = DASHDisplayFragmentTimestamp'+ { fromDASHDisplayFragmentTimestamp ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DASHDisplayFragmentTimestamp_ALWAYS :: DASHDisplayFragmentTimestamp+pattern DASHDisplayFragmentTimestamp_ALWAYS = DASHDisplayFragmentTimestamp' "ALWAYS"++pattern DASHDisplayFragmentTimestamp_NEVER :: DASHDisplayFragmentTimestamp+pattern DASHDisplayFragmentTimestamp_NEVER = DASHDisplayFragmentTimestamp' "NEVER"++{-# COMPLETE+ DASHDisplayFragmentTimestamp_ALWAYS,+ DASHDisplayFragmentTimestamp_NEVER,+ DASHDisplayFragmentTimestamp'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHFragmentSelector.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange+import qualified Amazonka.Prelude as Prelude++-- | Contains the range of timestamps for the requested media, and the source+-- of the timestamps.+--+-- /See:/ 'newDASHFragmentSelector' smart constructor.+data DASHFragmentSelector = DASHFragmentSelector'+ { -- | The source of the timestamps for the requested media.+ --+ -- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+ -- GetDASHStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+ -- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+ -- within the specified FragmentSelector$TimestampRange is included in the+ -- media playlist. In addition, the fragments with producer timestamps+ -- within the @TimestampRange@ ingested immediately following the first+ -- fragment (up to the+ -- GetDASHStreamingSessionURLInput$MaxManifestFragmentResults value) are+ -- included.+ --+ -- Fragments that have duplicate producer timestamps are deduplicated. This+ -- means that if producers are producing a stream of fragments with+ -- producer timestamps that are approximately equal to the true clock time,+ -- the MPEG-DASH manifest will contain all of the fragments within the+ -- requested timestamp range. If some fragments are ingested within the+ -- same time range and very different points in time, only the oldest+ -- ingested collection of fragments are returned.+ --+ -- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+ -- GetDASHStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+ -- timestamps are used in the MP4 fragments and for deduplication. But the+ -- most recently ingested fragments based on server timestamps are included+ -- in the MPEG-DASH manifest. This means that even if fragments ingested in+ -- the past have producer timestamps with values now, they are not included+ -- in the HLS media playlist.+ --+ -- The default is @SERVER_TIMESTAMP@.+ fragmentSelectorType :: Prelude.Maybe DASHFragmentSelectorType,+ -- | The start and end of the timestamp range for the requested media.+ --+ -- This value should not be present if @PlaybackType@ is @LIVE@.+ timestampRange :: Prelude.Maybe DASHTimestampRange+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DASHFragmentSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentSelectorType', 'dASHFragmentSelector_fragmentSelectorType' - The source of the timestamps for the requested media.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetDASHStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+-- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+-- within the specified FragmentSelector$TimestampRange is included in the+-- media playlist. In addition, the fragments with producer timestamps+-- within the @TimestampRange@ ingested immediately following the first+-- fragment (up to the+-- GetDASHStreamingSessionURLInput$MaxManifestFragmentResults value) are+-- included.+--+-- Fragments that have duplicate producer timestamps are deduplicated. This+-- means that if producers are producing a stream of fragments with+-- producer timestamps that are approximately equal to the true clock time,+-- the MPEG-DASH manifest will contain all of the fragments within the+-- requested timestamp range. If some fragments are ingested within the+-- same time range and very different points in time, only the oldest+-- ingested collection of fragments are returned.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetDASHStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+-- timestamps are used in the MP4 fragments and for deduplication. But the+-- most recently ingested fragments based on server timestamps are included+-- in the MPEG-DASH manifest. This means that even if fragments ingested in+-- the past have producer timestamps with values now, they are not included+-- in the HLS media playlist.+--+-- The default is @SERVER_TIMESTAMP@.+--+-- 'timestampRange', 'dASHFragmentSelector_timestampRange' - The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+newDASHFragmentSelector ::+ DASHFragmentSelector+newDASHFragmentSelector =+ DASHFragmentSelector'+ { fragmentSelectorType =+ Prelude.Nothing,+ timestampRange = Prelude.Nothing+ }++-- | The source of the timestamps for the requested media.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetDASHStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+-- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+-- within the specified FragmentSelector$TimestampRange is included in the+-- media playlist. In addition, the fragments with producer timestamps+-- within the @TimestampRange@ ingested immediately following the first+-- fragment (up to the+-- GetDASHStreamingSessionURLInput$MaxManifestFragmentResults value) are+-- included.+--+-- Fragments that have duplicate producer timestamps are deduplicated. This+-- means that if producers are producing a stream of fragments with+-- producer timestamps that are approximately equal to the true clock time,+-- the MPEG-DASH manifest will contain all of the fragments within the+-- requested timestamp range. If some fragments are ingested within the+-- same time range and very different points in time, only the oldest+-- ingested collection of fragments are returned.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetDASHStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+-- timestamps are used in the MP4 fragments and for deduplication. But the+-- most recently ingested fragments based on server timestamps are included+-- in the MPEG-DASH manifest. This means that even if fragments ingested in+-- the past have producer timestamps with values now, they are not included+-- in the HLS media playlist.+--+-- The default is @SERVER_TIMESTAMP@.+dASHFragmentSelector_fragmentSelectorType :: Lens.Lens' DASHFragmentSelector (Prelude.Maybe DASHFragmentSelectorType)+dASHFragmentSelector_fragmentSelectorType = Lens.lens (\DASHFragmentSelector' {fragmentSelectorType} -> fragmentSelectorType) (\s@DASHFragmentSelector' {} a -> s {fragmentSelectorType = a} :: DASHFragmentSelector)++-- | The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+dASHFragmentSelector_timestampRange :: Lens.Lens' DASHFragmentSelector (Prelude.Maybe DASHTimestampRange)+dASHFragmentSelector_timestampRange = Lens.lens (\DASHFragmentSelector' {timestampRange} -> timestampRange) (\s@DASHFragmentSelector' {} a -> s {timestampRange = a} :: DASHFragmentSelector)++instance Prelude.Hashable DASHFragmentSelector where+ hashWithSalt _salt DASHFragmentSelector' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentSelectorType+ `Prelude.hashWithSalt` timestampRange++instance Prelude.NFData DASHFragmentSelector where+ rnf DASHFragmentSelector' {..} =+ Prelude.rnf fragmentSelectorType+ `Prelude.seq` Prelude.rnf timestampRange++instance Data.ToJSON DASHFragmentSelector where+ toJSON DASHFragmentSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FragmentSelectorType" Data..=)+ Prelude.<$> fragmentSelectorType,+ ("TimestampRange" Data..=)+ Prelude.<$> timestampRange+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHFragmentSelectorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHFragmentSelectorType+ ( DASHFragmentSelectorType+ ( ..,+ DASHFragmentSelectorType_PRODUCER_TIMESTAMP,+ DASHFragmentSelectorType_SERVER_TIMESTAMP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DASHFragmentSelectorType = DASHFragmentSelectorType'+ { fromDASHFragmentSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DASHFragmentSelectorType_PRODUCER_TIMESTAMP :: DASHFragmentSelectorType+pattern DASHFragmentSelectorType_PRODUCER_TIMESTAMP = DASHFragmentSelectorType' "PRODUCER_TIMESTAMP"++pattern DASHFragmentSelectorType_SERVER_TIMESTAMP :: DASHFragmentSelectorType+pattern DASHFragmentSelectorType_SERVER_TIMESTAMP = DASHFragmentSelectorType' "SERVER_TIMESTAMP"++{-# COMPLETE+ DASHFragmentSelectorType_PRODUCER_TIMESTAMP,+ DASHFragmentSelectorType_SERVER_TIMESTAMP,+ DASHFragmentSelectorType'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHPlaybackMode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHPlaybackMode+ ( DASHPlaybackMode+ ( ..,+ DASHPlaybackMode_LIVE,+ DASHPlaybackMode_LIVE_REPLAY,+ DASHPlaybackMode_ON_DEMAND+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DASHPlaybackMode = DASHPlaybackMode'+ { fromDASHPlaybackMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DASHPlaybackMode_LIVE :: DASHPlaybackMode+pattern DASHPlaybackMode_LIVE = DASHPlaybackMode' "LIVE"++pattern DASHPlaybackMode_LIVE_REPLAY :: DASHPlaybackMode+pattern DASHPlaybackMode_LIVE_REPLAY = DASHPlaybackMode' "LIVE_REPLAY"++pattern DASHPlaybackMode_ON_DEMAND :: DASHPlaybackMode+pattern DASHPlaybackMode_ON_DEMAND = DASHPlaybackMode' "ON_DEMAND"++{-# COMPLETE+ DASHPlaybackMode_LIVE,+ DASHPlaybackMode_LIVE_REPLAY,+ DASHPlaybackMode_ON_DEMAND,+ DASHPlaybackMode'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/DASHTimestampRange.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.DASHTimestampRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+--+-- The values in @DASHimestampRange@ are inclusive. Fragments that start+-- exactly at or after the start time are included in the session.+-- Fragments that start before the start time and continue past it are not+-- included in the session.+--+-- /See:/ 'newDASHTimestampRange' smart constructor.+data DASHTimestampRange = DASHTimestampRange'+ { -- | The end of the timestamp range for the requested media. This value must+ -- be within 24 hours of the specified @StartTimestamp@, and it must be+ -- later than the @StartTimestamp@ value.+ --+ -- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+ -- value must be in the past.+ --+ -- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+ -- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+ -- @LIVE_REPLAY@ mode then the session will continue to include newly+ -- ingested fragments until the session expires.+ --+ -- This value is inclusive. The @EndTimestamp@ is compared to the+ -- (starting) timestamp of the fragment. Fragments that start before the+ -- @EndTimestamp@ value and continue past it are included in the session.+ endTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The start of the timestamp range for the requested media.+ --+ -- If the @DASHTimestampRange@ value is specified, the @StartTimestamp@+ -- value is required.+ --+ -- Only fragments that start exactly at or after @StartTimestamp@ are+ -- included in the session. Fragments that start before @StartTimestamp@+ -- and continue past it aren\'t included in the session. If+ -- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+ -- be later than the stream head.+ startTimestamp :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DASHTimestampRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTimestamp', 'dASHTimestampRange_endTimestamp' - The end of the timestamp range for the requested media. This value must+-- be within 24 hours of the specified @StartTimestamp@, and it must be+-- later than the @StartTimestamp@ value.+--+-- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+-- value must be in the past.+--+-- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+-- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+-- @LIVE_REPLAY@ mode then the session will continue to include newly+-- ingested fragments until the session expires.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+--+-- 'startTimestamp', 'dASHTimestampRange_startTimestamp' - The start of the timestamp range for the requested media.+--+-- If the @DASHTimestampRange@ value is specified, the @StartTimestamp@+-- value is required.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+newDASHTimestampRange ::+ DASHTimestampRange+newDASHTimestampRange =+ DASHTimestampRange'+ { endTimestamp = Prelude.Nothing,+ startTimestamp = Prelude.Nothing+ }++-- | The end of the timestamp range for the requested media. This value must+-- be within 24 hours of the specified @StartTimestamp@, and it must be+-- later than the @StartTimestamp@ value.+--+-- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+-- value must be in the past.+--+-- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+-- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+-- @LIVE_REPLAY@ mode then the session will continue to include newly+-- ingested fragments until the session expires.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+dASHTimestampRange_endTimestamp :: Lens.Lens' DASHTimestampRange (Prelude.Maybe Prelude.UTCTime)+dASHTimestampRange_endTimestamp = Lens.lens (\DASHTimestampRange' {endTimestamp} -> endTimestamp) (\s@DASHTimestampRange' {} a -> s {endTimestamp = a} :: DASHTimestampRange) Prelude.. Lens.mapping Data._Time++-- | The start of the timestamp range for the requested media.+--+-- If the @DASHTimestampRange@ value is specified, the @StartTimestamp@+-- value is required.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+dASHTimestampRange_startTimestamp :: Lens.Lens' DASHTimestampRange (Prelude.Maybe Prelude.UTCTime)+dASHTimestampRange_startTimestamp = Lens.lens (\DASHTimestampRange' {startTimestamp} -> startTimestamp) (\s@DASHTimestampRange' {} a -> s {startTimestamp = a} :: DASHTimestampRange) Prelude.. Lens.mapping Data._Time++instance Prelude.Hashable DASHTimestampRange where+ hashWithSalt _salt DASHTimestampRange' {..} =+ _salt+ `Prelude.hashWithSalt` endTimestamp+ `Prelude.hashWithSalt` startTimestamp++instance Prelude.NFData DASHTimestampRange where+ rnf DASHTimestampRange' {..} =+ Prelude.rnf endTimestamp+ `Prelude.seq` Prelude.rnf startTimestamp++instance Data.ToJSON DASHTimestampRange where+ toJSON DASHTimestampRange' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EndTimestamp" Data..=) Prelude.<$> endTimestamp,+ ("StartTimestamp" Data..=)+ Prelude.<$> startTimestamp+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/Format.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.Format+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.Format+ ( Format+ ( ..,+ Format_JPEG,+ Format_PNG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Format = Format' {fromFormat :: Data.Text}+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Format_JPEG :: Format+pattern Format_JPEG = Format' "JPEG"++pattern Format_PNG :: Format+pattern Format_PNG = Format' "PNG"++{-# COMPLETE+ Format_JPEG,+ Format_PNG,+ Format'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/FormatConfigKey.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.FormatConfigKey+ ( FormatConfigKey+ ( ..,+ FormatConfigKey_JPEGQuality+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FormatConfigKey = FormatConfigKey'+ { fromFormatConfigKey ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FormatConfigKey_JPEGQuality :: FormatConfigKey+pattern FormatConfigKey_JPEGQuality = FormatConfigKey' "JPEGQuality"++{-# COMPLETE+ FormatConfigKey_JPEGQuality,+ FormatConfigKey'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/Fragment.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.Fragment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.Fragment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents a segment of video or other time-delimited data.+--+-- /See:/ 'newFragment' smart constructor.+data Fragment = Fragment'+ { -- | The playback duration or other time value associated with the fragment.+ fragmentLengthInMilliseconds :: Prelude.Maybe Prelude.Integer,+ -- | The unique identifier of the fragment. This value monotonically+ -- increases based on the ingestion order.+ fragmentNumber :: Prelude.Maybe Prelude.Text,+ -- | The total fragment size, including information about the fragment and+ -- contained media data.+ fragmentSizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The timestamp from the producer corresponding to the fragment.+ producerTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The timestamp from the AWS server corresponding to the fragment.+ serverTimestamp :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Fragment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentLengthInMilliseconds', 'fragment_fragmentLengthInMilliseconds' - The playback duration or other time value associated with the fragment.+--+-- 'fragmentNumber', 'fragment_fragmentNumber' - The unique identifier of the fragment. This value monotonically+-- increases based on the ingestion order.+--+-- 'fragmentSizeInBytes', 'fragment_fragmentSizeInBytes' - The total fragment size, including information about the fragment and+-- contained media data.+--+-- 'producerTimestamp', 'fragment_producerTimestamp' - The timestamp from the producer corresponding to the fragment.+--+-- 'serverTimestamp', 'fragment_serverTimestamp' - The timestamp from the AWS server corresponding to the fragment.+newFragment ::+ Fragment+newFragment =+ Fragment'+ { fragmentLengthInMilliseconds =+ Prelude.Nothing,+ fragmentNumber = Prelude.Nothing,+ fragmentSizeInBytes = Prelude.Nothing,+ producerTimestamp = Prelude.Nothing,+ serverTimestamp = Prelude.Nothing+ }++-- | The playback duration or other time value associated with the fragment.+fragment_fragmentLengthInMilliseconds :: Lens.Lens' Fragment (Prelude.Maybe Prelude.Integer)+fragment_fragmentLengthInMilliseconds = Lens.lens (\Fragment' {fragmentLengthInMilliseconds} -> fragmentLengthInMilliseconds) (\s@Fragment' {} a -> s {fragmentLengthInMilliseconds = a} :: Fragment)++-- | The unique identifier of the fragment. This value monotonically+-- increases based on the ingestion order.+fragment_fragmentNumber :: Lens.Lens' Fragment (Prelude.Maybe Prelude.Text)+fragment_fragmentNumber = Lens.lens (\Fragment' {fragmentNumber} -> fragmentNumber) (\s@Fragment' {} a -> s {fragmentNumber = a} :: Fragment)++-- | The total fragment size, including information about the fragment and+-- contained media data.+fragment_fragmentSizeInBytes :: Lens.Lens' Fragment (Prelude.Maybe Prelude.Integer)+fragment_fragmentSizeInBytes = Lens.lens (\Fragment' {fragmentSizeInBytes} -> fragmentSizeInBytes) (\s@Fragment' {} a -> s {fragmentSizeInBytes = a} :: Fragment)++-- | The timestamp from the producer corresponding to the fragment.+fragment_producerTimestamp :: Lens.Lens' Fragment (Prelude.Maybe Prelude.UTCTime)+fragment_producerTimestamp = Lens.lens (\Fragment' {producerTimestamp} -> producerTimestamp) (\s@Fragment' {} a -> s {producerTimestamp = a} :: Fragment) Prelude.. Lens.mapping Data._Time++-- | The timestamp from the AWS server corresponding to the fragment.+fragment_serverTimestamp :: Lens.Lens' Fragment (Prelude.Maybe Prelude.UTCTime)+fragment_serverTimestamp = Lens.lens (\Fragment' {serverTimestamp} -> serverTimestamp) (\s@Fragment' {} a -> s {serverTimestamp = a} :: Fragment) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Fragment where+ parseJSON =+ Data.withObject+ "Fragment"+ ( \x ->+ Fragment'+ Prelude.<$> (x Data..:? "FragmentLengthInMilliseconds")+ Prelude.<*> (x Data..:? "FragmentNumber")+ Prelude.<*> (x Data..:? "FragmentSizeInBytes")+ Prelude.<*> (x Data..:? "ProducerTimestamp")+ Prelude.<*> (x Data..:? "ServerTimestamp")+ )++instance Prelude.Hashable Fragment where+ hashWithSalt _salt Fragment' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentLengthInMilliseconds+ `Prelude.hashWithSalt` fragmentNumber+ `Prelude.hashWithSalt` fragmentSizeInBytes+ `Prelude.hashWithSalt` producerTimestamp+ `Prelude.hashWithSalt` serverTimestamp++instance Prelude.NFData Fragment where+ rnf Fragment' {..} =+ Prelude.rnf fragmentLengthInMilliseconds+ `Prelude.seq` Prelude.rnf fragmentNumber+ `Prelude.seq` Prelude.rnf fragmentSizeInBytes+ `Prelude.seq` Prelude.rnf producerTimestamp+ `Prelude.seq` Prelude.rnf serverTimestamp
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/FragmentSelector.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange+import qualified Amazonka.Prelude as Prelude++-- | Describes the timestamp range and timestamp origin of a range of+-- fragments.+--+-- Only fragments with a start timestamp greater than or equal to the given+-- start time and less than or equal to the end time are returned. For+-- example, if a stream contains fragments with the following start+-- timestamps:+--+-- - 00:00:00+--+-- - 00:00:02+--+-- - 00:00:04+--+-- - 00:00:06+--+-- A fragment selector range with a start time of 00:00:01 and end time of+-- 00:00:04 would return the fragments with start times of 00:00:02 and+-- 00:00:04.+--+-- /See:/ 'newFragmentSelector' smart constructor.+data FragmentSelector = FragmentSelector'+ { -- | The origin of the timestamps to use (Server or Producer).+ fragmentSelectorType :: FragmentSelectorType,+ -- | The range of timestamps to return.+ timestampRange :: TimestampRange+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FragmentSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentSelectorType', 'fragmentSelector_fragmentSelectorType' - The origin of the timestamps to use (Server or Producer).+--+-- 'timestampRange', 'fragmentSelector_timestampRange' - The range of timestamps to return.+newFragmentSelector ::+ -- | 'fragmentSelectorType'+ FragmentSelectorType ->+ -- | 'timestampRange'+ TimestampRange ->+ FragmentSelector+newFragmentSelector+ pFragmentSelectorType_+ pTimestampRange_ =+ FragmentSelector'+ { fragmentSelectorType =+ pFragmentSelectorType_,+ timestampRange = pTimestampRange_+ }++-- | The origin of the timestamps to use (Server or Producer).+fragmentSelector_fragmentSelectorType :: Lens.Lens' FragmentSelector FragmentSelectorType+fragmentSelector_fragmentSelectorType = Lens.lens (\FragmentSelector' {fragmentSelectorType} -> fragmentSelectorType) (\s@FragmentSelector' {} a -> s {fragmentSelectorType = a} :: FragmentSelector)++-- | The range of timestamps to return.+fragmentSelector_timestampRange :: Lens.Lens' FragmentSelector TimestampRange+fragmentSelector_timestampRange = Lens.lens (\FragmentSelector' {timestampRange} -> timestampRange) (\s@FragmentSelector' {} a -> s {timestampRange = a} :: FragmentSelector)++instance Prelude.Hashable FragmentSelector where+ hashWithSalt _salt FragmentSelector' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentSelectorType+ `Prelude.hashWithSalt` timestampRange++instance Prelude.NFData FragmentSelector where+ rnf FragmentSelector' {..} =+ Prelude.rnf fragmentSelectorType+ `Prelude.seq` Prelude.rnf timestampRange++instance Data.ToJSON FragmentSelector where+ toJSON FragmentSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FragmentSelectorType"+ Data..= fragmentSelectorType+ ),+ Prelude.Just+ ("TimestampRange" Data..= timestampRange)+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/FragmentSelectorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.FragmentSelectorType+ ( FragmentSelectorType+ ( ..,+ FragmentSelectorType_PRODUCER_TIMESTAMP,+ FragmentSelectorType_SERVER_TIMESTAMP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FragmentSelectorType = FragmentSelectorType'+ { fromFragmentSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FragmentSelectorType_PRODUCER_TIMESTAMP :: FragmentSelectorType+pattern FragmentSelectorType_PRODUCER_TIMESTAMP = FragmentSelectorType' "PRODUCER_TIMESTAMP"++pattern FragmentSelectorType_SERVER_TIMESTAMP :: FragmentSelectorType+pattern FragmentSelectorType_SERVER_TIMESTAMP = FragmentSelectorType' "SERVER_TIMESTAMP"++{-# COMPLETE+ FragmentSelectorType_PRODUCER_TIMESTAMP,+ FragmentSelectorType_SERVER_TIMESTAMP,+ FragmentSelectorType'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSDiscontinuityMode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSDiscontinuityMode+ ( HLSDiscontinuityMode+ ( ..,+ HLSDiscontinuityMode_ALWAYS,+ HLSDiscontinuityMode_NEVER,+ HLSDiscontinuityMode_ON_DISCONTINUITY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HLSDiscontinuityMode = HLSDiscontinuityMode'+ { fromHLSDiscontinuityMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HLSDiscontinuityMode_ALWAYS :: HLSDiscontinuityMode+pattern HLSDiscontinuityMode_ALWAYS = HLSDiscontinuityMode' "ALWAYS"++pattern HLSDiscontinuityMode_NEVER :: HLSDiscontinuityMode+pattern HLSDiscontinuityMode_NEVER = HLSDiscontinuityMode' "NEVER"++pattern HLSDiscontinuityMode_ON_DISCONTINUITY :: HLSDiscontinuityMode+pattern HLSDiscontinuityMode_ON_DISCONTINUITY = HLSDiscontinuityMode' "ON_DISCONTINUITY"++{-# COMPLETE+ HLSDiscontinuityMode_ALWAYS,+ HLSDiscontinuityMode_NEVER,+ HLSDiscontinuityMode_ON_DISCONTINUITY,+ HLSDiscontinuityMode'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSDisplayFragmentTimestamp.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSDisplayFragmentTimestamp+ ( HLSDisplayFragmentTimestamp+ ( ..,+ HLSDisplayFragmentTimestamp_ALWAYS,+ HLSDisplayFragmentTimestamp_NEVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HLSDisplayFragmentTimestamp = HLSDisplayFragmentTimestamp'+ { fromHLSDisplayFragmentTimestamp ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HLSDisplayFragmentTimestamp_ALWAYS :: HLSDisplayFragmentTimestamp+pattern HLSDisplayFragmentTimestamp_ALWAYS = HLSDisplayFragmentTimestamp' "ALWAYS"++pattern HLSDisplayFragmentTimestamp_NEVER :: HLSDisplayFragmentTimestamp+pattern HLSDisplayFragmentTimestamp_NEVER = HLSDisplayFragmentTimestamp' "NEVER"++{-# COMPLETE+ HLSDisplayFragmentTimestamp_ALWAYS,+ HLSDisplayFragmentTimestamp_NEVER,+ HLSDisplayFragmentTimestamp'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSFragmentSelector.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType+import Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange+import qualified Amazonka.Prelude as Prelude++-- | Contains the range of timestamps for the requested media, and the source+-- of the timestamps.+--+-- /See:/ 'newHLSFragmentSelector' smart constructor.+data HLSFragmentSelector = HLSFragmentSelector'+ { -- | The source of the timestamps for the requested media.+ --+ -- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+ -- GetHLSStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+ -- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+ -- within the specified FragmentSelector$TimestampRange is included in the+ -- media playlist. In addition, the fragments with producer timestamps+ -- within the @TimestampRange@ ingested immediately following the first+ -- fragment (up to the+ -- GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value)+ -- are included.+ --+ -- Fragments that have duplicate producer timestamps are deduplicated. This+ -- means that if producers are producing a stream of fragments with+ -- producer timestamps that are approximately equal to the true clock time,+ -- the HLS media playlists will contain all of the fragments within the+ -- requested timestamp range. If some fragments are ingested within the+ -- same time range and very different points in time, only the oldest+ -- ingested collection of fragments are returned.+ --+ -- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+ -- GetHLSStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+ -- timestamps are used in the MP4 fragments and for deduplication. But the+ -- most recently ingested fragments based on server timestamps are included+ -- in the HLS media playlist. This means that even if fragments ingested in+ -- the past have producer timestamps with values now, they are not included+ -- in the HLS media playlist.+ --+ -- The default is @SERVER_TIMESTAMP@.+ fragmentSelectorType :: Prelude.Maybe HLSFragmentSelectorType,+ -- | The start and end of the timestamp range for the requested media.+ --+ -- This value should not be present if @PlaybackType@ is @LIVE@.+ timestampRange :: Prelude.Maybe HLSTimestampRange+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HLSFragmentSelector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fragmentSelectorType', 'hLSFragmentSelector_fragmentSelectorType' - The source of the timestamps for the requested media.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetHLSStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+-- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+-- within the specified FragmentSelector$TimestampRange is included in the+-- media playlist. In addition, the fragments with producer timestamps+-- within the @TimestampRange@ ingested immediately following the first+-- fragment (up to the+-- GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value)+-- are included.+--+-- Fragments that have duplicate producer timestamps are deduplicated. This+-- means that if producers are producing a stream of fragments with+-- producer timestamps that are approximately equal to the true clock time,+-- the HLS media playlists will contain all of the fragments within the+-- requested timestamp range. If some fragments are ingested within the+-- same time range and very different points in time, only the oldest+-- ingested collection of fragments are returned.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetHLSStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+-- timestamps are used in the MP4 fragments and for deduplication. But the+-- most recently ingested fragments based on server timestamps are included+-- in the HLS media playlist. This means that even if fragments ingested in+-- the past have producer timestamps with values now, they are not included+-- in the HLS media playlist.+--+-- The default is @SERVER_TIMESTAMP@.+--+-- 'timestampRange', 'hLSFragmentSelector_timestampRange' - The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+newHLSFragmentSelector ::+ HLSFragmentSelector+newHLSFragmentSelector =+ HLSFragmentSelector'+ { fragmentSelectorType =+ Prelude.Nothing,+ timestampRange = Prelude.Nothing+ }++-- | The source of the timestamps for the requested media.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetHLSStreamingSessionURLInput$PlaybackMode is @ON_DEMAND@ or+-- @LIVE_REPLAY@, the first fragment ingested with a producer timestamp+-- within the specified FragmentSelector$TimestampRange is included in the+-- media playlist. In addition, the fragments with producer timestamps+-- within the @TimestampRange@ ingested immediately following the first+-- fragment (up to the+-- GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value)+-- are included.+--+-- Fragments that have duplicate producer timestamps are deduplicated. This+-- means that if producers are producing a stream of fragments with+-- producer timestamps that are approximately equal to the true clock time,+-- the HLS media playlists will contain all of the fragments within the+-- requested timestamp range. If some fragments are ingested within the+-- same time range and very different points in time, only the oldest+-- ingested collection of fragments are returned.+--+-- When @FragmentSelectorType@ is set to @PRODUCER_TIMESTAMP@ and+-- GetHLSStreamingSessionURLInput$PlaybackMode is @LIVE@, the producer+-- timestamps are used in the MP4 fragments and for deduplication. But the+-- most recently ingested fragments based on server timestamps are included+-- in the HLS media playlist. This means that even if fragments ingested in+-- the past have producer timestamps with values now, they are not included+-- in the HLS media playlist.+--+-- The default is @SERVER_TIMESTAMP@.+hLSFragmentSelector_fragmentSelectorType :: Lens.Lens' HLSFragmentSelector (Prelude.Maybe HLSFragmentSelectorType)+hLSFragmentSelector_fragmentSelectorType = Lens.lens (\HLSFragmentSelector' {fragmentSelectorType} -> fragmentSelectorType) (\s@HLSFragmentSelector' {} a -> s {fragmentSelectorType = a} :: HLSFragmentSelector)++-- | The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+hLSFragmentSelector_timestampRange :: Lens.Lens' HLSFragmentSelector (Prelude.Maybe HLSTimestampRange)+hLSFragmentSelector_timestampRange = Lens.lens (\HLSFragmentSelector' {timestampRange} -> timestampRange) (\s@HLSFragmentSelector' {} a -> s {timestampRange = a} :: HLSFragmentSelector)++instance Prelude.Hashable HLSFragmentSelector where+ hashWithSalt _salt HLSFragmentSelector' {..} =+ _salt+ `Prelude.hashWithSalt` fragmentSelectorType+ `Prelude.hashWithSalt` timestampRange++instance Prelude.NFData HLSFragmentSelector where+ rnf HLSFragmentSelector' {..} =+ Prelude.rnf fragmentSelectorType+ `Prelude.seq` Prelude.rnf timestampRange++instance Data.ToJSON HLSFragmentSelector where+ toJSON HLSFragmentSelector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FragmentSelectorType" Data..=)+ Prelude.<$> fragmentSelectorType,+ ("TimestampRange" Data..=)+ Prelude.<$> timestampRange+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSFragmentSelectorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSFragmentSelectorType+ ( HLSFragmentSelectorType+ ( ..,+ HLSFragmentSelectorType_PRODUCER_TIMESTAMP,+ HLSFragmentSelectorType_SERVER_TIMESTAMP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HLSFragmentSelectorType = HLSFragmentSelectorType'+ { fromHLSFragmentSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HLSFragmentSelectorType_PRODUCER_TIMESTAMP :: HLSFragmentSelectorType+pattern HLSFragmentSelectorType_PRODUCER_TIMESTAMP = HLSFragmentSelectorType' "PRODUCER_TIMESTAMP"++pattern HLSFragmentSelectorType_SERVER_TIMESTAMP :: HLSFragmentSelectorType+pattern HLSFragmentSelectorType_SERVER_TIMESTAMP = HLSFragmentSelectorType' "SERVER_TIMESTAMP"++{-# COMPLETE+ HLSFragmentSelectorType_PRODUCER_TIMESTAMP,+ HLSFragmentSelectorType_SERVER_TIMESTAMP,+ HLSFragmentSelectorType'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSPlaybackMode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSPlaybackMode+ ( HLSPlaybackMode+ ( ..,+ HLSPlaybackMode_LIVE,+ HLSPlaybackMode_LIVE_REPLAY,+ HLSPlaybackMode_ON_DEMAND+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HLSPlaybackMode = HLSPlaybackMode'+ { fromHLSPlaybackMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HLSPlaybackMode_LIVE :: HLSPlaybackMode+pattern HLSPlaybackMode_LIVE = HLSPlaybackMode' "LIVE"++pattern HLSPlaybackMode_LIVE_REPLAY :: HLSPlaybackMode+pattern HLSPlaybackMode_LIVE_REPLAY = HLSPlaybackMode' "LIVE_REPLAY"++pattern HLSPlaybackMode_ON_DEMAND :: HLSPlaybackMode+pattern HLSPlaybackMode_ON_DEMAND = HLSPlaybackMode' "ON_DEMAND"++{-# COMPLETE+ HLSPlaybackMode_LIVE,+ HLSPlaybackMode_LIVE_REPLAY,+ HLSPlaybackMode_ON_DEMAND,+ HLSPlaybackMode'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/HLSTimestampRange.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.HLSTimestampRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The start and end of the timestamp range for the requested media.+--+-- This value should not be present if @PlaybackType@ is @LIVE@.+--+-- /See:/ 'newHLSTimestampRange' smart constructor.+data HLSTimestampRange = HLSTimestampRange'+ { -- | The end of the timestamp range for the requested media. This value must+ -- be within 24 hours of the specified @StartTimestamp@, and it must be+ -- later than the @StartTimestamp@ value.+ --+ -- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+ -- value must be in the past.+ --+ -- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+ -- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+ -- @LIVE_REPLAY@ mode then the session will continue to include newly+ -- ingested fragments until the session expires.+ --+ -- This value is inclusive. The @EndTimestamp@ is compared to the+ -- (starting) timestamp of the fragment. Fragments that start before the+ -- @EndTimestamp@ value and continue past it are included in the session.+ endTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The start of the timestamp range for the requested media.+ --+ -- If the @HLSTimestampRange@ value is specified, the @StartTimestamp@+ -- value is required.+ --+ -- Only fragments that start exactly at or after @StartTimestamp@ are+ -- included in the session. Fragments that start before @StartTimestamp@+ -- and continue past it aren\'t included in the session. If+ -- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+ -- be later than the stream head.+ startTimestamp :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HLSTimestampRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTimestamp', 'hLSTimestampRange_endTimestamp' - The end of the timestamp range for the requested media. This value must+-- be within 24 hours of the specified @StartTimestamp@, and it must be+-- later than the @StartTimestamp@ value.+--+-- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+-- value must be in the past.+--+-- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+-- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+-- @LIVE_REPLAY@ mode then the session will continue to include newly+-- ingested fragments until the session expires.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+--+-- 'startTimestamp', 'hLSTimestampRange_startTimestamp' - The start of the timestamp range for the requested media.+--+-- If the @HLSTimestampRange@ value is specified, the @StartTimestamp@+-- value is required.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+newHLSTimestampRange ::+ HLSTimestampRange+newHLSTimestampRange =+ HLSTimestampRange'+ { endTimestamp = Prelude.Nothing,+ startTimestamp = Prelude.Nothing+ }++-- | The end of the timestamp range for the requested media. This value must+-- be within 24 hours of the specified @StartTimestamp@, and it must be+-- later than the @StartTimestamp@ value.+--+-- If @FragmentSelectorType@ for the request is @SERVER_TIMESTAMP@, this+-- value must be in the past.+--+-- The @EndTimestamp@ value is required for @ON_DEMAND@ mode, but optional+-- for @LIVE_REPLAY@ mode. If the @EndTimestamp@ is not set for+-- @LIVE_REPLAY@ mode then the session will continue to include newly+-- ingested fragments until the session expires.+--+-- This value is inclusive. The @EndTimestamp@ is compared to the+-- (starting) timestamp of the fragment. Fragments that start before the+-- @EndTimestamp@ value and continue past it are included in the session.+hLSTimestampRange_endTimestamp :: Lens.Lens' HLSTimestampRange (Prelude.Maybe Prelude.UTCTime)+hLSTimestampRange_endTimestamp = Lens.lens (\HLSTimestampRange' {endTimestamp} -> endTimestamp) (\s@HLSTimestampRange' {} a -> s {endTimestamp = a} :: HLSTimestampRange) Prelude.. Lens.mapping Data._Time++-- | The start of the timestamp range for the requested media.+--+-- If the @HLSTimestampRange@ value is specified, the @StartTimestamp@+-- value is required.+--+-- Only fragments that start exactly at or after @StartTimestamp@ are+-- included in the session. Fragments that start before @StartTimestamp@+-- and continue past it aren\'t included in the session. If+-- @FragmentSelectorType@ is @SERVER_TIMESTAMP@, the @StartTimestamp@ must+-- be later than the stream head.+hLSTimestampRange_startTimestamp :: Lens.Lens' HLSTimestampRange (Prelude.Maybe Prelude.UTCTime)+hLSTimestampRange_startTimestamp = Lens.lens (\HLSTimestampRange' {startTimestamp} -> startTimestamp) (\s@HLSTimestampRange' {} a -> s {startTimestamp = a} :: HLSTimestampRange) Prelude.. Lens.mapping Data._Time++instance Prelude.Hashable HLSTimestampRange where+ hashWithSalt _salt HLSTimestampRange' {..} =+ _salt+ `Prelude.hashWithSalt` endTimestamp+ `Prelude.hashWithSalt` startTimestamp++instance Prelude.NFData HLSTimestampRange where+ rnf HLSTimestampRange' {..} =+ Prelude.rnf endTimestamp+ `Prelude.seq` Prelude.rnf startTimestamp++instance Data.ToJSON HLSTimestampRange where+ toJSON HLSTimestampRange' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EndTimestamp" Data..=) Prelude.<$> endTimestamp,+ ("StartTimestamp" Data..=)+ Prelude.<$> startTimestamp+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/Image.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.Image+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.Image where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Types.ImageError+import qualified Amazonka.Prelude as Prelude++-- | A structure that contains the @Timestamp@, @Error@, and @ImageContent@.+--+-- /See:/ 'newImage' smart constructor.+data Image = Image'+ { -- | The error message shown when the image for the provided timestamp was+ -- not extracted due to a non-tryable error. An error will be returned if:+ --+ -- - There is no media that exists for the specified @Timestamp@.+ --+ -- - The media for the specified time does not allow an image to be+ -- extracted. In this case the media is audio only, or the incorrect+ -- media has been ingested.+ error :: Prelude.Maybe ImageError,+ -- | An attribute of the @Image@ object that is Base64 encoded.+ imageContent :: Prelude.Maybe Prelude.Text,+ -- | An attribute of the @Image@ object that is used to extract an image from+ -- the video stream. This field is used to manage gaps on images or to+ -- better understand the pagination window.+ timeStamp :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Image' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'image_error' - The error message shown when the image for the provided timestamp was+-- not extracted due to a non-tryable error. An error will be returned if:+--+-- - There is no media that exists for the specified @Timestamp@.+--+-- - The media for the specified time does not allow an image to be+-- extracted. In this case the media is audio only, or the incorrect+-- media has been ingested.+--+-- 'imageContent', 'image_imageContent' - An attribute of the @Image@ object that is Base64 encoded.+--+-- 'timeStamp', 'image_timeStamp' - An attribute of the @Image@ object that is used to extract an image from+-- the video stream. This field is used to manage gaps on images or to+-- better understand the pagination window.+newImage ::+ Image+newImage =+ Image'+ { error = Prelude.Nothing,+ imageContent = Prelude.Nothing,+ timeStamp = Prelude.Nothing+ }++-- | The error message shown when the image for the provided timestamp was+-- not extracted due to a non-tryable error. An error will be returned if:+--+-- - There is no media that exists for the specified @Timestamp@.+--+-- - The media for the specified time does not allow an image to be+-- extracted. In this case the media is audio only, or the incorrect+-- media has been ingested.+image_error :: Lens.Lens' Image (Prelude.Maybe ImageError)+image_error = Lens.lens (\Image' {error} -> error) (\s@Image' {} a -> s {error = a} :: Image)++-- | An attribute of the @Image@ object that is Base64 encoded.+image_imageContent :: Lens.Lens' Image (Prelude.Maybe Prelude.Text)+image_imageContent = Lens.lens (\Image' {imageContent} -> imageContent) (\s@Image' {} a -> s {imageContent = a} :: Image)++-- | An attribute of the @Image@ object that is used to extract an image from+-- the video stream. This field is used to manage gaps on images or to+-- better understand the pagination window.+image_timeStamp :: Lens.Lens' Image (Prelude.Maybe Prelude.UTCTime)+image_timeStamp = Lens.lens (\Image' {timeStamp} -> timeStamp) (\s@Image' {} a -> s {timeStamp = a} :: Image) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Image where+ parseJSON =+ Data.withObject+ "Image"+ ( \x ->+ Image'+ Prelude.<$> (x Data..:? "Error")+ Prelude.<*> (x Data..:? "ImageContent")+ Prelude.<*> (x Data..:? "TimeStamp")+ )++instance Prelude.Hashable Image where+ hashWithSalt _salt Image' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` imageContent+ `Prelude.hashWithSalt` timeStamp++instance Prelude.NFData Image where+ rnf Image' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf imageContent+ `Prelude.seq` Prelude.rnf timeStamp
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ImageError.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ImageError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ImageError+ ( ImageError+ ( ..,+ ImageError_MEDIA_ERROR,+ ImageError_NO_MEDIA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImageError = ImageError'+ { fromImageError ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ImageError_MEDIA_ERROR :: ImageError+pattern ImageError_MEDIA_ERROR = ImageError' "MEDIA_ERROR"++pattern ImageError_NO_MEDIA :: ImageError+pattern ImageError_NO_MEDIA = ImageError' "NO_MEDIA"++{-# COMPLETE+ ImageError_MEDIA_ERROR,+ ImageError_NO_MEDIA,+ ImageError'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/ImageSelectorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.ImageSelectorType+ ( ImageSelectorType+ ( ..,+ ImageSelectorType_PRODUCER_TIMESTAMP,+ ImageSelectorType_SERVER_TIMESTAMP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImageSelectorType = ImageSelectorType'+ { fromImageSelectorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ImageSelectorType_PRODUCER_TIMESTAMP :: ImageSelectorType+pattern ImageSelectorType_PRODUCER_TIMESTAMP = ImageSelectorType' "PRODUCER_TIMESTAMP"++pattern ImageSelectorType_SERVER_TIMESTAMP :: ImageSelectorType+pattern ImageSelectorType_SERVER_TIMESTAMP = ImageSelectorType' "SERVER_TIMESTAMP"++{-# COMPLETE+ ImageSelectorType_PRODUCER_TIMESTAMP,+ ImageSelectorType_SERVER_TIMESTAMP,+ ImageSelectorType'+ #-}
+ gen/Amazonka/KinesisVideoArchivedMedia/Types/TimestampRange.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Types.TimestampRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The range of timestamps for which to return fragments.+--+-- /See:/ 'newTimestampRange' smart constructor.+data TimestampRange = TimestampRange'+ { -- | The starting timestamp in the range of timestamps for which to return+ -- fragments.+ startTimestamp :: Data.POSIX,+ -- | The ending timestamp in the range of timestamps for which to return+ -- fragments.+ endTimestamp :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimestampRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startTimestamp', 'timestampRange_startTimestamp' - The starting timestamp in the range of timestamps for which to return+-- fragments.+--+-- 'endTimestamp', 'timestampRange_endTimestamp' - The ending timestamp in the range of timestamps for which to return+-- fragments.+newTimestampRange ::+ -- | 'startTimestamp'+ Prelude.UTCTime ->+ -- | 'endTimestamp'+ Prelude.UTCTime ->+ TimestampRange+newTimestampRange pStartTimestamp_ pEndTimestamp_ =+ TimestampRange'+ { startTimestamp =+ Data._Time Lens.# pStartTimestamp_,+ endTimestamp = Data._Time Lens.# pEndTimestamp_+ }++-- | The starting timestamp in the range of timestamps for which to return+-- fragments.+timestampRange_startTimestamp :: Lens.Lens' TimestampRange Prelude.UTCTime+timestampRange_startTimestamp = Lens.lens (\TimestampRange' {startTimestamp} -> startTimestamp) (\s@TimestampRange' {} a -> s {startTimestamp = a} :: TimestampRange) Prelude.. Data._Time++-- | The ending timestamp in the range of timestamps for which to return+-- fragments.+timestampRange_endTimestamp :: Lens.Lens' TimestampRange Prelude.UTCTime+timestampRange_endTimestamp = Lens.lens (\TimestampRange' {endTimestamp} -> endTimestamp) (\s@TimestampRange' {} a -> s {endTimestamp = a} :: TimestampRange) Prelude.. Data._Time++instance Prelude.Hashable TimestampRange where+ hashWithSalt _salt TimestampRange' {..} =+ _salt+ `Prelude.hashWithSalt` startTimestamp+ `Prelude.hashWithSalt` endTimestamp++instance Prelude.NFData TimestampRange where+ rnf TimestampRange' {..} =+ Prelude.rnf startTimestamp+ `Prelude.seq` Prelude.rnf endTimestamp++instance Data.ToJSON TimestampRange where+ toJSON TimestampRange' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("StartTimestamp" Data..= startTimestamp),+ Prelude.Just ("EndTimestamp" Data..= endTimestamp)+ ]+ )
+ gen/Amazonka/KinesisVideoArchivedMedia/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.KinesisVideoArchivedMedia.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KinesisVideoArchivedMedia.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KinesisVideoArchivedMedia.Lens+import Amazonka.KinesisVideoArchivedMedia.Types+import qualified Amazonka.Prelude as Prelude
− gen/Network/AWS/KinesisVideoArchivedMedia.hs
@@ -1,109 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)-------------module Network.AWS.KinesisVideoArchivedMedia- (- -- * Service Configuration- kinesisVideoArchivedMedia-- -- * Errors- -- $errors-- -- ** InvalidArgumentException- , _InvalidArgumentException-- -- ** NotAuthorizedException- , _NotAuthorizedException-- -- ** ClientLimitExceededException- , _ClientLimitExceededException-- -- ** ResourceNotFoundException- , _ResourceNotFoundException-- -- * Waiters- -- $waiters-- -- * Operations- -- $operations-- -- ** GetMediaForFragmentList- , module Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList-- -- ** ListFragments- , module Network.AWS.KinesisVideoArchivedMedia.ListFragments-- -- * Types-- -- ** FragmentSelectorType- , FragmentSelectorType (..)-- -- ** Fragment- , Fragment- , fragment- , fFragmentLengthInMilliseconds- , fServerTimestamp- , fFragmentSizeInBytes- , fFragmentNumber- , fProducerTimestamp-- -- ** FragmentSelector- , FragmentSelector- , fragmentSelector- , fsFragmentSelectorType- , fsTimestampRange-- -- ** TimestampRange- , TimestampRange- , timestampRange- , trStartTimestamp- , trEndTimestamp- ) where--import Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList-import Network.AWS.KinesisVideoArchivedMedia.ListFragments-import Network.AWS.KinesisVideoArchivedMedia.Types-import Network.AWS.KinesisVideoArchivedMedia.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'KinesisVideoArchivedMedia'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/KinesisVideoArchivedMedia/GetMediaForFragmentList.hs
@@ -1,157 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Gets media for a list of fragments (specified by fragment number) from the archived data in a Kinesis video stream.--------- The following limits apply when using the @GetMediaForFragmentList@ API:------ * A client can call @GetMediaForFragmentList@ up to five times per second per stream.------ * Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a @GetMediaForFragmentList@ session.----------module Network.AWS.KinesisVideoArchivedMedia.GetMediaForFragmentList- (- -- * Creating a Request- getMediaForFragmentList- , GetMediaForFragmentList- -- * Request Lenses- , gmfflStreamName- , gmfflFragments-- -- * Destructuring the Response- , getMediaForFragmentListResponse- , GetMediaForFragmentListResponse- -- * Response Lenses- , gmfflrsContentType- , gmfflrsResponseStatus- , gmfflrsPayload- ) where--import Network.AWS.KinesisVideoArchivedMedia.Types-import Network.AWS.KinesisVideoArchivedMedia.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'getMediaForFragmentList' smart constructor.-data GetMediaForFragmentList = GetMediaForFragmentList'- { _gmfflStreamName :: !Text- , _gmfflFragments :: ![Text]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetMediaForFragmentList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmfflStreamName' - The name of the stream from which to retrieve fragment media.------ * 'gmfflFragments' - A list of the numbers of fragments for which to retrieve media. You retrieve these values with 'ListFragments' .-getMediaForFragmentList- :: Text -- ^ 'gmfflStreamName'- -> GetMediaForFragmentList-getMediaForFragmentList pStreamName_ =- GetMediaForFragmentList'- {_gmfflStreamName = pStreamName_, _gmfflFragments = mempty}----- | The name of the stream from which to retrieve fragment media.-gmfflStreamName :: Lens' GetMediaForFragmentList Text-gmfflStreamName = lens _gmfflStreamName (\ s a -> s{_gmfflStreamName = a})---- | A list of the numbers of fragments for which to retrieve media. You retrieve these values with 'ListFragments' .-gmfflFragments :: Lens' GetMediaForFragmentList [Text]-gmfflFragments = lens _gmfflFragments (\ s a -> s{_gmfflFragments = a}) . _Coerce--instance AWSRequest GetMediaForFragmentList where- type Rs GetMediaForFragmentList =- GetMediaForFragmentListResponse- request = postJSON kinesisVideoArchivedMedia- response- = receiveBody- (\ s h x ->- GetMediaForFragmentListResponse' <$>- (h .#? "Content-Type") <*> (pure (fromEnum s)) <*>- (pure x))--instance Hashable GetMediaForFragmentList where--instance NFData GetMediaForFragmentList where--instance ToHeaders GetMediaForFragmentList where- toHeaders = const mempty--instance ToJSON GetMediaForFragmentList where- toJSON GetMediaForFragmentList'{..}- = object- (catMaybes- [Just ("StreamName" .= _gmfflStreamName),- Just ("Fragments" .= _gmfflFragments)])--instance ToPath GetMediaForFragmentList where- toPath = const "/getMediaForFragmentList"--instance ToQuery GetMediaForFragmentList where- toQuery = const mempty---- | /See:/ 'getMediaForFragmentListResponse' smart constructor.-data GetMediaForFragmentListResponse = GetMediaForFragmentListResponse'- { _gmfflrsContentType :: !(Maybe Text)- , _gmfflrsResponseStatus :: !Int- , _gmfflrsPayload :: !RsBody- } deriving (Show, Generic)----- | Creates a value of 'GetMediaForFragmentListResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmfflrsContentType' - The content type of the requested media.------ * 'gmfflrsResponseStatus' - -- | The response status code.------ * 'gmfflrsPayload' - The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see <docs.aws.amazon.com/acuity/latest/dg/API_dataplane_PutMedia.html PutMedia> . The chunks that Kinesis Video Streams returns in the @GetMediaForFragmentList@ call also include the following additional Matroska (MKV) tags: * AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk. * AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side time stamp of the fragment. * AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side time stamp of the fragment. The following tags will be included if an exception occurs: * AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception * AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception * AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception-getMediaForFragmentListResponse- :: Int -- ^ 'gmfflrsResponseStatus'- -> RsBody -- ^ 'gmfflrsPayload'- -> GetMediaForFragmentListResponse-getMediaForFragmentListResponse pResponseStatus_ pPayload_ =- GetMediaForFragmentListResponse'- { _gmfflrsContentType = Nothing- , _gmfflrsResponseStatus = pResponseStatus_- , _gmfflrsPayload = pPayload_- }----- | The content type of the requested media.-gmfflrsContentType :: Lens' GetMediaForFragmentListResponse (Maybe Text)-gmfflrsContentType = lens _gmfflrsContentType (\ s a -> s{_gmfflrsContentType = a})---- | -- | The response status code.-gmfflrsResponseStatus :: Lens' GetMediaForFragmentListResponse Int-gmfflrsResponseStatus = lens _gmfflrsResponseStatus (\ s a -> s{_gmfflrsResponseStatus = a})---- | The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see <docs.aws.amazon.com/acuity/latest/dg/API_dataplane_PutMedia.html PutMedia> . The chunks that Kinesis Video Streams returns in the @GetMediaForFragmentList@ call also include the following additional Matroska (MKV) tags: * AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk. * AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side time stamp of the fragment. * AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side time stamp of the fragment. The following tags will be included if an exception occurs: * AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception * AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception * AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception-gmfflrsPayload :: Lens' GetMediaForFragmentListResponse RsBody-gmfflrsPayload = lens _gmfflrsPayload (\ s a -> s{_gmfflrsPayload = a})
− gen/Network/AWS/KinesisVideoArchivedMedia/ListFragments.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.ListFragments--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns a list of 'Fragment' objects from the specified stream and start location within the archived data.-------module Network.AWS.KinesisVideoArchivedMedia.ListFragments- (- -- * Creating a Request- listFragments- , ListFragments- -- * Request Lenses- , lfFragmentSelector- , lfNextToken- , lfMaxResults- , lfStreamName-- -- * Destructuring the Response- , listFragmentsResponse- , ListFragmentsResponse- -- * Response Lenses- , lfrsNextToken- , lfrsFragments- , lfrsResponseStatus- ) where--import Network.AWS.KinesisVideoArchivedMedia.Types-import Network.AWS.KinesisVideoArchivedMedia.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'listFragments' smart constructor.-data ListFragments = ListFragments'- { _lfFragmentSelector :: !(Maybe FragmentSelector)- , _lfNextToken :: !(Maybe Text)- , _lfMaxResults :: !(Maybe Nat)- , _lfStreamName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListFragments' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lfFragmentSelector' - Describes the time stamp range and time stamp origin for the range of fragments to return.------ * 'lfNextToken' - A token to specify where to start paginating. This is the 'ListFragmentsOutput$NextToken' from a previously truncated response.------ * 'lfMaxResults' - The total number of fragments to return. If the total number of fragments available is more than the value specified in @max-results@ , then a 'ListFragmentsOutput$NextToken' is provided in the output that you can use to resume pagination.------ * 'lfStreamName' - The name of the stream from which to retrieve a fragment list.-listFragments- :: Text -- ^ 'lfStreamName'- -> ListFragments-listFragments pStreamName_ =- ListFragments'- { _lfFragmentSelector = Nothing- , _lfNextToken = Nothing- , _lfMaxResults = Nothing- , _lfStreamName = pStreamName_- }----- | Describes the time stamp range and time stamp origin for the range of fragments to return.-lfFragmentSelector :: Lens' ListFragments (Maybe FragmentSelector)-lfFragmentSelector = lens _lfFragmentSelector (\ s a -> s{_lfFragmentSelector = a})---- | A token to specify where to start paginating. This is the 'ListFragmentsOutput$NextToken' from a previously truncated response.-lfNextToken :: Lens' ListFragments (Maybe Text)-lfNextToken = lens _lfNextToken (\ s a -> s{_lfNextToken = a})---- | The total number of fragments to return. If the total number of fragments available is more than the value specified in @max-results@ , then a 'ListFragmentsOutput$NextToken' is provided in the output that you can use to resume pagination.-lfMaxResults :: Lens' ListFragments (Maybe Natural)-lfMaxResults = lens _lfMaxResults (\ s a -> s{_lfMaxResults = a}) . mapping _Nat---- | The name of the stream from which to retrieve a fragment list.-lfStreamName :: Lens' ListFragments Text-lfStreamName = lens _lfStreamName (\ s a -> s{_lfStreamName = a})--instance AWSRequest ListFragments where- type Rs ListFragments = ListFragmentsResponse- request = postJSON kinesisVideoArchivedMedia- response- = receiveJSON- (\ s h x ->- ListFragmentsResponse' <$>- (x .?> "NextToken") <*>- (x .?> "Fragments" .!@ mempty)- <*> (pure (fromEnum s)))--instance Hashable ListFragments where--instance NFData ListFragments where--instance ToHeaders ListFragments where- toHeaders = const mempty--instance ToJSON ListFragments where- toJSON ListFragments'{..}- = object- (catMaybes- [("FragmentSelector" .=) <$> _lfFragmentSelector,- ("NextToken" .=) <$> _lfNextToken,- ("MaxResults" .=) <$> _lfMaxResults,- Just ("StreamName" .= _lfStreamName)])--instance ToPath ListFragments where- toPath = const "/listFragments"--instance ToQuery ListFragments where- toQuery = const mempty---- | /See:/ 'listFragmentsResponse' smart constructor.-data ListFragmentsResponse = ListFragmentsResponse'- { _lfrsNextToken :: !(Maybe Text)- , _lfrsFragments :: !(Maybe [Fragment])- , _lfrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListFragmentsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lfrsNextToken' - If the returned list is truncated, the operation returns this token to use to retrieve the next page of results. This value is @null@ when there are no more results to return.------ * 'lfrsFragments' - A list of fragment numbers that correspond to the time stamp range provided.------ * 'lfrsResponseStatus' - -- | The response status code.-listFragmentsResponse- :: Int -- ^ 'lfrsResponseStatus'- -> ListFragmentsResponse-listFragmentsResponse pResponseStatus_ =- ListFragmentsResponse'- { _lfrsNextToken = Nothing- , _lfrsFragments = Nothing- , _lfrsResponseStatus = pResponseStatus_- }----- | If the returned list is truncated, the operation returns this token to use to retrieve the next page of results. This value is @null@ when there are no more results to return.-lfrsNextToken :: Lens' ListFragmentsResponse (Maybe Text)-lfrsNextToken = lens _lfrsNextToken (\ s a -> s{_lfrsNextToken = a})---- | A list of fragment numbers that correspond to the time stamp range provided.-lfrsFragments :: Lens' ListFragmentsResponse [Fragment]-lfrsFragments = lens _lfrsFragments (\ s a -> s{_lfrsFragments = a}) . _Default . _Coerce---- | -- | The response status code.-lfrsResponseStatus :: Lens' ListFragmentsResponse Int-lfrsResponseStatus = lens _lfrsResponseStatus (\ s a -> s{_lfrsResponseStatus = a})--instance NFData ListFragmentsResponse where
− gen/Network/AWS/KinesisVideoArchivedMedia/Types.hs
@@ -1,128 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.Types--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.KinesisVideoArchivedMedia.Types- (- -- * Service Configuration- kinesisVideoArchivedMedia-- -- * Errors- , _InvalidArgumentException- , _NotAuthorizedException- , _ClientLimitExceededException- , _ResourceNotFoundException-- -- * FragmentSelectorType- , FragmentSelectorType (..)-- -- * Fragment- , Fragment- , fragment- , fFragmentLengthInMilliseconds- , fServerTimestamp- , fFragmentSizeInBytes- , fFragmentNumber- , fProducerTimestamp-- -- * FragmentSelector- , FragmentSelector- , fragmentSelector- , fsFragmentSelectorType- , fsTimestampRange-- -- * TimestampRange- , TimestampRange- , timestampRange- , trStartTimestamp- , trEndTimestamp- ) where--import Network.AWS.KinesisVideoArchivedMedia.Types.Product-import Network.AWS.KinesisVideoArchivedMedia.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Sign.V4---- | API version @2017-09-30@ of the Amazon Kinesis Video Streams Archived Media SDK configuration.-kinesisVideoArchivedMedia :: Service-kinesisVideoArchivedMedia =- Service- { _svcAbbrev = "KinesisVideoArchivedMedia"- , _svcSigner = v4- , _svcPrefix = "kinesisvideo"- , _svcVersion = "2017-09-30"- , _svcEndpoint = defaultEndpoint kinesisVideoArchivedMedia- , _svcTimeout = Just 70- , _svcCheck = statusSuccess- , _svcError = parseJSONError "KinesisVideoArchivedMedia"- , _svcRetry = retry- }- where- retry =- Exponential- { _retryBase = 5.0e-2- , _retryGrowth = 2- , _retryAttempts = 5- , _retryCheck = check- }- check e- | has (hasCode "ThrottledException" . hasStatus 400) e =- Just "throttled_exception"- | has (hasStatus 429) e = Just "too_many_requests"- | has (hasCode "ThrottlingException" . hasStatus 400) e =- Just "throttling_exception"- | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"- | has (hasStatus 504) e = Just "gateway_timeout"- | has (hasCode "RequestThrottledException" . hasStatus 400) e =- Just "request_throttled_exception"- | has (hasStatus 502) e = Just "bad_gateway"- | has (hasStatus 503) e = Just "service_unavailable"- | has (hasStatus 500) e = Just "general_server_error"- | has (hasStatus 509) e = Just "limit_exceeded"- | otherwise = Nothing----- | A specified parameter exceeds its restrictions, is not supported, or can't be used.-------_InvalidArgumentException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidArgumentException =- _MatchServiceError kinesisVideoArchivedMedia "InvalidArgumentException" .- hasStatus 400----- | Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.-------_NotAuthorizedException :: AsError a => Getting (First ServiceError) a ServiceError-_NotAuthorizedException =- _MatchServiceError kinesisVideoArchivedMedia "NotAuthorizedException" .- hasStatus 401----- | Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.-------_ClientLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_ClientLimitExceededException =- _MatchServiceError kinesisVideoArchivedMedia "ClientLimitExceededException" .- hasStatus 400----- | Kinesis Video Streams can't find the stream that you specified.-------_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_ResourceNotFoundException =- _MatchServiceError kinesisVideoArchivedMedia "ResourceNotFoundException" .- hasStatus 404-
− gen/Network/AWS/KinesisVideoArchivedMedia/Types/Product.hs
@@ -1,193 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.Types.Product--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.KinesisVideoArchivedMedia.Types.Product where--import Network.AWS.KinesisVideoArchivedMedia.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Represents a segment of video or other time-delimited data.------------ /See:/ 'fragment' smart constructor.-data Fragment = Fragment'- { _fFragmentLengthInMilliseconds :: !(Maybe Integer)- , _fServerTimestamp :: !(Maybe POSIX)- , _fFragmentSizeInBytes :: !(Maybe Integer)- , _fFragmentNumber :: !(Maybe Text)- , _fProducerTimestamp :: !(Maybe POSIX)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Fragment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fFragmentLengthInMilliseconds' - The playback duration or other time value associated with the fragment.------ * 'fServerTimestamp' - The time stamp from the AWS server corresponding to the fragment.------ * 'fFragmentSizeInBytes' - The total fragment size, including information about the fragment and contained media data.------ * 'fFragmentNumber' - The index value of the fragment.------ * 'fProducerTimestamp' - The time stamp from the producer corresponding to the fragment.-fragment- :: Fragment-fragment =- Fragment'- { _fFragmentLengthInMilliseconds = Nothing- , _fServerTimestamp = Nothing- , _fFragmentSizeInBytes = Nothing- , _fFragmentNumber = Nothing- , _fProducerTimestamp = Nothing- }----- | The playback duration or other time value associated with the fragment.-fFragmentLengthInMilliseconds :: Lens' Fragment (Maybe Integer)-fFragmentLengthInMilliseconds = lens _fFragmentLengthInMilliseconds (\ s a -> s{_fFragmentLengthInMilliseconds = a})---- | The time stamp from the AWS server corresponding to the fragment.-fServerTimestamp :: Lens' Fragment (Maybe UTCTime)-fServerTimestamp = lens _fServerTimestamp (\ s a -> s{_fServerTimestamp = a}) . mapping _Time---- | The total fragment size, including information about the fragment and contained media data.-fFragmentSizeInBytes :: Lens' Fragment (Maybe Integer)-fFragmentSizeInBytes = lens _fFragmentSizeInBytes (\ s a -> s{_fFragmentSizeInBytes = a})---- | The index value of the fragment.-fFragmentNumber :: Lens' Fragment (Maybe Text)-fFragmentNumber = lens _fFragmentNumber (\ s a -> s{_fFragmentNumber = a})---- | The time stamp from the producer corresponding to the fragment.-fProducerTimestamp :: Lens' Fragment (Maybe UTCTime)-fProducerTimestamp = lens _fProducerTimestamp (\ s a -> s{_fProducerTimestamp = a}) . mapping _Time--instance FromJSON Fragment where- parseJSON- = withObject "Fragment"- (\ x ->- Fragment' <$>- (x .:? "FragmentLengthInMilliseconds") <*>- (x .:? "ServerTimestamp")- <*> (x .:? "FragmentSizeInBytes")- <*> (x .:? "FragmentNumber")- <*> (x .:? "ProducerTimestamp"))--instance Hashable Fragment where--instance NFData Fragment where---- | Describes the time stamp range and time stamp origin of a range of fragments.------------ /See:/ 'fragmentSelector' smart constructor.-data FragmentSelector = FragmentSelector'- { _fsFragmentSelectorType :: !FragmentSelectorType- , _fsTimestampRange :: !TimestampRange- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FragmentSelector' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fsFragmentSelectorType' - The origin of the time stamps to use (Server or Producer).------ * 'fsTimestampRange' - The range of time stamps to return.-fragmentSelector- :: FragmentSelectorType -- ^ 'fsFragmentSelectorType'- -> TimestampRange -- ^ 'fsTimestampRange'- -> FragmentSelector-fragmentSelector pFragmentSelectorType_ pTimestampRange_ =- FragmentSelector'- { _fsFragmentSelectorType = pFragmentSelectorType_- , _fsTimestampRange = pTimestampRange_- }----- | The origin of the time stamps to use (Server or Producer).-fsFragmentSelectorType :: Lens' FragmentSelector FragmentSelectorType-fsFragmentSelectorType = lens _fsFragmentSelectorType (\ s a -> s{_fsFragmentSelectorType = a})---- | The range of time stamps to return.-fsTimestampRange :: Lens' FragmentSelector TimestampRange-fsTimestampRange = lens _fsTimestampRange (\ s a -> s{_fsTimestampRange = a})--instance Hashable FragmentSelector where--instance NFData FragmentSelector where--instance ToJSON FragmentSelector where- toJSON FragmentSelector'{..}- = object- (catMaybes- [Just- ("FragmentSelectorType" .= _fsFragmentSelectorType),- Just ("TimestampRange" .= _fsTimestampRange)])---- | The range of time stamps for which to return fragments.------------ /See:/ 'timestampRange' smart constructor.-data TimestampRange = TimestampRange'- { _trStartTimestamp :: !POSIX- , _trEndTimestamp :: !POSIX- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimestampRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trStartTimestamp' - The starting time stamp in the range of time stamps for which to return fragments.------ * 'trEndTimestamp' - The ending time stamp in the range of time stamps for which to return fragments.-timestampRange- :: UTCTime -- ^ 'trStartTimestamp'- -> UTCTime -- ^ 'trEndTimestamp'- -> TimestampRange-timestampRange pStartTimestamp_ pEndTimestamp_ =- TimestampRange'- { _trStartTimestamp = _Time # pStartTimestamp_- , _trEndTimestamp = _Time # pEndTimestamp_- }----- | The starting time stamp in the range of time stamps for which to return fragments.-trStartTimestamp :: Lens' TimestampRange UTCTime-trStartTimestamp = lens _trStartTimestamp (\ s a -> s{_trStartTimestamp = a}) . _Time---- | The ending time stamp in the range of time stamps for which to return fragments.-trEndTimestamp :: Lens' TimestampRange UTCTime-trEndTimestamp = lens _trEndTimestamp (\ s a -> s{_trEndTimestamp = a}) . _Time--instance Hashable TimestampRange where--instance NFData TimestampRange where--instance ToJSON TimestampRange where- toJSON TimestampRange'{..}- = object- (catMaybes- [Just ("StartTimestamp" .= _trStartTimestamp),- Just ("EndTimestamp" .= _trEndTimestamp)])
− gen/Network/AWS/KinesisVideoArchivedMedia/Types/Sum.hs
@@ -1,47 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.Types.Sum--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.KinesisVideoArchivedMedia.Types.Sum where--import Network.AWS.Prelude--data FragmentSelectorType- = ProducerTimestamp- | ServerTimestamp- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText FragmentSelectorType where- parser = takeLowerText >>= \case- "producer_timestamp" -> pure ProducerTimestamp- "server_timestamp" -> pure ServerTimestamp- e -> fromTextError $ "Failure parsing FragmentSelectorType from value: '" <> e- <> "'. Accepted values: producer_timestamp, server_timestamp"--instance ToText FragmentSelectorType where- toText = \case- ProducerTimestamp -> "PRODUCER_TIMESTAMP"- ServerTimestamp -> "SERVER_TIMESTAMP"--instance Hashable FragmentSelectorType-instance NFData FragmentSelectorType-instance ToByteString FragmentSelectorType-instance ToQuery FragmentSelectorType-instance ToHeader FragmentSelectorType--instance ToJSON FragmentSelectorType where- toJSON = toJSONText
− gen/Network/AWS/KinesisVideoArchivedMedia/Waiters.hs
@@ -1,21 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.KinesisVideoArchivedMedia.Waiters--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.KinesisVideoArchivedMedia.Waiters where--import Network.AWS.KinesisVideoArchivedMedia.Types-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Waiter
test/Main.hs view
@@ -2,20 +2,22 @@ -- | -- Module : Main--- Copyright : (c) 2013-2018 Brendan Hay+-- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.KinesisVideoArchivedMedia+import Test.Amazonka.KinesisVideoArchivedMedia.Internal import Test.Tasty-import Test.AWS.KinesisVideoArchivedMedia-import Test.AWS.KinesisVideoArchivedMedia.Internal main :: IO ()-main = defaultMain $ testGroup "KinesisVideoArchivedMedia"- [ testGroup "tests" tests- , testGroup "fixtures" fixtures- ]+main =+ defaultMain $+ testGroup+ "KinesisVideoArchivedMedia"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
− test/Test/AWS/Gen/KinesisVideoArchivedMedia.hs
@@ -1,68 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Test.AWS.Gen.KinesisVideoArchivedMedia--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.KinesisVideoArchivedMedia where--import Data.Proxy-import Network.AWS.KinesisVideoArchivedMedia-import Test.AWS.Fixture-import Test.AWS.KinesisVideoArchivedMedia.Internal-import Test.AWS.Prelude-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =--- [ testGroup "request"--- [ requestGetMediaForFragmentList $--- getMediaForFragmentList------ , requestListFragments $--- listFragments------ ]---- , testGroup "response"--- [ responseGetMediaForFragmentList $--- getMediaForFragmentListResponse------ , responseListFragments $--- listFragmentsResponse------ ]--- ]---- Requests--requestGetMediaForFragmentList :: GetMediaForFragmentList -> TestTree-requestGetMediaForFragmentList = req- "GetMediaForFragmentList"- "fixture/GetMediaForFragmentList.yaml"--requestListFragments :: ListFragments -> TestTree-requestListFragments = req- "ListFragments"- "fixture/ListFragments.yaml"---- Responses--responseListFragments :: ListFragmentsResponse -> TestTree-responseListFragments = res- "ListFragmentsResponse"- "fixture/ListFragmentsResponse.proto"- kinesisVideoArchivedMedia- (Proxy :: Proxy ListFragments)
− test/Test/AWS/KinesisVideoArchivedMedia.hs
@@ -1,20 +0,0 @@--- |--- Module : Test.AWS.KinesisVideoArchivedMedia--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.KinesisVideoArchivedMedia- ( tests- , fixtures- ) where--import Test.Tasty (TestTree)--tests :: [TestTree]-tests = []--fixtures :: [TestTree]-fixtures = []
− test/Test/AWS/KinesisVideoArchivedMedia/Internal.hs
@@ -1,9 +0,0 @@--- |--- Module : Test.AWS.KinesisVideoArchivedMedia.Internal--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.KinesisVideoArchivedMedia.Internal where
+ test/Test/Amazonka/Gen/KinesisVideoArchivedMedia.hs view
@@ -0,0 +1,142 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.KinesisVideoArchivedMedia+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.KinesisVideoArchivedMedia where++import Amazonka.KinesisVideoArchivedMedia+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.KinesisVideoArchivedMedia.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestGetClip $+-- newGetClip+--+-- , requestGetDASHStreamingSessionURL $+-- newGetDASHStreamingSessionURL+--+-- , requestGetHLSStreamingSessionURL $+-- newGetHLSStreamingSessionURL+--+-- , requestGetImages $+-- newGetImages+--+-- , requestGetMediaForFragmentList $+-- newGetMediaForFragmentList+--+-- , requestListFragments $+-- newListFragments+--+-- ]++-- , testGroup "response"+-- [ responseGetClip $+-- newGetClipResponse+--+-- , responseGetDASHStreamingSessionURL $+-- newGetDASHStreamingSessionURLResponse+--+-- , responseGetHLSStreamingSessionURL $+-- newGetHLSStreamingSessionURLResponse+--+-- , responseGetImages $+-- newGetImagesResponse+--+-- , responseGetMediaForFragmentList $+-- newGetMediaForFragmentListResponse+--+-- , responseListFragments $+-- newListFragmentsResponse+--+-- ]+-- ]++-- Requests++requestGetClip :: GetClip -> TestTree+requestGetClip =+ req+ "GetClip"+ "fixture/GetClip.yaml"++requestGetDASHStreamingSessionURL :: GetDASHStreamingSessionURL -> TestTree+requestGetDASHStreamingSessionURL =+ req+ "GetDASHStreamingSessionURL"+ "fixture/GetDASHStreamingSessionURL.yaml"++requestGetHLSStreamingSessionURL :: GetHLSStreamingSessionURL -> TestTree+requestGetHLSStreamingSessionURL =+ req+ "GetHLSStreamingSessionURL"+ "fixture/GetHLSStreamingSessionURL.yaml"++requestGetImages :: GetImages -> TestTree+requestGetImages =+ req+ "GetImages"+ "fixture/GetImages.yaml"++requestGetMediaForFragmentList :: GetMediaForFragmentList -> TestTree+requestGetMediaForFragmentList =+ req+ "GetMediaForFragmentList"+ "fixture/GetMediaForFragmentList.yaml"++requestListFragments :: ListFragments -> TestTree+requestListFragments =+ req+ "ListFragments"+ "fixture/ListFragments.yaml"++-- Responses++responseGetDASHStreamingSessionURL :: GetDASHStreamingSessionURLResponse -> TestTree+responseGetDASHStreamingSessionURL =+ res+ "GetDASHStreamingSessionURLResponse"+ "fixture/GetDASHStreamingSessionURLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDASHStreamingSessionURL)++responseGetHLSStreamingSessionURL :: GetHLSStreamingSessionURLResponse -> TestTree+responseGetHLSStreamingSessionURL =+ res+ "GetHLSStreamingSessionURLResponse"+ "fixture/GetHLSStreamingSessionURLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetHLSStreamingSessionURL)++responseGetImages :: GetImagesResponse -> TestTree+responseGetImages =+ res+ "GetImagesResponse"+ "fixture/GetImagesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetImages)++responseListFragments :: ListFragmentsResponse -> TestTree+responseListFragments =+ res+ "ListFragmentsResponse"+ "fixture/ListFragmentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFragments)
+ test/Test/Amazonka/KinesisVideoArchivedMedia.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.KinesisVideoArchivedMedia+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.KinesisVideoArchivedMedia+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/KinesisVideoArchivedMedia/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.KinesisVideoArchivedMedia.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.KinesisVideoArchivedMedia.Internal where