{-# 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 -- . _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