amazonka-elastictranscoder 0.3.3 → 0.3.4
raw patch · 19 files changed
+369/−23 lines, 19 filesdep ~amazonka-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core
API changes (from Hackage documentation)
+ Network.AWS.ElasticTranscoder.Types: cjpPlayReadyDrm :: Lens' CreateJobPlaylist (Maybe PlayReadyDrm)
+ Network.AWS.ElasticTranscoder.Types: data DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: data PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: data Timing
+ Network.AWS.ElasticTranscoder.Types: detectedProperties :: DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: dpDurationMillis :: Lens' DetectedProperties (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: dpFileSize :: Lens' DetectedProperties (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: dpFrameRate :: Lens' DetectedProperties (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: dpHeight :: Lens' DetectedProperties (Maybe Int)
+ Network.AWS.ElasticTranscoder.Types: dpWidth :: Lens' DetectedProperties (Maybe Int)
+ Network.AWS.ElasticTranscoder.Types: instance Eq DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance Eq PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance Eq Timing
+ Network.AWS.ElasticTranscoder.Types: instance FromJSON DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance FromJSON PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance FromJSON Timing
+ Network.AWS.ElasticTranscoder.Types: instance Ord DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance Ord PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance Ord Timing
+ Network.AWS.ElasticTranscoder.Types: instance Read DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance Read PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance Read Timing
+ Network.AWS.ElasticTranscoder.Types: instance Show DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance Show PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance Show Timing
+ Network.AWS.ElasticTranscoder.Types: instance ToJSON DetectedProperties
+ Network.AWS.ElasticTranscoder.Types: instance ToJSON PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: instance ToJSON Timing
+ Network.AWS.ElasticTranscoder.Types: jTiming :: Lens' Job' (Maybe Timing)
+ Network.AWS.ElasticTranscoder.Types: jiDetectedProperties :: Lens' JobInput (Maybe DetectedProperties)
+ Network.AWS.ElasticTranscoder.Types: joDurationMillis :: Lens' JobOutput (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: joFileSize :: Lens' JobOutput (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: joFrameRate :: Lens' JobOutput (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: p2PlayReadyDrm :: Lens' Playlist (Maybe PlayReadyDrm)
+ Network.AWS.ElasticTranscoder.Types: playReadyDrm :: PlayReadyDrm
+ Network.AWS.ElasticTranscoder.Types: prdFormat :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: prdInitializationVector :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: prdKey :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: prdKeyId :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: prdKeyMd5 :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: prdLicenseAcquisitionUrl :: Lens' PlayReadyDrm (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: tFinishTimeMillis :: Lens' Timing (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: tStartTimeMillis :: Lens' Timing (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: tSubmitTimeMillis :: Lens' Timing (Maybe Integer)
+ Network.AWS.ElasticTranscoder.Types: timing :: Timing
Files
- amazonka-elastictranscoder.cabal +2/−2
- gen/Network/AWS/ElasticTranscoder/CancelJob.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/CreateJob.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/CreatePipeline.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/CreatePreset.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/DeletePipeline.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/DeletePreset.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ListJobsByPipeline.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ListJobsByStatus.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ListPipelines.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ListPresets.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ReadJob.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ReadPipeline.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/ReadPreset.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/TestRole.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/Types.hs +350/−21
- gen/Network/AWS/ElasticTranscoder/UpdatePipeline.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/UpdatePipelineNotifications.hs +1/−0
- gen/Network/AWS/ElasticTranscoder/UpdatePipelineStatus.hs +1/−0
amazonka-elastictranscoder.cabal view
@@ -1,5 +1,5 @@ name: amazonka-elastictranscoder-version: 0.3.3+version: 0.3.4 synopsis: Amazon Elastic Transcoder SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense@@ -60,5 +60,5 @@ other-modules: build-depends:- amazonka-core == 0.3.3.*+ amazonka-core == 0.3.4.* , base >= 4.7 && < 5
gen/Network/AWS/ElasticTranscoder/CancelJob.hs view
@@ -44,6 +44,7 @@ , cancelJobResponse ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/CreateJob.hs view
@@ -54,6 +54,7 @@ , cjrJob ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/CreatePipeline.hs view
@@ -51,6 +51,7 @@ , cprWarnings ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/CreatePreset.hs view
@@ -61,6 +61,7 @@ , cprWarning ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/DeletePipeline.hs view
@@ -44,6 +44,7 @@ , deletePipelineResponse ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/DeletePreset.hs view
@@ -46,6 +46,7 @@ , deletePresetResponse ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ListJobsByPipeline.hs view
@@ -50,6 +50,7 @@ , ljbprNextPageToken ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ListJobsByStatus.hs view
@@ -47,6 +47,7 @@ , ljbsrNextPageToken ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ListPipelines.hs view
@@ -45,6 +45,7 @@ , lprPipelines ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ListPresets.hs view
@@ -45,6 +45,7 @@ , lpr1Presets ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ReadJob.hs view
@@ -42,6 +42,7 @@ , rjrJob ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ReadPipeline.hs view
@@ -43,6 +43,7 @@ , rprWarnings ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/ReadPreset.hs view
@@ -42,6 +42,7 @@ , rprPreset ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/TestRole.hs view
@@ -52,6 +52,7 @@ , trrSuccess ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/Types.hs view
@@ -30,6 +30,16 @@ -- ** Error , JSONError + -- * PlayReadyDrm+ , PlayReadyDrm+ , playReadyDrm+ , prdFormat+ , prdInitializationVector+ , prdKey+ , prdKeyId+ , prdKeyMd5+ , prdLicenseAcquisitionUrl+ -- * PipelineOutputConfig , PipelineOutputConfig , pipelineOutputConfig@@ -44,6 +54,7 @@ , cjpHlsContentProtection , cjpName , cjpOutputKeys+ , cjpPlayReadyDrm -- * Captions , Captions@@ -65,7 +76,10 @@ , joCaptions , joComposition , joDuration+ , joDurationMillis , joEncryption+ , joFileSize+ , joFrameRate , joHeight , joId , joKey@@ -91,6 +105,7 @@ , jPipelineId , jPlaylists , jStatus+ , jTiming , jUserMetadata -- * CaptionSource@@ -169,6 +184,15 @@ , jaaArtwork , jaaMergePolicy + -- * DetectedProperties+ , DetectedProperties+ , detectedProperties+ , dpDurationMillis+ , dpFileSize+ , dpFrameRate+ , dpHeight+ , dpWidth+ -- * JobWatermark , JobWatermark , jobWatermark@@ -241,6 +265,13 @@ , pwVerticalAlign , pwVerticalOffset + -- * Timing+ , Timing+ , timing+ , tFinishTimeMillis+ , tStartTimeMillis+ , tSubmitTimeMillis+ -- * Permission , Permission , permission@@ -274,6 +305,7 @@ , p2HlsContentProtection , p2Name , p2OutputKeys+ , p2PlayReadyDrm , p2Status , p2StatusDetail @@ -295,6 +327,7 @@ , jobInput , jiAspectRatio , jiContainer+ , jiDetectedProperties , jiEncryption , jiFrameRate , jiInterlaced@@ -348,6 +381,111 @@ | s == 503 = True -- Service Unavailable | otherwise = False +data PlayReadyDrm = PlayReadyDrm+ { _prdFormat :: Maybe Text+ , _prdInitializationVector :: Maybe Text+ , _prdKey :: Maybe Text+ , _prdKeyId :: Maybe Text+ , _prdKeyMd5 :: Maybe Text+ , _prdLicenseAcquisitionUrl :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'PlayReadyDrm' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prdFormat' @::@ 'Maybe' 'Text'+--+-- * 'prdInitializationVector' @::@ 'Maybe' 'Text'+--+-- * 'prdKey' @::@ 'Maybe' 'Text'+--+-- * 'prdKeyId' @::@ 'Maybe' 'Text'+--+-- * 'prdKeyMd5' @::@ 'Maybe' 'Text'+--+-- * 'prdLicenseAcquisitionUrl' @::@ 'Maybe' 'Text'+--+playReadyDrm :: PlayReadyDrm+playReadyDrm = PlayReadyDrm+ { _prdFormat = Nothing+ , _prdKey = Nothing+ , _prdKeyMd5 = Nothing+ , _prdKeyId = Nothing+ , _prdInitializationVector = Nothing+ , _prdLicenseAcquisitionUrl = Nothing+ }++-- | The type of DRM, if any, that you want Elastic Transcoder to apply to the+-- output files associated with this playlist.+prdFormat :: Lens' PlayReadyDrm (Maybe Text)+prdFormat = lens _prdFormat (\s a -> s { _prdFormat = a })++-- | The series of random bits created by a random bit generator, unique for every+-- encryption operation, that you want Elastic Transcoder to use to encrypt your+-- files. The initialization vector must be base64-encoded, and it must be+-- exactly 8 bytes long before being base64-encoded. If no initialization vector+-- is provided, Elastic Transcoder generates one for you.+prdInitializationVector :: Lens' PlayReadyDrm (Maybe Text)+prdInitializationVector =+ lens _prdInitializationVector (\s a -> s { _prdInitializationVector = a })++-- | The DRM key for your file, provided by your DRM license provider. The key+-- must be base64-encoded, and it must be one of the following bit lengths+-- before being base64-encoded:+--+-- '128', '192', or '256'.+--+-- The key must also be encrypted by using AWS KMS.+prdKey :: Lens' PlayReadyDrm (Maybe Text)+prdKey = lens _prdKey (\s a -> s { _prdKey = a })++-- | The ID for your DRM key, so that your DRM license provider knows which key to+-- provide.+--+-- The key ID must be provided in big endian, and Elastic Transcoder will+-- convert it to little endian before inserting it into the PlayReady DRM+-- headers. If you are unsure whether your license server provides your key ID+-- in big or little endian, check with your DRM provider.+prdKeyId :: Lens' PlayReadyDrm (Maybe Text)+prdKeyId = lens _prdKeyId (\s a -> s { _prdKeyId = a })++-- | The MD5 digest of the key used for DRM on your file, and that you want+-- Elastic Transcoder to use as a checksum to make sure your key was not+-- corrupted in transit. The key MD5 must be base64-encoded, and it must be+-- exactly 16 bytes before being base64-encoded.+prdKeyMd5 :: Lens' PlayReadyDrm (Maybe Text)+prdKeyMd5 = lens _prdKeyMd5 (\s a -> s { _prdKeyMd5 = a })++-- | The location of the license key required to play DRM content. The URL must be+-- an absolute path, and is referenced by the PlayReady header. The PlayReady+-- header is referenced in the protection header of the client manifest for+-- Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata+-- tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/+prdLicenseAcquisitionUrl :: Lens' PlayReadyDrm (Maybe Text)+prdLicenseAcquisitionUrl =+ lens _prdLicenseAcquisitionUrl+ (\s a -> s { _prdLicenseAcquisitionUrl = a })++instance FromJSON PlayReadyDrm where+ parseJSON = withObject "PlayReadyDrm" $ \o -> PlayReadyDrm+ <$> o .:? "Format"+ <*> o .:? "InitializationVector"+ <*> o .:? "Key"+ <*> o .:? "KeyId"+ <*> o .:? "KeyMd5"+ <*> o .:? "LicenseAcquisitionUrl"++instance ToJSON PlayReadyDrm where+ toJSON PlayReadyDrm{..} = object+ [ "Format" .= _prdFormat+ , "Key" .= _prdKey+ , "KeyMd5" .= _prdKeyMd5+ , "KeyId" .= _prdKeyId+ , "InitializationVector" .= _prdInitializationVector+ , "LicenseAcquisitionUrl" .= _prdLicenseAcquisitionUrl+ ]+ data PipelineOutputConfig = PipelineOutputConfig { _pocBucket :: Maybe Text , _pocPermissions :: List "Permissions" Permission@@ -425,6 +563,7 @@ , _cjpHlsContentProtection :: Maybe HlsContentProtection , _cjpName :: Maybe Text , _cjpOutputKeys :: List "OutputKeys" Text+ , _cjpPlayReadyDrm :: Maybe PlayReadyDrm } deriving (Eq, Read, Show) -- | 'CreateJobPlaylist' constructor.@@ -439,12 +578,15 @@ -- -- * 'cjpOutputKeys' @::@ ['Text'] --+-- * 'cjpPlayReadyDrm' @::@ 'Maybe' 'PlayReadyDrm'+-- createJobPlaylist :: CreateJobPlaylist createJobPlaylist = CreateJobPlaylist { _cjpName = Nothing , _cjpFormat = Nothing , _cjpOutputKeys = mempty , _cjpHlsContentProtection = Nothing+ , _cjpPlayReadyDrm = Nothing } -- | The format of the output playlist. Valid formats include 'HLSv3', 'HLSv4', and 'Smooth'.@@ -506,12 +648,18 @@ cjpOutputKeys :: Lens' CreateJobPlaylist [Text] cjpOutputKeys = lens _cjpOutputKeys (\s a -> s { _cjpOutputKeys = a }) . _List +-- | The DRM settings, if any, that you want Elastic Transcoder to apply to the+-- output files associated with this playlist.+cjpPlayReadyDrm :: Lens' CreateJobPlaylist (Maybe PlayReadyDrm)+cjpPlayReadyDrm = lens _cjpPlayReadyDrm (\s a -> s { _cjpPlayReadyDrm = a })+ instance FromJSON CreateJobPlaylist where parseJSON = withObject "CreateJobPlaylist" $ \o -> CreateJobPlaylist <$> o .:? "Format" <*> o .:? "HlsContentProtection" <*> o .:? "Name" <*> o .:? "OutputKeys" .!= mempty+ <*> o .:? "PlayReadyDrm" instance ToJSON CreateJobPlaylist where toJSON CreateJobPlaylist{..} = object@@ -519,6 +667,7 @@ , "Format" .= _cjpFormat , "OutputKeys" .= _cjpOutputKeys , "HlsContentProtection" .= _cjpHlsContentProtection+ , "PlayReadyDrm" .= _cjpPlayReadyDrm ] data Captions = Captions@@ -638,7 +787,10 @@ , _joCaptions :: Maybe Captions , _joComposition :: List "Composition" Clip , _joDuration :: Maybe Integer+ , _joDurationMillis :: Maybe Integer , _joEncryption :: Maybe Encryption+ , _joFileSize :: Maybe Integer+ , _joFrameRate :: Maybe Text , _joHeight :: Maybe Int , _joId :: Maybe Text , _joKey :: Maybe Text@@ -667,8 +819,14 @@ -- -- * 'joDuration' @::@ 'Maybe' 'Integer' --+-- * 'joDurationMillis' @::@ 'Maybe' 'Integer'+-- -- * 'joEncryption' @::@ 'Maybe' 'Encryption' --+-- * 'joFileSize' @::@ 'Maybe' 'Integer'+--+-- * 'joFrameRate' @::@ 'Maybe' 'Text'+-- -- * 'joHeight' @::@ 'Maybe' 'Int' -- -- * 'joId' @::@ 'Maybe' 'Text'@@ -707,6 +865,9 @@ , _joDuration = Nothing , _joWidth = Nothing , _joHeight = Nothing+ , _joFrameRate = Nothing+ , _joFileSize = Nothing+ , _joDurationMillis = Nothing , _joWatermarks = mempty , _joAlbumArt = Nothing , _joComposition = mempty@@ -784,6 +945,10 @@ joDuration :: Lens' JobOutput (Maybe Integer) joDuration = lens _joDuration (\s a -> s { _joDuration = a }) +-- | Duration of the output file, in milliseconds.+joDurationMillis :: Lens' JobOutput (Maybe Integer)+joDurationMillis = lens _joDurationMillis (\s a -> s { _joDurationMillis = a })+ -- | The encryption settings, if any, that you want Elastic Transcoder to apply to -- your output files. If you choose to use encryption, you must specify a mode -- to use. If you choose not to use encryption, Elastic Transcoder will write an@@ -791,6 +956,14 @@ joEncryption :: Lens' JobOutput (Maybe Encryption) joEncryption = lens _joEncryption (\s a -> s { _joEncryption = a }) +-- | File size of the output file, in bytes.+joFileSize :: Lens' JobOutput (Maybe Integer)+joFileSize = lens _joFileSize (\s a -> s { _joFileSize = a })++-- | Frame rate of the output file, in frames per second.+joFrameRate :: Lens' JobOutput (Maybe Text)+joFrameRate = lens _joFrameRate (\s a -> s { _joFrameRate = a })+ -- | Height of the output file, in pixels. joHeight :: Lens' JobOutput (Maybe Int) joHeight = lens _joHeight (\s a -> s { _joHeight = a })@@ -925,7 +1098,10 @@ <*> o .:? "Captions" <*> o .:? "Composition" .!= mempty <*> o .:? "Duration"+ <*> o .:? "DurationMillis" <*> o .:? "Encryption"+ <*> o .:? "FileSize"+ <*> o .:? "FrameRate" <*> o .:? "Height" <*> o .:? "Id" <*> o .:? "Key"@@ -953,6 +1129,9 @@ , "Duration" .= _joDuration , "Width" .= _joWidth , "Height" .= _joHeight+ , "FrameRate" .= _joFrameRate+ , "FileSize" .= _joFileSize+ , "DurationMillis" .= _joDurationMillis , "Watermarks" .= _joWatermarks , "AlbumArt" .= _joAlbumArt , "Composition" .= _joComposition@@ -971,6 +1150,7 @@ , _jPipelineId :: Text , _jPlaylists :: List "Playlists" Playlist , _jStatus :: Text+ , _jTiming :: Maybe Timing , _jUserMetadata :: Map Text Text } deriving (Eq, Read, Show) @@ -996,6 +1176,8 @@ -- -- * 'jStatus' @::@ 'Text' --+-- * 'jTiming' @::@ 'Maybe' 'Timing'+-- -- * 'jUserMetadata' @::@ 'HashMap' 'Text' 'Text' -- job :: Text -- ^ 'jId'@@ -1015,6 +1197,7 @@ , _jOutputs = mempty , _jPlaylists = mempty , _jUserMetadata = mempty+ , _jTiming = Nothing } -- | The Amazon Resource Name (ARN) for the job.@@ -1076,6 +1259,10 @@ jStatus :: Lens' Job' Text jStatus = lens _jStatus (\s a -> s { _jStatus = a }) +-- | Details about the timing of a job.+jTiming :: Lens' Job' (Maybe Timing)+jTiming = lens _jTiming (\s a -> s { _jTiming = a })+ -- | User-defined metadata that you want to associate with an Elastic Transcoder -- job. You specify metadata in 'key/value' pairs, and you can add up to 10 'key/value' pairs per job. Elastic Transcoder does not guarantee that 'key/value' pairs -- will be returned in the same order in which you specify them.@@ -1105,6 +1292,7 @@ <*> o .: "PipelineId" <*> o .:? "Playlists" .!= mempty <*> o .: "Status"+ <*> o .:? "Timing" <*> o .:? "UserMetadata" .!= mempty instance ToJSON Job' where@@ -1119,6 +1307,7 @@ , "Playlists" .= _jPlaylists , "Status" .= _jStatus , "UserMetadata" .= _jUserMetadata+ , "Timing" .= _jTiming ] data CaptionSource = CaptionSource@@ -1984,6 +2173,74 @@ , "Artwork" .= _jaaArtwork ] +data DetectedProperties = DetectedProperties+ { _dpDurationMillis :: Maybe Integer+ , _dpFileSize :: Maybe Integer+ , _dpFrameRate :: Maybe Text+ , _dpHeight :: Maybe Int+ , _dpWidth :: Maybe Int+ } deriving (Eq, Ord, Read, Show)++-- | 'DetectedProperties' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dpDurationMillis' @::@ 'Maybe' 'Integer'+--+-- * 'dpFileSize' @::@ 'Maybe' 'Integer'+--+-- * 'dpFrameRate' @::@ 'Maybe' 'Text'+--+-- * 'dpHeight' @::@ 'Maybe' 'Int'+--+-- * 'dpWidth' @::@ 'Maybe' 'Int'+--+detectedProperties :: DetectedProperties+detectedProperties = DetectedProperties+ { _dpWidth = Nothing+ , _dpHeight = Nothing+ , _dpFrameRate = Nothing+ , _dpFileSize = Nothing+ , _dpDurationMillis = Nothing+ }++-- | The detected duration of the input file, in milliseconds.+dpDurationMillis :: Lens' DetectedProperties (Maybe Integer)+dpDurationMillis = lens _dpDurationMillis (\s a -> s { _dpDurationMillis = a })++-- | The detected file size of the input file, in bytes.+dpFileSize :: Lens' DetectedProperties (Maybe Integer)+dpFileSize = lens _dpFileSize (\s a -> s { _dpFileSize = a })++-- | The detected frame rate of the input file, in frames per second.+dpFrameRate :: Lens' DetectedProperties (Maybe Text)+dpFrameRate = lens _dpFrameRate (\s a -> s { _dpFrameRate = a })++-- | The detected height of the input file, in pixels.+dpHeight :: Lens' DetectedProperties (Maybe Int)+dpHeight = lens _dpHeight (\s a -> s { _dpHeight = a })++-- | The detected width of the input file, in pixels.+dpWidth :: Lens' DetectedProperties (Maybe Int)+dpWidth = lens _dpWidth (\s a -> s { _dpWidth = a })++instance FromJSON DetectedProperties where+ parseJSON = withObject "DetectedProperties" $ \o -> DetectedProperties+ <$> o .:? "DurationMillis"+ <*> o .:? "FileSize"+ <*> o .:? "FrameRate"+ <*> o .:? "Height"+ <*> o .:? "Width"++instance ToJSON DetectedProperties where+ toJSON DetectedProperties{..} = object+ [ "Width" .= _dpWidth+ , "Height" .= _dpHeight+ , "FrameRate" .= _dpFrameRate+ , "FileSize" .= _dpFileSize+ , "DurationMillis" .= _dpDurationMillis+ ]+ data JobWatermark = JobWatermark { _jwEncryption :: Maybe Encryption , _jwInputKey :: Maybe Text@@ -2790,6 +3047,56 @@ , "Target" .= _pwTarget ] +data Timing = Timing+ { _tFinishTimeMillis :: Maybe Integer+ , _tStartTimeMillis :: Maybe Integer+ , _tSubmitTimeMillis :: Maybe Integer+ } deriving (Eq, Ord, Read, Show)++-- | 'Timing' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tFinishTimeMillis' @::@ 'Maybe' 'Integer'+--+-- * 'tStartTimeMillis' @::@ 'Maybe' 'Integer'+--+-- * 'tSubmitTimeMillis' @::@ 'Maybe' 'Integer'+--+timing :: Timing+timing = Timing+ { _tSubmitTimeMillis = Nothing+ , _tStartTimeMillis = Nothing+ , _tFinishTimeMillis = Nothing+ }++-- | The time the job finished transcoding, in epoch milliseconds.+tFinishTimeMillis :: Lens' Timing (Maybe Integer)+tFinishTimeMillis =+ lens _tFinishTimeMillis (\s a -> s { _tFinishTimeMillis = a })++-- | The time the job began transcoding, in epoch milliseconds.+tStartTimeMillis :: Lens' Timing (Maybe Integer)+tStartTimeMillis = lens _tStartTimeMillis (\s a -> s { _tStartTimeMillis = a })++-- | The time the job was submitted to Elastic Transcoder, in epoch milliseconds.+tSubmitTimeMillis :: Lens' Timing (Maybe Integer)+tSubmitTimeMillis =+ lens _tSubmitTimeMillis (\s a -> s { _tSubmitTimeMillis = a })++instance FromJSON Timing where+ parseJSON = withObject "Timing" $ \o -> Timing+ <$> o .:? "FinishTimeMillis"+ <*> o .:? "StartTimeMillis"+ <*> o .:? "SubmitTimeMillis"++instance ToJSON Timing where+ toJSON Timing{..} = object+ [ "SubmitTimeMillis" .= _tSubmitTimeMillis+ , "StartTimeMillis" .= _tStartTimeMillis+ , "FinishTimeMillis" .= _tFinishTimeMillis+ ]+ data Permission = Permission { _pAccess :: List "Access" Text , _pGrantee :: Maybe Text@@ -3256,6 +3563,7 @@ , _p2HlsContentProtection :: Maybe HlsContentProtection , _p2Name :: Maybe Text , _p2OutputKeys :: List "OutputKeys" Text+ , _p2PlayReadyDrm :: Maybe PlayReadyDrm , _p2Status :: Maybe Text , _p2StatusDetail :: Maybe Text } deriving (Eq, Read, Show)@@ -3272,6 +3580,8 @@ -- -- * 'p2OutputKeys' @::@ ['Text'] --+-- * 'p2PlayReadyDrm' @::@ 'Maybe' 'PlayReadyDrm'+-- -- * 'p2Status' @::@ 'Maybe' 'Text' -- -- * 'p2StatusDetail' @::@ 'Maybe' 'Text'@@ -3282,6 +3592,7 @@ , _p2Format = Nothing , _p2OutputKeys = mempty , _p2HlsContentProtection = Nothing+ , _p2PlayReadyDrm = Nothing , _p2Status = Nothing , _p2StatusDetail = Nothing }@@ -3345,6 +3656,11 @@ p2OutputKeys :: Lens' Playlist [Text] p2OutputKeys = lens _p2OutputKeys (\s a -> s { _p2OutputKeys = a }) . _List +-- | The DRM settings, if any, that you want Elastic Transcoder to apply to the+-- output files associated with this playlist.+p2PlayReadyDrm :: Lens' Playlist (Maybe PlayReadyDrm)+p2PlayReadyDrm = lens _p2PlayReadyDrm (\s a -> s { _p2PlayReadyDrm = a })+ -- | The status of the job with which the playlist is associated. p2Status :: Lens' Playlist (Maybe Text) p2Status = lens _p2Status (\s a -> s { _p2Status = a })@@ -3359,6 +3675,7 @@ <*> o .:? "HlsContentProtection" <*> o .:? "Name" <*> o .:? "OutputKeys" .!= mempty+ <*> o .:? "PlayReadyDrm" <*> o .:? "Status" <*> o .:? "StatusDetail" @@ -3368,6 +3685,7 @@ , "Format" .= _p2Format , "OutputKeys" .= _p2OutputKeys , "HlsContentProtection" .= _p2HlsContentProtection+ , "PlayReadyDrm" .= _p2PlayReadyDrm , "Status" .= _p2Status , "StatusDetail" .= _p2StatusDetail ]@@ -3463,13 +3781,14 @@ ] data JobInput = JobInput- { _jiAspectRatio :: Maybe Text- , _jiContainer :: Maybe Text- , _jiEncryption :: Maybe Encryption- , _jiFrameRate :: Maybe Text- , _jiInterlaced :: Maybe Text- , _jiKey :: Maybe Text- , _jiResolution :: Maybe Text+ { _jiAspectRatio :: Maybe Text+ , _jiContainer :: Maybe Text+ , _jiDetectedProperties :: Maybe DetectedProperties+ , _jiEncryption :: Maybe Encryption+ , _jiFrameRate :: Maybe Text+ , _jiInterlaced :: Maybe Text+ , _jiKey :: Maybe Text+ , _jiResolution :: Maybe Text } deriving (Eq, Read, Show) -- | 'JobInput' constructor.@@ -3480,6 +3799,8 @@ -- -- * 'jiContainer' @::@ 'Maybe' 'Text' --+-- * 'jiDetectedProperties' @::@ 'Maybe' 'DetectedProperties'+-- -- * 'jiEncryption' @::@ 'Maybe' 'Encryption' -- -- * 'jiFrameRate' @::@ 'Maybe' 'Text'@@ -3492,13 +3813,14 @@ -- jobInput :: JobInput jobInput = JobInput- { _jiKey = Nothing- , _jiFrameRate = Nothing- , _jiResolution = Nothing- , _jiAspectRatio = Nothing- , _jiInterlaced = Nothing- , _jiContainer = Nothing- , _jiEncryption = Nothing+ { _jiKey = Nothing+ , _jiFrameRate = Nothing+ , _jiResolution = Nothing+ , _jiAspectRatio = Nothing+ , _jiInterlaced = Nothing+ , _jiContainer = Nothing+ , _jiEncryption = Nothing+ , _jiDetectedProperties = Nothing } -- | The aspect ratio of the input file. If you want Elastic Transcoder to@@ -3522,6 +3844,11 @@ jiContainer :: Lens' JobInput (Maybe Text) jiContainer = lens _jiContainer (\s a -> s { _jiContainer = a }) +-- | The detected properties of the input file.+jiDetectedProperties :: Lens' JobInput (Maybe DetectedProperties)+jiDetectedProperties =+ lens _jiDetectedProperties (\s a -> s { _jiDetectedProperties = a })+ -- | The encryption settings, if any, that are used for decrypting your input -- files. If your input file is encrypted, you must specify the mode that -- Elastic Transcoder will use to decrypt your file.@@ -3572,6 +3899,7 @@ parseJSON = withObject "JobInput" $ \o -> JobInput <$> o .:? "AspectRatio" <*> o .:? "Container"+ <*> o .:? "DetectedProperties" <*> o .:? "Encryption" <*> o .:? "FrameRate" <*> o .:? "Interlaced"@@ -3580,11 +3908,12 @@ instance ToJSON JobInput where toJSON JobInput{..} = object- [ "Key" .= _jiKey- , "FrameRate" .= _jiFrameRate- , "Resolution" .= _jiResolution- , "AspectRatio" .= _jiAspectRatio- , "Interlaced" .= _jiInterlaced- , "Container" .= _jiContainer- , "Encryption" .= _jiEncryption+ [ "Key" .= _jiKey+ , "FrameRate" .= _jiFrameRate+ , "Resolution" .= _jiResolution+ , "AspectRatio" .= _jiAspectRatio+ , "Interlaced" .= _jiInterlaced+ , "Container" .= _jiContainer+ , "Encryption" .= _jiEncryption+ , "DetectedProperties" .= _jiDetectedProperties ]
gen/Network/AWS/ElasticTranscoder/UpdatePipeline.hs view
@@ -53,6 +53,7 @@ , uprWarnings ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/UpdatePipelineNotifications.hs view
@@ -47,6 +47,7 @@ , upnrPipeline ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types
gen/Network/AWS/ElasticTranscoder/UpdatePipelineStatus.hs view
@@ -50,6 +50,7 @@ , upsrPipeline ) where +import Network.AWS.Data (Object) import Network.AWS.Prelude import Network.AWS.Request.RestJSON import Network.AWS.ElasticTranscoder.Types