packages feed

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