packages feed

amazonka-elastictranscoder 0.0.6 → 0.0.7

raw patch · 11 files changed

+409/−116 lines, 11 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 Artwork
- Network.AWS.ElasticTranscoder.Types: instance Ord CaptionFormat
- Network.AWS.ElasticTranscoder.Types: instance Ord CaptionSource
- Network.AWS.ElasticTranscoder.Types: instance Ord JobInput
- Network.AWS.ElasticTranscoder.Types: instance Ord JobWatermark
+ Network.AWS.ElasticTranscoder.CreatePipeline: cp1AwsKmsKeyArn :: Lens' CreatePipeline (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: aEncryption :: Lens' Artwork (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: cfEncryption :: Lens' CaptionFormat (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: cjoEncryption :: Lens' CreateJobOutput (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: cjoThumbnailEncryption :: Lens' CreateJobOutput (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: csEncryption :: Lens' CaptionSource (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: data Encryption
+ Network.AWS.ElasticTranscoder.Types: eInitializationVector :: Lens' Encryption (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: eKey :: Lens' Encryption (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: eKeyMd5 :: Lens' Encryption (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: eMode :: Lens' Encryption (Maybe Text)
+ Network.AWS.ElasticTranscoder.Types: encryption :: Encryption
+ Network.AWS.ElasticTranscoder.Types: instance Eq Encryption
+ Network.AWS.ElasticTranscoder.Types: instance FromJSON Encryption
+ Network.AWS.ElasticTranscoder.Types: instance Ord Encryption
+ Network.AWS.ElasticTranscoder.Types: instance Show Encryption
+ Network.AWS.ElasticTranscoder.Types: instance ToJSON Encryption
+ Network.AWS.ElasticTranscoder.Types: jiEncryption :: Lens' JobInput (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: joEncryption :: Lens' JobOutput (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: joThumbnailEncryption :: Lens' JobOutput (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: jwEncryption :: Lens' JobWatermark (Maybe Encryption)
+ Network.AWS.ElasticTranscoder.Types: pAwsKmsKeyArn :: Lens' Pipeline (Maybe Text)
+ Network.AWS.ElasticTranscoder.UpdatePipeline: upAwsKmsKeyArn :: Lens' UpdatePipeline (Maybe Text)

Files

amazonka-elastictranscoder.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-elastictranscoder-version:               0.0.6+version:               0.0.7 synopsis:              Amazon Elastic Transcoder SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense@@ -59,5 +59,5 @@     other-modules:      build-depends:-          amazonka-core == 0.0.6.*+          amazonka-core == 0.0.7.*         , base          >= 4.7     && < 5
gen/Network/AWS/ElasticTranscoder/CancelJob.hs view
@@ -24,6 +24,10 @@  -- | The CancelJob operation cancels an unfinished job. --+-- You can only cancel a job that has a status of 'Submitted'. To prevent a+-- pipeline from starting to process a job while you're getting the job+-- identifier, use 'UpdatePipelineStatus' to temporarily pause the pipeline.+-- -- <http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/CancelJob.html> module Network.AWS.ElasticTranscoder.CancelJob     (
gen/Network/AWS/ElasticTranscoder/CreatePipeline.hs view
@@ -33,6 +33,7 @@     -- ** Request constructor     , createPipeline     -- ** Request lenses+    , cp1AwsKmsKeyArn     , cp1ContentConfig     , cp1InputBucket     , cp1Name@@ -55,7 +56,8 @@ import qualified GHC.Exts  data CreatePipeline = CreatePipeline-    { _cp1ContentConfig   :: Maybe PipelineOutputConfig+    { _cp1AwsKmsKeyArn    :: Maybe Text+    , _cp1ContentConfig   :: Maybe PipelineOutputConfig     , _cp1InputBucket     :: Text     , _cp1Name            :: Text     , _cp1Notifications   :: Maybe Notifications@@ -68,6 +70,8 @@ -- -- The fields accessible through corresponding lenses are: --+-- * 'cp1AwsKmsKeyArn' @::@ 'Maybe' 'Text'+-- -- * 'cp1ContentConfig' @::@ 'Maybe' 'PipelineOutputConfig' -- -- * 'cp1InputBucket' @::@ 'Text'@@ -91,11 +95,22 @@     , _cp1InputBucket     = p2     , _cp1Role            = p3     , _cp1OutputBucket    = Nothing+    , _cp1AwsKmsKeyArn    = Nothing     , _cp1Notifications   = Nothing     , _cp1ContentConfig   = Nothing     , _cp1ThumbnailConfig = Nothing     } +-- | The AWS Key Management Service (AWS KMS) key that you want to use with this+-- pipeline.+--+-- If you use either 'S3' or 'S3-AWS-KMS' as your 'Encryption:Mode', you don't need+-- to provide a key with your job because a default key, known as an AWS-KMS+-- key, is created for you automatically. You need to provide an AWS-KMS key+-- only if you want to use a non-default AWS-KMS key, or if you are using an 'Encryption:Mode' of 'AES-PKCS7', 'AES-CTR', or 'AES-GCM'.+cp1AwsKmsKeyArn :: Lens' CreatePipeline (Maybe Text)+cp1AwsKmsKeyArn = lens _cp1AwsKmsKeyArn (\s a -> s { _cp1AwsKmsKeyArn = a })+ -- | The optional 'ContentConfig' object specifies information about the Amazon S3 -- bucket in which you want Elastic Transcoder to save transcoded files and -- playlists: which bucket to use, which users you want to have access to the@@ -274,6 +289,7 @@         , "InputBucket"     .= _cp1InputBucket         , "OutputBucket"    .= _cp1OutputBucket         , "Role"            .= _cp1Role+        , "AwsKmsKeyArn"    .= _cp1AwsKmsKeyArn         , "Notifications"   .= _cp1Notifications         , "ContentConfig"   .= _cp1ContentConfig         , "ThumbnailConfig" .= _cp1ThumbnailConfig
gen/Network/AWS/ElasticTranscoder/DeletePreset.hs view
@@ -25,6 +25,11 @@ -- | The DeletePreset operation removes a preset that you've added in an AWS -- region. --+-- You can't delete the default presets that are included with Elastic+-- Transcoder.+--+--+-- -- <http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/DeletePreset.html> module Network.AWS.ElasticTranscoder.DeletePreset     (
gen/Network/AWS/ElasticTranscoder/ListJobsByPipeline.hs view
@@ -149,7 +149,7 @@  instance FromJSON ListJobsByPipelineResponse where     parseJSON = withObject "ListJobsByPipelineResponse" $ \o -> ListJobsByPipelineResponse-        <$> o .:  "Jobs"+        <$> o .:? "Jobs" .!= mempty         <*> o .:? "NextPageToken"  instance AWSPager ListJobsByPipeline where
gen/Network/AWS/ElasticTranscoder/ListJobsByStatus.hs view
@@ -147,7 +147,7 @@  instance FromJSON ListJobsByStatusResponse where     parseJSON = withObject "ListJobsByStatusResponse" $ \o -> ListJobsByStatusResponse-        <$> o .:  "Jobs"+        <$> o .:? "Jobs" .!= mempty         <*> o .:? "NextPageToken"  instance AWSPager ListJobsByStatus where
gen/Network/AWS/ElasticTranscoder/ListPipelines.hs view
@@ -132,7 +132,7 @@ instance FromJSON ListPipelinesResponse where     parseJSON = withObject "ListPipelinesResponse" $ \o -> ListPipelinesResponse         <$> o .:? "NextPageToken"-        <*> o .:  "Pipelines"+        <*> o .:? "Pipelines" .!= mempty  instance AWSPager ListPipelines where     page rq rs
gen/Network/AWS/ElasticTranscoder/ListPresets.hs view
@@ -133,7 +133,7 @@ instance FromJSON ListPresetsResponse where     parseJSON = withObject "ListPresetsResponse" $ \o -> ListPresetsResponse         <$> o .:? "NextPageToken"-        <*> o .:  "Presets"+        <*> o .:? "Presets" .!= mempty  instance AWSPager ListPresets where     page rq rs
gen/Network/AWS/ElasticTranscoder/TestRole.hs view
@@ -160,5 +160,5 @@  instance FromJSON TestRoleResponse where     parseJSON = withObject "TestRoleResponse" $ \o -> TestRoleResponse-        <$> o .:  "Messages"+        <$> o .:? "Messages" .!= mempty         <*> o .:? "Success"
gen/Network/AWS/ElasticTranscoder/Types.hs view
@@ -62,6 +62,7 @@     , joCaptions     , joComposition     , joDuration+    , joEncryption     , joHeight     , joId     , joKey@@ -70,6 +71,7 @@     , joSegmentDuration     , joStatus     , joStatusDetail+    , joThumbnailEncryption     , joThumbnailPattern     , joWatermarks     , joWidth@@ -90,6 +92,7 @@     -- * CaptionSource     , CaptionSource     , captionSource+    , csEncryption     , csKey     , csLabel     , csLanguage@@ -99,6 +102,7 @@     , Artwork     , artwork     , aAlbumArtFormat+    , aEncryption     , aInputKey     , aMaxHeight     , aMaxWidth@@ -117,10 +121,12 @@     , cjoAlbumArt     , cjoCaptions     , cjoComposition+    , cjoEncryption     , cjoKey     , cjoPresetId     , cjoRotate     , cjoSegmentDuration+    , cjoThumbnailEncryption     , cjoThumbnailPattern     , cjoWatermarks @@ -145,6 +151,14 @@     , tResolution     , tSizingPolicy +    -- * Encryption+    , Encryption+    , encryption+    , eInitializationVector+    , eKey+    , eKeyMd5+    , eMode+     -- * JobAlbumArt     , JobAlbumArt     , jobAlbumArt@@ -154,6 +168,7 @@     -- * JobWatermark     , JobWatermark     , jobWatermark+    , jwEncryption     , jwInputKey     , jwPresetWatermarkId @@ -161,6 +176,7 @@     , Pipeline     , pipeline     , pArn+    , pAwsKmsKeyArn     , pContentConfig     , pId     , pInputBucket@@ -187,6 +203,7 @@     -- * CaptionFormat     , CaptionFormat     , captionFormat+    , cfEncryption     , cfFormat     , cfPattern @@ -257,6 +274,7 @@     , jobInput     , jiAspectRatio     , jiContainer+    , jiEncryption     , jiFrameRate     , jiInterlaced     , jiKey@@ -348,7 +366,7 @@ instance FromJSON PipelineOutputConfig where     parseJSON = withObject "PipelineOutputConfig" $ \o -> PipelineOutputConfig         <$> o .:? "Bucket"-        <*> o .:  "Permissions"+        <*> o .:? "Permissions" .!= mempty         <*> o .:? "StorageClass"  instance ToJSON PipelineOutputConfig where@@ -438,7 +456,7 @@     parseJSON = withObject "CreateJobPlaylist" $ \o -> CreateJobPlaylist         <$> o .:? "Format"         <*> o .:? "Name"-        <*> o .:  "OutputKeys"+        <*> o .:? "OutputKeys" .!= mempty  instance ToJSON CreateJobPlaylist where     toJSON CreateJobPlaylist{..} = object@@ -491,7 +509,7 @@ -- MergeRetain: Elastic Transcoder transcodes both embedded and sidecar -- captions into outputs. If captions for a language are embedded in the input -- file and also appear in a sidecar file, Elastic Transcoder uses the embedded--- captions and ignores the sidecar captions for that language. If CaptionSources+-- captions and ignores the sidecar captions for that language. If 'CaptionSources' -- is empty, Elastic Transcoder omits all sidecar captions from the output -- files. --@@ -504,8 +522,8 @@  instance FromJSON Captions where     parseJSON = withObject "Captions" $ \o -> Captions-        <$> o .:  "CaptionFormats"-        <*> o .:  "CaptionSources"+        <$> o .:? "CaptionFormats" .!= mempty+        <*> o .:? "CaptionSources" .!= mempty         <*> o .:? "MergePolicy"  instance ToJSON Captions where@@ -538,9 +556,14 @@ -- -- 'auto': If you specify 'auto', Elastic Transcoder will select the profile -- based on the bit rate selected for the output file.  'AAC-LC': The most common--- AAC profile. Use for bitrates larger than 64 kbps.  'HE-AAC': Not supported on--- some older players and devices. Use for bitrates between 40 and 80 kbps.  'HE-AACv2': Not supported on some players and devices. Use for bitrates less than 48+-- AAC profile. Use for bit rates larger than 64 kbps.  'HE-AAC': Not supported on+-- some older players and devices. Use for bit rates between 40 and 80 kbps.  'HE-AACv2': Not supported on some players and devices. Use for bit rates less than 48 -- kbps.  All outputs in a 'Smooth' playlist must have the same value for 'Profile'.+--+-- If you created any presets before AAC profiles were added, Elastic+-- Transcoder automatically updated your presets to use AAC-LC. You can change+-- the value as required.+-- acoProfile :: Lens' AudioCodecOptions (Maybe Text) acoProfile = lens _acoProfile (\s a -> s { _acoProfile = a }) @@ -554,21 +577,23 @@         ]  data JobOutput = JobOutput-    { _joAlbumArt         :: Maybe JobAlbumArt-    , _joCaptions         :: Maybe Captions-    , _joComposition      :: List "Composition" Clip-    , _joDuration         :: Maybe Integer-    , _joHeight           :: Maybe Int-    , _joId               :: Maybe Text-    , _joKey              :: Maybe Text-    , _joPresetId         :: Maybe Text-    , _joRotate           :: Maybe Text-    , _joSegmentDuration  :: Maybe Text-    , _joStatus           :: Maybe Text-    , _joStatusDetail     :: Maybe Text-    , _joThumbnailPattern :: Maybe Text-    , _joWatermarks       :: List "Watermarks" JobWatermark-    , _joWidth            :: Maybe Int+    { _joAlbumArt            :: Maybe JobAlbumArt+    , _joCaptions            :: Maybe Captions+    , _joComposition         :: List "Composition" Clip+    , _joDuration            :: Maybe Integer+    , _joEncryption          :: Maybe Encryption+    , _joHeight              :: Maybe Int+    , _joId                  :: Maybe Text+    , _joKey                 :: Maybe Text+    , _joPresetId            :: Maybe Text+    , _joRotate              :: Maybe Text+    , _joSegmentDuration     :: Maybe Text+    , _joStatus              :: Maybe Text+    , _joStatusDetail        :: Maybe Text+    , _joThumbnailEncryption :: Maybe Encryption+    , _joThumbnailPattern    :: Maybe Text+    , _joWatermarks          :: List "Watermarks" JobWatermark+    , _joWidth               :: Maybe Int     } deriving (Eq, Show)  -- | 'JobOutput' constructor.@@ -583,6 +608,8 @@ -- -- * 'joDuration' @::@ 'Maybe' 'Integer' --+-- * 'joEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'joHeight' @::@ 'Maybe' 'Int' -- -- * 'joId' @::@ 'Maybe' 'Text'@@ -599,6 +626,8 @@ -- -- * 'joStatusDetail' @::@ 'Maybe' 'Text' --+-- * 'joThumbnailEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'joThumbnailPattern' @::@ 'Maybe' 'Text' -- -- * 'joWatermarks' @::@ ['JobWatermark']@@ -607,21 +636,23 @@ -- jobOutput :: JobOutput jobOutput = JobOutput-    { _joId               = Nothing-    , _joKey              = Nothing-    , _joThumbnailPattern = Nothing-    , _joRotate           = Nothing-    , _joPresetId         = Nothing-    , _joSegmentDuration  = Nothing-    , _joStatus           = Nothing-    , _joStatusDetail     = Nothing-    , _joDuration         = Nothing-    , _joWidth            = Nothing-    , _joHeight           = Nothing-    , _joWatermarks       = mempty-    , _joAlbumArt         = Nothing-    , _joComposition      = mempty-    , _joCaptions         = Nothing+    { _joId                  = Nothing+    , _joKey                 = Nothing+    , _joThumbnailPattern    = Nothing+    , _joThumbnailEncryption = Nothing+    , _joRotate              = Nothing+    , _joPresetId            = Nothing+    , _joSegmentDuration     = Nothing+    , _joStatus              = Nothing+    , _joStatusDetail        = Nothing+    , _joDuration            = Nothing+    , _joWidth               = Nothing+    , _joHeight              = Nothing+    , _joWatermarks          = mempty+    , _joAlbumArt            = Nothing+    , _joComposition         = mempty+    , _joCaptions            = Nothing+    , _joEncryption          = Nothing     }  -- | The album art to be associated with the output file, if any.@@ -684,6 +715,13 @@ joDuration :: Lens' JobOutput (Maybe Integer) joDuration = lens _joDuration (\s a -> s { _joDuration = 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+-- unencrypted file to your Amazon S3 bucket.+joEncryption :: Lens' JobOutput (Maybe Encryption)+joEncryption = lens _joEncryption (\s a -> s { _joEncryption = a })+ -- | Height of the output file, in pixels. joHeight :: Lens' JobOutput (Maybe Int) joHeight = lens _joHeight (\s a -> s { _joHeight = a })@@ -755,6 +793,12 @@ joStatusDetail :: Lens' JobOutput (Maybe Text) joStatusDetail = lens _joStatusDetail (\s a -> s { _joStatusDetail = a }) +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your thumbnail.+joThumbnailEncryption :: Lens' JobOutput (Maybe Encryption)+joThumbnailEncryption =+    lens _joThumbnailEncryption (\s a -> s { _joThumbnailEncryption = a })+ -- | Whether you want Elastic Transcoder to create thumbnails for your videos and, -- if so, how you want Elastic Transcoder to name the files. --@@ -809,8 +853,9 @@     parseJSON = withObject "JobOutput" $ \o -> JobOutput         <$> o .:? "AlbumArt"         <*> o .:? "Captions"-        <*> o .:  "Composition"+        <*> o .:? "Composition" .!= mempty         <*> o .:? "Duration"+        <*> o .:? "Encryption"         <*> o .:? "Height"         <*> o .:? "Id"         <*> o .:? "Key"@@ -819,27 +864,30 @@         <*> o .:? "SegmentDuration"         <*> o .:? "Status"         <*> o .:? "StatusDetail"+        <*> o .:? "ThumbnailEncryption"         <*> o .:? "ThumbnailPattern"-        <*> o .:  "Watermarks"+        <*> o .:? "Watermarks" .!= mempty         <*> o .:? "Width"  instance ToJSON JobOutput where     toJSON JobOutput{..} = object-        [ "Id"               .= _joId-        , "Key"              .= _joKey-        , "ThumbnailPattern" .= _joThumbnailPattern-        , "Rotate"           .= _joRotate-        , "PresetId"         .= _joPresetId-        , "SegmentDuration"  .= _joSegmentDuration-        , "Status"           .= _joStatus-        , "StatusDetail"     .= _joStatusDetail-        , "Duration"         .= _joDuration-        , "Width"            .= _joWidth-        , "Height"           .= _joHeight-        , "Watermarks"       .= _joWatermarks-        , "AlbumArt"         .= _joAlbumArt-        , "Composition"      .= _joComposition-        , "Captions"         .= _joCaptions+        [ "Id"                  .= _joId+        , "Key"                 .= _joKey+        , "ThumbnailPattern"    .= _joThumbnailPattern+        , "ThumbnailEncryption" .= _joThumbnailEncryption+        , "Rotate"              .= _joRotate+        , "PresetId"            .= _joPresetId+        , "SegmentDuration"     .= _joSegmentDuration+        , "Status"              .= _joStatus+        , "StatusDetail"        .= _joStatusDetail+        , "Duration"            .= _joDuration+        , "Width"               .= _joWidth+        , "Height"              .= _joHeight+        , "Watermarks"          .= _joWatermarks+        , "AlbumArt"            .= _joAlbumArt+        , "Composition"         .= _joComposition+        , "Captions"            .= _joCaptions+        , "Encryption"          .= _joEncryption         ]  data Job' = Job'@@ -955,9 +1003,9 @@         <*> o .:? "Input"         <*> o .:? "Output"         <*> o .:? "OutputKeyPrefix"-        <*> o .:  "Outputs"+        <*> o .:? "Outputs" .!= mempty         <*> o .:? "PipelineId"-        <*> o .:  "Playlists"+        <*> o .:? "Playlists" .!= mempty         <*> o .:? "Status"  instance ToJSON Job' where@@ -974,16 +1022,19 @@         ]  data CaptionSource = CaptionSource-    { _csKey        :: Maybe Text+    { _csEncryption :: Maybe Encryption+    , _csKey        :: Maybe Text     , _csLabel      :: Maybe Text     , _csLanguage   :: Maybe Text     , _csTimeOffset :: Maybe Text-    } deriving (Eq, Ord, Show)+    } deriving (Eq, Show)  -- | 'CaptionSource' constructor. -- -- The fields accessible through corresponding lenses are: --+-- * 'csEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'csKey' @::@ 'Maybe' 'Text' -- -- * 'csLabel' @::@ 'Maybe' 'Text'@@ -998,8 +1049,14 @@     , _csLanguage   = Nothing     , _csTimeOffset = Nothing     , _csLabel      = Nothing+    , _csEncryption = Nothing     } +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your caption sources.+csEncryption :: Lens' CaptionSource (Maybe Encryption)+csEncryption = lens _csEncryption (\s a -> s { _csEncryption = a })+ -- | The name of the sidecar caption file that you want Elastic Transcoder to -- include in the output file. csKey :: Lens' CaptionSource (Maybe Text)@@ -1032,7 +1089,8 @@  instance FromJSON CaptionSource where     parseJSON = withObject "CaptionSource" $ \o -> CaptionSource-        <$> o .:? "Key"+        <$> o .:? "Encryption"+        <*> o .:? "Key"         <*> o .:? "Label"         <*> o .:? "Language"         <*> o .:? "TimeOffset"@@ -1043,16 +1101,18 @@         , "Language"   .= _csLanguage         , "TimeOffset" .= _csTimeOffset         , "Label"      .= _csLabel+        , "Encryption" .= _csEncryption         ]  data Artwork = Artwork     { _aAlbumArtFormat :: Maybe Text+    , _aEncryption     :: Maybe Encryption     , _aInputKey       :: Maybe Text     , _aMaxHeight      :: Maybe Text     , _aMaxWidth       :: Maybe Text     , _aPaddingPolicy  :: Maybe Text     , _aSizingPolicy   :: Maybe Text-    } deriving (Eq, Ord, Show)+    } deriving (Eq, Show)  -- | 'Artwork' constructor. --@@ -1060,6 +1120,8 @@ -- -- * 'aAlbumArtFormat' @::@ 'Maybe' 'Text' --+-- * 'aEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'aInputKey' @::@ 'Maybe' 'Text' -- -- * 'aMaxHeight' @::@ 'Maybe' 'Text'@@ -1078,12 +1140,18 @@     , _aSizingPolicy   = Nothing     , _aPaddingPolicy  = Nothing     , _aAlbumArtFormat = Nothing+    , _aEncryption     = Nothing     }  -- | The format of album art, if any. Valid formats are '.jpg' and '.png'. aAlbumArtFormat :: Lens' Artwork (Maybe Text) aAlbumArtFormat = lens _aAlbumArtFormat (\s a -> s { _aAlbumArtFormat = a }) +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your artwork.+aEncryption :: Lens' Artwork (Maybe Encryption)+aEncryption = lens _aEncryption (\s a -> s { _aEncryption = a })+ -- | The name of the file to be used as album art. To determine which Amazon S3 -- bucket contains the specified file, Elastic Transcoder checks the pipeline -- specified by 'PipelineId'; the 'InputBucket' object in that pipeline identifies@@ -1140,6 +1208,7 @@ instance FromJSON Artwork where     parseJSON = withObject "Artwork" $ \o -> Artwork         <$> o .:? "AlbumArtFormat"+        <*> o .:? "Encryption"         <*> o .:? "InputKey"         <*> o .:? "MaxHeight"         <*> o .:? "MaxWidth"@@ -1154,6 +1223,7 @@         , "SizingPolicy"   .= _aSizingPolicy         , "PaddingPolicy"  .= _aPaddingPolicy         , "AlbumArtFormat" .= _aAlbumArtFormat+        , "Encryption"     .= _aEncryption         ]  data TimeSpan = TimeSpan@@ -1204,15 +1274,17 @@         ]  data CreateJobOutput = CreateJobOutput-    { _cjoAlbumArt         :: Maybe JobAlbumArt-    , _cjoCaptions         :: Maybe Captions-    , _cjoComposition      :: List "Composition" Clip-    , _cjoKey              :: Maybe Text-    , _cjoPresetId         :: Maybe Text-    , _cjoRotate           :: Maybe Text-    , _cjoSegmentDuration  :: Maybe Text-    , _cjoThumbnailPattern :: Maybe Text-    , _cjoWatermarks       :: List "Watermarks" JobWatermark+    { _cjoAlbumArt            :: Maybe JobAlbumArt+    , _cjoCaptions            :: Maybe Captions+    , _cjoComposition         :: List "Composition" Clip+    , _cjoEncryption          :: Maybe Encryption+    , _cjoKey                 :: Maybe Text+    , _cjoPresetId            :: Maybe Text+    , _cjoRotate              :: Maybe Text+    , _cjoSegmentDuration     :: Maybe Text+    , _cjoThumbnailEncryption :: Maybe Encryption+    , _cjoThumbnailPattern    :: Maybe Text+    , _cjoWatermarks          :: List "Watermarks" JobWatermark     } deriving (Eq, Show)  -- | 'CreateJobOutput' constructor.@@ -1225,6 +1297,8 @@ -- -- * 'cjoComposition' @::@ ['Clip'] --+-- * 'cjoEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'cjoKey' @::@ 'Maybe' 'Text' -- -- * 'cjoPresetId' @::@ 'Maybe' 'Text'@@ -1233,21 +1307,25 @@ -- -- * 'cjoSegmentDuration' @::@ 'Maybe' 'Text' --+-- * 'cjoThumbnailEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'cjoThumbnailPattern' @::@ 'Maybe' 'Text' -- -- * 'cjoWatermarks' @::@ ['JobWatermark'] -- createJobOutput :: CreateJobOutput createJobOutput = CreateJobOutput-    { _cjoKey              = Nothing-    , _cjoThumbnailPattern = Nothing-    , _cjoRotate           = Nothing-    , _cjoPresetId         = Nothing-    , _cjoSegmentDuration  = Nothing-    , _cjoWatermarks       = mempty-    , _cjoAlbumArt         = Nothing-    , _cjoComposition      = mempty-    , _cjoCaptions         = Nothing+    { _cjoKey                 = Nothing+    , _cjoThumbnailPattern    = Nothing+    , _cjoThumbnailEncryption = Nothing+    , _cjoRotate              = Nothing+    , _cjoPresetId            = Nothing+    , _cjoSegmentDuration     = Nothing+    , _cjoWatermarks          = mempty+    , _cjoAlbumArt            = Nothing+    , _cjoComposition         = mempty+    , _cjoCaptions            = Nothing+    , _cjoEncryption          = Nothing     }  -- | Information about the album art that you want Elastic Transcoder to add to@@ -1309,6 +1387,13 @@ cjoComposition :: Lens' CreateJobOutput [Clip] cjoComposition = lens _cjoComposition (\s a -> s { _cjoComposition = a }) . _List +-- | You can specify encryption settings for any output files that you want to use+-- for a transcoding job. This includes the output file and any watermarks,+-- thumbnails, album art, or captions that you want to use. You must specify+-- encryption settings for each file individually.+cjoEncryption :: Lens' CreateJobOutput (Maybe Encryption)+cjoEncryption = lens _cjoEncryption (\s a -> s { _cjoEncryption = a })+ -- | The name to assign to the transcoded file. Elastic Transcoder saves the file -- in the Amazon S3 bucket specified by the 'OutputBucket' object in the pipeline -- that is specified by the pipeline ID. If a file with the specified name@@ -1344,6 +1429,12 @@ cjoSegmentDuration =     lens _cjoSegmentDuration (\s a -> s { _cjoSegmentDuration = a }) +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your thumbnail.+cjoThumbnailEncryption :: Lens' CreateJobOutput (Maybe Encryption)+cjoThumbnailEncryption =+    lens _cjoThumbnailEncryption (\s a -> s { _cjoThumbnailEncryption = a })+ -- | Whether you want Elastic Transcoder to create thumbnails for your videos and, -- if so, how you want Elastic Transcoder to name the files. --@@ -1386,25 +1477,29 @@     parseJSON = withObject "CreateJobOutput" $ \o -> CreateJobOutput         <$> o .:? "AlbumArt"         <*> o .:? "Captions"-        <*> o .:  "Composition"+        <*> o .:? "Composition" .!= mempty+        <*> o .:? "Encryption"         <*> o .:? "Key"         <*> o .:? "PresetId"         <*> o .:? "Rotate"         <*> o .:? "SegmentDuration"+        <*> o .:? "ThumbnailEncryption"         <*> o .:? "ThumbnailPattern"-        <*> o .:  "Watermarks"+        <*> o .:? "Watermarks" .!= mempty  instance ToJSON CreateJobOutput where     toJSON CreateJobOutput{..} = object-        [ "Key"              .= _cjoKey-        , "ThumbnailPattern" .= _cjoThumbnailPattern-        , "Rotate"           .= _cjoRotate-        , "PresetId"         .= _cjoPresetId-        , "SegmentDuration"  .= _cjoSegmentDuration-        , "Watermarks"       .= _cjoWatermarks-        , "AlbumArt"         .= _cjoAlbumArt-        , "Composition"      .= _cjoComposition-        , "Captions"         .= _cjoCaptions+        [ "Key"                 .= _cjoKey+        , "ThumbnailPattern"    .= _cjoThumbnailPattern+        , "ThumbnailEncryption" .= _cjoThumbnailEncryption+        , "Rotate"              .= _cjoRotate+        , "PresetId"            .= _cjoPresetId+        , "SegmentDuration"     .= _cjoSegmentDuration+        , "Watermarks"          .= _cjoWatermarks+        , "AlbumArt"            .= _cjoAlbumArt+        , "Composition"         .= _cjoComposition+        , "Captions"            .= _cjoCaptions+        , "Encryption"          .= _cjoEncryption         ]  data AudioParameters = AudioParameters@@ -1558,7 +1653,8 @@ tFormat :: Lens' Thumbnails (Maybe Text) tFormat = lens _tFormat (\s a -> s { _tFormat = a }) --- | The number of seconds between thumbnails. Specify an integer value.+-- | The approximate number of seconds between thumbnails. Specify an integer+-- value. tInterval :: Lens' Thumbnails (Maybe Text) tInterval = lens _tInterval (\s a -> s { _tInterval = a }) @@ -1639,6 +1735,112 @@         , "PaddingPolicy" .= _tPaddingPolicy         ] +data Encryption = Encryption+    { _eInitializationVector :: Maybe Text+    , _eKey                  :: Maybe Text+    , _eKeyMd5               :: Maybe Text+    , _eMode                 :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'Encryption' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eInitializationVector' @::@ 'Maybe' 'Text'+--+-- * 'eKey' @::@ 'Maybe' 'Text'+--+-- * 'eKeyMd5' @::@ 'Maybe' 'Text'+--+-- * 'eMode' @::@ 'Maybe' 'Text'+--+encryption :: Encryption+encryption = Encryption+    { _eMode                 = Nothing+    , _eKey                  = Nothing+    , _eKeyMd5               = Nothing+    , _eInitializationVector = Nothing+    }++-- | The series of random bits created by a random bit generator, unique for every+-- encryption operation, that you used to encrypt your input files or 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+-- long before being base64-encoded.+eInitializationVector :: Lens' Encryption (Maybe Text)+eInitializationVector =+    lens _eInitializationVector (\s a -> s { _eInitializationVector = a })++-- | The data encryption key that you want Elastic Transcoder to use to encrypt+-- your output file, or that was used to encrypt your input file. 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 the Amazon Key Management Service.+eKey :: Lens' Encryption (Maybe Text)+eKey = lens _eKey (\s a -> s { _eKey = a })++-- | The MD5 digest of the key that you used to encrypt your input file, or that+-- you want Elastic Transcoder to use to encrypt your output file. Elastic+-- Transcoder uses the key digest 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 long before being base64-encoded.+eKeyMd5 :: Lens' Encryption (Maybe Text)+eKeyMd5 = lens _eKeyMd5 (\s a -> s { _eKeyMd5 = a })++-- | The specific server-side encryption mode that you want Elastic Transcoder to+-- use when decrypting your input files or encrypting your output files. Elastic+-- Transcoder supports the following options:+--+-- S3: Amazon S3 creates and manages the keys used for encrypting your files.+--+-- S3-AWS-KMS: Amazon S3 calls the Amazon Key Management Service, which creates+-- and manages the keys that are used for encrypting your files. If you specify 'S3-AWS-KMS' and you don't want to use the default key, you must add the AWS-KMS key that+-- you want to use to your pipeline.+--+-- AES-CBC-PKCS7: A padded cipher-block mode of operation originally used for+-- HLS files.+--+-- AES-CTR: AES Counter Mode.+--+-- AES-GCM: AES Galois Counter Mode, a mode of operation that is an+-- authenticated encryption format, meaning that a file, key, or initialization+-- vector that has been tampered with will fail the decryption process.+--+-- For all three AES options, you must provide the following settings, which+-- must be base64-encoded:+--+-- Key+--+-- Key MD5+--+-- Initialization Vector+--+-- For the AES modes, your private encryption keys and your unencrypted data+-- are never stored by AWS; therefore, it is important that you safely manage+-- your encryption keys. If you lose them, you won't be able to unencrypt your+-- data.+--+eMode :: Lens' Encryption (Maybe Text)+eMode = lens _eMode (\s a -> s { _eMode = a })++instance FromJSON Encryption where+    parseJSON = withObject "Encryption" $ \o -> Encryption+        <$> o .:? "InitializationVector"+        <*> o .:? "Key"+        <*> o .:? "KeyMd5"+        <*> o .:? "Mode"++instance ToJSON Encryption where+    toJSON Encryption{..} = object+        [ "Mode"                 .= _eMode+        , "Key"                  .= _eKey+        , "KeyMd5"               .= _eKeyMd5+        , "InitializationVector" .= _eInitializationVector+        ]+ data JobAlbumArt = JobAlbumArt     { _jaaArtwork     :: List "Artwork" Artwork     , _jaaMergePolicy :: Maybe Text@@ -1674,7 +1876,7 @@  instance FromJSON JobAlbumArt where     parseJSON = withObject "JobAlbumArt" $ \o -> JobAlbumArt-        <$> o .:  "Artwork"+        <$> o .:? "Artwork" .!= mempty         <*> o .:? "MergePolicy"  instance ToJSON JobAlbumArt where@@ -1684,14 +1886,17 @@         ]  data JobWatermark = JobWatermark-    { _jwInputKey          :: Maybe Text+    { _jwEncryption        :: Maybe Encryption+    , _jwInputKey          :: Maybe Text     , _jwPresetWatermarkId :: Maybe Text-    } deriving (Eq, Ord, Show)+    } deriving (Eq, Show)  -- | 'JobWatermark' constructor. -- -- The fields accessible through corresponding lenses are: --+-- * 'jwEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'jwInputKey' @::@ 'Maybe' 'Text' -- -- * 'jwPresetWatermarkId' @::@ 'Maybe' 'Text'@@ -1700,8 +1905,14 @@ jobWatermark = JobWatermark     { _jwPresetWatermarkId = Nothing     , _jwInputKey          = Nothing+    , _jwEncryption        = Nothing     } +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your watermarks.+jwEncryption :: Lens' JobWatermark (Maybe Encryption)+jwEncryption = lens _jwEncryption (\s a -> s { _jwEncryption = a })+ -- | The name of the .png or .jpg file that you want to use for the watermark. To -- determine which Amazon S3 bucket contains the specified file, Elastic -- Transcoder checks the pipeline specified by 'Pipeline'; the 'Input Bucket' object@@ -1723,17 +1934,20 @@  instance FromJSON JobWatermark where     parseJSON = withObject "JobWatermark" $ \o -> JobWatermark-        <$> o .:? "InputKey"+        <$> o .:? "Encryption"+        <*> o .:? "InputKey"         <*> o .:? "PresetWatermarkId"  instance ToJSON JobWatermark where     toJSON JobWatermark{..} = object         [ "PresetWatermarkId" .= _jwPresetWatermarkId         , "InputKey"          .= _jwInputKey+        , "Encryption"        .= _jwEncryption         ]  data Pipeline = Pipeline     { _pArn             :: Maybe Text+    , _pAwsKmsKeyArn    :: Maybe Text     , _pContentConfig   :: Maybe PipelineOutputConfig     , _pId              :: Maybe Text     , _pInputBucket     :: Maybe Text@@ -1751,6 +1965,8 @@ -- -- * 'pArn' @::@ 'Maybe' 'Text' --+-- * 'pAwsKmsKeyArn' @::@ 'Maybe' 'Text'+-- -- * 'pContentConfig' @::@ 'Maybe' 'PipelineOutputConfig' -- -- * 'pId' @::@ 'Maybe' 'Text'@@ -1778,6 +1994,7 @@     , _pInputBucket     = Nothing     , _pOutputBucket    = Nothing     , _pRole            = Nothing+    , _pAwsKmsKeyArn    = Nothing     , _pNotifications   = Nothing     , _pContentConfig   = Nothing     , _pThumbnailConfig = Nothing@@ -1787,6 +2004,16 @@ pArn :: Lens' Pipeline (Maybe Text) pArn = lens _pArn (\s a -> s { _pArn = a }) +-- | The AWS Key Management Service (AWS KMS) key that you want to use with this+-- pipeline.+--+-- If you use either 'S3' or 'S3-AWS-KMS' as your 'Encryption:Mode', you don't need+-- to provide a key with your job because a default key, known as an AWS-KMS+-- key, is created for you automatically. You need to provide an AWS-KMS key+-- only if you want to use a non-default AWS-KMS key, or if you are using an 'Encryption:Mode' of 'AES-PKCS7', 'AES-CTR', or 'AES-GCM'.+pAwsKmsKeyArn :: Lens' Pipeline (Maybe Text)+pAwsKmsKeyArn = lens _pAwsKmsKeyArn (\s a -> s { _pAwsKmsKeyArn = a })+ -- | Information about the Amazon S3 bucket in which you want Elastic Transcoder -- to save transcoded files and playlists. Either you specify both 'ContentConfig' -- and 'ThumbnailConfig', or you specify 'OutputBucket'.@@ -1894,6 +2121,7 @@ instance FromJSON Pipeline where     parseJSON = withObject "Pipeline" $ \o -> Pipeline         <$> o .:? "Arn"+        <*> o .:? "AwsKmsKeyArn"         <*> o .:? "ContentConfig"         <*> o .:? "Id"         <*> o .:? "InputBucket"@@ -1913,6 +2141,7 @@         , "InputBucket"     .= _pInputBucket         , "OutputBucket"    .= _pOutputBucket         , "Role"            .= _pRole+        , "AwsKmsKeyArn"    .= _pAwsKmsKeyArn         , "Notifications"   .= _pNotifications         , "ContentConfig"   .= _pContentConfig         , "ThumbnailConfig" .= _pThumbnailConfig@@ -2032,24 +2261,33 @@         ]  data CaptionFormat = CaptionFormat-    { _cfFormat  :: Maybe Text-    , _cfPattern :: Maybe Text-    } deriving (Eq, Ord, Show)+    { _cfEncryption :: Maybe Encryption+    , _cfFormat     :: Maybe Text+    , _cfPattern    :: Maybe Text+    } deriving (Eq, Show)  -- | 'CaptionFormat' constructor. -- -- The fields accessible through corresponding lenses are: --+-- * 'cfEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'cfFormat' @::@ 'Maybe' 'Text' -- -- * 'cfPattern' @::@ 'Maybe' 'Text' -- captionFormat :: CaptionFormat captionFormat = CaptionFormat-    { _cfFormat  = Nothing-    , _cfPattern = Nothing+    { _cfFormat     = Nothing+    , _cfPattern    = Nothing+    , _cfEncryption = Nothing     } +-- | The encryption settings, if any, that you want Elastic Transcoder to apply to+-- your caption formats.+cfEncryption :: Lens' CaptionFormat (Maybe Encryption)+cfEncryption = lens _cfEncryption (\s a -> s { _cfEncryption = a })+ -- | The format you specify determines whether Elastic Transcoder generates an -- embedded or sidecar caption for this output. --@@ -2094,13 +2332,15 @@  instance FromJSON CaptionFormat where     parseJSON = withObject "CaptionFormat" $ \o -> CaptionFormat-        <$> o .:? "Format"+        <$> o .:? "Encryption"+        <*> o .:? "Format"         <*> o .:? "Pattern"  instance ToJSON CaptionFormat where     toJSON CaptionFormat{..} = object-        [ "Format"  .= _cfFormat-        , "Pattern" .= _cfPattern+        [ "Format"     .= _cfFormat+        , "Pattern"    .= _cfPattern+        , "Encryption" .= _cfEncryption         ]  data PresetWatermark = PresetWatermark@@ -2353,7 +2593,7 @@  instance FromJSON Permission where     parseJSON = withObject "Permission" $ \o -> Permission-        <$> o .:  "Access"+        <$> o .:? "Access" .!= mempty         <*> o .:? "Grantee"         <*> o .:? "GranteeType" @@ -2679,7 +2919,7 @@         <$> o .:? "AspectRatio"         <*> o .:? "BitRate"         <*> o .:? "Codec"-        <*> o .:  "CodecOptions"+        <*> o .:? "CodecOptions" .!= mempty         <*> o .:? "DisplayAspectRatio"         <*> o .:? "FixedGOP"         <*> o .:? "FrameRate"@@ -2690,7 +2930,7 @@         <*> o .:? "PaddingPolicy"         <*> o .:? "Resolution"         <*> o .:? "SizingPolicy"-        <*> o .:  "Watermarks"+        <*> o .:? "Watermarks" .!= mempty  instance ToJSON VideoParameters where     toJSON VideoParameters{..} = object@@ -2807,7 +3047,7 @@     parseJSON = withObject "Playlist" $ \o -> Playlist         <$> o .:? "Format"         <*> o .:? "Name"-        <*> o .:  "OutputKeys"+        <*> o .:? "OutputKeys" .!= mempty         <*> o .:? "Status"         <*> o .:? "StatusDetail" @@ -2913,11 +3153,12 @@ data JobInput = JobInput     { _jiAspectRatio :: Maybe Text     , _jiContainer   :: Maybe Text+    , _jiEncryption  :: Maybe Encryption     , _jiFrameRate   :: Maybe Text     , _jiInterlaced  :: Maybe Text     , _jiKey         :: Maybe Text     , _jiResolution  :: Maybe Text-    } deriving (Eq, Ord, Show)+    } deriving (Eq, Show)  -- | 'JobInput' constructor. --@@ -2927,6 +3168,8 @@ -- -- * 'jiContainer' @::@ 'Maybe' 'Text' --+-- * 'jiEncryption' @::@ 'Maybe' 'Encryption'+-- -- * 'jiFrameRate' @::@ 'Maybe' 'Text' -- -- * 'jiInterlaced' @::@ 'Maybe' 'Text'@@ -2943,6 +3186,7 @@     , _jiAspectRatio = Nothing     , _jiInterlaced  = Nothing     , _jiContainer   = Nothing+    , _jiEncryption  = Nothing     }  -- | The aspect ratio of the input file. If you want Elastic Transcoder to@@ -2966,6 +3210,12 @@ jiContainer :: Lens' JobInput (Maybe Text) jiContainer = lens _jiContainer (\s a -> s { _jiContainer = 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.+jiEncryption :: Lens' JobInput (Maybe Encryption)+jiEncryption = lens _jiEncryption (\s a -> s { _jiEncryption = a })+ -- | The frame rate of the input file. If you want Elastic Transcoder to -- automatically detect the frame rate of the input file, specify 'auto'. If you -- want to specify the frame rate for the input file, enter one of the following@@ -3010,6 +3260,7 @@     parseJSON = withObject "JobInput" $ \o -> JobInput         <$> o .:? "AspectRatio"         <*> o .:? "Container"+        <*> o .:? "Encryption"         <*> o .:? "FrameRate"         <*> o .:? "Interlaced"         <*> o .:? "Key"@@ -3023,4 +3274,5 @@         , "AspectRatio" .= _jiAspectRatio         , "Interlaced"  .= _jiInterlaced         , "Container"   .= _jiContainer+        , "Encryption"  .= _jiEncryption         ]
gen/Network/AWS/ElasticTranscoder/UpdatePipeline.hs view
@@ -35,6 +35,7 @@     -- ** Request constructor     , updatePipeline     -- ** Request lenses+    , upAwsKmsKeyArn     , upContentConfig     , upId     , upInputBucket@@ -57,7 +58,8 @@ import qualified GHC.Exts  data UpdatePipeline = UpdatePipeline-    { _upContentConfig   :: Maybe PipelineOutputConfig+    { _upAwsKmsKeyArn    :: Maybe Text+    , _upContentConfig   :: Maybe PipelineOutputConfig     , _upId              :: Text     , _upInputBucket     :: Maybe Text     , _upName            :: Maybe Text@@ -70,6 +72,8 @@ -- -- The fields accessible through corresponding lenses are: --+-- * 'upAwsKmsKeyArn' @::@ 'Maybe' 'Text'+-- -- * 'upContentConfig' @::@ 'Maybe' 'PipelineOutputConfig' -- -- * 'upId' @::@ 'Text'@@ -91,11 +95,22 @@     , _upName            = Nothing     , _upInputBucket     = Nothing     , _upRole            = Nothing+    , _upAwsKmsKeyArn    = Nothing     , _upNotifications   = Nothing     , _upContentConfig   = Nothing     , _upThumbnailConfig = Nothing     } +-- | The AWS Key Management Service (AWS KMS) key that you want to use with this+-- pipeline.+--+-- If you use either 'S3' or 'S3-AWS-KMS' as your 'Encryption:Mode', you don't need+-- to provide a key with your job because a default key, known as an AWS-KMS+-- key, is created for you automatically. You need to provide an AWS-KMS key+-- only if you want to use a non-default AWS-KMS key, or if you are using an 'Encryption:Mode' of 'AES-PKCS7', 'AES-CTR', or 'AES-GCM'.+upAwsKmsKeyArn :: Lens' UpdatePipeline (Maybe Text)+upAwsKmsKeyArn = lens _upAwsKmsKeyArn (\s a -> s { _upAwsKmsKeyArn = a })+ -- | The optional 'ContentConfig' object specifies information about the Amazon S3 -- bucket in which you want Elastic Transcoder to save transcoded files and -- playlists: which bucket to use, which users you want to have access to the@@ -238,6 +253,7 @@         [ "Name"            .= _upName         , "InputBucket"     .= _upInputBucket         , "Role"            .= _upRole+        , "AwsKmsKeyArn"    .= _upAwsKmsKeyArn         , "Notifications"   .= _upNotifications         , "ContentConfig"   .= _upContentConfig         , "ThumbnailConfig" .= _upThumbnailConfig