packages feed

amazonka-elastictranscoder 0.2.0 → 0.2.1

raw patch · 2 files changed

+173/−28 lines, 2 filesdep ~amazonka-corePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: amazonka-core

API changes (from Hackage documentation)

- Network.AWS.ElasticTranscoder.Types: instance Ord CreateJobPlaylist
- Network.AWS.ElasticTranscoder.Types: instance Ord Playlist
+ Network.AWS.ElasticTranscoder.Types: cjpHlsContentProtection :: Lens' CreateJobPlaylist (Maybe HlsContentProtection)
+ Network.AWS.ElasticTranscoder.Types: data HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: hcpInitializationVector :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hcpKey :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hcpKeyMd5 :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hcpKeyStoragePolicy :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hcpLicenseAcquisitionUrl :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hcpMethod :: Lens' HlsContentProtection (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: hlsContentProtection :: HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: instance Eq HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: instance FromJSON HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: instance Ord HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: instance Show HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: instance ToJSON HlsContentProtection
+ Network.AWS.ElasticTranscoder.Types: p2HlsContentProtection :: Lens' Playlist (Maybe HlsContentProtection)

Files

amazonka-elastictranscoder.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-elastictranscoder-version:               0.2.0+version:               0.2.1 synopsis:              Amazon Elastic Transcoder SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense@@ -60,5 +60,5 @@     other-modules:      build-depends:-          amazonka-core == 0.2.0.*+          amazonka-core == 0.2.1.*         , base          >= 4.7     && < 5
gen/Network/AWS/ElasticTranscoder/Types.hs view
@@ -41,6 +41,7 @@     , CreateJobPlaylist     , createJobPlaylist     , cjpFormat+    , cjpHlsContentProtection     , cjpName     , cjpOutputKeys @@ -209,6 +210,16 @@     , cfFormat     , cfPattern +    -- * HlsContentProtection+    , HlsContentProtection+    , hlsContentProtection+    , hcpInitializationVector+    , hcpKey+    , hcpKeyMd5+    , hcpKeyStoragePolicy+    , hcpLicenseAcquisitionUrl+    , hcpMethod+     -- * PresetWatermark     , PresetWatermark     , presetWatermark@@ -253,6 +264,7 @@     , Playlist     , playlist     , p2Format+    , p2HlsContentProtection     , p2Name     , p2OutputKeys     , p2Status@@ -402,10 +414,11 @@         ]  data CreateJobPlaylist = CreateJobPlaylist-    { _cjpFormat     :: Maybe Text-    , _cjpName       :: Maybe Text-    , _cjpOutputKeys :: List "OutputKeys" Text-    } deriving (Eq, Ord, Show)+    { _cjpFormat               :: Maybe Text+    , _cjpHlsContentProtection :: Maybe HlsContentProtection+    , _cjpName                 :: Maybe Text+    , _cjpOutputKeys           :: List "OutputKeys" Text+    } deriving (Eq, Show)  -- | 'CreateJobPlaylist' constructor. --@@ -413,21 +426,30 @@ -- -- * 'cjpFormat' @::@ 'Maybe' 'Text' --+-- * 'cjpHlsContentProtection' @::@ 'Maybe' 'HlsContentProtection'+-- -- * 'cjpName' @::@ 'Maybe' 'Text' -- -- * 'cjpOutputKeys' @::@ ['Text'] -- createJobPlaylist :: CreateJobPlaylist createJobPlaylist = CreateJobPlaylist-    { _cjpName       = Nothing-    , _cjpFormat     = Nothing-    , _cjpOutputKeys = mempty+    { _cjpName                 = Nothing+    , _cjpFormat               = Nothing+    , _cjpOutputKeys           = mempty+    , _cjpHlsContentProtection = Nothing     }  -- | The format of the output playlist. Valid formats include 'HLSv3', 'HLSv4', and 'Smooth'. cjpFormat :: Lens' CreateJobPlaylist (Maybe Text) cjpFormat = lens _cjpFormat (\s a -> s { _cjpFormat = a }) +-- | The HLS content protection settings, if any, that you want Elastic Transcoder+-- to apply to the output files associated with this playlist.+cjpHlsContentProtection :: Lens' CreateJobPlaylist (Maybe HlsContentProtection)+cjpHlsContentProtection =+    lens _cjpHlsContentProtection (\s a -> s { _cjpHlsContentProtection = a })+ -- | The name that you want Elastic Transcoder to assign to the master playlist, -- for example, nyc-vacation.m3u8. If the name includes a '/' character, the -- section of the name before the last '/' must be identical for all 'Name' objects.@@ -480,14 +502,16 @@ instance FromJSON CreateJobPlaylist where     parseJSON = withObject "CreateJobPlaylist" $ \o -> CreateJobPlaylist         <$> o .:? "Format"+        <*> o .:? "HlsContentProtection"         <*> o .:? "Name"         <*> o .:? "OutputKeys" .!= mempty  instance ToJSON CreateJobPlaylist where     toJSON CreateJobPlaylist{..} = object-        [ "Name"       .= _cjpName-        , "Format"     .= _cjpFormat-        , "OutputKeys" .= _cjpOutputKeys+        [ "Name"                 .= _cjpName+        , "Format"               .= _cjpFormat+        , "OutputKeys"           .= _cjpOutputKeys+        , "HlsContentProtection" .= _cjpHlsContentProtection         ]  data Captions = Captions@@ -2397,6 +2421,115 @@         , "Encryption" .= _cfEncryption         ] +data HlsContentProtection = HlsContentProtection+    { _hcpInitializationVector  :: Maybe Text+    , _hcpKey                   :: Maybe Text+    , _hcpKeyMd5                :: Maybe Text+    , _hcpKeyStoragePolicy      :: Maybe Text+    , _hcpLicenseAcquisitionUrl :: Maybe Text+    , _hcpMethod                :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'HlsContentProtection' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'hcpInitializationVector' @::@ 'Maybe' 'Text'+--+-- * 'hcpKey' @::@ 'Maybe' 'Text'+--+-- * 'hcpKeyMd5' @::@ 'Maybe' 'Text'+--+-- * 'hcpKeyStoragePolicy' @::@ 'Maybe' 'Text'+--+-- * 'hcpLicenseAcquisitionUrl' @::@ 'Maybe' 'Text'+--+-- * 'hcpMethod' @::@ 'Maybe' 'Text'+--+hlsContentProtection :: HlsContentProtection+hlsContentProtection = HlsContentProtection+    { _hcpMethod                = Nothing+    , _hcpKey                   = Nothing+    , _hcpKeyMd5                = Nothing+    , _hcpInitializationVector  = Nothing+    , _hcpLicenseAcquisitionUrl = Nothing+    , _hcpKeyStoragePolicy      = Nothing+    }++-- | If Elastic Transcoder is generating your key for you, you must leave this+-- field blank.+--+-- 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 output files. The initialization vector must be base64-encoded,+-- and it must be exactly 16 bytes before being base64-encoded.+hcpInitializationVector :: Lens' HlsContentProtection (Maybe Text)+hcpInitializationVector =+    lens _hcpInitializationVector (\s a -> s { _hcpInitializationVector = a })++-- | If you want Elastic Transcoder to generate a key for you, leave this field+-- blank.+--+-- If you choose to supply your own key, you must encrypt the key by using AWS+-- KMS. The key must be base64-encoded, and it must be one of the following bit+-- lengths before being base64-encoded:+--+-- '128', '192', or '256'.+hcpKey :: Lens' HlsContentProtection (Maybe Text)+hcpKey = lens _hcpKey (\s a -> s { _hcpKey = a })++-- | If Elastic Transcoder is generating your key for you, you must leave this+-- field blank.+--+-- The MD5 digest of the key that you want Elastic Transcoder to use to encrypt+-- your output 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.+hcpKeyMd5 :: Lens' HlsContentProtection (Maybe Text)+hcpKeyMd5 = lens _hcpKeyMd5 (\s a -> s { _hcpKeyMd5 = a })++-- | Specify whether you want Elastic Transcoder to write your HLS license key to+-- an Amazon S3 bucket. If you choose 'WithVariantPlaylists', 'LicenseAcquisitionUrl'+-- must be left blank and Elastic Transcoder writes your data key into the same+-- bucket as the associated playlist.+hcpKeyStoragePolicy :: Lens' HlsContentProtection (Maybe Text)+hcpKeyStoragePolicy =+    lens _hcpKeyStoragePolicy (\s a -> s { _hcpKeyStoragePolicy = a })++-- | The location of the license key required to decrypt your HLS playlist. The+-- URL must be an absolute path, and is referenced in the URI attribute of the+-- EXT-X-KEY metadata tag in the playlist file.+hcpLicenseAcquisitionUrl :: Lens' HlsContentProtection (Maybe Text)+hcpLicenseAcquisitionUrl =+    lens _hcpLicenseAcquisitionUrl+        (\s a -> s { _hcpLicenseAcquisitionUrl = a })++-- | The content protection method for your output. The only valid value is: 'aes-128'.+--+-- This value will be written into the method attribute of the 'EXT-X-KEY'+-- metadata tag in the output playlist.+hcpMethod :: Lens' HlsContentProtection (Maybe Text)+hcpMethod = lens _hcpMethod (\s a -> s { _hcpMethod = a })++instance FromJSON HlsContentProtection where+    parseJSON = withObject "HlsContentProtection" $ \o -> HlsContentProtection+        <$> o .:? "InitializationVector"+        <*> o .:? "Key"+        <*> o .:? "KeyMd5"+        <*> o .:? "KeyStoragePolicy"+        <*> o .:? "LicenseAcquisitionUrl"+        <*> o .:? "Method"++instance ToJSON HlsContentProtection where+    toJSON HlsContentProtection{..} = object+        [ "Method"                .= _hcpMethod+        , "Key"                   .= _hcpKey+        , "KeyMd5"                .= _hcpKeyMd5+        , "InitializationVector"  .= _hcpInitializationVector+        , "LicenseAcquisitionUrl" .= _hcpLicenseAcquisitionUrl+        , "KeyStoragePolicy"      .= _hcpKeyStoragePolicy+        ]+ data PresetWatermark = PresetWatermark     { _pwHorizontalAlign  :: Maybe Text     , _pwHorizontalOffset :: Maybe Text@@ -3006,12 +3139,13 @@         ]  data Playlist = Playlist-    { _p2Format       :: Maybe Text-    , _p2Name         :: Maybe Text-    , _p2OutputKeys   :: List "OutputKeys" Text-    , _p2Status       :: Maybe Text-    , _p2StatusDetail :: Maybe Text-    } deriving (Eq, Ord, Show)+    { _p2Format               :: Maybe Text+    , _p2HlsContentProtection :: Maybe HlsContentProtection+    , _p2Name                 :: Maybe Text+    , _p2OutputKeys           :: List "OutputKeys" Text+    , _p2Status               :: Maybe Text+    , _p2StatusDetail         :: Maybe Text+    } deriving (Eq, Show)  -- | 'Playlist' constructor. --@@ -3019,6 +3153,8 @@ -- -- * 'p2Format' @::@ 'Maybe' 'Text' --+-- * 'p2HlsContentProtection' @::@ 'Maybe' 'HlsContentProtection'+-- -- * 'p2Name' @::@ 'Maybe' 'Text' -- -- * 'p2OutputKeys' @::@ ['Text']@@ -3029,17 +3165,24 @@ -- playlist :: Playlist playlist = Playlist-    { _p2Name         = Nothing-    , _p2Format       = Nothing-    , _p2OutputKeys   = mempty-    , _p2Status       = Nothing-    , _p2StatusDetail = Nothing+    { _p2Name                 = Nothing+    , _p2Format               = Nothing+    , _p2OutputKeys           = mempty+    , _p2HlsContentProtection = Nothing+    , _p2Status               = Nothing+    , _p2StatusDetail         = Nothing     }  -- | The format of the output playlist. Valid formats include 'HLSv3', 'HLSv4', and 'Smooth'. p2Format :: Lens' Playlist (Maybe Text) p2Format = lens _p2Format (\s a -> s { _p2Format = a }) +-- | The HLS content protection settings, if any, that you want Elastic Transcoder+-- to apply to the output files associated with this playlist.+p2HlsContentProtection :: Lens' Playlist (Maybe HlsContentProtection)+p2HlsContentProtection =+    lens _p2HlsContentProtection (\s a -> s { _p2HlsContentProtection = a })+ -- | The name that you want Elastic Transcoder to assign to the master playlist, -- for example, nyc-vacation.m3u8. If the name includes a '/' character, the -- section of the name before the last '/' must be identical for all 'Name' objects.@@ -3100,6 +3243,7 @@ instance FromJSON Playlist where     parseJSON = withObject "Playlist" $ \o -> Playlist         <$> o .:? "Format"+        <*> o .:? "HlsContentProtection"         <*> o .:? "Name"         <*> o .:? "OutputKeys" .!= mempty         <*> o .:? "Status"@@ -3107,11 +3251,12 @@  instance ToJSON Playlist where     toJSON Playlist{..} = object-        [ "Name"         .= _p2Name-        , "Format"       .= _p2Format-        , "OutputKeys"   .= _p2OutputKeys-        , "Status"       .= _p2Status-        , "StatusDetail" .= _p2StatusDetail+        [ "Name"                 .= _p2Name+        , "Format"               .= _p2Format+        , "OutputKeys"           .= _p2OutputKeys+        , "HlsContentProtection" .= _p2HlsContentProtection+        , "Status"               .= _p2Status+        , "StatusDetail"         .= _p2StatusDetail         ]  data Notifications = Notifications