packages feed

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 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