packages feed

amazonka-glacier 1.5.0 → 1.6.0

raw patch · 44 files changed

+2541/−1389 lines, 44 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.Glacier: AES256 :: EncryptionType
+ Network.AWS.Glacier: ASNeeded :: QuoteFields
+ Network.AWS.Glacier: AWSExecRead :: CannedACL
+ Network.AWS.Glacier: AWSKMS :: EncryptionType
+ Network.AWS.Glacier: Always :: QuoteFields
+ Network.AWS.Glacier: AmazonCustomerByEmail :: Type
+ Network.AWS.Glacier: AuthenticatedRead :: CannedACL
+ Network.AWS.Glacier: BucketOwnerFullControl :: CannedACL
+ Network.AWS.Glacier: BucketOwnerRead :: CannedACL
+ Network.AWS.Glacier: CanonicalUser :: Type
+ Network.AWS.Glacier: FullControl :: Permission
+ Network.AWS.Glacier: Group :: Type
+ Network.AWS.Glacier: Ignore :: FileHeaderInfo
+ Network.AWS.Glacier: None :: FileHeaderInfo
+ Network.AWS.Glacier: Private :: CannedACL
+ Network.AWS.Glacier: PublicRead :: CannedACL
+ Network.AWS.Glacier: PublicReadWrite :: CannedACL
+ Network.AWS.Glacier: Read :: Permission
+ Network.AWS.Glacier: ReadAcp :: Permission
+ Network.AWS.Glacier: ReducedRedundancy :: StorageClass
+ Network.AWS.Glacier: Select :: ActionCode
+ Network.AWS.Glacier: Sql :: ExpressionType
+ Network.AWS.Glacier: Standard :: StorageClass
+ Network.AWS.Glacier: StandardIA :: StorageClass
+ Network.AWS.Glacier: Use :: FileHeaderInfo
+ Network.AWS.Glacier: Write :: Permission
+ Network.AWS.Glacier: WriteAcp :: Permission
+ Network.AWS.Glacier: ciComments :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier: ciFieldDelimiter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier: ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
+ Network.AWS.Glacier: ciQuoteCharacter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier: ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier: ciRecordDelimiter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier: coFieldDelimiter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier: coQuoteCharacter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier: coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier: coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)
+ Network.AWS.Glacier: coRecordDelimiter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier: csvInput :: CSVInput
+ Network.AWS.Glacier: csvOutput :: CSVOutput
+ Network.AWS.Glacier: data CSVInput
+ Network.AWS.Glacier: data CSVOutput
+ Network.AWS.Glacier: data CannedACL
+ Network.AWS.Glacier: data Encryption
+ Network.AWS.Glacier: data EncryptionType
+ Network.AWS.Glacier: data ExpressionType
+ Network.AWS.Glacier: data FileHeaderInfo
+ Network.AWS.Glacier: data Grant
+ Network.AWS.Glacier: data Grantee
+ Network.AWS.Glacier: data InputSerialization
+ Network.AWS.Glacier: data OutputLocation
+ Network.AWS.Glacier: data OutputSerialization
+ Network.AWS.Glacier: data Permission
+ Network.AWS.Glacier: data QuoteFields
+ Network.AWS.Glacier: data S3Location
+ Network.AWS.Glacier: data SelectParameters
+ Network.AWS.Glacier: data StorageClass
+ Network.AWS.Glacier: data Type
+ Network.AWS.Glacier: eEncryptionType :: Lens' Encryption (Maybe EncryptionType)
+ Network.AWS.Glacier: eKMSContext :: Lens' Encryption (Maybe Text)
+ Network.AWS.Glacier: eKMSKeyId :: Lens' Encryption (Maybe Text)
+ Network.AWS.Glacier: encryption :: Encryption
+ Network.AWS.Glacier: gDisplayName :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier: gEmailAddress :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier: gGrantee :: Lens' Grant (Maybe Grantee)
+ Network.AWS.Glacier: gId :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier: gPermission :: Lens' Grant (Maybe Permission)
+ Network.AWS.Glacier: gType :: Lens' Grantee Type
+ Network.AWS.Glacier: gURI :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier: gjdJobOutputPath :: Lens' GlacierJobDescription (Maybe Text)
+ Network.AWS.Glacier: gjdOutputLocation :: Lens' GlacierJobDescription (Maybe OutputLocation)
+ Network.AWS.Glacier: gjdSelectParameters :: Lens' GlacierJobDescription (Maybe SelectParameters)
+ Network.AWS.Glacier: grant :: Grant
+ Network.AWS.Glacier: grantee :: Type -> Grantee
+ Network.AWS.Glacier: inputSerialization :: InputSerialization
+ Network.AWS.Glacier: isCsv :: Lens' InputSerialization (Maybe CSVInput)
+ Network.AWS.Glacier: jpOutputLocation :: Lens' JobParameters (Maybe OutputLocation)
+ Network.AWS.Glacier: jpSelectParameters :: Lens' JobParameters (Maybe SelectParameters)
+ Network.AWS.Glacier: olS3 :: Lens' OutputLocation (Maybe S3Location)
+ Network.AWS.Glacier: osCsv :: Lens' OutputSerialization (Maybe CSVOutput)
+ Network.AWS.Glacier: outputLocation :: OutputLocation
+ Network.AWS.Glacier: outputSerialization :: OutputSerialization
+ Network.AWS.Glacier: s3Location :: S3Location
+ Network.AWS.Glacier: selectParameters :: SelectParameters
+ Network.AWS.Glacier: slAccessControlList :: Lens' S3Location [Grant]
+ Network.AWS.Glacier: slBucketName :: Lens' S3Location (Maybe Text)
+ Network.AWS.Glacier: slCannedACL :: Lens' S3Location (Maybe CannedACL)
+ Network.AWS.Glacier: slEncryption :: Lens' S3Location (Maybe Encryption)
+ Network.AWS.Glacier: slPrefix :: Lens' S3Location (Maybe Text)
+ Network.AWS.Glacier: slStorageClass :: Lens' S3Location (Maybe StorageClass)
+ Network.AWS.Glacier: slTagging :: Lens' S3Location (HashMap Text Text)
+ Network.AWS.Glacier: slUserMetadata :: Lens' S3Location (HashMap Text Text)
+ Network.AWS.Glacier: spExpression :: Lens' SelectParameters (Maybe Text)
+ Network.AWS.Glacier: spExpressionType :: Lens' SelectParameters (Maybe ExpressionType)
+ Network.AWS.Glacier: spInputSerialization :: Lens' SelectParameters (Maybe InputSerialization)
+ Network.AWS.Glacier: spOutputSerialization :: Lens' SelectParameters (Maybe OutputSerialization)
+ Network.AWS.Glacier.DescribeJob: gjdJobOutputPath :: Lens' GlacierJobDescription (Maybe Text)
+ Network.AWS.Glacier.DescribeJob: gjdOutputLocation :: Lens' GlacierJobDescription (Maybe OutputLocation)
+ Network.AWS.Glacier.DescribeJob: gjdSelectParameters :: Lens' GlacierJobDescription (Maybe SelectParameters)
+ Network.AWS.Glacier.InitiateJob: ijrsJobOutputPath :: Lens' InitiateJobResponse (Maybe Text)
+ Network.AWS.Glacier.Types: AES256 :: EncryptionType
+ Network.AWS.Glacier.Types: ASNeeded :: QuoteFields
+ Network.AWS.Glacier.Types: AWSExecRead :: CannedACL
+ Network.AWS.Glacier.Types: AWSKMS :: EncryptionType
+ Network.AWS.Glacier.Types: Always :: QuoteFields
+ Network.AWS.Glacier.Types: AmazonCustomerByEmail :: Type
+ Network.AWS.Glacier.Types: AuthenticatedRead :: CannedACL
+ Network.AWS.Glacier.Types: BucketOwnerFullControl :: CannedACL
+ Network.AWS.Glacier.Types: BucketOwnerRead :: CannedACL
+ Network.AWS.Glacier.Types: CanonicalUser :: Type
+ Network.AWS.Glacier.Types: FullControl :: Permission
+ Network.AWS.Glacier.Types: Group :: Type
+ Network.AWS.Glacier.Types: Ignore :: FileHeaderInfo
+ Network.AWS.Glacier.Types: None :: FileHeaderInfo
+ Network.AWS.Glacier.Types: Private :: CannedACL
+ Network.AWS.Glacier.Types: PublicRead :: CannedACL
+ Network.AWS.Glacier.Types: PublicReadWrite :: CannedACL
+ Network.AWS.Glacier.Types: Read :: Permission
+ Network.AWS.Glacier.Types: ReadAcp :: Permission
+ Network.AWS.Glacier.Types: ReducedRedundancy :: StorageClass
+ Network.AWS.Glacier.Types: Select :: ActionCode
+ Network.AWS.Glacier.Types: Sql :: ExpressionType
+ Network.AWS.Glacier.Types: Standard :: StorageClass
+ Network.AWS.Glacier.Types: StandardIA :: StorageClass
+ Network.AWS.Glacier.Types: Use :: FileHeaderInfo
+ Network.AWS.Glacier.Types: Write :: Permission
+ Network.AWS.Glacier.Types: WriteAcp :: Permission
+ Network.AWS.Glacier.Types: ciComments :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier.Types: ciFieldDelimiter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier.Types: ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
+ Network.AWS.Glacier.Types: ciQuoteCharacter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier.Types: ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier.Types: ciRecordDelimiter :: Lens' CSVInput (Maybe Text)
+ Network.AWS.Glacier.Types: coFieldDelimiter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier.Types: coQuoteCharacter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier.Types: coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier.Types: coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)
+ Network.AWS.Glacier.Types: coRecordDelimiter :: Lens' CSVOutput (Maybe Text)
+ Network.AWS.Glacier.Types: csvInput :: CSVInput
+ Network.AWS.Glacier.Types: csvOutput :: CSVOutput
+ Network.AWS.Glacier.Types: data CSVInput
+ Network.AWS.Glacier.Types: data CSVOutput
+ Network.AWS.Glacier.Types: data CannedACL
+ Network.AWS.Glacier.Types: data Encryption
+ Network.AWS.Glacier.Types: data EncryptionType
+ Network.AWS.Glacier.Types: data ExpressionType
+ Network.AWS.Glacier.Types: data FileHeaderInfo
+ Network.AWS.Glacier.Types: data Grant
+ Network.AWS.Glacier.Types: data Grantee
+ Network.AWS.Glacier.Types: data InputSerialization
+ Network.AWS.Glacier.Types: data OutputLocation
+ Network.AWS.Glacier.Types: data OutputSerialization
+ Network.AWS.Glacier.Types: data Permission
+ Network.AWS.Glacier.Types: data QuoteFields
+ Network.AWS.Glacier.Types: data S3Location
+ Network.AWS.Glacier.Types: data SelectParameters
+ Network.AWS.Glacier.Types: data StorageClass
+ Network.AWS.Glacier.Types: data Type
+ Network.AWS.Glacier.Types: eEncryptionType :: Lens' Encryption (Maybe EncryptionType)
+ Network.AWS.Glacier.Types: eKMSContext :: Lens' Encryption (Maybe Text)
+ Network.AWS.Glacier.Types: eKMSKeyId :: Lens' Encryption (Maybe Text)
+ Network.AWS.Glacier.Types: encryption :: Encryption
+ Network.AWS.Glacier.Types: gDisplayName :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier.Types: gEmailAddress :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier.Types: gGrantee :: Lens' Grant (Maybe Grantee)
+ Network.AWS.Glacier.Types: gId :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier.Types: gPermission :: Lens' Grant (Maybe Permission)
+ Network.AWS.Glacier.Types: gType :: Lens' Grantee Type
+ Network.AWS.Glacier.Types: gURI :: Lens' Grantee (Maybe Text)
+ Network.AWS.Glacier.Types: gjdJobOutputPath :: Lens' GlacierJobDescription (Maybe Text)
+ Network.AWS.Glacier.Types: gjdOutputLocation :: Lens' GlacierJobDescription (Maybe OutputLocation)
+ Network.AWS.Glacier.Types: gjdSelectParameters :: Lens' GlacierJobDescription (Maybe SelectParameters)
+ Network.AWS.Glacier.Types: grant :: Grant
+ Network.AWS.Glacier.Types: grantee :: Type -> Grantee
+ Network.AWS.Glacier.Types: inputSerialization :: InputSerialization
+ Network.AWS.Glacier.Types: isCsv :: Lens' InputSerialization (Maybe CSVInput)
+ Network.AWS.Glacier.Types: jpOutputLocation :: Lens' JobParameters (Maybe OutputLocation)
+ Network.AWS.Glacier.Types: jpSelectParameters :: Lens' JobParameters (Maybe SelectParameters)
+ Network.AWS.Glacier.Types: olS3 :: Lens' OutputLocation (Maybe S3Location)
+ Network.AWS.Glacier.Types: osCsv :: Lens' OutputSerialization (Maybe CSVOutput)
+ Network.AWS.Glacier.Types: outputLocation :: OutputLocation
+ Network.AWS.Glacier.Types: outputSerialization :: OutputSerialization
+ Network.AWS.Glacier.Types: s3Location :: S3Location
+ Network.AWS.Glacier.Types: selectParameters :: SelectParameters
+ Network.AWS.Glacier.Types: slAccessControlList :: Lens' S3Location [Grant]
+ Network.AWS.Glacier.Types: slBucketName :: Lens' S3Location (Maybe Text)
+ Network.AWS.Glacier.Types: slCannedACL :: Lens' S3Location (Maybe CannedACL)
+ Network.AWS.Glacier.Types: slEncryption :: Lens' S3Location (Maybe Encryption)
+ Network.AWS.Glacier.Types: slPrefix :: Lens' S3Location (Maybe Text)
+ Network.AWS.Glacier.Types: slStorageClass :: Lens' S3Location (Maybe StorageClass)
+ Network.AWS.Glacier.Types: slTagging :: Lens' S3Location (HashMap Text Text)
+ Network.AWS.Glacier.Types: slUserMetadata :: Lens' S3Location (HashMap Text Text)
+ Network.AWS.Glacier.Types: spExpression :: Lens' SelectParameters (Maybe Text)
+ Network.AWS.Glacier.Types: spExpressionType :: Lens' SelectParameters (Maybe ExpressionType)
+ Network.AWS.Glacier.Types: spInputSerialization :: Lens' SelectParameters (Maybe InputSerialization)
+ Network.AWS.Glacier.Types: spOutputSerialization :: Lens' SelectParameters (Maybe OutputSerialization)

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-glacier.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-glacier-version:               1.5.0+version:               1.6.0 synopsis:              Amazon Glacier SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -86,7 +86,7 @@         , Network.AWS.Glacier.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-glacier-test@@ -106,8 +106,8 @@         , Test.AWS.Glacier.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-glacier         , base         , bytestring
gen/Network/AWS/Glacier.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.Glacier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -176,9 +176,33 @@     -- ** ActionCode     , ActionCode (..) +    -- ** CannedACL+    , CannedACL (..)++    -- ** EncryptionType+    , EncryptionType (..)++    -- ** ExpressionType+    , ExpressionType (..)++    -- ** FileHeaderInfo+    , FileHeaderInfo (..)++    -- ** Permission+    , Permission (..)++    -- ** QuoteFields+    , QuoteFields (..)+     -- ** StatusCode     , StatusCode (..) +    -- ** StorageClass+    , StorageClass (..)++    -- ** Type+    , Type (..)+     -- ** ArchiveCreationOutput     , ArchiveCreationOutput     , archiveCreationOutput@@ -186,6 +210,25 @@     , acoChecksum     , acoLocation +    -- ** CSVInput+    , CSVInput+    , csvInput+    , ciQuoteCharacter+    , ciRecordDelimiter+    , ciFileHeaderInfo+    , ciQuoteEscapeCharacter+    , ciComments+    , ciFieldDelimiter++    -- ** CSVOutput+    , CSVOutput+    , csvOutput+    , coQuoteCharacter+    , coQuoteFields+    , coRecordDelimiter+    , coQuoteEscapeCharacter+    , coFieldDelimiter+     -- ** DataRetrievalPolicy     , DataRetrievalPolicy     , dataRetrievalPolicy@@ -207,12 +250,21 @@     , dvoCreationDate     , dvoNumberOfArchives +    -- ** Encryption+    , Encryption+    , encryption+    , eEncryptionType+    , eKMSKeyId+    , eKMSContext+     -- ** GlacierJobDescription     , GlacierJobDescription     , glacierJobDescription     , gjdSHA256TreeHash     , gjdArchiveId+    , gjdSelectParameters     , gjdJobId+    , gjdJobOutputPath     , gjdRetrievalByteRange     , gjdInventoryRetrievalParameters     , gjdAction@@ -220,6 +272,7 @@     , gjdSNSTopic     , gjdStatusMessage     , gjdVaultARN+    , gjdOutputLocation     , gjdTier     , gjdArchiveSHA256TreeHash     , gjdCreationDate@@ -229,6 +282,26 @@     , gjdArchiveSizeInBytes     , gjdStatusCode +    -- ** Grant+    , Grant+    , grant+    , gPermission+    , gGrantee++    -- ** Grantee+    , Grantee+    , grantee+    , gURI+    , gEmailAddress+    , gDisplayName+    , gId+    , gType++    -- ** InputSerialization+    , InputSerialization+    , inputSerialization+    , isCsv+     -- ** InventoryRetrievalJobDescription     , InventoryRetrievalJobDescription     , inventoryRetrievalJobDescription@@ -250,14 +323,26 @@     , JobParameters     , jobParameters     , jpArchiveId+    , jpSelectParameters     , jpFormat     , jpRetrievalByteRange     , jpInventoryRetrievalParameters     , jpSNSTopic+    , jpOutputLocation     , jpTier     , jpType     , jpDescription +    -- ** OutputLocation+    , OutputLocation+    , outputLocation+    , olS3++    -- ** OutputSerialization+    , OutputSerialization+    , outputSerialization+    , osCsv+     -- ** PartListElement     , PartListElement     , partListElement@@ -270,6 +355,26 @@     , pcdCapacityId     , pcdStartDate     , pcdExpirationDate++    -- ** S3Location+    , S3Location+    , s3Location+    , slCannedACL+    , slPrefix+    , slBucketName+    , slAccessControlList+    , slUserMetadata+    , slEncryption+    , slStorageClass+    , slTagging++    -- ** SelectParameters+    , SelectParameters+    , selectParameters+    , spExpressionType+    , spOutputSerialization+    , spExpression+    , spInputSerialization      -- ** UploadListElement     , UploadListElement
gen/Network/AWS/Glacier/AbortMultipartUpload.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.AbortMultipartUpload--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -81,23 +81,23 @@     -> AbortMultipartUpload abortMultipartUpload pAccountId_ pVaultName_ pUploadId_ =   AbortMultipartUpload'-  { _amuAccountId = pAccountId_-  , _amuVaultName = pVaultName_-  , _amuUploadId = pUploadId_-  }+    { _amuAccountId = pAccountId_+    , _amuVaultName = pVaultName_+    , _amuUploadId = pUploadId_+    }   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. amuAccountId :: Lens' AbortMultipartUpload Text-amuAccountId = lens _amuAccountId (\ s a -> s{_amuAccountId = a});+amuAccountId = lens _amuAccountId (\ s a -> s{_amuAccountId = a})  -- | The name of the vault. amuVaultName :: Lens' AbortMultipartUpload Text-amuVaultName = lens _amuVaultName (\ s a -> s{_amuVaultName = a});+amuVaultName = lens _amuVaultName (\ s a -> s{_amuVaultName = a})  -- | The upload ID of the multipart upload to delete. amuUploadId :: Lens' AbortMultipartUpload Text-amuUploadId = lens _amuUploadId (\ s a -> s{_amuUploadId = a});+amuUploadId = lens _amuUploadId (\ s a -> s{_amuUploadId = a})  instance AWSRequest AbortMultipartUpload where         type Rs AbortMultipartUpload =
gen/Network/AWS/Glacier/AbortVaultLock.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.AbortVaultLock--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -74,11 +74,11 @@  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. avlAccountId :: Lens' AbortVaultLock Text-avlAccountId = lens _avlAccountId (\ s a -> s{_avlAccountId = a});+avlAccountId = lens _avlAccountId (\ s a -> s{_avlAccountId = a})  -- | The name of the vault. avlVaultName :: Lens' AbortVaultLock Text-avlVaultName = lens _avlVaultName (\ s a -> s{_avlVaultName = a});+avlVaultName = lens _avlVaultName (\ s a -> s{_avlVaultName = a})  instance AWSRequest AbortVaultLock where         type Rs AbortVaultLock = AbortVaultLockResponse
gen/Network/AWS/Glacier/AddTagsToVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.AddTagsToVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> AddTagsToVault addTagsToVault pAccountId_ pVaultName_ =   AddTagsToVault'-  { _attvTags = Nothing-  , _attvAccountId = pAccountId_-  , _attvVaultName = pVaultName_-  }+    { _attvTags = Nothing+    , _attvAccountId = pAccountId_+    , _attvVaultName = pVaultName_+    }   -- | The tags to add to the vault. Each tag is composed of a key and a value. The value can be an empty string. attvTags :: Lens' AddTagsToVault (HashMap Text Text)-attvTags = lens _attvTags (\ s a -> s{_attvTags = a}) . _Default . _Map;+attvTags = lens _attvTags (\ s a -> s{_attvTags = a}) . _Default . _Map  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. attvAccountId :: Lens' AddTagsToVault Text-attvAccountId = lens _attvAccountId (\ s a -> s{_attvAccountId = a});+attvAccountId = lens _attvAccountId (\ s a -> s{_attvAccountId = a})  -- | The name of the vault. attvVaultName :: Lens' AddTagsToVault Text-attvVaultName = lens _attvVaultName (\ s a -> s{_attvVaultName = a});+attvVaultName = lens _attvVaultName (\ s a -> s{_attvVaultName = a})  instance AWSRequest AddTagsToVault where         type Rs AddTagsToVault = AddTagsToVaultResponse
gen/Network/AWS/Glacier/CompleteMultipartUpload.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.CompleteMultipartUpload--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -93,33 +93,33 @@     -> CompleteMultipartUpload completeMultipartUpload pAccountId_ pVaultName_ pUploadId_ =   CompleteMultipartUpload'-  { _cmuChecksum = Nothing-  , _cmuArchiveSize = Nothing-  , _cmuAccountId = pAccountId_-  , _cmuVaultName = pVaultName_-  , _cmuUploadId = pUploadId_-  }+    { _cmuChecksum = Nothing+    , _cmuArchiveSize = Nothing+    , _cmuAccountId = pAccountId_+    , _cmuVaultName = pVaultName_+    , _cmuUploadId = pUploadId_+    }   -- | The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final assembled archive as computed by Amazon Glacier, Amazon Glacier returns an error and the request fails. cmuChecksum :: Lens' CompleteMultipartUpload (Maybe Text)-cmuChecksum = lens _cmuChecksum (\ s a -> s{_cmuChecksum = a});+cmuChecksum = lens _cmuChecksum (\ s a -> s{_cmuChecksum = a})  -- | The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded. cmuArchiveSize :: Lens' CompleteMultipartUpload (Maybe Text)-cmuArchiveSize = lens _cmuArchiveSize (\ s a -> s{_cmuArchiveSize = a});+cmuArchiveSize = lens _cmuArchiveSize (\ s a -> s{_cmuArchiveSize = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. cmuAccountId :: Lens' CompleteMultipartUpload Text-cmuAccountId = lens _cmuAccountId (\ s a -> s{_cmuAccountId = a});+cmuAccountId = lens _cmuAccountId (\ s a -> s{_cmuAccountId = a})  -- | The name of the vault. cmuVaultName :: Lens' CompleteMultipartUpload Text-cmuVaultName = lens _cmuVaultName (\ s a -> s{_cmuVaultName = a});+cmuVaultName = lens _cmuVaultName (\ s a -> s{_cmuVaultName = a})  -- | The upload ID of the multipart upload. cmuUploadId :: Lens' CompleteMultipartUpload Text-cmuUploadId = lens _cmuUploadId (\ s a -> s{_cmuUploadId = a});+cmuUploadId = lens _cmuUploadId (\ s a -> s{_cmuUploadId = a})  instance AWSRequest CompleteMultipartUpload where         type Rs CompleteMultipartUpload =
gen/Network/AWS/Glacier/CompleteVaultLock.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.CompleteVaultLock--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,23 +75,23 @@     -> CompleteVaultLock completeVaultLock pAccountId_ pVaultName_ pLockId_ =   CompleteVaultLock'-  { _cvlAccountId = pAccountId_-  , _cvlVaultName = pVaultName_-  , _cvlLockId = pLockId_-  }+    { _cvlAccountId = pAccountId_+    , _cvlVaultName = pVaultName_+    , _cvlLockId = pLockId_+    }   -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. cvlAccountId :: Lens' CompleteVaultLock Text-cvlAccountId = lens _cvlAccountId (\ s a -> s{_cvlAccountId = a});+cvlAccountId = lens _cvlAccountId (\ s a -> s{_cvlAccountId = a})  -- | The name of the vault. cvlVaultName :: Lens' CompleteVaultLock Text-cvlVaultName = lens _cvlVaultName (\ s a -> s{_cvlVaultName = a});+cvlVaultName = lens _cvlVaultName (\ s a -> s{_cvlVaultName = a})  -- | The @lockId@ value is the lock ID obtained from a 'InitiateVaultLock' request. cvlLockId :: Lens' CompleteVaultLock Text-cvlLockId = lens _cvlLockId (\ s a -> s{_cvlLockId = a});+cvlLockId = lens _cvlLockId (\ s a -> s{_cvlLockId = a})  instance AWSRequest CompleteVaultLock where         type Rs CompleteVaultLock = CompleteVaultLockResponse
gen/Network/AWS/Glacier/CreateVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.CreateVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -87,11 +87,11 @@  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. cvAccountId :: Lens' CreateVault Text-cvAccountId = lens _cvAccountId (\ s a -> s{_cvAccountId = a});+cvAccountId = lens _cvAccountId (\ s a -> s{_cvAccountId = a})  -- | The name of the vault. cvVaultName :: Lens' CreateVault Text-cvVaultName = lens _cvVaultName (\ s a -> s{_cvVaultName = a});+cvVaultName = lens _cvVaultName (\ s a -> s{_cvVaultName = a})  instance AWSRequest CreateVault where         type Rs CreateVault = CreateVaultResponse@@ -144,15 +144,15 @@     -> CreateVaultResponse createVaultResponse pResponseStatus_ =   CreateVaultResponse'-  {_cvrsLocation = Nothing, _cvrsResponseStatus = pResponseStatus_}+    {_cvrsLocation = Nothing, _cvrsResponseStatus = pResponseStatus_}   -- | The URI of the vault that was created. cvrsLocation :: Lens' CreateVaultResponse (Maybe Text)-cvrsLocation = lens _cvrsLocation (\ s a -> s{_cvrsLocation = a});+cvrsLocation = lens _cvrsLocation (\ s a -> s{_cvrsLocation = a})  -- | -- | The response status code. cvrsResponseStatus :: Lens' CreateVaultResponse Int-cvrsResponseStatus = lens _cvrsResponseStatus (\ s a -> s{_cvrsResponseStatus = a});+cvrsResponseStatus = lens _cvrsResponseStatus (\ s a -> s{_cvrsResponseStatus = a})  instance NFData CreateVaultResponse where
gen/Network/AWS/Glacier/DeleteArchive.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DeleteArchive--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -83,23 +83,23 @@     -> DeleteArchive deleteArchive pAccountId_ pVaultName_ pArchiveId_ =   DeleteArchive'-  { _daAccountId = pAccountId_-  , _daVaultName = pVaultName_-  , _daArchiveId = pArchiveId_-  }+    { _daAccountId = pAccountId_+    , _daVaultName = pVaultName_+    , _daArchiveId = pArchiveId_+    }   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. daAccountId :: Lens' DeleteArchive Text-daAccountId = lens _daAccountId (\ s a -> s{_daAccountId = a});+daAccountId = lens _daAccountId (\ s a -> s{_daAccountId = a})  -- | The name of the vault. daVaultName :: Lens' DeleteArchive Text-daVaultName = lens _daVaultName (\ s a -> s{_daVaultName = a});+daVaultName = lens _daVaultName (\ s a -> s{_daVaultName = a})  -- | The ID of the archive to delete. daArchiveId :: Lens' DeleteArchive Text-daArchiveId = lens _daArchiveId (\ s a -> s{_daArchiveId = a});+daArchiveId = lens _daArchiveId (\ s a -> s{_daArchiveId = a})  instance AWSRequest DeleteArchive where         type Rs DeleteArchive = DeleteArchiveResponse
gen/Network/AWS/Glacier/DeleteVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DeleteVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -76,11 +76,11 @@  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. dAccountId :: Lens' DeleteVault Text-dAccountId = lens _dAccountId (\ s a -> s{_dAccountId = a});+dAccountId = lens _dAccountId (\ s a -> s{_dAccountId = a})  -- | The name of the vault. dVaultName :: Lens' DeleteVault Text-dVaultName = lens _dVaultName (\ s a -> s{_dVaultName = a});+dVaultName = lens _dVaultName (\ s a -> s{_dVaultName = a})  instance AWSRequest DeleteVault where         type Rs DeleteVault = DeleteVaultResponse
gen/Network/AWS/Glacier/DeleteVaultAccessPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DeleteVaultAccessPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,16 +68,16 @@     -> DeleteVaultAccessPolicy deleteVaultAccessPolicy pAccountId_ pVaultName_ =   DeleteVaultAccessPolicy'-  {_dvapAccountId = pAccountId_, _dvapVaultName = pVaultName_}+    {_dvapAccountId = pAccountId_, _dvapVaultName = pVaultName_}   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. dvapAccountId :: Lens' DeleteVaultAccessPolicy Text-dvapAccountId = lens _dvapAccountId (\ s a -> s{_dvapAccountId = a});+dvapAccountId = lens _dvapAccountId (\ s a -> s{_dvapAccountId = a})  -- | The name of the vault. dvapVaultName :: Lens' DeleteVaultAccessPolicy Text-dvapVaultName = lens _dvapVaultName (\ s a -> s{_dvapVaultName = a});+dvapVaultName = lens _dvapVaultName (\ s a -> s{_dvapVaultName = a})  instance AWSRequest DeleteVaultAccessPolicy where         type Rs DeleteVaultAccessPolicy =
gen/Network/AWS/Glacier/DeleteVaultNotifications.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DeleteVaultNotifications--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,7 +21,7 @@ -- This operation deletes the notification configuration set for a vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely disable the notifications and you might still receive some notifications for a short time after you send the delete request. -- ----- An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see <http://docs.aws.amazon.com/latest/dev/using-iam-with-amazon-glacier.html Access Control Using AWS Identity and Access Management (IAM)> .+-- An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html Access Control Using AWS Identity and Access Management (IAM)> . -- -- For conceptual information and underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html Configuring Vault Notifications in Amazon Glacier> and <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-delete.html Delete Vault Notification Configuration > in the Amazon Glacier Developer Guide. --@@ -70,16 +70,16 @@     -> DeleteVaultNotifications deleteVaultNotifications pAccountId_ pVaultName_ =   DeleteVaultNotifications'-  {_dvnAccountId = pAccountId_, _dvnVaultName = pVaultName_}+    {_dvnAccountId = pAccountId_, _dvnVaultName = pVaultName_}   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. dvnAccountId :: Lens' DeleteVaultNotifications Text-dvnAccountId = lens _dvnAccountId (\ s a -> s{_dvnAccountId = a});+dvnAccountId = lens _dvnAccountId (\ s a -> s{_dvnAccountId = a})  -- | The name of the vault. dvnVaultName :: Lens' DeleteVaultNotifications Text-dvnVaultName = lens _dvnVaultName (\ s a -> s{_dvnVaultName = a});+dvnVaultName = lens _dvnVaultName (\ s a -> s{_dvnVaultName = a})  instance AWSRequest DeleteVaultNotifications where         type Rs DeleteVaultNotifications =
gen/Network/AWS/Glacier/DescribeJob.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DescribeJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -25,7 +25,7 @@ -- -- An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html Access Control Using AWS Identity and Access Management (IAM)> . ----- For information about the underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html Working with Archives in Amazon Glacier> in the /Amazon Glacier Developer Guide/ .+-- For more information about using this operation, see the documentation for the underlying REST API <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html Describe Job> in the /Amazon Glacier Developer Guide/ . -- module Network.AWS.Glacier.DescribeJob     (@@ -43,7 +43,9 @@     -- * Response Lenses     , gjdSHA256TreeHash     , gjdArchiveId+    , gjdSelectParameters     , gjdJobId+    , gjdJobOutputPath     , gjdRetrievalByteRange     , gjdInventoryRetrievalParameters     , gjdAction@@ -51,6 +53,7 @@     , gjdSNSTopic     , gjdStatusMessage     , gjdVaultARN+    , gjdOutputLocation     , gjdTier     , gjdArchiveSHA256TreeHash     , gjdCreationDate@@ -96,20 +99,20 @@     -> DescribeJob describeJob pAccountId_ pVaultName_ pJobId_ =   DescribeJob'-  {_djAccountId = pAccountId_, _djVaultName = pVaultName_, _djJobId = pJobId_}+    {_djAccountId = pAccountId_, _djVaultName = pVaultName_, _djJobId = pJobId_}   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. djAccountId :: Lens' DescribeJob Text-djAccountId = lens _djAccountId (\ s a -> s{_djAccountId = a});+djAccountId = lens _djAccountId (\ s a -> s{_djAccountId = a})  -- | The name of the vault. djVaultName :: Lens' DescribeJob Text-djVaultName = lens _djVaultName (\ s a -> s{_djVaultName = a});+djVaultName = lens _djVaultName (\ s a -> s{_djVaultName = a})  -- | The ID of the job to describe. djJobId :: Lens' DescribeJob Text-djJobId = lens _djJobId (\ s a -> s{_djJobId = a});+djJobId = lens _djJobId (\ s a -> s{_djJobId = a})  instance AWSRequest DescribeJob where         type Rs DescribeJob = GlacierJobDescription
gen/Network/AWS/Glacier/DescribeVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.DescribeVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -81,11 +81,11 @@  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. dvAccountId :: Lens' DescribeVault Text-dvAccountId = lens _dvAccountId (\ s a -> s{_dvAccountId = a});+dvAccountId = lens _dvAccountId (\ s a -> s{_dvAccountId = a})  -- | The name of the vault. dvVaultName :: Lens' DescribeVault Text-dvVaultName = lens _dvVaultName (\ s a -> s{_dvVaultName = a});+dvVaultName = lens _dvVaultName (\ s a -> s{_dvVaultName = a})  instance AWSRequest DescribeVault where         type Rs DescribeVault = DescribeVaultOutput
gen/Network/AWS/Glacier/GetDataRetrievalPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.GetDataRetrievalPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,7 +68,7 @@  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. gdrpAccountId :: Lens' GetDataRetrievalPolicy Text-gdrpAccountId = lens _gdrpAccountId (\ s a -> s{_gdrpAccountId = a});+gdrpAccountId = lens _gdrpAccountId (\ s a -> s{_gdrpAccountId = a})  instance AWSRequest GetDataRetrievalPolicy where         type Rs GetDataRetrievalPolicy =@@ -119,15 +119,15 @@     -> GetDataRetrievalPolicyResponse getDataRetrievalPolicyResponse pResponseStatus_ =   GetDataRetrievalPolicyResponse'-  {_gdrprsPolicy = Nothing, _gdrprsResponseStatus = pResponseStatus_}+    {_gdrprsPolicy = Nothing, _gdrprsResponseStatus = pResponseStatus_}   -- | Contains the returned data retrieval policy in JSON format. gdrprsPolicy :: Lens' GetDataRetrievalPolicyResponse (Maybe DataRetrievalPolicy)-gdrprsPolicy = lens _gdrprsPolicy (\ s a -> s{_gdrprsPolicy = a});+gdrprsPolicy = lens _gdrprsPolicy (\ s a -> s{_gdrprsPolicy = a})  -- | -- | The response status code. gdrprsResponseStatus :: Lens' GetDataRetrievalPolicyResponse Int-gdrprsResponseStatus = lens _gdrprsResponseStatus (\ s a -> s{_gdrprsResponseStatus = a});+gdrprsResponseStatus = lens _gdrprsResponseStatus (\ s a -> s{_gdrprsResponseStatus = a})  instance NFData GetDataRetrievalPolicyResponse where
gen/Network/AWS/Glacier/GetJobOutput.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.GetJobOutput--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -97,28 +97,28 @@     -> GetJobOutput getJobOutput pAccountId_ pVaultName_ pJobId_ =   GetJobOutput'-  { _gjoRange = Nothing-  , _gjoAccountId = pAccountId_-  , _gjoVaultName = pVaultName_-  , _gjoJobId = pJobId_-  }+    { _gjoRange = Nothing+    , _gjoAccountId = pAccountId_+    , _gjoVaultName = pVaultName_+    , _gjoJobId = pJobId_+    }   -- | The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify the range as @bytes=0-1048575@ . By default, this operation downloads the entire output. If the job output is large, then you can use a range to retrieve a portion of the output. This allows you to download the entire output in smaller chunks of bytes. For example, suppose you have 1 GB of job output you want to download and you decide to download 128 MB chunks of data at a time, which is a total of eight Get Job Output requests. You use the following process to download the job output:     * Download a 128 MB chunk of output by specifying the appropriate byte range. Verify that all 128 MB of data was received.     * Along with the data, the response includes a SHA256 tree hash of the payload. You compute the checksum of the payload on the client and compare it with the checksum you received in the response to ensure you received all the expected data.     * Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each time specifying the appropriate byte range.     * After downloading all the parts of the job output, you have a list of eight checksum values. Compute the tree hash of these values to find the checksum of the entire output. Using the 'DescribeJob' API, obtain job information of the job that provided you the output. The response includes the checksum of the entire archive stored in Amazon Glacier. You compare this value with the checksum you computed to ensure you have downloaded the entire archive content with no errors. gjoRange :: Lens' GetJobOutput (Maybe Text)-gjoRange = lens _gjoRange (\ s a -> s{_gjoRange = a});+gjoRange = lens _gjoRange (\ s a -> s{_gjoRange = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. gjoAccountId :: Lens' GetJobOutput Text-gjoAccountId = lens _gjoAccountId (\ s a -> s{_gjoAccountId = a});+gjoAccountId = lens _gjoAccountId (\ s a -> s{_gjoAccountId = a})  -- | The name of the vault. gjoVaultName :: Lens' GetJobOutput Text-gjoVaultName = lens _gjoVaultName (\ s a -> s{_gjoVaultName = a});+gjoVaultName = lens _gjoVaultName (\ s a -> s{_gjoVaultName = a})  -- | The job ID whose data is downloaded. gjoJobId :: Lens' GetJobOutput Text-gjoJobId = lens _gjoJobId (\ s a -> s{_gjoJobId = a});+gjoJobId = lens _gjoJobId (\ s a -> s{_gjoJobId = a})  instance AWSRequest GetJobOutput where         type Rs GetJobOutput = GetJobOutputResponse@@ -192,40 +192,40 @@     -> GetJobOutputResponse getJobOutputResponse pStatus_ pBody_ =   GetJobOutputResponse'-  { _gjorsChecksum = Nothing-  , _gjorsAcceptRanges = Nothing-  , _gjorsArchiveDescription = Nothing-  , _gjorsContentRange = Nothing-  , _gjorsContentType = Nothing-  , _gjorsStatus = pStatus_-  , _gjorsBody = pBody_-  }+    { _gjorsChecksum = Nothing+    , _gjorsAcceptRanges = Nothing+    , _gjorsArchiveDescription = Nothing+    , _gjorsContentRange = Nothing+    , _gjorsContentType = Nothing+    , _gjorsStatus = pStatus_+    , _gjorsBody = pBody_+    }   -- | The checksum of the data in the response. This header is returned only when retrieving the output for an archive retrieval job. Furthermore, this header appears only under the following conditions:     * You get the entire range of the archive.     * You request a range to return of the archive that starts and ends on a multiple of 1 MB. For example, if you have an 3.1 MB archive and you specify a range to return that starts at 1 MB and ends at 2 MB, then the x-amz-sha256-tree-hash is returned as a response header.     * You request a range of the archive to return that starts on a multiple of 1 MB and goes to the end of the archive. For example, if you have a 3.1 MB archive and you specify a range that starts at 2 MB and ends at 3.1 MB (the end of the archive), then the x-amz-sha256-tree-hash is returned as a response header. gjorsChecksum :: Lens' GetJobOutputResponse (Maybe Text)-gjorsChecksum = lens _gjorsChecksum (\ s a -> s{_gjorsChecksum = a});+gjorsChecksum = lens _gjorsChecksum (\ s a -> s{_gjorsChecksum = a})  -- | Indicates the range units accepted. For more information, see <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html RFC2616> . gjorsAcceptRanges :: Lens' GetJobOutputResponse (Maybe Text)-gjorsAcceptRanges = lens _gjorsAcceptRanges (\ s a -> s{_gjorsAcceptRanges = a});+gjorsAcceptRanges = lens _gjorsAcceptRanges (\ s a -> s{_gjorsAcceptRanges = a})  -- | The description of an archive. gjorsArchiveDescription :: Lens' GetJobOutputResponse (Maybe Text)-gjorsArchiveDescription = lens _gjorsArchiveDescription (\ s a -> s{_gjorsArchiveDescription = a});+gjorsArchiveDescription = lens _gjorsArchiveDescription (\ s a -> s{_gjorsArchiveDescription = a})  -- | The range of bytes returned by Amazon Glacier. If only partial output is downloaded, the response provides the range of bytes Amazon Glacier returned. For example, bytes 0-1048575/8388608 returns the first 1 MB from 8 MB. gjorsContentRange :: Lens' GetJobOutputResponse (Maybe Text)-gjorsContentRange = lens _gjorsContentRange (\ s a -> s{_gjorsContentRange = a});+gjorsContentRange = lens _gjorsContentRange (\ s a -> s{_gjorsContentRange = a})  -- | The Content-Type depends on whether the job output is an archive or a vault inventory. For archive data, the Content-Type is application/octet-stream. For vault inventory, if you requested CSV format when you initiated the job, the Content-Type is text/csv. Otherwise, by default, vault inventory is returned as JSON, and the Content-Type is application/json. gjorsContentType :: Lens' GetJobOutputResponse (Maybe Text)-gjorsContentType = lens _gjorsContentType (\ s a -> s{_gjorsContentType = a});+gjorsContentType = lens _gjorsContentType (\ s a -> s{_gjorsContentType = a})  -- | The HTTP response code for a job output request. The value depends on whether a range was specified in the request. gjorsStatus :: Lens' GetJobOutputResponse Int-gjorsStatus = lens _gjorsStatus (\ s a -> s{_gjorsStatus = a});+gjorsStatus = lens _gjorsStatus (\ s a -> s{_gjorsStatus = a})  -- | The job data, either archive data or inventory data. gjorsBody :: Lens' GetJobOutputResponse RsBody-gjorsBody = lens _gjorsBody (\ s a -> s{_gjorsBody = a});+gjorsBody = lens _gjorsBody (\ s a -> s{_gjorsBody = a})
gen/Network/AWS/Glacier/GetVaultAccessPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.GetVaultAccessPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,16 +69,16 @@     -> GetVaultAccessPolicy getVaultAccessPolicy pAccountId_ pVaultName_ =   GetVaultAccessPolicy'-  {_gvapAccountId = pAccountId_, _gvapVaultName = pVaultName_}+    {_gvapAccountId = pAccountId_, _gvapVaultName = pVaultName_}   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. gvapAccountId :: Lens' GetVaultAccessPolicy Text-gvapAccountId = lens _gvapAccountId (\ s a -> s{_gvapAccountId = a});+gvapAccountId = lens _gvapAccountId (\ s a -> s{_gvapAccountId = a})  -- | The name of the vault. gvapVaultName :: Lens' GetVaultAccessPolicy Text-gvapVaultName = lens _gvapVaultName (\ s a -> s{_gvapVaultName = a});+gvapVaultName = lens _gvapVaultName (\ s a -> s{_gvapVaultName = a})  instance AWSRequest GetVaultAccessPolicy where         type Rs GetVaultAccessPolicy =@@ -129,15 +129,15 @@     -> GetVaultAccessPolicyResponse getVaultAccessPolicyResponse pResponseStatus_ =   GetVaultAccessPolicyResponse'-  {_gvaprsPolicy = Nothing, _gvaprsResponseStatus = pResponseStatus_}+    {_gvaprsPolicy = Nothing, _gvaprsResponseStatus = pResponseStatus_}   -- | Contains the returned vault access policy as a JSON string. gvaprsPolicy :: Lens' GetVaultAccessPolicyResponse (Maybe VaultAccessPolicy)-gvaprsPolicy = lens _gvaprsPolicy (\ s a -> s{_gvaprsPolicy = a});+gvaprsPolicy = lens _gvaprsPolicy (\ s a -> s{_gvaprsPolicy = a})  -- | -- | The response status code. gvaprsResponseStatus :: Lens' GetVaultAccessPolicyResponse Int-gvaprsResponseStatus = lens _gvaprsResponseStatus (\ s a -> s{_gvaprsResponseStatus = a});+gvaprsResponseStatus = lens _gvaprsResponseStatus (\ s a -> s{_gvaprsResponseStatus = a})  instance NFData GetVaultAccessPolicyResponse where
gen/Network/AWS/Glacier/GetVaultLock.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.GetVaultLock--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -90,11 +90,11 @@  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. gvlAccountId :: Lens' GetVaultLock Text-gvlAccountId = lens _gvlAccountId (\ s a -> s{_gvlAccountId = a});+gvlAccountId = lens _gvlAccountId (\ s a -> s{_gvlAccountId = a})  -- | The name of the vault. gvlVaultName :: Lens' GetVaultLock Text-gvlVaultName = lens _gvlVaultName (\ s a -> s{_gvlVaultName = a});+gvlVaultName = lens _gvlVaultName (\ s a -> s{_gvlVaultName = a})  instance AWSRequest GetVaultLock where         type Rs GetVaultLock = GetVaultLockResponse@@ -156,32 +156,32 @@     -> GetVaultLockResponse getVaultLockResponse pResponseStatus_ =   GetVaultLockResponse'-  { _gvlrsState = Nothing-  , _gvlrsExpirationDate = Nothing-  , _gvlrsCreationDate = Nothing-  , _gvlrsPolicy = Nothing-  , _gvlrsResponseStatus = pResponseStatus_-  }+    { _gvlrsState = Nothing+    , _gvlrsExpirationDate = Nothing+    , _gvlrsCreationDate = Nothing+    , _gvlrsPolicy = Nothing+    , _gvlrsResponseStatus = pResponseStatus_+    }   -- | The state of the vault lock. @InProgress@ or @Locked@ . gvlrsState :: Lens' GetVaultLockResponse (Maybe Text)-gvlrsState = lens _gvlrsState (\ s a -> s{_gvlrsState = a});+gvlrsState = lens _gvlrsState (\ s a -> s{_gvlrsState = a})  -- | The UTC date and time at which the lock ID expires. This value can be @null@ if the vault lock is in a @Locked@ state. gvlrsExpirationDate :: Lens' GetVaultLockResponse (Maybe Text)-gvlrsExpirationDate = lens _gvlrsExpirationDate (\ s a -> s{_gvlrsExpirationDate = a});+gvlrsExpirationDate = lens _gvlrsExpirationDate (\ s a -> s{_gvlrsExpirationDate = a})  -- | The UTC date and time at which the vault lock was put into the @InProgress@ state. gvlrsCreationDate :: Lens' GetVaultLockResponse (Maybe Text)-gvlrsCreationDate = lens _gvlrsCreationDate (\ s a -> s{_gvlrsCreationDate = a});+gvlrsCreationDate = lens _gvlrsCreationDate (\ s a -> s{_gvlrsCreationDate = a})  -- | The vault lock policy as a JSON string, which uses "\" as an escape character. gvlrsPolicy :: Lens' GetVaultLockResponse (Maybe Text)-gvlrsPolicy = lens _gvlrsPolicy (\ s a -> s{_gvlrsPolicy = a});+gvlrsPolicy = lens _gvlrsPolicy (\ s a -> s{_gvlrsPolicy = a})  -- | -- | The response status code. gvlrsResponseStatus :: Lens' GetVaultLockResponse Int-gvlrsResponseStatus = lens _gvlrsResponseStatus (\ s a -> s{_gvlrsResponseStatus = a});+gvlrsResponseStatus = lens _gvlrsResponseStatus (\ s a -> s{_gvlrsResponseStatus = a})  instance NFData GetVaultLockResponse where
gen/Network/AWS/Glacier/GetVaultNotifications.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.GetVaultNotifications--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,16 +75,16 @@     -> GetVaultNotifications getVaultNotifications pAccountId_ pVaultName_ =   GetVaultNotifications'-  {_gvnAccountId = pAccountId_, _gvnVaultName = pVaultName_}+    {_gvnAccountId = pAccountId_, _gvnVaultName = pVaultName_}   -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. gvnAccountId :: Lens' GetVaultNotifications Text-gvnAccountId = lens _gvnAccountId (\ s a -> s{_gvnAccountId = a});+gvnAccountId = lens _gvnAccountId (\ s a -> s{_gvnAccountId = a})  -- | The name of the vault. gvnVaultName :: Lens' GetVaultNotifications Text-gvnVaultName = lens _gvnVaultName (\ s a -> s{_gvnVaultName = a});+gvnVaultName = lens _gvnVaultName (\ s a -> s{_gvnVaultName = a})  instance AWSRequest GetVaultNotifications where         type Rs GetVaultNotifications =@@ -135,17 +135,17 @@     -> GetVaultNotificationsResponse getVaultNotificationsResponse pResponseStatus_ =   GetVaultNotificationsResponse'-  { _gvnrsVaultNotificationConfig = Nothing-  , _gvnrsResponseStatus = pResponseStatus_-  }+    { _gvnrsVaultNotificationConfig = Nothing+    , _gvnrsResponseStatus = pResponseStatus_+    }   -- | Returns the notification configuration set on the vault. gvnrsVaultNotificationConfig :: Lens' GetVaultNotificationsResponse (Maybe VaultNotificationConfig)-gvnrsVaultNotificationConfig = lens _gvnrsVaultNotificationConfig (\ s a -> s{_gvnrsVaultNotificationConfig = a});+gvnrsVaultNotificationConfig = lens _gvnrsVaultNotificationConfig (\ s a -> s{_gvnrsVaultNotificationConfig = a})  -- | -- | The response status code. gvnrsResponseStatus :: Lens' GetVaultNotificationsResponse Int-gvnrsResponseStatus = lens _gvnrsResponseStatus (\ s a -> s{_gvnrsResponseStatus = a});+gvnrsResponseStatus = lens _gvnrsResponseStatus (\ s a -> s{_gvnrsResponseStatus = a})  instance NFData GetVaultNotificationsResponse where
gen/Network/AWS/Glacier/InitiateJob.hs view
@@ -12,77 +12,15 @@  -- | -- Module      : Network.AWS.Glacier.InitiateJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- This operation initiates a job of the specified type. In this release, you can initiate a job to retrieve either an archive or a vault inventory (a list of archives in a vault).--------- Retrieving data from Amazon Glacier is a two-step process:------     * Initiate a retrieval job.------     * After the job completes, download the bytes.------------ The retrieval request is executed asynchronously. When you initiate a retrieval job, Amazon Glacier creates a job and returns a job ID in the response. When Amazon Glacier completes the job, you can get the job output (archive or inventory data). For information about getting job output, see 'GetJobOutput' operation.------ The job must complete before you can get its output. To determine when a job is complete, you have the following options:------     * __Use Amazon SNS Notification__ You can specify an Amazon Simple Notification Service (Amazon SNS) topic to which Amazon Glacier can post a notification after the job is completed. You can specify an SNS topic per job request. The notification is sent only after Amazon Glacier completes the job. In addition to specifying an SNS topic per job request, you can configure vault notifications for a vault so that job notifications are always sent. For more information, see 'SetVaultNotifications' .------     * __Get job details__ You can make a 'DescribeJob' request to obtain job status information while a job is in progress. However, it is more efficient to use an Amazon SNS notification to determine when a job is complete.------------ If for a specific event, you add both the notification configuration on the vault and also specify an SNS topic in your initiate job request, Amazon Glacier sends both notifications. For more information, see 'SetVaultNotifications' .------ An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html Access Control Using AWS Identity and Access Management (IAM)> .------ __About the Vault Inventory__------ Amazon Glacier prepares an inventory for each vault periodically, every 24 hours. When you initiate a job for a vault inventory, Amazon Glacier returns the last inventory for the vault. The inventory data you get might be up to a day or two days old. Also, the initiate inventory job might take some time to complete before you can download the vault inventory. So you do not want to retrieve a vault inventory for each vault operation. However, in some scenarios, you might find the vault inventory useful. For example, when you upload an archive, you can provide an archive description but not an archive name. Amazon Glacier provides you a unique archive ID, an opaque string of characters. So, you might maintain your own database that maps archive names to their corresponding Amazon Glacier assigned archive IDs. You might find the vault inventory useful in the event you need to reconcile information in your database with the actual vault inventory.------ __Range Inventory Retrieval__------ You can limit the number of inventory items retrieved by filtering on the archive creation date or by setting a limit.------ /Filtering by Archive Creation Date/------ You can retrieve inventory items for archives created between @StartDate@ and @EndDate@ by specifying values for these parameters in the __InitiateJob__ request. Archives created on or after the @StartDate@ and before the @EndDate@ will be returned. If you only provide the @StartDate@ without the @EndDate@ , you will retrieve the inventory for all archives created on or after the @StartDate@ . If you only provide the @EndDate@ without the @StartDate@ , you will get back the inventory for all archives created before the @EndDate@ .------ /Limiting Inventory Items per Retrieval/------ You can limit the number of inventory items returned by setting the @Limit@ parameter in the __InitiateJob__ request. The inventory job output will contain inventory items up to the specified @Limit@ . If there are more inventory items available, the result is paginated. After a job is complete you can use the 'DescribeJob' operation to get a marker that you use in a subsequent __InitiateJob__ request. The marker will indicate the starting point to retrieve the next set of inventory items. You can page through your entire inventory by repeatedly making __InitiateJob__ requests with the marker from the previous __DescribeJob__ output, until you get a marker from __DescribeJob__ that returns null, indicating that there are no more inventory items available.------ You can use the @Limit@ parameter together with the date range parameters.------ __About Ranged Archive Retrieval__------ You can initiate an archive retrieval for the whole archive or a range of the archive. In the case of ranged archive retrieval, you specify a byte range to return or the whole archive. The range specified must be megabyte (MB) aligned, that is the range start value must be divisible by 1 MB and range end value plus 1 must be divisible by 1 MB or equal the end of the archive. If the ranged archive retrieval is not megabyte aligned, this operation returns a 400 response. Furthermore, to ensure you get checksum values for data you download using Get Job Output API, the range must be tree hash aligned.------ An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html Access Control Using AWS Identity and Access Management (IAM)> .------ For conceptual information and the underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html Initiate a Job> and <http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html Downloading a Vault Inventory>------ __Expedited and Bulk Archive Retrievals__------ When retrieving an archive, you can specify one of the following options in the @Tier@ field of the request body:------     * __Standard__ The default type of retrieval, which allows access to any of your archives within several hours. Standard retrievals typically complete within 3–5 hours.------     * __Bulk__ Amazon Glacier’s lowest-cost retrieval option, which enables you to retrieve large amounts of data inexpensively in a day. Bulk retrieval requests typically complete within 5–12 hours.------     * __Expedited__ Amazon Glacier’s option for the fastest retrievals. Archives requested using the expedited retrievals typically become accessible within 1–5 minutes.---+-- This operation initiates a job of the specified type, which can be a select, an archival retrieval, or a vault retrieval. For more information about using this operation, see the documentation for the underlying REST API <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html Initiate a Job> . -- ----- For more information about expedited and bulk retrievals, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive-two-steps.html Retrieving Amazon Glacier Archives> .--- module Network.AWS.Glacier.InitiateJob     (     -- * Creating a Request@@ -98,6 +36,7 @@     , InitiateJobResponse     -- * Response Lenses     , ijrsJobId+    , ijrsJobOutputPath     , ijrsLocation     , ijrsResponseStatus     ) where@@ -136,23 +75,23 @@     -> InitiateJob initiateJob pAccountId_ pVaultName_ =   InitiateJob'-  { _ijJobParameters = Nothing-  , _ijAccountId = pAccountId_-  , _ijVaultName = pVaultName_-  }+    { _ijJobParameters = Nothing+    , _ijAccountId = pAccountId_+    , _ijVaultName = pVaultName_+    }   -- | Provides options for specifying job information. ijJobParameters :: Lens' InitiateJob (Maybe JobParameters)-ijJobParameters = lens _ijJobParameters (\ s a -> s{_ijJobParameters = a});+ijJobParameters = lens _ijJobParameters (\ s a -> s{_ijJobParameters = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. ijAccountId :: Lens' InitiateJob Text-ijAccountId = lens _ijAccountId (\ s a -> s{_ijAccountId = a});+ijAccountId = lens _ijAccountId (\ s a -> s{_ijAccountId = a})  -- | The name of the vault. ijVaultName :: Lens' InitiateJob Text-ijVaultName = lens _ijVaultName (\ s a -> s{_ijVaultName = a});+ijVaultName = lens _ijVaultName (\ s a -> s{_ijVaultName = a})  instance AWSRequest InitiateJob where         type Rs InitiateJob = InitiateJobResponse@@ -161,8 +100,10 @@           = receiveEmpty               (\ s h x ->                  InitiateJobResponse' <$>-                   (h .#? "x-amz-job-id") <*> (h .#? "Location") <*>-                     (pure (fromEnum s)))+                   (h .#? "x-amz-job-id") <*>+                     (h .#? "x-amz-job-output-path")+                     <*> (h .#? "Location")+                     <*> (pure (fromEnum s)))  instance Hashable InitiateJob where @@ -193,6 +134,7 @@ -- /See:/ 'initiateJobResponse' smart constructor. data InitiateJobResponse = InitiateJobResponse'   { _ijrsJobId          :: !(Maybe Text)+  , _ijrsJobOutputPath  :: !(Maybe Text)   , _ijrsLocation       :: !(Maybe Text)   , _ijrsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -204,6 +146,8 @@ -- -- * 'ijrsJobId' - The ID of the job. --+-- * 'ijrsJobOutputPath' - The path to the location of where the select results are stored.+-- -- * 'ijrsLocation' - The relative URI path of the job. -- -- * 'ijrsResponseStatus' - -- | The response status code.@@ -212,22 +156,27 @@     -> InitiateJobResponse initiateJobResponse pResponseStatus_ =   InitiateJobResponse'-  { _ijrsJobId = Nothing-  , _ijrsLocation = Nothing-  , _ijrsResponseStatus = pResponseStatus_-  }+    { _ijrsJobId = Nothing+    , _ijrsJobOutputPath = Nothing+    , _ijrsLocation = Nothing+    , _ijrsResponseStatus = pResponseStatus_+    }   -- | The ID of the job. ijrsJobId :: Lens' InitiateJobResponse (Maybe Text)-ijrsJobId = lens _ijrsJobId (\ s a -> s{_ijrsJobId = a});+ijrsJobId = lens _ijrsJobId (\ s a -> s{_ijrsJobId = a}) +-- | The path to the location of where the select results are stored.+ijrsJobOutputPath :: Lens' InitiateJobResponse (Maybe Text)+ijrsJobOutputPath = lens _ijrsJobOutputPath (\ s a -> s{_ijrsJobOutputPath = a})+ -- | The relative URI path of the job. ijrsLocation :: Lens' InitiateJobResponse (Maybe Text)-ijrsLocation = lens _ijrsLocation (\ s a -> s{_ijrsLocation = a});+ijrsLocation = lens _ijrsLocation (\ s a -> s{_ijrsLocation = a})  -- | -- | The response status code. ijrsResponseStatus :: Lens' InitiateJobResponse Int-ijrsResponseStatus = lens _ijrsResponseStatus (\ s a -> s{_ijrsResponseStatus = a});+ijrsResponseStatus = lens _ijrsResponseStatus (\ s a -> s{_ijrsResponseStatus = a})  instance NFData InitiateJobResponse where
gen/Network/AWS/Glacier/InitiateMultipartUpload.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.InitiateMultipartUpload--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -88,28 +88,28 @@     -> InitiateMultipartUpload initiateMultipartUpload pAccountId_ pVaultName_ =   InitiateMultipartUpload'-  { _imuPartSize = Nothing-  , _imuArchiveDescription = Nothing-  , _imuAccountId = pAccountId_-  , _imuVaultName = pVaultName_-  }+    { _imuPartSize = Nothing+    , _imuArchiveDescription = Nothing+    , _imuAccountId = pAccountId_+    , _imuVaultName = pVaultName_+    }   -- | The size of each part except the last, in bytes. The last part can be smaller than this part size. imuPartSize :: Lens' InitiateMultipartUpload (Maybe Text)-imuPartSize = lens _imuPartSize (\ s a -> s{_imuPartSize = a});+imuPartSize = lens _imuPartSize (\ s a -> s{_imuPartSize = a})  -- | The archive description that you are uploading in parts. The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 MB). imuArchiveDescription :: Lens' InitiateMultipartUpload (Maybe Text)-imuArchiveDescription = lens _imuArchiveDescription (\ s a -> s{_imuArchiveDescription = a});+imuArchiveDescription = lens _imuArchiveDescription (\ s a -> s{_imuArchiveDescription = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. imuAccountId :: Lens' InitiateMultipartUpload Text-imuAccountId = lens _imuAccountId (\ s a -> s{_imuAccountId = a});+imuAccountId = lens _imuAccountId (\ s a -> s{_imuAccountId = a})  -- | The name of the vault. imuVaultName :: Lens' InitiateMultipartUpload Text-imuVaultName = lens _imuVaultName (\ s a -> s{_imuVaultName = a});+imuVaultName = lens _imuVaultName (\ s a -> s{_imuVaultName = a})  instance AWSRequest InitiateMultipartUpload where         type Rs InitiateMultipartUpload =@@ -172,22 +172,22 @@     -> InitiateMultipartUploadResponse initiateMultipartUploadResponse pResponseStatus_ =   InitiateMultipartUploadResponse'-  { _imursLocation = Nothing-  , _imursUploadId = Nothing-  , _imursResponseStatus = pResponseStatus_-  }+    { _imursLocation = Nothing+    , _imursUploadId = Nothing+    , _imursResponseStatus = pResponseStatus_+    }   -- | The relative URI path of the multipart upload ID Amazon Glacier created. imursLocation :: Lens' InitiateMultipartUploadResponse (Maybe Text)-imursLocation = lens _imursLocation (\ s a -> s{_imursLocation = a});+imursLocation = lens _imursLocation (\ s a -> s{_imursLocation = a})  -- | The ID of the multipart upload. This value is also included as part of the location. imursUploadId :: Lens' InitiateMultipartUploadResponse (Maybe Text)-imursUploadId = lens _imursUploadId (\ s a -> s{_imursUploadId = a});+imursUploadId = lens _imursUploadId (\ s a -> s{_imursUploadId = a})  -- | -- | The response status code. imursResponseStatus :: Lens' InitiateMultipartUploadResponse Int-imursResponseStatus = lens _imursResponseStatus (\ s a -> s{_imursResponseStatus = a});+imursResponseStatus = lens _imursResponseStatus (\ s a -> s{_imursResponseStatus = a})  instance NFData InitiateMultipartUploadResponse where
gen/Network/AWS/Glacier/InitiateVaultLock.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.InitiateVaultLock--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -91,23 +91,23 @@     -> InitiateVaultLock initiateVaultLock pAccountId_ pVaultName_ =   InitiateVaultLock'-  { _ivlPolicy = Nothing-  , _ivlAccountId = pAccountId_-  , _ivlVaultName = pVaultName_-  }+    { _ivlPolicy = Nothing+    , _ivlAccountId = pAccountId_+    , _ivlVaultName = pVaultName_+    }   -- | The vault lock policy as a JSON string, which uses "\" as an escape character. ivlPolicy :: Lens' InitiateVaultLock (Maybe VaultLockPolicy)-ivlPolicy = lens _ivlPolicy (\ s a -> s{_ivlPolicy = a});+ivlPolicy = lens _ivlPolicy (\ s a -> s{_ivlPolicy = a})  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. ivlAccountId :: Lens' InitiateVaultLock Text-ivlAccountId = lens _ivlAccountId (\ s a -> s{_ivlAccountId = a});+ivlAccountId = lens _ivlAccountId (\ s a -> s{_ivlAccountId = a})  -- | The name of the vault. ivlVaultName :: Lens' InitiateVaultLock Text-ivlVaultName = lens _ivlVaultName (\ s a -> s{_ivlVaultName = a});+ivlVaultName = lens _ivlVaultName (\ s a -> s{_ivlVaultName = a})  instance AWSRequest InitiateVaultLock where         type Rs InitiateVaultLock = InitiateVaultLockResponse@@ -161,15 +161,15 @@     -> InitiateVaultLockResponse initiateVaultLockResponse pResponseStatus_ =   InitiateVaultLockResponse'-  {_ivlrsLockId = Nothing, _ivlrsResponseStatus = pResponseStatus_}+    {_ivlrsLockId = Nothing, _ivlrsResponseStatus = pResponseStatus_}   -- | The lock ID, which is used to complete the vault locking process. ivlrsLockId :: Lens' InitiateVaultLockResponse (Maybe Text)-ivlrsLockId = lens _ivlrsLockId (\ s a -> s{_ivlrsLockId = a});+ivlrsLockId = lens _ivlrsLockId (\ s a -> s{_ivlrsLockId = a})  -- | -- | The response status code. ivlrsResponseStatus :: Lens' InitiateVaultLockResponse Int-ivlrsResponseStatus = lens _ivlrsResponseStatus (\ s a -> s{_ivlrsResponseStatus = a});+ivlrsResponseStatus = lens _ivlrsResponseStatus (\ s a -> s{_ivlrsResponseStatus = a})  instance NFData InitiateVaultLockResponse where
gen/Network/AWS/Glacier/ListJobs.hs view
@@ -12,24 +12,22 @@  -- | -- Module      : Network.AWS.Glacier.ListJobs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished.+-- This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished. The List Job operation returns a list of these jobs sorted by job initiation time. -- ----- To retrieve an archive or retrieve a vault inventory from Amazon Glacier, you first initiate a job, and after the job completes, you download the data. For an archive retrieval, the output is the archive data. For an inventory retrieval, it is the inventory list. The List Job operation returns a list of these jobs sorted by job initiation time.--- -- The List Jobs operation supports pagination. You should always check the response @Marker@ field. If there are no more jobs to list, the @Marker@ field is set to @null@ . If there are more jobs to list, the @Marker@ field is set to a non-null value, which you can use to continue the pagination of the list. To return a list of jobs that begins at a specific job, set the marker request parameter to the @Marker@ value for that job that you obtained from a previous List Jobs request. -- -- You can set a maximum limit for the number of jobs returned in the response by specifying the @limit@ parameter in the request. The default limit is 1000. The number of jobs returned might be fewer than the limit, but the number of returned jobs never exceeds the limit. -- -- Additionally, you can filter the jobs list returned by specifying the optional @statuscode@ parameter or @completed@ parameter, or both. Using the @statuscode@ parameter, you can specify to return only jobs that match either the @InProgress@ , @Succeeded@ , or @Failed@ status. Using the @completed@ parameter, you can specify to return only jobs that were completed (@true@ ) or jobs that were not completed (@false@ ). ----- For the underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.html List Jobs> .+-- For more information about using this operation, see the documentation for the underlying REST API <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.html List Jobs> . -- -- -- This operation returns paginated results.@@ -99,38 +97,38 @@     -> ListJobs listJobs pAccountId_ pVaultName_ =   ListJobs'-  { _ljMarker = Nothing-  , _ljCompleted = Nothing-  , _ljLimit = Nothing-  , _ljStatuscode = Nothing-  , _ljAccountId = pAccountId_-  , _ljVaultName = pVaultName_-  }+    { _ljMarker = Nothing+    , _ljCompleted = Nothing+    , _ljLimit = Nothing+    , _ljStatuscode = Nothing+    , _ljAccountId = pAccountId_+    , _ljVaultName = pVaultName_+    }   -- | An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of results started in a previous List Jobs request. ljMarker :: Lens' ListJobs (Maybe Text)-ljMarker = lens _ljMarker (\ s a -> s{_ljMarker = a});+ljMarker = lens _ljMarker (\ s a -> s{_ljMarker = a})  -- | The state of the jobs to return. You can specify @true@ or @false@ . ljCompleted :: Lens' ListJobs (Maybe Text)-ljCompleted = lens _ljCompleted (\ s a -> s{_ljCompleted = a});+ljCompleted = lens _ljCompleted (\ s a -> s{_ljCompleted = a})  -- | The maximum number of jobs to be returned. The default limit is 1000. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit. ljLimit :: Lens' ListJobs (Maybe Text)-ljLimit = lens _ljLimit (\ s a -> s{_ljLimit = a});+ljLimit = lens _ljLimit (\ s a -> s{_ljLimit = a})  -- | The type of job status to return. You can specify the following values: @InProgress@ , @Succeeded@ , or @Failed@ . ljStatuscode :: Lens' ListJobs (Maybe Text)-ljStatuscode = lens _ljStatuscode (\ s a -> s{_ljStatuscode = a});+ljStatuscode = lens _ljStatuscode (\ s a -> s{_ljStatuscode = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. ljAccountId :: Lens' ListJobs Text-ljAccountId = lens _ljAccountId (\ s a -> s{_ljAccountId = a});+ljAccountId = lens _ljAccountId (\ s a -> s{_ljAccountId = a})  -- | The name of the vault. ljVaultName :: Lens' ListJobs Text-ljVaultName = lens _ljVaultName (\ s a -> s{_ljVaultName = a});+ljVaultName = lens _ljVaultName (\ s a -> s{_ljVaultName = a})  instance AWSPager ListJobs where         page rq rs@@ -194,22 +192,22 @@     -> ListJobsResponse listJobsResponse pResponseStatus_ =   ListJobsResponse'-  { _ljrsMarker = Nothing-  , _ljrsJobList = Nothing-  , _ljrsResponseStatus = pResponseStatus_-  }+    { _ljrsMarker = Nothing+    , _ljrsJobList = Nothing+    , _ljrsResponseStatus = pResponseStatus_+    }   -- | An opaque string used for pagination that specifies the job at which the listing of jobs should begin. You get the @marker@ value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of the results started in a previous List Jobs request. ljrsMarker :: Lens' ListJobsResponse (Maybe Text)-ljrsMarker = lens _ljrsMarker (\ s a -> s{_ljrsMarker = a});+ljrsMarker = lens _ljrsMarker (\ s a -> s{_ljrsMarker = a})  -- | A list of job objects. Each job object contains metadata describing the job. ljrsJobList :: Lens' ListJobsResponse [GlacierJobDescription]-ljrsJobList = lens _ljrsJobList (\ s a -> s{_ljrsJobList = a}) . _Default . _Coerce;+ljrsJobList = lens _ljrsJobList (\ s a -> s{_ljrsJobList = a}) . _Default . _Coerce  -- | -- | The response status code. ljrsResponseStatus :: Lens' ListJobsResponse Int-ljrsResponseStatus = lens _ljrsResponseStatus (\ s a -> s{_ljrsResponseStatus = a});+ljrsResponseStatus = lens _ljrsResponseStatus (\ s a -> s{_ljrsResponseStatus = a})  instance NFData ListJobsResponse where
gen/Network/AWS/Glacier/ListMultipartUploads.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.ListMultipartUploads--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -89,28 +89,28 @@     -> ListMultipartUploads listMultipartUploads pAccountId_ pVaultName_ =   ListMultipartUploads'-  { _lmuMarker = Nothing-  , _lmuLimit = Nothing-  , _lmuAccountId = pAccountId_-  , _lmuVaultName = pVaultName_-  }+    { _lmuMarker = Nothing+    , _lmuLimit = Nothing+    , _lmuAccountId = pAccountId_+    , _lmuVaultName = pVaultName_+    }   -- | An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include the marker if you are continuing the pagination of results started in a previous List Uploads request. lmuMarker :: Lens' ListMultipartUploads (Maybe Text)-lmuMarker = lens _lmuMarker (\ s a -> s{_lmuMarker = a});+lmuMarker = lens _lmuMarker (\ s a -> s{_lmuMarker = a})  -- | Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 1,000 uploads. lmuLimit :: Lens' ListMultipartUploads (Maybe Text)-lmuLimit = lens _lmuLimit (\ s a -> s{_lmuLimit = a});+lmuLimit = lens _lmuLimit (\ s a -> s{_lmuLimit = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. lmuAccountId :: Lens' ListMultipartUploads Text-lmuAccountId = lens _lmuAccountId (\ s a -> s{_lmuAccountId = a});+lmuAccountId = lens _lmuAccountId (\ s a -> s{_lmuAccountId = a})  -- | The name of the vault. lmuVaultName :: Lens' ListMultipartUploads Text-lmuVaultName = lens _lmuVaultName (\ s a -> s{_lmuVaultName = a});+lmuVaultName = lens _lmuVaultName (\ s a -> s{_lmuVaultName = a})  instance AWSPager ListMultipartUploads where         page rq rs@@ -174,22 +174,22 @@     -> ListMultipartUploadsResponse listMultipartUploadsResponse pResponseStatus_ =   ListMultipartUploadsResponse'-  { _lmursUploadsList = Nothing-  , _lmursMarker = Nothing-  , _lmursResponseStatus = pResponseStatus_-  }+    { _lmursUploadsList = Nothing+    , _lmursMarker = Nothing+    , _lmursResponseStatus = pResponseStatus_+    }   -- | A list of in-progress multipart uploads. lmursUploadsList :: Lens' ListMultipartUploadsResponse [UploadListElement]-lmursUploadsList = lens _lmursUploadsList (\ s a -> s{_lmursUploadsList = a}) . _Default . _Coerce;+lmursUploadsList = lens _lmursUploadsList (\ s a -> s{_lmursUploadsList = a}) . _Default . _Coerce  -- | An opaque string that represents where to continue pagination of the results. You use the marker in a new List Multipart Uploads request to obtain more uploads in the list. If there are no more uploads, this value is @null@ . lmursMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursMarker = lens _lmursMarker (\ s a -> s{_lmursMarker = a});+lmursMarker = lens _lmursMarker (\ s a -> s{_lmursMarker = a})  -- | -- | The response status code. lmursResponseStatus :: Lens' ListMultipartUploadsResponse Int-lmursResponseStatus = lens _lmursResponseStatus (\ s a -> s{_lmursResponseStatus = a});+lmursResponseStatus = lens _lmursResponseStatus (\ s a -> s{_lmursResponseStatus = a})  instance NFData ListMultipartUploadsResponse where
gen/Network/AWS/Glacier/ListParts.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.ListParts--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -97,33 +97,33 @@     -> ListParts listParts pAccountId_ pVaultName_ pUploadId_ =   ListParts'-  { _lpMarker = Nothing-  , _lpLimit = Nothing-  , _lpAccountId = pAccountId_-  , _lpVaultName = pVaultName_-  , _lpUploadId = pUploadId_-  }+    { _lpMarker = Nothing+    , _lpLimit = Nothing+    , _lpAccountId = pAccountId_+    , _lpVaultName = pVaultName_+    , _lpUploadId = pUploadId_+    }   -- | An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only include the marker if you are continuing the pagination of results started in a previous List Parts request. lpMarker :: Lens' ListParts (Maybe Text)-lpMarker = lens _lpMarker (\ s a -> s{_lpMarker = a});+lpMarker = lens _lpMarker (\ s a -> s{_lpMarker = a})  -- | The maximum number of parts to be returned. The default limit is 1000. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit. lpLimit :: Lens' ListParts (Maybe Text)-lpLimit = lens _lpLimit (\ s a -> s{_lpLimit = a});+lpLimit = lens _lpLimit (\ s a -> s{_lpLimit = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. lpAccountId :: Lens' ListParts Text-lpAccountId = lens _lpAccountId (\ s a -> s{_lpAccountId = a});+lpAccountId = lens _lpAccountId (\ s a -> s{_lpAccountId = a})  -- | The name of the vault. lpVaultName :: Lens' ListParts Text-lpVaultName = lens _lpVaultName (\ s a -> s{_lpVaultName = a});+lpVaultName = lens _lpVaultName (\ s a -> s{_lpVaultName = a})  -- | The upload ID of the multipart upload. lpUploadId :: Lens' ListParts Text-lpUploadId = lens _lpUploadId (\ s a -> s{_lpUploadId = a});+lpUploadId = lens _lpUploadId (\ s a -> s{_lpUploadId = a})  instance AWSPager ListParts where         page rq rs@@ -208,47 +208,47 @@     -> ListPartsResponse listPartsResponse pResponseStatus_ =   ListPartsResponse'-  { _lprsParts = Nothing-  , _lprsMultipartUploadId = Nothing-  , _lprsPartSizeInBytes = Nothing-  , _lprsArchiveDescription = Nothing-  , _lprsVaultARN = Nothing-  , _lprsMarker = Nothing-  , _lprsCreationDate = Nothing-  , _lprsResponseStatus = pResponseStatus_-  }+    { _lprsParts = Nothing+    , _lprsMultipartUploadId = Nothing+    , _lprsPartSizeInBytes = Nothing+    , _lprsArchiveDescription = Nothing+    , _lprsVaultARN = Nothing+    , _lprsMarker = Nothing+    , _lprsCreationDate = Nothing+    , _lprsResponseStatus = pResponseStatus_+    }   -- | A list of the part sizes of the multipart upload. Each object in the array contains a @RangeBytes@ and @sha256-tree-hash@ name/value pair. lprsParts :: Lens' ListPartsResponse [PartListElement]-lprsParts = lens _lprsParts (\ s a -> s{_lprsParts = a}) . _Default . _Coerce;+lprsParts = lens _lprsParts (\ s a -> s{_lprsParts = a}) . _Default . _Coerce  -- | The ID of the upload to which the parts are associated. lprsMultipartUploadId :: Lens' ListPartsResponse (Maybe Text)-lprsMultipartUploadId = lens _lprsMultipartUploadId (\ s a -> s{_lprsMultipartUploadId = a});+lprsMultipartUploadId = lens _lprsMultipartUploadId (\ s a -> s{_lprsMultipartUploadId = a})  -- | The part size in bytes. This is the same value that you specified in the Initiate Multipart Upload request. lprsPartSizeInBytes :: Lens' ListPartsResponse (Maybe Integer)-lprsPartSizeInBytes = lens _lprsPartSizeInBytes (\ s a -> s{_lprsPartSizeInBytes = a});+lprsPartSizeInBytes = lens _lprsPartSizeInBytes (\ s a -> s{_lprsPartSizeInBytes = a})  -- | The description of the archive that was specified in the Initiate Multipart Upload request. lprsArchiveDescription :: Lens' ListPartsResponse (Maybe Text)-lprsArchiveDescription = lens _lprsArchiveDescription (\ s a -> s{_lprsArchiveDescription = a});+lprsArchiveDescription = lens _lprsArchiveDescription (\ s a -> s{_lprsArchiveDescription = a})  -- | The Amazon Resource Name (ARN) of the vault to which the multipart upload was initiated. lprsVaultARN :: Lens' ListPartsResponse (Maybe Text)-lprsVaultARN = lens _lprsVaultARN (\ s a -> s{_lprsVaultARN = a});+lprsVaultARN = lens _lprsVaultARN (\ s a -> s{_lprsVaultARN = a})  -- | An opaque string that represents where to continue pagination of the results. You use the marker in a new List Parts request to obtain more jobs in the list. If there are no more parts, this value is @null@ . lprsMarker :: Lens' ListPartsResponse (Maybe Text)-lprsMarker = lens _lprsMarker (\ s a -> s{_lprsMarker = a});+lprsMarker = lens _lprsMarker (\ s a -> s{_lprsMarker = a})  -- | The UTC time at which the multipart upload was initiated. lprsCreationDate :: Lens' ListPartsResponse (Maybe Text)-lprsCreationDate = lens _lprsCreationDate (\ s a -> s{_lprsCreationDate = a});+lprsCreationDate = lens _lprsCreationDate (\ s a -> s{_lprsCreationDate = a})  -- | -- | The response status code. lprsResponseStatus :: Lens' ListPartsResponse Int-lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});+lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})  instance NFData ListPartsResponse where
gen/Network/AWS/Glacier/ListProvisionedCapacity.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glacier.ListProvisionedCapacity--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- This operation lists the provisioned capacity for the specified AWS account.+-- This operation lists the provisioned capacity units for the specified AWS account. -- -- module Network.AWS.Glacier.ListProvisionedCapacity@@ -54,7 +54,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'lpcAccountId' - The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.+-- * 'lpcAccountId' - The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID. listProvisionedCapacity     :: Text -- ^ 'lpcAccountId'     -> ListProvisionedCapacity@@ -62,9 +62,9 @@   ListProvisionedCapacity' {_lpcAccountId = pAccountId_}  --- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.+-- | The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID. lpcAccountId :: Lens' ListProvisionedCapacity Text-lpcAccountId = lens _lpcAccountId (\ s a -> s{_lpcAccountId = a});+lpcAccountId = lens _lpcAccountId (\ s a -> s{_lpcAccountId = a})  instance AWSRequest ListProvisionedCapacity where         type Rs ListProvisionedCapacity =@@ -111,17 +111,17 @@     -> ListProvisionedCapacityResponse listProvisionedCapacityResponse pResponseStatus_ =   ListProvisionedCapacityResponse'-  { _lpcrsProvisionedCapacityList = Nothing-  , _lpcrsResponseStatus = pResponseStatus_-  }+    { _lpcrsProvisionedCapacityList = Nothing+    , _lpcrsResponseStatus = pResponseStatus_+    }   -- | The response body contains the following JSON fields. lpcrsProvisionedCapacityList :: Lens' ListProvisionedCapacityResponse [ProvisionedCapacityDescription]-lpcrsProvisionedCapacityList = lens _lpcrsProvisionedCapacityList (\ s a -> s{_lpcrsProvisionedCapacityList = a}) . _Default . _Coerce;+lpcrsProvisionedCapacityList = lens _lpcrsProvisionedCapacityList (\ s a -> s{_lpcrsProvisionedCapacityList = a}) . _Default . _Coerce  -- | -- | The response status code. lpcrsResponseStatus :: Lens' ListProvisionedCapacityResponse Int-lpcrsResponseStatus = lens _lpcrsResponseStatus (\ s a -> s{_lpcrsResponseStatus = a});+lpcrsResponseStatus = lens _lpcrsResponseStatus (\ s a -> s{_lpcrsResponseStatus = a})  instance NFData ListProvisionedCapacityResponse where
gen/Network/AWS/Glacier/ListTagsForVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.ListTagsForVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,11 +73,11 @@  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. ltfvAccountId :: Lens' ListTagsForVault Text-ltfvAccountId = lens _ltfvAccountId (\ s a -> s{_ltfvAccountId = a});+ltfvAccountId = lens _ltfvAccountId (\ s a -> s{_ltfvAccountId = a})  -- | The name of the vault. ltfvVaultName :: Lens' ListTagsForVault Text-ltfvVaultName = lens _ltfvVaultName (\ s a -> s{_ltfvVaultName = a});+ltfvVaultName = lens _ltfvVaultName (\ s a -> s{_ltfvVaultName = a})  instance AWSRequest ListTagsForVault where         type Rs ListTagsForVault = ListTagsForVaultResponse@@ -127,15 +127,15 @@     -> ListTagsForVaultResponse listTagsForVaultResponse pResponseStatus_ =   ListTagsForVaultResponse'-  {_ltfvrsTags = Nothing, _ltfvrsResponseStatus = pResponseStatus_}+    {_ltfvrsTags = Nothing, _ltfvrsResponseStatus = pResponseStatus_}   -- | The tags attached to the vault. Each tag is composed of a key and a value. ltfvrsTags :: Lens' ListTagsForVaultResponse (HashMap Text Text)-ltfvrsTags = lens _ltfvrsTags (\ s a -> s{_ltfvrsTags = a}) . _Default . _Map;+ltfvrsTags = lens _ltfvrsTags (\ s a -> s{_ltfvrsTags = a}) . _Default . _Map  -- | -- | The response status code. ltfvrsResponseStatus :: Lens' ListTagsForVaultResponse Int-ltfvrsResponseStatus = lens _ltfvrsResponseStatus (\ s a -> s{_ltfvrsResponseStatus = a});+ltfvrsResponseStatus = lens _ltfvrsResponseStatus (\ s a -> s{_ltfvrsResponseStatus = a})  instance NFData ListTagsForVaultResponse where
gen/Network/AWS/Glacier/ListVaults.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.ListVaults--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -82,20 +82,20 @@     -> ListVaults listVaults pAccountId_ =   ListVaults'-  {_lvMarker = Nothing, _lvLimit = Nothing, _lvAccountId = pAccountId_}+    {_lvMarker = Nothing, _lvLimit = Nothing, _lvAccountId = pAccountId_}   -- | A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin. lvMarker :: Lens' ListVaults (Maybe Text)-lvMarker = lens _lvMarker (\ s a -> s{_lvMarker = a});+lvMarker = lens _lvMarker (\ s a -> s{_lvMarker = a})  -- | The maximum number of vaults to be returned. The default limit is 1000. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit. lvLimit :: Lens' ListVaults (Maybe Text)-lvLimit = lens _lvLimit (\ s a -> s{_lvLimit = a});+lvLimit = lens _lvLimit (\ s a -> s{_lvLimit = a})  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. lvAccountId :: Lens' ListVaults Text-lvAccountId = lens _lvAccountId (\ s a -> s{_lvAccountId = a});+lvAccountId = lens _lvAccountId (\ s a -> s{_lvAccountId = a})  instance AWSPager ListVaults where         page rq rs@@ -156,22 +156,22 @@     -> ListVaultsResponse listVaultsResponse pResponseStatus_ =   ListVaultsResponse'-  { _lvrsMarker = Nothing-  , _lvrsVaultList = Nothing-  , _lvrsResponseStatus = pResponseStatus_-  }+    { _lvrsMarker = Nothing+    , _lvrsVaultList = Nothing+    , _lvrsResponseStatus = pResponseStatus_+    }   -- | The vault ARN at which to continue pagination of the results. You use the marker in another List Vaults request to obtain more vaults in the list. lvrsMarker :: Lens' ListVaultsResponse (Maybe Text)-lvrsMarker = lens _lvrsMarker (\ s a -> s{_lvrsMarker = a});+lvrsMarker = lens _lvrsMarker (\ s a -> s{_lvrsMarker = a})  -- | List of vaults. lvrsVaultList :: Lens' ListVaultsResponse [DescribeVaultOutput]-lvrsVaultList = lens _lvrsVaultList (\ s a -> s{_lvrsVaultList = a}) . _Default . _Coerce;+lvrsVaultList = lens _lvrsVaultList (\ s a -> s{_lvrsVaultList = a}) . _Default . _Coerce  -- | -- | The response status code. lvrsResponseStatus :: Lens' ListVaultsResponse Int-lvrsResponseStatus = lens _lvrsResponseStatus (\ s a -> s{_lvrsResponseStatus = a});+lvrsResponseStatus = lens _lvrsResponseStatus (\ s a -> s{_lvrsResponseStatus = a})  instance NFData ListVaultsResponse where
gen/Network/AWS/Glacier/PurchaseProvisionedCapacity.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.PurchaseProvisionedCapacity--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID. ppcAccountId :: Lens' PurchaseProvisionedCapacity Text-ppcAccountId = lens _ppcAccountId (\ s a -> s{_ppcAccountId = a});+ppcAccountId = lens _ppcAccountId (\ s a -> s{_ppcAccountId = a})  instance AWSRequest PurchaseProvisionedCapacity where         type Rs PurchaseProvisionedCapacity =@@ -113,16 +113,16 @@     -> PurchaseProvisionedCapacityResponse purchaseProvisionedCapacityResponse pResponseStatus_ =   PurchaseProvisionedCapacityResponse'-  {_ppcrsCapacityId = Nothing, _ppcrsResponseStatus = pResponseStatus_}+    {_ppcrsCapacityId = Nothing, _ppcrsResponseStatus = pResponseStatus_}   -- | The ID that identifies the provisioned capacity unit. ppcrsCapacityId :: Lens' PurchaseProvisionedCapacityResponse (Maybe Text)-ppcrsCapacityId = lens _ppcrsCapacityId (\ s a -> s{_ppcrsCapacityId = a});+ppcrsCapacityId = lens _ppcrsCapacityId (\ s a -> s{_ppcrsCapacityId = a})  -- | -- | The response status code. ppcrsResponseStatus :: Lens' PurchaseProvisionedCapacityResponse Int-ppcrsResponseStatus = lens _ppcrsResponseStatus (\ s a -> s{_ppcrsResponseStatus = a});+ppcrsResponseStatus = lens _ppcrsResponseStatus (\ s a -> s{_ppcrsResponseStatus = a})  instance NFData PurchaseProvisionedCapacityResponse          where
gen/Network/AWS/Glacier/RemoveTagsFromVault.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.RemoveTagsFromVault--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> RemoveTagsFromVault removeTagsFromVault pAccountId_ pVaultName_ =   RemoveTagsFromVault'-  { _rtfvTagKeys = Nothing-  , _rtfvAccountId = pAccountId_-  , _rtfvVaultName = pVaultName_-  }+    { _rtfvTagKeys = Nothing+    , _rtfvAccountId = pAccountId_+    , _rtfvVaultName = pVaultName_+    }   -- | A list of tag keys. Each corresponding tag is removed from the vault. rtfvTagKeys :: Lens' RemoveTagsFromVault [Text]-rtfvTagKeys = lens _rtfvTagKeys (\ s a -> s{_rtfvTagKeys = a}) . _Default . _Coerce;+rtfvTagKeys = lens _rtfvTagKeys (\ s a -> s{_rtfvTagKeys = a}) . _Default . _Coerce  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. rtfvAccountId :: Lens' RemoveTagsFromVault Text-rtfvAccountId = lens _rtfvAccountId (\ s a -> s{_rtfvAccountId = a});+rtfvAccountId = lens _rtfvAccountId (\ s a -> s{_rtfvAccountId = a})  -- | The name of the vault. rtfvVaultName :: Lens' RemoveTagsFromVault Text-rtfvVaultName = lens _rtfvVaultName (\ s a -> s{_rtfvVaultName = a});+rtfvVaultName = lens _rtfvVaultName (\ s a -> s{_rtfvVaultName = a})  instance AWSRequest RemoveTagsFromVault where         type Rs RemoveTagsFromVault =
gen/Network/AWS/Glacier/SetDataRetrievalPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.SetDataRetrievalPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,11 +71,11 @@  -- | The data retrieval policy in JSON format. sdrpPolicy :: Lens' SetDataRetrievalPolicy (Maybe DataRetrievalPolicy)-sdrpPolicy = lens _sdrpPolicy (\ s a -> s{_sdrpPolicy = a});+sdrpPolicy = lens _sdrpPolicy (\ s a -> s{_sdrpPolicy = a})  -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. sdrpAccountId :: Lens' SetDataRetrievalPolicy Text-sdrpAccountId = lens _sdrpAccountId (\ s a -> s{_sdrpAccountId = a});+sdrpAccountId = lens _sdrpAccountId (\ s a -> s{_sdrpAccountId = a})  instance AWSRequest SetDataRetrievalPolicy where         type Rs SetDataRetrievalPolicy =
gen/Network/AWS/Glacier/SetVaultAccessPolicy.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.SetVaultAccessPolicy--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,23 +70,23 @@     -> SetVaultAccessPolicy setVaultAccessPolicy pAccountId_ pVaultName_ =   SetVaultAccessPolicy'-  { _svapPolicy = Nothing-  , _svapAccountId = pAccountId_-  , _svapVaultName = pVaultName_-  }+    { _svapPolicy = Nothing+    , _svapAccountId = pAccountId_+    , _svapVaultName = pVaultName_+    }   -- | The vault access policy as a JSON string. svapPolicy :: Lens' SetVaultAccessPolicy (Maybe VaultAccessPolicy)-svapPolicy = lens _svapPolicy (\ s a -> s{_svapPolicy = a});+svapPolicy = lens _svapPolicy (\ s a -> s{_svapPolicy = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. svapAccountId :: Lens' SetVaultAccessPolicy Text-svapAccountId = lens _svapAccountId (\ s a -> s{_svapAccountId = a});+svapAccountId = lens _svapAccountId (\ s a -> s{_svapAccountId = a})  -- | The name of the vault. svapVaultName :: Lens' SetVaultAccessPolicy Text-svapVaultName = lens _svapVaultName (\ s a -> s{_svapVaultName = a});+svapVaultName = lens _svapVaultName (\ s a -> s{_svapVaultName = a})  instance AWSRequest SetVaultAccessPolicy where         type Rs SetVaultAccessPolicy =
gen/Network/AWS/Glacier/SetVaultNotifications.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.SetVaultNotifications--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -84,23 +84,23 @@     -> SetVaultNotifications setVaultNotifications pAccountId_ pVaultName_ =   SetVaultNotifications'-  { _svnVaultNotificationConfig = Nothing-  , _svnAccountId = pAccountId_-  , _svnVaultName = pVaultName_-  }+    { _svnVaultNotificationConfig = Nothing+    , _svnAccountId = pAccountId_+    , _svnVaultName = pVaultName_+    }   -- | Provides options for specifying notification configuration. svnVaultNotificationConfig :: Lens' SetVaultNotifications (Maybe VaultNotificationConfig)-svnVaultNotificationConfig = lens _svnVaultNotificationConfig (\ s a -> s{_svnVaultNotificationConfig = a});+svnVaultNotificationConfig = lens _svnVaultNotificationConfig (\ s a -> s{_svnVaultNotificationConfig = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. svnAccountId :: Lens' SetVaultNotifications Text-svnAccountId = lens _svnAccountId (\ s a -> s{_svnAccountId = a});+svnAccountId = lens _svnAccountId (\ s a -> s{_svnAccountId = a})  -- | The name of the vault. svnVaultName :: Lens' SetVaultNotifications Text-svnVaultName = lens _svnVaultName (\ s a -> s{_svnVaultName = a});+svnVaultName = lens _svnVaultName (\ s a -> s{_svnVaultName = a})  instance AWSRequest SetVaultNotifications where         type Rs SetVaultNotifications =
gen/Network/AWS/Glacier/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.Glacier.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -28,9 +28,33 @@     -- * ActionCode     , ActionCode (..) +    -- * CannedACL+    , CannedACL (..)++    -- * EncryptionType+    , EncryptionType (..)++    -- * ExpressionType+    , ExpressionType (..)++    -- * FileHeaderInfo+    , FileHeaderInfo (..)++    -- * Permission+    , Permission (..)++    -- * QuoteFields+    , QuoteFields (..)+     -- * StatusCode     , StatusCode (..) +    -- * StorageClass+    , StorageClass (..)++    -- * Type+    , Type (..)+     -- * ArchiveCreationOutput     , ArchiveCreationOutput     , archiveCreationOutput@@ -38,6 +62,25 @@     , acoChecksum     , acoLocation +    -- * CSVInput+    , CSVInput+    , csvInput+    , ciQuoteCharacter+    , ciRecordDelimiter+    , ciFileHeaderInfo+    , ciQuoteEscapeCharacter+    , ciComments+    , ciFieldDelimiter++    -- * CSVOutput+    , CSVOutput+    , csvOutput+    , coQuoteCharacter+    , coQuoteFields+    , coRecordDelimiter+    , coQuoteEscapeCharacter+    , coFieldDelimiter+     -- * DataRetrievalPolicy     , DataRetrievalPolicy     , dataRetrievalPolicy@@ -59,12 +102,21 @@     , dvoCreationDate     , dvoNumberOfArchives +    -- * Encryption+    , Encryption+    , encryption+    , eEncryptionType+    , eKMSKeyId+    , eKMSContext+     -- * GlacierJobDescription     , GlacierJobDescription     , glacierJobDescription     , gjdSHA256TreeHash     , gjdArchiveId+    , gjdSelectParameters     , gjdJobId+    , gjdJobOutputPath     , gjdRetrievalByteRange     , gjdInventoryRetrievalParameters     , gjdAction@@ -72,6 +124,7 @@     , gjdSNSTopic     , gjdStatusMessage     , gjdVaultARN+    , gjdOutputLocation     , gjdTier     , gjdArchiveSHA256TreeHash     , gjdCreationDate@@ -81,6 +134,26 @@     , gjdArchiveSizeInBytes     , gjdStatusCode +    -- * Grant+    , Grant+    , grant+    , gPermission+    , gGrantee++    -- * Grantee+    , Grantee+    , grantee+    , gURI+    , gEmailAddress+    , gDisplayName+    , gId+    , gType++    -- * InputSerialization+    , InputSerialization+    , inputSerialization+    , isCsv+     -- * InventoryRetrievalJobDescription     , InventoryRetrievalJobDescription     , inventoryRetrievalJobDescription@@ -102,14 +175,26 @@     , JobParameters     , jobParameters     , jpArchiveId+    , jpSelectParameters     , jpFormat     , jpRetrievalByteRange     , jpInventoryRetrievalParameters     , jpSNSTopic+    , jpOutputLocation     , jpTier     , jpType     , jpDescription +    -- * OutputLocation+    , OutputLocation+    , outputLocation+    , olS3++    -- * OutputSerialization+    , OutputSerialization+    , outputSerialization+    , osCsv+     -- * PartListElement     , PartListElement     , partListElement@@ -123,6 +208,26 @@     , pcdStartDate     , pcdExpirationDate +    -- * S3Location+    , S3Location+    , s3Location+    , slCannedACL+    , slPrefix+    , slBucketName+    , slAccessControlList+    , slUserMetadata+    , slEncryption+    , slStorageClass+    , slTagging++    -- * SelectParameters+    , SelectParameters+    , selectParameters+    , spExpressionType+    , spOutputSerialization+    , spExpression+    , spInputSerialization+     -- * UploadListElement     , UploadListElement     , uploadListElement@@ -159,24 +264,24 @@ glacier :: Service glacier =   Service-  { _svcAbbrev = "Glacier"-  , _svcSigner = v4-  , _svcPrefix = "glacier"-  , _svcVersion = "2012-06-01"-  , _svcEndpoint = defaultEndpoint glacier-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "Glacier"-  , _svcRetry = retry-  }+    { _svcAbbrev = "Glacier"+    , _svcSigner = v4+    , _svcPrefix = "glacier"+    , _svcVersion = "2012-06-01"+    , _svcEndpoint = defaultEndpoint glacier+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "Glacier"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -185,8 +290,12 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"+      | has (hasCode "RequestTimeoutException" . hasStatus 408) e =+        Just "timeouts"       | has (hasStatus 500) e = Just "general_server_error"       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing
gen/Network/AWS/Glacier/Types/Product.hs view
@@ -9,947 +9,1662 @@  -- | -- Module      : Network.AWS.Glacier.Types.Product--- Copyright   : (c) 2013-2017 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Glacier.Types.Product where--import Network.AWS.Glacier.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Contains the Amazon Glacier response to your request.--------- For information about the underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html Upload Archive> . For conceptual information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html Working with Archives in Amazon Glacier> .--------- /See:/ 'archiveCreationOutput' smart constructor.-data ArchiveCreationOutput = ArchiveCreationOutput'-  { _acoArchiveId :: !(Maybe Text)-  , _acoChecksum  :: !(Maybe Text)-  , _acoLocation  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ArchiveCreationOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acoArchiveId' - The ID of the archive. This value is also included as part of the location.------ * 'acoChecksum' - The checksum of the archive computed by Amazon Glacier.------ * 'acoLocation' - The relative URI path of the newly added archive resource.-archiveCreationOutput-    :: ArchiveCreationOutput-archiveCreationOutput =-  ArchiveCreationOutput'-  {_acoArchiveId = Nothing, _acoChecksum = Nothing, _acoLocation = Nothing}----- | The ID of the archive. This value is also included as part of the location.-acoArchiveId :: Lens' ArchiveCreationOutput (Maybe Text)-acoArchiveId = lens _acoArchiveId (\ s a -> s{_acoArchiveId = a});---- | The checksum of the archive computed by Amazon Glacier.-acoChecksum :: Lens' ArchiveCreationOutput (Maybe Text)-acoChecksum = lens _acoChecksum (\ s a -> s{_acoChecksum = a});---- | The relative URI path of the newly added archive resource.-acoLocation :: Lens' ArchiveCreationOutput (Maybe Text)-acoLocation = lens _acoLocation (\ s a -> s{_acoLocation = a});--instance FromJSON ArchiveCreationOutput where-        parseJSON-          = withObject "ArchiveCreationOutput"-              (\ x ->-                 ArchiveCreationOutput' <$>-                   (x .:? "x-amz-archive-id") <*>-                     (x .:? "x-amz-sha256-tree-hash")-                     <*> (x .:? "Location"))--instance Hashable ArchiveCreationOutput where--instance NFData ArchiveCreationOutput where---- | Data retrieval policy.------------ /See:/ 'dataRetrievalPolicy' smart constructor.-newtype DataRetrievalPolicy = DataRetrievalPolicy'-  { _drpRules :: Maybe [DataRetrievalRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DataRetrievalPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drpRules' - The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.-dataRetrievalPolicy-    :: DataRetrievalPolicy-dataRetrievalPolicy = DataRetrievalPolicy' {_drpRules = Nothing}----- | The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.-drpRules :: Lens' DataRetrievalPolicy [DataRetrievalRule]-drpRules = lens _drpRules (\ s a -> s{_drpRules = a}) . _Default . _Coerce;--instance FromJSON DataRetrievalPolicy where-        parseJSON-          = withObject "DataRetrievalPolicy"-              (\ x ->-                 DataRetrievalPolicy' <$> (x .:? "Rules" .!= mempty))--instance Hashable DataRetrievalPolicy where--instance NFData DataRetrievalPolicy where--instance ToJSON DataRetrievalPolicy where-        toJSON DataRetrievalPolicy'{..}-          = object (catMaybes [("Rules" .=) <$> _drpRules])---- | Data retrieval policy rule.------------ /See:/ 'dataRetrievalRule' smart constructor.-data DataRetrievalRule = DataRetrievalRule'-  { _drrStrategy     :: !(Maybe Text)-  , _drrBytesPerHour :: !(Maybe Integer)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DataRetrievalRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drrStrategy' - The type of data retrieval policy to set. Valid values: BytesPerHour|FreeTier|None------ * 'drrBytesPerHour' - The maximum number of bytes that can be retrieved in an hour. This field is required only if the value of the Strategy field is @BytesPerHour@ . Your PUT operation will be rejected if the Strategy field is not set to @BytesPerHour@ and you set this field.-dataRetrievalRule-    :: DataRetrievalRule-dataRetrievalRule =-  DataRetrievalRule' {_drrStrategy = Nothing, _drrBytesPerHour = Nothing}----- | The type of data retrieval policy to set. Valid values: BytesPerHour|FreeTier|None-drrStrategy :: Lens' DataRetrievalRule (Maybe Text)-drrStrategy = lens _drrStrategy (\ s a -> s{_drrStrategy = a});---- | The maximum number of bytes that can be retrieved in an hour. This field is required only if the value of the Strategy field is @BytesPerHour@ . Your PUT operation will be rejected if the Strategy field is not set to @BytesPerHour@ and you set this field.-drrBytesPerHour :: Lens' DataRetrievalRule (Maybe Integer)-drrBytesPerHour = lens _drrBytesPerHour (\ s a -> s{_drrBytesPerHour = a});--instance FromJSON DataRetrievalRule where-        parseJSON-          = withObject "DataRetrievalRule"-              (\ x ->-                 DataRetrievalRule' <$>-                   (x .:? "Strategy") <*> (x .:? "BytesPerHour"))--instance Hashable DataRetrievalRule where--instance NFData DataRetrievalRule where--instance ToJSON DataRetrievalRule where-        toJSON DataRetrievalRule'{..}-          = object-              (catMaybes-                 [("Strategy" .=) <$> _drrStrategy,-                  ("BytesPerHour" .=) <$> _drrBytesPerHour])---- | Contains the Amazon Glacier response to your request.------------ /See:/ 'describeVaultOutput' smart constructor.-data DescribeVaultOutput = DescribeVaultOutput'-  { _dvoVaultName         :: !(Maybe Text)-  , _dvoSizeInBytes       :: !(Maybe Integer)-  , _dvoLastInventoryDate :: !(Maybe Text)-  , _dvoVaultARN          :: !(Maybe Text)-  , _dvoCreationDate      :: !(Maybe Text)-  , _dvoNumberOfArchives  :: !(Maybe Integer)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeVaultOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dvoVaultName' - The name of the vault.------ * 'dvoSizeInBytes' - Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.------ * 'dvoLastInventoryDate' - The Universal Coordinated Time (UTC) date when Amazon Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .------ * 'dvoVaultARN' - The Amazon Resource Name (ARN) of the vault.------ * 'dvoCreationDate' - The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .------ * 'dvoNumberOfArchives' - The number of archives in the vault as of the last inventory date. This field will return @null@ if an inventory has not yet run on the vault, for example if you just created the vault.-describeVaultOutput-    :: DescribeVaultOutput-describeVaultOutput =-  DescribeVaultOutput'-  { _dvoVaultName = Nothing-  , _dvoSizeInBytes = Nothing-  , _dvoLastInventoryDate = Nothing-  , _dvoVaultARN = Nothing-  , _dvoCreationDate = Nothing-  , _dvoNumberOfArchives = Nothing-  }----- | The name of the vault.-dvoVaultName :: Lens' DescribeVaultOutput (Maybe Text)-dvoVaultName = lens _dvoVaultName (\ s a -> s{_dvoVaultName = a});---- | Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.-dvoSizeInBytes :: Lens' DescribeVaultOutput (Maybe Integer)-dvoSizeInBytes = lens _dvoSizeInBytes (\ s a -> s{_dvoSizeInBytes = a});---- | The Universal Coordinated Time (UTC) date when Amazon Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .-dvoLastInventoryDate :: Lens' DescribeVaultOutput (Maybe Text)-dvoLastInventoryDate = lens _dvoLastInventoryDate (\ s a -> s{_dvoLastInventoryDate = a});---- | The Amazon Resource Name (ARN) of the vault.-dvoVaultARN :: Lens' DescribeVaultOutput (Maybe Text)-dvoVaultARN = lens _dvoVaultARN (\ s a -> s{_dvoVaultARN = a});---- | The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .-dvoCreationDate :: Lens' DescribeVaultOutput (Maybe Text)-dvoCreationDate = lens _dvoCreationDate (\ s a -> s{_dvoCreationDate = a});---- | The number of archives in the vault as of the last inventory date. This field will return @null@ if an inventory has not yet run on the vault, for example if you just created the vault.-dvoNumberOfArchives :: Lens' DescribeVaultOutput (Maybe Integer)-dvoNumberOfArchives = lens _dvoNumberOfArchives (\ s a -> s{_dvoNumberOfArchives = a});--instance FromJSON DescribeVaultOutput where-        parseJSON-          = withObject "DescribeVaultOutput"-              (\ x ->-                 DescribeVaultOutput' <$>-                   (x .:? "VaultName") <*> (x .:? "SizeInBytes") <*>-                     (x .:? "LastInventoryDate")-                     <*> (x .:? "VaultARN")-                     <*> (x .:? "CreationDate")-                     <*> (x .:? "NumberOfArchives"))--instance Hashable DescribeVaultOutput where--instance NFData DescribeVaultOutput where---- | Describes an Amazon Glacier job.------------ /See:/ 'glacierJobDescription' smart constructor.-data GlacierJobDescription = GlacierJobDescription'-  { _gjdSHA256TreeHash :: !(Maybe Text)-  , _gjdArchiveId :: !(Maybe Text)-  , _gjdJobId :: !(Maybe Text)-  , _gjdRetrievalByteRange :: !(Maybe Text)-  , _gjdInventoryRetrievalParameters :: !(Maybe InventoryRetrievalJobDescription)-  , _gjdAction :: !(Maybe ActionCode)-  , _gjdJobDescription :: !(Maybe Text)-  , _gjdSNSTopic :: !(Maybe Text)-  , _gjdStatusMessage :: !(Maybe Text)-  , _gjdVaultARN :: !(Maybe Text)-  , _gjdTier :: !(Maybe Text)-  , _gjdArchiveSHA256TreeHash :: !(Maybe Text)-  , _gjdCreationDate :: !(Maybe Text)-  , _gjdCompleted :: !(Maybe Bool)-  , _gjdCompletionDate :: !(Maybe Text)-  , _gjdInventorySizeInBytes :: !(Maybe Integer)-  , _gjdArchiveSizeInBytes :: !(Maybe Integer)-  , _gjdStatusCode :: !(Maybe StatusCode)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GlacierJobDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gjdSHA256TreeHash' - For an ArchiveRetrieval job, it is the checksum of the archive. Otherwise, the value is null. The SHA256 tree hash value for the requested range of an archive. If the Initiate a Job request for an archive specified a tree-hash aligned range, then this field returns a value. For the specific case when the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. This field is null in the following situations:     * Archive retrieval jobs that specify a range that is not tree-hash aligned.     * Archival jobs that specify a range that is equal to the whole archive and the job status is InProgress.     * Inventory jobs.------ * 'gjdArchiveId' - For an ArchiveRetrieval job, this is the archive ID requested for download. Otherwise, this field is null.------ * 'gjdJobId' - An opaque string that identifies an Amazon Glacier job.------ * 'gjdRetrievalByteRange' - The retrieved byte range for archive retrieval jobs in the form "/StartByteValue/ -/EndByteValue/ " If no range was specified in the archive retrieval, then the whole archive is retrieved and /StartByteValue/ equals 0 and /EndByteValue/ equals the size of the archive minus 1. For inventory retrieval jobs this field is null.------ * 'gjdInventoryRetrievalParameters' - Parameters used for range inventory retrieval.------ * 'gjdAction' - The job type. It is either ArchiveRetrieval or InventoryRetrieval.------ * 'gjdJobDescription' - The job description you provided when you initiated the job.------ * 'gjdSNSTopic' - An Amazon Simple Notification Service (Amazon SNS) topic that receives notification.------ * 'gjdStatusMessage' - A friendly message that describes the job status.------ * 'gjdVaultARN' - The Amazon Resource Name (ARN) of the vault from which the archive retrieval was requested.------ * 'gjdTier' - The retrieval option to use for the archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.------ * 'gjdArchiveSHA256TreeHash' - The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval jobs, this field is null.------ * 'gjdCreationDate' - The UTC date when the job was created. A string representation of ISO 8601 date format, for example, "2012-03-20T17:03:43.221Z".------ * 'gjdCompleted' - The job status. When a job is completed, you get the job's output.------ * 'gjdCompletionDate' - The UTC time that the archive retrieval request completed. While the job is in progress, the value will be null.------ * 'gjdInventorySizeInBytes' - For an InventoryRetrieval job, this is the size in bytes of the inventory requested for download. For the ArchiveRetrieval job, the value is null.------ * 'gjdArchiveSizeInBytes' - For an ArchiveRetrieval job, this is the size in bytes of the archive being requested for download. For the InventoryRetrieval job, the value is null.------ * 'gjdStatusCode' - The status code can be InProgress, Succeeded, or Failed, and indicates the status of the job.-glacierJobDescription-    :: GlacierJobDescription-glacierJobDescription =-  GlacierJobDescription'-  { _gjdSHA256TreeHash = Nothing-  , _gjdArchiveId = Nothing-  , _gjdJobId = Nothing-  , _gjdRetrievalByteRange = Nothing-  , _gjdInventoryRetrievalParameters = Nothing-  , _gjdAction = Nothing-  , _gjdJobDescription = Nothing-  , _gjdSNSTopic = Nothing-  , _gjdStatusMessage = Nothing-  , _gjdVaultARN = Nothing-  , _gjdTier = Nothing-  , _gjdArchiveSHA256TreeHash = Nothing-  , _gjdCreationDate = Nothing-  , _gjdCompleted = Nothing-  , _gjdCompletionDate = Nothing-  , _gjdInventorySizeInBytes = Nothing-  , _gjdArchiveSizeInBytes = Nothing-  , _gjdStatusCode = Nothing-  }----- | For an ArchiveRetrieval job, it is the checksum of the archive. Otherwise, the value is null. The SHA256 tree hash value for the requested range of an archive. If the Initiate a Job request for an archive specified a tree-hash aligned range, then this field returns a value. For the specific case when the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. This field is null in the following situations:     * Archive retrieval jobs that specify a range that is not tree-hash aligned.     * Archival jobs that specify a range that is equal to the whole archive and the job status is InProgress.     * Inventory jobs.-gjdSHA256TreeHash :: Lens' GlacierJobDescription (Maybe Text)-gjdSHA256TreeHash = lens _gjdSHA256TreeHash (\ s a -> s{_gjdSHA256TreeHash = a});---- | For an ArchiveRetrieval job, this is the archive ID requested for download. Otherwise, this field is null.-gjdArchiveId :: Lens' GlacierJobDescription (Maybe Text)-gjdArchiveId = lens _gjdArchiveId (\ s a -> s{_gjdArchiveId = a});---- | An opaque string that identifies an Amazon Glacier job.-gjdJobId :: Lens' GlacierJobDescription (Maybe Text)-gjdJobId = lens _gjdJobId (\ s a -> s{_gjdJobId = a});---- | The retrieved byte range for archive retrieval jobs in the form "/StartByteValue/ -/EndByteValue/ " If no range was specified in the archive retrieval, then the whole archive is retrieved and /StartByteValue/ equals 0 and /EndByteValue/ equals the size of the archive minus 1. For inventory retrieval jobs this field is null.-gjdRetrievalByteRange :: Lens' GlacierJobDescription (Maybe Text)-gjdRetrievalByteRange = lens _gjdRetrievalByteRange (\ s a -> s{_gjdRetrievalByteRange = a});---- | Parameters used for range inventory retrieval.-gjdInventoryRetrievalParameters :: Lens' GlacierJobDescription (Maybe InventoryRetrievalJobDescription)-gjdInventoryRetrievalParameters = lens _gjdInventoryRetrievalParameters (\ s a -> s{_gjdInventoryRetrievalParameters = a});---- | The job type. It is either ArchiveRetrieval or InventoryRetrieval.-gjdAction :: Lens' GlacierJobDescription (Maybe ActionCode)-gjdAction = lens _gjdAction (\ s a -> s{_gjdAction = a});---- | The job description you provided when you initiated the job.-gjdJobDescription :: Lens' GlacierJobDescription (Maybe Text)-gjdJobDescription = lens _gjdJobDescription (\ s a -> s{_gjdJobDescription = a});---- | An Amazon Simple Notification Service (Amazon SNS) topic that receives notification.-gjdSNSTopic :: Lens' GlacierJobDescription (Maybe Text)-gjdSNSTopic = lens _gjdSNSTopic (\ s a -> s{_gjdSNSTopic = a});---- | A friendly message that describes the job status.-gjdStatusMessage :: Lens' GlacierJobDescription (Maybe Text)-gjdStatusMessage = lens _gjdStatusMessage (\ s a -> s{_gjdStatusMessage = a});---- | The Amazon Resource Name (ARN) of the vault from which the archive retrieval was requested.-gjdVaultARN :: Lens' GlacierJobDescription (Maybe Text)-gjdVaultARN = lens _gjdVaultARN (\ s a -> s{_gjdVaultARN = a});---- | The retrieval option to use for the archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.-gjdTier :: Lens' GlacierJobDescription (Maybe Text)-gjdTier = lens _gjdTier (\ s a -> s{_gjdTier = a});---- | The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval jobs, this field is null.-gjdArchiveSHA256TreeHash :: Lens' GlacierJobDescription (Maybe Text)-gjdArchiveSHA256TreeHash = lens _gjdArchiveSHA256TreeHash (\ s a -> s{_gjdArchiveSHA256TreeHash = a});---- | The UTC date when the job was created. A string representation of ISO 8601 date format, for example, "2012-03-20T17:03:43.221Z".-gjdCreationDate :: Lens' GlacierJobDescription (Maybe Text)-gjdCreationDate = lens _gjdCreationDate (\ s a -> s{_gjdCreationDate = a});---- | The job status. When a job is completed, you get the job's output.-gjdCompleted :: Lens' GlacierJobDescription (Maybe Bool)-gjdCompleted = lens _gjdCompleted (\ s a -> s{_gjdCompleted = a});---- | The UTC time that the archive retrieval request completed. While the job is in progress, the value will be null.-gjdCompletionDate :: Lens' GlacierJobDescription (Maybe Text)-gjdCompletionDate = lens _gjdCompletionDate (\ s a -> s{_gjdCompletionDate = a});---- | For an InventoryRetrieval job, this is the size in bytes of the inventory requested for download. For the ArchiveRetrieval job, the value is null.-gjdInventorySizeInBytes :: Lens' GlacierJobDescription (Maybe Integer)-gjdInventorySizeInBytes = lens _gjdInventorySizeInBytes (\ s a -> s{_gjdInventorySizeInBytes = a});---- | For an ArchiveRetrieval job, this is the size in bytes of the archive being requested for download. For the InventoryRetrieval job, the value is null.-gjdArchiveSizeInBytes :: Lens' GlacierJobDescription (Maybe Integer)-gjdArchiveSizeInBytes = lens _gjdArchiveSizeInBytes (\ s a -> s{_gjdArchiveSizeInBytes = a});---- | The status code can be InProgress, Succeeded, or Failed, and indicates the status of the job.-gjdStatusCode :: Lens' GlacierJobDescription (Maybe StatusCode)-gjdStatusCode = lens _gjdStatusCode (\ s a -> s{_gjdStatusCode = a});--instance FromJSON GlacierJobDescription where-        parseJSON-          = withObject "GlacierJobDescription"-              (\ x ->-                 GlacierJobDescription' <$>-                   (x .:? "SHA256TreeHash") <*> (x .:? "ArchiveId") <*>-                     (x .:? "JobId")-                     <*> (x .:? "RetrievalByteRange")-                     <*> (x .:? "InventoryRetrievalParameters")-                     <*> (x .:? "Action")-                     <*> (x .:? "JobDescription")-                     <*> (x .:? "SNSTopic")-                     <*> (x .:? "StatusMessage")-                     <*> (x .:? "VaultARN")-                     <*> (x .:? "Tier")-                     <*> (x .:? "ArchiveSHA256TreeHash")-                     <*> (x .:? "CreationDate")-                     <*> (x .:? "Completed")-                     <*> (x .:? "CompletionDate")-                     <*> (x .:? "InventorySizeInBytes")-                     <*> (x .:? "ArchiveSizeInBytes")-                     <*> (x .:? "StatusCode"))--instance Hashable GlacierJobDescription where--instance NFData GlacierJobDescription where---- | Describes the options for a range inventory retrieval job.------------ /See:/ 'inventoryRetrievalJobDescription' smart constructor.-data InventoryRetrievalJobDescription = InventoryRetrievalJobDescription'-  { _irjdFormat    :: !(Maybe Text)-  , _irjdEndDate   :: !(Maybe Text)-  , _irjdStartDate :: !(Maybe Text)-  , _irjdMarker    :: !(Maybe Text)-  , _irjdLimit     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryRetrievalJobDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irjdFormat' - The output format for the vault inventory list, which is set by the __InitiateJob__ request when initiating a job to retrieve a vault inventory. Valid values are @CSV@ and @JSON@ .------ * 'irjdEndDate' - The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .------ * 'irjdStartDate' - The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .------ * 'irjdMarker' - An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ . For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering Range Inventory Retrieval> .------ * 'irjdLimit' - The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a __InitiateJob__ request.-inventoryRetrievalJobDescription-    :: InventoryRetrievalJobDescription-inventoryRetrievalJobDescription =-  InventoryRetrievalJobDescription'-  { _irjdFormat = Nothing-  , _irjdEndDate = Nothing-  , _irjdStartDate = Nothing-  , _irjdMarker = Nothing-  , _irjdLimit = Nothing-  }----- | The output format for the vault inventory list, which is set by the __InitiateJob__ request when initiating a job to retrieve a vault inventory. Valid values are @CSV@ and @JSON@ .-irjdFormat :: Lens' InventoryRetrievalJobDescription (Maybe Text)-irjdFormat = lens _irjdFormat (\ s a -> s{_irjdFormat = a});---- | The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .-irjdEndDate :: Lens' InventoryRetrievalJobDescription (Maybe Text)-irjdEndDate = lens _irjdEndDate (\ s a -> s{_irjdEndDate = a});---- | The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .-irjdStartDate :: Lens' InventoryRetrievalJobDescription (Maybe Text)-irjdStartDate = lens _irjdStartDate (\ s a -> s{_irjdStartDate = a});---- | An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ . For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering Range Inventory Retrieval> .-irjdMarker :: Lens' InventoryRetrievalJobDescription (Maybe Text)-irjdMarker = lens _irjdMarker (\ s a -> s{_irjdMarker = a});---- | The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a __InitiateJob__ request.-irjdLimit :: Lens' InventoryRetrievalJobDescription (Maybe Text)-irjdLimit = lens _irjdLimit (\ s a -> s{_irjdLimit = a});--instance FromJSON InventoryRetrievalJobDescription-         where-        parseJSON-          = withObject "InventoryRetrievalJobDescription"-              (\ x ->-                 InventoryRetrievalJobDescription' <$>-                   (x .:? "Format") <*> (x .:? "EndDate") <*>-                     (x .:? "StartDate")-                     <*> (x .:? "Marker")-                     <*> (x .:? "Limit"))--instance Hashable InventoryRetrievalJobDescription-         where--instance NFData InventoryRetrievalJobDescription-         where---- | Provides options for specifying a range inventory retrieval job.------------ /See:/ 'inventoryRetrievalJobInput' smart constructor.-data InventoryRetrievalJobInput = InventoryRetrievalJobInput'-  { _irjiEndDate   :: !(Maybe Text)-  , _irjiStartDate :: !(Maybe Text)-  , _irjiMarker    :: !(Maybe Text)-  , _irjiLimit     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryRetrievalJobInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irjiEndDate' - The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .------ * 'irjiStartDate' - The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .------ * 'irjiMarker' - An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ .------ * 'irjiLimit' - Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1.-inventoryRetrievalJobInput-    :: InventoryRetrievalJobInput-inventoryRetrievalJobInput =-  InventoryRetrievalJobInput'-  { _irjiEndDate = Nothing-  , _irjiStartDate = Nothing-  , _irjiMarker = Nothing-  , _irjiLimit = Nothing-  }----- | The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .-irjiEndDate :: Lens' InventoryRetrievalJobInput (Maybe Text)-irjiEndDate = lens _irjiEndDate (\ s a -> s{_irjiEndDate = a});---- | The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .-irjiStartDate :: Lens' InventoryRetrievalJobInput (Maybe Text)-irjiStartDate = lens _irjiStartDate (\ s a -> s{_irjiStartDate = a});---- | An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ .-irjiMarker :: Lens' InventoryRetrievalJobInput (Maybe Text)-irjiMarker = lens _irjiMarker (\ s a -> s{_irjiMarker = a});---- | Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1.-irjiLimit :: Lens' InventoryRetrievalJobInput (Maybe Text)-irjiLimit = lens _irjiLimit (\ s a -> s{_irjiLimit = a});--instance Hashable InventoryRetrievalJobInput where--instance NFData InventoryRetrievalJobInput where--instance ToJSON InventoryRetrievalJobInput where-        toJSON InventoryRetrievalJobInput'{..}-          = object-              (catMaybes-                 [("EndDate" .=) <$> _irjiEndDate,-                  ("StartDate" .=) <$> _irjiStartDate,-                  ("Marker" .=) <$> _irjiMarker,-                  ("Limit" .=) <$> _irjiLimit])---- | Provides options for defining a job.------------ /See:/ 'jobParameters' smart constructor.-data JobParameters = JobParameters'-  { _jpArchiveId                    :: !(Maybe Text)-  , _jpFormat                       :: !(Maybe Text)-  , _jpRetrievalByteRange           :: !(Maybe Text)-  , _jpInventoryRetrievalParameters :: !(Maybe InventoryRetrievalJobInput)-  , _jpSNSTopic                     :: !(Maybe Text)-  , _jpTier                         :: !(Maybe Text)-  , _jpType                         :: !(Maybe Text)-  , _jpDescription                  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JobParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jpArchiveId' - The ID of the archive that you want to retrieve. This field is required only if @Type@ is set to archive-retrieval. An error occurs if you specify this request parameter for an inventory retrieval job request.------ * 'jpFormat' - When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are "CSV" and "JSON".------ * 'jpRetrievalByteRange' - The byte range to retrieve for an archive retrieval. in the form "/StartByteValue/ -/EndByteValue/ " If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that /StartByteValue/ must be divisible by 1 MB and /EndByteValue/ plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.  An error occurs if you specify this field for an inventory retrieval job request.------ * 'jpInventoryRetrievalParameters' - Input parameters used for range inventory retrieval.------ * 'jpSNSTopic' - The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.------ * 'jpTier' - The retrieval option to use for the archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.------ * 'jpType' - The job type. You can initiate a job to retrieve an archive or get an inventory of a vault. Valid values are "archive-retrieval" and "inventory-retrieval".------ * 'jpDescription' - The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.-jobParameters-    :: JobParameters-jobParameters =-  JobParameters'-  { _jpArchiveId = Nothing-  , _jpFormat = Nothing-  , _jpRetrievalByteRange = Nothing-  , _jpInventoryRetrievalParameters = Nothing-  , _jpSNSTopic = Nothing-  , _jpTier = Nothing-  , _jpType = Nothing-  , _jpDescription = Nothing-  }----- | The ID of the archive that you want to retrieve. This field is required only if @Type@ is set to archive-retrieval. An error occurs if you specify this request parameter for an inventory retrieval job request.-jpArchiveId :: Lens' JobParameters (Maybe Text)-jpArchiveId = lens _jpArchiveId (\ s a -> s{_jpArchiveId = a});---- | When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are "CSV" and "JSON".-jpFormat :: Lens' JobParameters (Maybe Text)-jpFormat = lens _jpFormat (\ s a -> s{_jpFormat = a});---- | The byte range to retrieve for an archive retrieval. in the form "/StartByteValue/ -/EndByteValue/ " If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that /StartByteValue/ must be divisible by 1 MB and /EndByteValue/ plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.  An error occurs if you specify this field for an inventory retrieval job request.-jpRetrievalByteRange :: Lens' JobParameters (Maybe Text)-jpRetrievalByteRange = lens _jpRetrievalByteRange (\ s a -> s{_jpRetrievalByteRange = a});---- | Input parameters used for range inventory retrieval.-jpInventoryRetrievalParameters :: Lens' JobParameters (Maybe InventoryRetrievalJobInput)-jpInventoryRetrievalParameters = lens _jpInventoryRetrievalParameters (\ s a -> s{_jpInventoryRetrievalParameters = a});---- | The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.-jpSNSTopic :: Lens' JobParameters (Maybe Text)-jpSNSTopic = lens _jpSNSTopic (\ s a -> s{_jpSNSTopic = a});---- | The retrieval option to use for the archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.-jpTier :: Lens' JobParameters (Maybe Text)-jpTier = lens _jpTier (\ s a -> s{_jpTier = a});---- | The job type. You can initiate a job to retrieve an archive or get an inventory of a vault. Valid values are "archive-retrieval" and "inventory-retrieval".-jpType :: Lens' JobParameters (Maybe Text)-jpType = lens _jpType (\ s a -> s{_jpType = a});---- | The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.-jpDescription :: Lens' JobParameters (Maybe Text)-jpDescription = lens _jpDescription (\ s a -> s{_jpDescription = a});--instance Hashable JobParameters where--instance NFData JobParameters where--instance ToJSON JobParameters where-        toJSON JobParameters'{..}-          = object-              (catMaybes-                 [("ArchiveId" .=) <$> _jpArchiveId,-                  ("Format" .=) <$> _jpFormat,-                  ("RetrievalByteRange" .=) <$> _jpRetrievalByteRange,-                  ("InventoryRetrievalParameters" .=) <$>-                    _jpInventoryRetrievalParameters,-                  ("SNSTopic" .=) <$> _jpSNSTopic,-                  ("Tier" .=) <$> _jpTier, ("Type" .=) <$> _jpType,-                  ("Description" .=) <$> _jpDescription])---- | A list of the part sizes of the multipart upload.------------ /See:/ 'partListElement' smart constructor.-data PartListElement = PartListElement'-  { _pleSHA256TreeHash :: !(Maybe Text)-  , _pleRangeInBytes   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PartListElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pleSHA256TreeHash' - The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never @null@ .------ * 'pleRangeInBytes' - The byte range of a part, inclusive of the upper value of the range.-partListElement-    :: PartListElement-partListElement =-  PartListElement' {_pleSHA256TreeHash = Nothing, _pleRangeInBytes = Nothing}----- | The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never @null@ .-pleSHA256TreeHash :: Lens' PartListElement (Maybe Text)-pleSHA256TreeHash = lens _pleSHA256TreeHash (\ s a -> s{_pleSHA256TreeHash = a});---- | The byte range of a part, inclusive of the upper value of the range.-pleRangeInBytes :: Lens' PartListElement (Maybe Text)-pleRangeInBytes = lens _pleRangeInBytes (\ s a -> s{_pleRangeInBytes = a});--instance FromJSON PartListElement where-        parseJSON-          = withObject "PartListElement"-              (\ x ->-                 PartListElement' <$>-                   (x .:? "SHA256TreeHash") <*> (x .:? "RangeInBytes"))--instance Hashable PartListElement where--instance NFData PartListElement where---- | The definition for a provisioned capacity unit.------------ /See:/ 'provisionedCapacityDescription' smart constructor.-data ProvisionedCapacityDescription = ProvisionedCapacityDescription'-  { _pcdCapacityId     :: !(Maybe Text)-  , _pcdStartDate      :: !(Maybe Text)-  , _pcdExpirationDate :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ProvisionedCapacityDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcdCapacityId' - The ID that identifies the provisioned capacity unit.------ * 'pcdStartDate' - The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).------ * 'pcdExpirationDate' - The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).-provisionedCapacityDescription-    :: ProvisionedCapacityDescription-provisionedCapacityDescription =-  ProvisionedCapacityDescription'-  { _pcdCapacityId = Nothing-  , _pcdStartDate = Nothing-  , _pcdExpirationDate = Nothing-  }----- | The ID that identifies the provisioned capacity unit.-pcdCapacityId :: Lens' ProvisionedCapacityDescription (Maybe Text)-pcdCapacityId = lens _pcdCapacityId (\ s a -> s{_pcdCapacityId = a});---- | The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).-pcdStartDate :: Lens' ProvisionedCapacityDescription (Maybe Text)-pcdStartDate = lens _pcdStartDate (\ s a -> s{_pcdStartDate = a});---- | The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).-pcdExpirationDate :: Lens' ProvisionedCapacityDescription (Maybe Text)-pcdExpirationDate = lens _pcdExpirationDate (\ s a -> s{_pcdExpirationDate = a});--instance FromJSON ProvisionedCapacityDescription-         where-        parseJSON-          = withObject "ProvisionedCapacityDescription"-              (\ x ->-                 ProvisionedCapacityDescription' <$>-                   (x .:? "CapacityId") <*> (x .:? "StartDate") <*>-                     (x .:? "ExpirationDate"))--instance Hashable ProvisionedCapacityDescription-         where--instance NFData ProvisionedCapacityDescription where---- | A list of in-progress multipart uploads for a vault.------------ /See:/ 'uploadListElement' smart constructor.-data UploadListElement = UploadListElement'-  { _uleMultipartUploadId  :: !(Maybe Text)-  , _ulePartSizeInBytes    :: !(Maybe Integer)-  , _uleArchiveDescription :: !(Maybe Text)-  , _uleVaultARN           :: !(Maybe Text)-  , _uleCreationDate       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UploadListElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uleMultipartUploadId' - The ID of a multipart upload.------ * 'ulePartSizeInBytes' - The part size, in bytes, specified in the Initiate Multipart Upload request. This is the size of all the parts in the upload except the last part, which may be smaller than this size.------ * 'uleArchiveDescription' - The description of the archive that was specified in the Initiate Multipart Upload request.------ * 'uleVaultARN' - The Amazon Resource Name (ARN) of the vault that contains the archive.------ * 'uleCreationDate' - The UTC time at which the multipart upload was initiated.-uploadListElement-    :: UploadListElement-uploadListElement =-  UploadListElement'-  { _uleMultipartUploadId = Nothing-  , _ulePartSizeInBytes = Nothing-  , _uleArchiveDescription = Nothing-  , _uleVaultARN = Nothing-  , _uleCreationDate = Nothing-  }----- | The ID of a multipart upload.-uleMultipartUploadId :: Lens' UploadListElement (Maybe Text)-uleMultipartUploadId = lens _uleMultipartUploadId (\ s a -> s{_uleMultipartUploadId = a});---- | The part size, in bytes, specified in the Initiate Multipart Upload request. This is the size of all the parts in the upload except the last part, which may be smaller than this size.-ulePartSizeInBytes :: Lens' UploadListElement (Maybe Integer)-ulePartSizeInBytes = lens _ulePartSizeInBytes (\ s a -> s{_ulePartSizeInBytes = a});---- | The description of the archive that was specified in the Initiate Multipart Upload request.-uleArchiveDescription :: Lens' UploadListElement (Maybe Text)-uleArchiveDescription = lens _uleArchiveDescription (\ s a -> s{_uleArchiveDescription = a});---- | The Amazon Resource Name (ARN) of the vault that contains the archive.-uleVaultARN :: Lens' UploadListElement (Maybe Text)-uleVaultARN = lens _uleVaultARN (\ s a -> s{_uleVaultARN = a});---- | The UTC time at which the multipart upload was initiated.-uleCreationDate :: Lens' UploadListElement (Maybe Text)-uleCreationDate = lens _uleCreationDate (\ s a -> s{_uleCreationDate = a});--instance FromJSON UploadListElement where-        parseJSON-          = withObject "UploadListElement"-              (\ x ->-                 UploadListElement' <$>-                   (x .:? "MultipartUploadId") <*>-                     (x .:? "PartSizeInBytes")-                     <*> (x .:? "ArchiveDescription")-                     <*> (x .:? "VaultARN")-                     <*> (x .:? "CreationDate"))--instance Hashable UploadListElement where--instance NFData UploadListElement where---- | Contains the vault access policy.------------ /See:/ 'vaultAccessPolicy' smart constructor.-newtype VaultAccessPolicy = VaultAccessPolicy'-  { _vapPolicy :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VaultAccessPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vapPolicy' - The vault access policy.-vaultAccessPolicy-    :: VaultAccessPolicy-vaultAccessPolicy = VaultAccessPolicy' {_vapPolicy = Nothing}----- | The vault access policy.-vapPolicy :: Lens' VaultAccessPolicy (Maybe Text)-vapPolicy = lens _vapPolicy (\ s a -> s{_vapPolicy = a});--instance FromJSON VaultAccessPolicy where-        parseJSON-          = withObject "VaultAccessPolicy"-              (\ x -> VaultAccessPolicy' <$> (x .:? "Policy"))--instance Hashable VaultAccessPolicy where--instance NFData VaultAccessPolicy where--instance ToJSON VaultAccessPolicy where-        toJSON VaultAccessPolicy'{..}-          = object (catMaybes [("Policy" .=) <$> _vapPolicy])---- | Contains the vault lock policy.------------ /See:/ 'vaultLockPolicy' smart constructor.-newtype VaultLockPolicy = VaultLockPolicy'-  { _vlpPolicy :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VaultLockPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vlpPolicy' - The vault lock policy.-vaultLockPolicy-    :: VaultLockPolicy-vaultLockPolicy = VaultLockPolicy' {_vlpPolicy = Nothing}----- | The vault lock policy.-vlpPolicy :: Lens' VaultLockPolicy (Maybe Text)-vlpPolicy = lens _vlpPolicy (\ s a -> s{_vlpPolicy = a});--instance Hashable VaultLockPolicy where--instance NFData VaultLockPolicy where--instance ToJSON VaultLockPolicy where-        toJSON VaultLockPolicy'{..}-          = object (catMaybes [("Policy" .=) <$> _vlpPolicy])---- | Represents a vault's notification configuration.------------ /See:/ 'vaultNotificationConfig' smart constructor.-data VaultNotificationConfig = VaultNotificationConfig'-  { _vncSNSTopic :: !(Maybe Text)-  , _vncEvents   :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VaultNotificationConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vncSNSTopic' - The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).------ * 'vncEvents' - A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.-vaultNotificationConfig-    :: VaultNotificationConfig-vaultNotificationConfig =-  VaultNotificationConfig' {_vncSNSTopic = Nothing, _vncEvents = Nothing}----- | The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).-vncSNSTopic :: Lens' VaultNotificationConfig (Maybe Text)-vncSNSTopic = lens _vncSNSTopic (\ s a -> s{_vncSNSTopic = a});---- | A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.-vncEvents :: Lens' VaultNotificationConfig [Text]-vncEvents = lens _vncEvents (\ s a -> s{_vncEvents = a}) . _Default . _Coerce;+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Glacier.Types.Product where++import Network.AWS.Glacier.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Contains the Amazon Glacier response to your request.+--+--+-- For information about the underlying REST API, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html Upload Archive> . For conceptual information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html Working with Archives in Amazon Glacier> .+--+--+-- /See:/ 'archiveCreationOutput' smart constructor.+data ArchiveCreationOutput = ArchiveCreationOutput'+  { _acoArchiveId :: !(Maybe Text)+  , _acoChecksum  :: !(Maybe Text)+  , _acoLocation  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ArchiveCreationOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acoArchiveId' - The ID of the archive. This value is also included as part of the location.+--+-- * 'acoChecksum' - The checksum of the archive computed by Amazon Glacier.+--+-- * 'acoLocation' - The relative URI path of the newly added archive resource.+archiveCreationOutput+    :: ArchiveCreationOutput+archiveCreationOutput =+  ArchiveCreationOutput'+    {_acoArchiveId = Nothing, _acoChecksum = Nothing, _acoLocation = Nothing}+++-- | The ID of the archive. This value is also included as part of the location.+acoArchiveId :: Lens' ArchiveCreationOutput (Maybe Text)+acoArchiveId = lens _acoArchiveId (\ s a -> s{_acoArchiveId = a})++-- | The checksum of the archive computed by Amazon Glacier.+acoChecksum :: Lens' ArchiveCreationOutput (Maybe Text)+acoChecksum = lens _acoChecksum (\ s a -> s{_acoChecksum = a})++-- | The relative URI path of the newly added archive resource.+acoLocation :: Lens' ArchiveCreationOutput (Maybe Text)+acoLocation = lens _acoLocation (\ s a -> s{_acoLocation = a})++instance FromJSON ArchiveCreationOutput where+        parseJSON+          = withObject "ArchiveCreationOutput"+              (\ x ->+                 ArchiveCreationOutput' <$>+                   (x .:? "x-amz-archive-id") <*>+                     (x .:? "x-amz-sha256-tree-hash")+                     <*> (x .:? "Location"))++instance Hashable ArchiveCreationOutput where++instance NFData ArchiveCreationOutput where++-- | Contains information about the comma-separated value (CSV) file to select from.+--+--+--+-- /See:/ 'csvInput' smart constructor.+data CSVInput = CSVInput'+  { _ciQuoteCharacter       :: !(Maybe Text)+  , _ciRecordDelimiter      :: !(Maybe Text)+  , _ciFileHeaderInfo       :: !(Maybe FileHeaderInfo)+  , _ciQuoteEscapeCharacter :: !(Maybe Text)+  , _ciComments             :: !(Maybe Text)+  , _ciFieldDelimiter       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CSVInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciQuoteCharacter' - A value used as an escape character where the field delimiter is part of the value.+--+-- * 'ciRecordDelimiter' - A value used to separate individual records from each other.+--+-- * 'ciFileHeaderInfo' - Describes the first line of input. Valid values are @None@ , @Ignore@ , and @Use@ .+--+-- * 'ciQuoteEscapeCharacter' - A single character used for escaping the quotation-mark character inside an already escaped value.+--+-- * 'ciComments' - A single character used to indicate that a row should be ignored when the character is present at the start of that row.+--+-- * 'ciFieldDelimiter' - A value used to separate individual fields from each other within a record.+csvInput+    :: CSVInput+csvInput =+  CSVInput'+    { _ciQuoteCharacter = Nothing+    , _ciRecordDelimiter = Nothing+    , _ciFileHeaderInfo = Nothing+    , _ciQuoteEscapeCharacter = Nothing+    , _ciComments = Nothing+    , _ciFieldDelimiter = Nothing+    }+++-- | A value used as an escape character where the field delimiter is part of the value.+ciQuoteCharacter :: Lens' CSVInput (Maybe Text)+ciQuoteCharacter = lens _ciQuoteCharacter (\ s a -> s{_ciQuoteCharacter = a})++-- | A value used to separate individual records from each other.+ciRecordDelimiter :: Lens' CSVInput (Maybe Text)+ciRecordDelimiter = lens _ciRecordDelimiter (\ s a -> s{_ciRecordDelimiter = a})++-- | Describes the first line of input. Valid values are @None@ , @Ignore@ , and @Use@ .+ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)+ciFileHeaderInfo = lens _ciFileHeaderInfo (\ s a -> s{_ciFileHeaderInfo = a})++-- | A single character used for escaping the quotation-mark character inside an already escaped value.+ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)+ciQuoteEscapeCharacter = lens _ciQuoteEscapeCharacter (\ s a -> s{_ciQuoteEscapeCharacter = a})++-- | A single character used to indicate that a row should be ignored when the character is present at the start of that row.+ciComments :: Lens' CSVInput (Maybe Text)+ciComments = lens _ciComments (\ s a -> s{_ciComments = a})++-- | A value used to separate individual fields from each other within a record.+ciFieldDelimiter :: Lens' CSVInput (Maybe Text)+ciFieldDelimiter = lens _ciFieldDelimiter (\ s a -> s{_ciFieldDelimiter = a})++instance FromJSON CSVInput where+        parseJSON+          = withObject "CSVInput"+              (\ x ->+                 CSVInput' <$>+                   (x .:? "QuoteCharacter") <*>+                     (x .:? "RecordDelimiter")+                     <*> (x .:? "FileHeaderInfo")+                     <*> (x .:? "QuoteEscapeCharacter")+                     <*> (x .:? "Comments")+                     <*> (x .:? "FieldDelimiter"))++instance Hashable CSVInput where++instance NFData CSVInput where++instance ToJSON CSVInput where+        toJSON CSVInput'{..}+          = object+              (catMaybes+                 [("QuoteCharacter" .=) <$> _ciQuoteCharacter,+                  ("RecordDelimiter" .=) <$> _ciRecordDelimiter,+                  ("FileHeaderInfo" .=) <$> _ciFileHeaderInfo,+                  ("QuoteEscapeCharacter" .=) <$>+                    _ciQuoteEscapeCharacter,+                  ("Comments" .=) <$> _ciComments,+                  ("FieldDelimiter" .=) <$> _ciFieldDelimiter])++-- | Contains information about the comma-separated value (CSV) file that the job results are stored in.+--+--+--+-- /See:/ 'csvOutput' smart constructor.+data CSVOutput = CSVOutput'+  { _coQuoteCharacter       :: !(Maybe Text)+  , _coQuoteFields          :: !(Maybe QuoteFields)+  , _coRecordDelimiter      :: !(Maybe Text)+  , _coQuoteEscapeCharacter :: !(Maybe Text)+  , _coFieldDelimiter       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CSVOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coQuoteCharacter' - A value used as an escape character where the field delimiter is part of the value.+--+-- * 'coQuoteFields' - A value that indicates whether all output fields should be contained within quotation marks.+--+-- * 'coRecordDelimiter' - A value used to separate individual records from each other.+--+-- * 'coQuoteEscapeCharacter' - A single character used for escaping the quotation-mark character inside an already escaped value.+--+-- * 'coFieldDelimiter' - A value used to separate individual fields from each other within a record.+csvOutput+    :: CSVOutput+csvOutput =+  CSVOutput'+    { _coQuoteCharacter = Nothing+    , _coQuoteFields = Nothing+    , _coRecordDelimiter = Nothing+    , _coQuoteEscapeCharacter = Nothing+    , _coFieldDelimiter = Nothing+    }+++-- | A value used as an escape character where the field delimiter is part of the value.+coQuoteCharacter :: Lens' CSVOutput (Maybe Text)+coQuoteCharacter = lens _coQuoteCharacter (\ s a -> s{_coQuoteCharacter = a})++-- | A value that indicates whether all output fields should be contained within quotation marks.+coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)+coQuoteFields = lens _coQuoteFields (\ s a -> s{_coQuoteFields = a})++-- | A value used to separate individual records from each other.+coRecordDelimiter :: Lens' CSVOutput (Maybe Text)+coRecordDelimiter = lens _coRecordDelimiter (\ s a -> s{_coRecordDelimiter = a})++-- | A single character used for escaping the quotation-mark character inside an already escaped value.+coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)+coQuoteEscapeCharacter = lens _coQuoteEscapeCharacter (\ s a -> s{_coQuoteEscapeCharacter = a})++-- | A value used to separate individual fields from each other within a record.+coFieldDelimiter :: Lens' CSVOutput (Maybe Text)+coFieldDelimiter = lens _coFieldDelimiter (\ s a -> s{_coFieldDelimiter = a})++instance FromJSON CSVOutput where+        parseJSON+          = withObject "CSVOutput"+              (\ x ->+                 CSVOutput' <$>+                   (x .:? "QuoteCharacter") <*> (x .:? "QuoteFields")+                     <*> (x .:? "RecordDelimiter")+                     <*> (x .:? "QuoteEscapeCharacter")+                     <*> (x .:? "FieldDelimiter"))++instance Hashable CSVOutput where++instance NFData CSVOutput where++instance ToJSON CSVOutput where+        toJSON CSVOutput'{..}+          = object+              (catMaybes+                 [("QuoteCharacter" .=) <$> _coQuoteCharacter,+                  ("QuoteFields" .=) <$> _coQuoteFields,+                  ("RecordDelimiter" .=) <$> _coRecordDelimiter,+                  ("QuoteEscapeCharacter" .=) <$>+                    _coQuoteEscapeCharacter,+                  ("FieldDelimiter" .=) <$> _coFieldDelimiter])++-- | Data retrieval policy.+--+--+--+-- /See:/ 'dataRetrievalPolicy' smart constructor.+newtype DataRetrievalPolicy = DataRetrievalPolicy'+  { _drpRules :: Maybe [DataRetrievalRule]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DataRetrievalPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drpRules' - The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.+dataRetrievalPolicy+    :: DataRetrievalPolicy+dataRetrievalPolicy = DataRetrievalPolicy' {_drpRules = Nothing}+++-- | The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.+drpRules :: Lens' DataRetrievalPolicy [DataRetrievalRule]+drpRules = lens _drpRules (\ s a -> s{_drpRules = a}) . _Default . _Coerce++instance FromJSON DataRetrievalPolicy where+        parseJSON+          = withObject "DataRetrievalPolicy"+              (\ x ->+                 DataRetrievalPolicy' <$> (x .:? "Rules" .!= mempty))++instance Hashable DataRetrievalPolicy where++instance NFData DataRetrievalPolicy where++instance ToJSON DataRetrievalPolicy where+        toJSON DataRetrievalPolicy'{..}+          = object (catMaybes [("Rules" .=) <$> _drpRules])++-- | Data retrieval policy rule.+--+--+--+-- /See:/ 'dataRetrievalRule' smart constructor.+data DataRetrievalRule = DataRetrievalRule'+  { _drrStrategy     :: !(Maybe Text)+  , _drrBytesPerHour :: !(Maybe Integer)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DataRetrievalRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrStrategy' - The type of data retrieval policy to set. Valid values: BytesPerHour|FreeTier|None+--+-- * 'drrBytesPerHour' - The maximum number of bytes that can be retrieved in an hour. This field is required only if the value of the Strategy field is @BytesPerHour@ . Your PUT operation will be rejected if the Strategy field is not set to @BytesPerHour@ and you set this field.+dataRetrievalRule+    :: DataRetrievalRule+dataRetrievalRule =+  DataRetrievalRule' {_drrStrategy = Nothing, _drrBytesPerHour = Nothing}+++-- | The type of data retrieval policy to set. Valid values: BytesPerHour|FreeTier|None+drrStrategy :: Lens' DataRetrievalRule (Maybe Text)+drrStrategy = lens _drrStrategy (\ s a -> s{_drrStrategy = a})++-- | The maximum number of bytes that can be retrieved in an hour. This field is required only if the value of the Strategy field is @BytesPerHour@ . Your PUT operation will be rejected if the Strategy field is not set to @BytesPerHour@ and you set this field.+drrBytesPerHour :: Lens' DataRetrievalRule (Maybe Integer)+drrBytesPerHour = lens _drrBytesPerHour (\ s a -> s{_drrBytesPerHour = a})++instance FromJSON DataRetrievalRule where+        parseJSON+          = withObject "DataRetrievalRule"+              (\ x ->+                 DataRetrievalRule' <$>+                   (x .:? "Strategy") <*> (x .:? "BytesPerHour"))++instance Hashable DataRetrievalRule where++instance NFData DataRetrievalRule where++instance ToJSON DataRetrievalRule where+        toJSON DataRetrievalRule'{..}+          = object+              (catMaybes+                 [("Strategy" .=) <$> _drrStrategy,+                  ("BytesPerHour" .=) <$> _drrBytesPerHour])++-- | Contains the Amazon Glacier response to your request.+--+--+--+-- /See:/ 'describeVaultOutput' smart constructor.+data DescribeVaultOutput = DescribeVaultOutput'+  { _dvoVaultName         :: !(Maybe Text)+  , _dvoSizeInBytes       :: !(Maybe Integer)+  , _dvoLastInventoryDate :: !(Maybe Text)+  , _dvoVaultARN          :: !(Maybe Text)+  , _dvoCreationDate      :: !(Maybe Text)+  , _dvoNumberOfArchives  :: !(Maybe Integer)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeVaultOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvoVaultName' - The name of the vault.+--+-- * 'dvoSizeInBytes' - Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.+--+-- * 'dvoLastInventoryDate' - The Universal Coordinated Time (UTC) date when Amazon Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .+--+-- * 'dvoVaultARN' - The Amazon Resource Name (ARN) of the vault.+--+-- * 'dvoCreationDate' - The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .+--+-- * 'dvoNumberOfArchives' - The number of archives in the vault as of the last inventory date. This field will return @null@ if an inventory has not yet run on the vault, for example if you just created the vault.+describeVaultOutput+    :: DescribeVaultOutput+describeVaultOutput =+  DescribeVaultOutput'+    { _dvoVaultName = Nothing+    , _dvoSizeInBytes = Nothing+    , _dvoLastInventoryDate = Nothing+    , _dvoVaultARN = Nothing+    , _dvoCreationDate = Nothing+    , _dvoNumberOfArchives = Nothing+    }+++-- | The name of the vault.+dvoVaultName :: Lens' DescribeVaultOutput (Maybe Text)+dvoVaultName = lens _dvoVaultName (\ s a -> s{_dvoVaultName = a})++-- | Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.+dvoSizeInBytes :: Lens' DescribeVaultOutput (Maybe Integer)+dvoSizeInBytes = lens _dvoSizeInBytes (\ s a -> s{_dvoSizeInBytes = a})++-- | The Universal Coordinated Time (UTC) date when Amazon Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .+dvoLastInventoryDate :: Lens' DescribeVaultOutput (Maybe Text)+dvoLastInventoryDate = lens _dvoLastInventoryDate (\ s a -> s{_dvoLastInventoryDate = a})++-- | The Amazon Resource Name (ARN) of the vault.+dvoVaultARN :: Lens' DescribeVaultOutput (Maybe Text)+dvoVaultARN = lens _dvoVaultARN (\ s a -> s{_dvoVaultARN = a})++-- | The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example @2012-03-20T17:03:43.221Z@ .+dvoCreationDate :: Lens' DescribeVaultOutput (Maybe Text)+dvoCreationDate = lens _dvoCreationDate (\ s a -> s{_dvoCreationDate = a})++-- | The number of archives in the vault as of the last inventory date. This field will return @null@ if an inventory has not yet run on the vault, for example if you just created the vault.+dvoNumberOfArchives :: Lens' DescribeVaultOutput (Maybe Integer)+dvoNumberOfArchives = lens _dvoNumberOfArchives (\ s a -> s{_dvoNumberOfArchives = a})++instance FromJSON DescribeVaultOutput where+        parseJSON+          = withObject "DescribeVaultOutput"+              (\ x ->+                 DescribeVaultOutput' <$>+                   (x .:? "VaultName") <*> (x .:? "SizeInBytes") <*>+                     (x .:? "LastInventoryDate")+                     <*> (x .:? "VaultARN")+                     <*> (x .:? "CreationDate")+                     <*> (x .:? "NumberOfArchives"))++instance Hashable DescribeVaultOutput where++instance NFData DescribeVaultOutput where++-- | Contains information about the encryption used to store the job results in Amazon S3.+--+--+--+-- /See:/ 'encryption' smart constructor.+data Encryption = Encryption'+  { _eEncryptionType :: !(Maybe EncryptionType)+  , _eKMSKeyId       :: !(Maybe Text)+  , _eKMSContext     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Encryption' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eEncryptionType' - The server-side encryption algorithm used when storing job results in Amazon S3, for example @AES256@ or @aws:kms@ .+--+-- * 'eKMSKeyId' - The AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or Signature Version 4.+--+-- * 'eKMSContext' - Optional. If the encryption type is @aws:kms@ , you can use this value to specify the encryption context for the job results.+encryption+    :: Encryption+encryption =+  Encryption'+    {_eEncryptionType = Nothing, _eKMSKeyId = Nothing, _eKMSContext = Nothing}+++-- | The server-side encryption algorithm used when storing job results in Amazon S3, for example @AES256@ or @aws:kms@ .+eEncryptionType :: Lens' Encryption (Maybe EncryptionType)+eEncryptionType = lens _eEncryptionType (\ s a -> s{_eEncryptionType = a})++-- | The AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or Signature Version 4.+eKMSKeyId :: Lens' Encryption (Maybe Text)+eKMSKeyId = lens _eKMSKeyId (\ s a -> s{_eKMSKeyId = a})++-- | Optional. If the encryption type is @aws:kms@ , you can use this value to specify the encryption context for the job results.+eKMSContext :: Lens' Encryption (Maybe Text)+eKMSContext = lens _eKMSContext (\ s a -> s{_eKMSContext = a})++instance FromJSON Encryption where+        parseJSON+          = withObject "Encryption"+              (\ x ->+                 Encryption' <$>+                   (x .:? "EncryptionType") <*> (x .:? "KMSKeyId") <*>+                     (x .:? "KMSContext"))++instance Hashable Encryption where++instance NFData Encryption where++instance ToJSON Encryption where+        toJSON Encryption'{..}+          = object+              (catMaybes+                 [("EncryptionType" .=) <$> _eEncryptionType,+                  ("KMSKeyId" .=) <$> _eKMSKeyId,+                  ("KMSContext" .=) <$> _eKMSContext])++-- | Contains the description of an Amazon Glacier job.+--+--+--+-- /See:/ 'glacierJobDescription' smart constructor.+data GlacierJobDescription = GlacierJobDescription'+  { _gjdSHA256TreeHash :: !(Maybe Text)+  , _gjdArchiveId :: !(Maybe Text)+  , _gjdSelectParameters :: !(Maybe SelectParameters)+  , _gjdJobId :: !(Maybe Text)+  , _gjdJobOutputPath :: !(Maybe Text)+  , _gjdRetrievalByteRange :: !(Maybe Text)+  , _gjdInventoryRetrievalParameters :: !(Maybe InventoryRetrievalJobDescription)+  , _gjdAction :: !(Maybe ActionCode)+  , _gjdJobDescription :: !(Maybe Text)+  , _gjdSNSTopic :: !(Maybe Text)+  , _gjdStatusMessage :: !(Maybe Text)+  , _gjdVaultARN :: !(Maybe Text)+  , _gjdOutputLocation :: !(Maybe OutputLocation)+  , _gjdTier :: !(Maybe Text)+  , _gjdArchiveSHA256TreeHash :: !(Maybe Text)+  , _gjdCreationDate :: !(Maybe Text)+  , _gjdCompleted :: !(Maybe Bool)+  , _gjdCompletionDate :: !(Maybe Text)+  , _gjdInventorySizeInBytes :: !(Maybe Integer)+  , _gjdArchiveSizeInBytes :: !(Maybe Integer)+  , _gjdStatusCode :: !(Maybe StatusCode)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlacierJobDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjdSHA256TreeHash' - For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null. The SHA256 tree hash value for the requested range of an archive. If the __InitiateJob__ request for an archive specified a tree-hash aligned range, then this field returns a value. If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. This field is null for the following:     * Archive retrieval jobs that specify a range that is not tree-hash aligned     * Archival jobs that specify a range that is equal to the whole archive, when the job status is @InProgress@      * Inventory jobs     * Select jobs+--+-- * 'gjdArchiveId' - The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.+--+-- * 'gjdSelectParameters' - Contains the parameters used for a select.+--+-- * 'gjdJobId' - An opaque string that identifies an Amazon Glacier job.+--+-- * 'gjdJobOutputPath' - Contains the job output location.+--+-- * 'gjdRetrievalByteRange' - The retrieved byte range for archive retrieval jobs in the form /StartByteValue/ -/EndByteValue/ . If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, /StartByteValue/ equals 0 and /EndByteValue/ equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.+--+-- * 'gjdInventoryRetrievalParameters' - Parameters used for range inventory retrieval.+--+-- * 'gjdAction' - The job type. This value is either @ArchiveRetrieval@ , @InventoryRetrieval@ , or @Select@ .+--+-- * 'gjdJobDescription' - The job description provided when initiating the job.+--+-- * 'gjdSNSTopic' - An Amazon SNS topic that receives notification.+--+-- * 'gjdStatusMessage' - A friendly message that describes the job status.+--+-- * 'gjdVaultARN' - The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.+--+-- * 'gjdOutputLocation' - Contains the location where the data from the select job is stored.+--+-- * 'gjdTier' - The tier to use for a select or an archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.+--+-- * 'gjdArchiveSHA256TreeHash' - The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.+--+-- * 'gjdCreationDate' - The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example @"2012-03-20T17:03:43.221Z"@ .+--+-- * 'gjdCompleted' - The job status. When a job is completed, you get the job's output using Get Job Output (GET output).+--+-- * 'gjdCompletionDate' - The UTC time that the job request completed. While the job is in progress, the value is null.+--+-- * 'gjdInventorySizeInBytes' - For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.+--+-- * 'gjdArchiveSizeInBytes' - For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.+--+-- * 'gjdStatusCode' - The status code can be @InProgress@ , @Succeeded@ , or @Failed@ , and indicates the status of the job.+glacierJobDescription+    :: GlacierJobDescription+glacierJobDescription =+  GlacierJobDescription'+    { _gjdSHA256TreeHash = Nothing+    , _gjdArchiveId = Nothing+    , _gjdSelectParameters = Nothing+    , _gjdJobId = Nothing+    , _gjdJobOutputPath = Nothing+    , _gjdRetrievalByteRange = Nothing+    , _gjdInventoryRetrievalParameters = Nothing+    , _gjdAction = Nothing+    , _gjdJobDescription = Nothing+    , _gjdSNSTopic = Nothing+    , _gjdStatusMessage = Nothing+    , _gjdVaultARN = Nothing+    , _gjdOutputLocation = Nothing+    , _gjdTier = Nothing+    , _gjdArchiveSHA256TreeHash = Nothing+    , _gjdCreationDate = Nothing+    , _gjdCompleted = Nothing+    , _gjdCompletionDate = Nothing+    , _gjdInventorySizeInBytes = Nothing+    , _gjdArchiveSizeInBytes = Nothing+    , _gjdStatusCode = Nothing+    }+++-- | For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null. The SHA256 tree hash value for the requested range of an archive. If the __InitiateJob__ request for an archive specified a tree-hash aligned range, then this field returns a value. If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. This field is null for the following:     * Archive retrieval jobs that specify a range that is not tree-hash aligned     * Archival jobs that specify a range that is equal to the whole archive, when the job status is @InProgress@      * Inventory jobs     * Select jobs+gjdSHA256TreeHash :: Lens' GlacierJobDescription (Maybe Text)+gjdSHA256TreeHash = lens _gjdSHA256TreeHash (\ s a -> s{_gjdSHA256TreeHash = a})++-- | The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.+gjdArchiveId :: Lens' GlacierJobDescription (Maybe Text)+gjdArchiveId = lens _gjdArchiveId (\ s a -> s{_gjdArchiveId = a})++-- | Contains the parameters used for a select.+gjdSelectParameters :: Lens' GlacierJobDescription (Maybe SelectParameters)+gjdSelectParameters = lens _gjdSelectParameters (\ s a -> s{_gjdSelectParameters = a})++-- | An opaque string that identifies an Amazon Glacier job.+gjdJobId :: Lens' GlacierJobDescription (Maybe Text)+gjdJobId = lens _gjdJobId (\ s a -> s{_gjdJobId = a})++-- | Contains the job output location.+gjdJobOutputPath :: Lens' GlacierJobDescription (Maybe Text)+gjdJobOutputPath = lens _gjdJobOutputPath (\ s a -> s{_gjdJobOutputPath = a})++-- | The retrieved byte range for archive retrieval jobs in the form /StartByteValue/ -/EndByteValue/ . If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, /StartByteValue/ equals 0 and /EndByteValue/ equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.+gjdRetrievalByteRange :: Lens' GlacierJobDescription (Maybe Text)+gjdRetrievalByteRange = lens _gjdRetrievalByteRange (\ s a -> s{_gjdRetrievalByteRange = a})++-- | Parameters used for range inventory retrieval.+gjdInventoryRetrievalParameters :: Lens' GlacierJobDescription (Maybe InventoryRetrievalJobDescription)+gjdInventoryRetrievalParameters = lens _gjdInventoryRetrievalParameters (\ s a -> s{_gjdInventoryRetrievalParameters = a})++-- | The job type. This value is either @ArchiveRetrieval@ , @InventoryRetrieval@ , or @Select@ .+gjdAction :: Lens' GlacierJobDescription (Maybe ActionCode)+gjdAction = lens _gjdAction (\ s a -> s{_gjdAction = a})++-- | The job description provided when initiating the job.+gjdJobDescription :: Lens' GlacierJobDescription (Maybe Text)+gjdJobDescription = lens _gjdJobDescription (\ s a -> s{_gjdJobDescription = a})++-- | An Amazon SNS topic that receives notification.+gjdSNSTopic :: Lens' GlacierJobDescription (Maybe Text)+gjdSNSTopic = lens _gjdSNSTopic (\ s a -> s{_gjdSNSTopic = a})++-- | A friendly message that describes the job status.+gjdStatusMessage :: Lens' GlacierJobDescription (Maybe Text)+gjdStatusMessage = lens _gjdStatusMessage (\ s a -> s{_gjdStatusMessage = a})++-- | The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.+gjdVaultARN :: Lens' GlacierJobDescription (Maybe Text)+gjdVaultARN = lens _gjdVaultARN (\ s a -> s{_gjdVaultARN = a})++-- | Contains the location where the data from the select job is stored.+gjdOutputLocation :: Lens' GlacierJobDescription (Maybe OutputLocation)+gjdOutputLocation = lens _gjdOutputLocation (\ s a -> s{_gjdOutputLocation = a})++-- | The tier to use for a select or an archive retrieval. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.+gjdTier :: Lens' GlacierJobDescription (Maybe Text)+gjdTier = lens _gjdTier (\ s a -> s{_gjdTier = a})++-- | The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.+gjdArchiveSHA256TreeHash :: Lens' GlacierJobDescription (Maybe Text)+gjdArchiveSHA256TreeHash = lens _gjdArchiveSHA256TreeHash (\ s a -> s{_gjdArchiveSHA256TreeHash = a})++-- | The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example @"2012-03-20T17:03:43.221Z"@ .+gjdCreationDate :: Lens' GlacierJobDescription (Maybe Text)+gjdCreationDate = lens _gjdCreationDate (\ s a -> s{_gjdCreationDate = a})++-- | The job status. When a job is completed, you get the job's output using Get Job Output (GET output).+gjdCompleted :: Lens' GlacierJobDescription (Maybe Bool)+gjdCompleted = lens _gjdCompleted (\ s a -> s{_gjdCompleted = a})++-- | The UTC time that the job request completed. While the job is in progress, the value is null.+gjdCompletionDate :: Lens' GlacierJobDescription (Maybe Text)+gjdCompletionDate = lens _gjdCompletionDate (\ s a -> s{_gjdCompletionDate = a})++-- | For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.+gjdInventorySizeInBytes :: Lens' GlacierJobDescription (Maybe Integer)+gjdInventorySizeInBytes = lens _gjdInventorySizeInBytes (\ s a -> s{_gjdInventorySizeInBytes = a})++-- | For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.+gjdArchiveSizeInBytes :: Lens' GlacierJobDescription (Maybe Integer)+gjdArchiveSizeInBytes = lens _gjdArchiveSizeInBytes (\ s a -> s{_gjdArchiveSizeInBytes = a})++-- | The status code can be @InProgress@ , @Succeeded@ , or @Failed@ , and indicates the status of the job.+gjdStatusCode :: Lens' GlacierJobDescription (Maybe StatusCode)+gjdStatusCode = lens _gjdStatusCode (\ s a -> s{_gjdStatusCode = a})++instance FromJSON GlacierJobDescription where+        parseJSON+          = withObject "GlacierJobDescription"+              (\ x ->+                 GlacierJobDescription' <$>+                   (x .:? "SHA256TreeHash") <*> (x .:? "ArchiveId") <*>+                     (x .:? "SelectParameters")+                     <*> (x .:? "JobId")+                     <*> (x .:? "JobOutputPath")+                     <*> (x .:? "RetrievalByteRange")+                     <*> (x .:? "InventoryRetrievalParameters")+                     <*> (x .:? "Action")+                     <*> (x .:? "JobDescription")+                     <*> (x .:? "SNSTopic")+                     <*> (x .:? "StatusMessage")+                     <*> (x .:? "VaultARN")+                     <*> (x .:? "OutputLocation")+                     <*> (x .:? "Tier")+                     <*> (x .:? "ArchiveSHA256TreeHash")+                     <*> (x .:? "CreationDate")+                     <*> (x .:? "Completed")+                     <*> (x .:? "CompletionDate")+                     <*> (x .:? "InventorySizeInBytes")+                     <*> (x .:? "ArchiveSizeInBytes")+                     <*> (x .:? "StatusCode"))++instance Hashable GlacierJobDescription where++instance NFData GlacierJobDescription where++-- | Contains information about a grant.+--+--+--+-- /See:/ 'grant' smart constructor.+data Grant = Grant'+  { _gPermission :: !(Maybe Permission)+  , _gGrantee    :: !(Maybe Grantee)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Grant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gPermission' - Specifies the permission given to the grantee.+--+-- * 'gGrantee' - The grantee.+grant+    :: Grant+grant = Grant' {_gPermission = Nothing, _gGrantee = Nothing}+++-- | Specifies the permission given to the grantee.+gPermission :: Lens' Grant (Maybe Permission)+gPermission = lens _gPermission (\ s a -> s{_gPermission = a})++-- | The grantee.+gGrantee :: Lens' Grant (Maybe Grantee)+gGrantee = lens _gGrantee (\ s a -> s{_gGrantee = a})++instance FromJSON Grant where+        parseJSON+          = withObject "Grant"+              (\ x ->+                 Grant' <$>+                   (x .:? "Permission") <*> (x .:? "Grantee"))++instance Hashable Grant where++instance NFData Grant where++instance ToJSON Grant where+        toJSON Grant'{..}+          = object+              (catMaybes+                 [("Permission" .=) <$> _gPermission,+                  ("Grantee" .=) <$> _gGrantee])++-- | Contains information about the grantee.+--+--+--+-- /See:/ 'grantee' smart constructor.+data Grantee = Grantee'+  { _gURI          :: !(Maybe Text)+  , _gEmailAddress :: !(Maybe Text)+  , _gDisplayName  :: !(Maybe Text)+  , _gId           :: !(Maybe Text)+  , _gType         :: !Type+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Grantee' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gURI' - URI of the grantee group.+--+-- * 'gEmailAddress' - Email address of the grantee.+--+-- * 'gDisplayName' - Screen name of the grantee.+--+-- * 'gId' - The canonical user ID of the grantee.+--+-- * 'gType' - Type of grantee+grantee+    :: Type -- ^ 'gType'+    -> Grantee+grantee pType_ =+  Grantee'+    { _gURI = Nothing+    , _gEmailAddress = Nothing+    , _gDisplayName = Nothing+    , _gId = Nothing+    , _gType = pType_+    }+++-- | URI of the grantee group.+gURI :: Lens' Grantee (Maybe Text)+gURI = lens _gURI (\ s a -> s{_gURI = a})++-- | Email address of the grantee.+gEmailAddress :: Lens' Grantee (Maybe Text)+gEmailAddress = lens _gEmailAddress (\ s a -> s{_gEmailAddress = a})++-- | Screen name of the grantee.+gDisplayName :: Lens' Grantee (Maybe Text)+gDisplayName = lens _gDisplayName (\ s a -> s{_gDisplayName = a})++-- | The canonical user ID of the grantee.+gId :: Lens' Grantee (Maybe Text)+gId = lens _gId (\ s a -> s{_gId = a})++-- | Type of grantee+gType :: Lens' Grantee Type+gType = lens _gType (\ s a -> s{_gType = a})++instance FromJSON Grantee where+        parseJSON+          = withObject "Grantee"+              (\ x ->+                 Grantee' <$>+                   (x .:? "URI") <*> (x .:? "EmailAddress") <*>+                     (x .:? "DisplayName")+                     <*> (x .:? "ID")+                     <*> (x .: "Type"))++instance Hashable Grantee where++instance NFData Grantee where++instance ToJSON Grantee where+        toJSON Grantee'{..}+          = object+              (catMaybes+                 [("URI" .=) <$> _gURI,+                  ("EmailAddress" .=) <$> _gEmailAddress,+                  ("DisplayName" .=) <$> _gDisplayName,+                  ("ID" .=) <$> _gId, Just ("Type" .= _gType)])++-- | Describes how the archive is serialized.+--+--+--+-- /See:/ 'inputSerialization' smart constructor.+newtype InputSerialization = InputSerialization'+  { _isCsv :: Maybe CSVInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InputSerialization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isCsv' - Describes the serialization of a CSV-encoded object.+inputSerialization+    :: InputSerialization+inputSerialization = InputSerialization' {_isCsv = Nothing}+++-- | Describes the serialization of a CSV-encoded object.+isCsv :: Lens' InputSerialization (Maybe CSVInput)+isCsv = lens _isCsv (\ s a -> s{_isCsv = a})++instance FromJSON InputSerialization where+        parseJSON+          = withObject "InputSerialization"+              (\ x -> InputSerialization' <$> (x .:? "csv"))++instance Hashable InputSerialization where++instance NFData InputSerialization where++instance ToJSON InputSerialization where+        toJSON InputSerialization'{..}+          = object (catMaybes [("csv" .=) <$> _isCsv])++-- | Describes the options for a range inventory retrieval job.+--+--+--+-- /See:/ 'inventoryRetrievalJobDescription' smart constructor.+data InventoryRetrievalJobDescription = InventoryRetrievalJobDescription'+  { _irjdFormat    :: !(Maybe Text)+  , _irjdEndDate   :: !(Maybe Text)+  , _irjdStartDate :: !(Maybe Text)+  , _irjdMarker    :: !(Maybe Text)+  , _irjdLimit     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryRetrievalJobDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irjdFormat' - The output format for the vault inventory list, which is set by the __InitiateJob__ request when initiating a job to retrieve a vault inventory. Valid values are @CSV@ and @JSON@ .+--+-- * 'irjdEndDate' - The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+--+-- * 'irjdStartDate' - The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+--+-- * 'irjdMarker' - An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ . For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering Range Inventory Retrieval> .+--+-- * 'irjdLimit' - The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a __InitiateJob__ request.+inventoryRetrievalJobDescription+    :: InventoryRetrievalJobDescription+inventoryRetrievalJobDescription =+  InventoryRetrievalJobDescription'+    { _irjdFormat = Nothing+    , _irjdEndDate = Nothing+    , _irjdStartDate = Nothing+    , _irjdMarker = Nothing+    , _irjdLimit = Nothing+    }+++-- | The output format for the vault inventory list, which is set by the __InitiateJob__ request when initiating a job to retrieve a vault inventory. Valid values are @CSV@ and @JSON@ .+irjdFormat :: Lens' InventoryRetrievalJobDescription (Maybe Text)+irjdFormat = lens _irjdFormat (\ s a -> s{_irjdFormat = a})++-- | The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+irjdEndDate :: Lens' InventoryRetrievalJobDescription (Maybe Text)+irjdEndDate = lens _irjdEndDate (\ s a -> s{_irjdEndDate = a})++-- | The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+irjdStartDate :: Lens' InventoryRetrievalJobDescription (Maybe Text)+irjdStartDate = lens _irjdStartDate (\ s a -> s{_irjdStartDate = a})++-- | An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ . For more information, see <http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering Range Inventory Retrieval> .+irjdMarker :: Lens' InventoryRetrievalJobDescription (Maybe Text)+irjdMarker = lens _irjdMarker (\ s a -> s{_irjdMarker = a})++-- | The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a __InitiateJob__ request.+irjdLimit :: Lens' InventoryRetrievalJobDescription (Maybe Text)+irjdLimit = lens _irjdLimit (\ s a -> s{_irjdLimit = a})++instance FromJSON InventoryRetrievalJobDescription+         where+        parseJSON+          = withObject "InventoryRetrievalJobDescription"+              (\ x ->+                 InventoryRetrievalJobDescription' <$>+                   (x .:? "Format") <*> (x .:? "EndDate") <*>+                     (x .:? "StartDate")+                     <*> (x .:? "Marker")+                     <*> (x .:? "Limit"))++instance Hashable InventoryRetrievalJobDescription+         where++instance NFData InventoryRetrievalJobDescription+         where++-- | Provides options for specifying a range inventory retrieval job.+--+--+--+-- /See:/ 'inventoryRetrievalJobInput' smart constructor.+data InventoryRetrievalJobInput = InventoryRetrievalJobInput'+  { _irjiEndDate   :: !(Maybe Text)+  , _irjiStartDate :: !(Maybe Text)+  , _irjiMarker    :: !(Maybe Text)+  , _irjiLimit     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InventoryRetrievalJobInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irjiEndDate' - The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+--+-- * 'irjiStartDate' - The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+--+-- * 'irjiMarker' - An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ .+--+-- * 'irjiLimit' - Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1.+inventoryRetrievalJobInput+    :: InventoryRetrievalJobInput+inventoryRetrievalJobInput =+  InventoryRetrievalJobInput'+    { _irjiEndDate = Nothing+    , _irjiStartDate = Nothing+    , _irjiMarker = Nothing+    , _irjiLimit = Nothing+    }+++-- | The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+irjiEndDate :: Lens' InventoryRetrievalJobInput (Maybe Text)+irjiEndDate = lens _irjiEndDate (\ s a -> s{_irjiEndDate = a})++-- | The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example @2013-03-20T17:03:43Z@ .+irjiStartDate :: Lens' InventoryRetrievalJobInput (Maybe Text)+irjiStartDate = lens _irjiStartDate (\ s a -> s{_irjiStartDate = a})++-- | An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new __InitiateJob__ request to obtain additional inventory items. If there are no more inventory items, this value is @null@ .+irjiMarker :: Lens' InventoryRetrievalJobInput (Maybe Text)+irjiMarker = lens _irjiMarker (\ s a -> s{_irjiMarker = a})++-- | Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1.+irjiLimit :: Lens' InventoryRetrievalJobInput (Maybe Text)+irjiLimit = lens _irjiLimit (\ s a -> s{_irjiLimit = a})++instance Hashable InventoryRetrievalJobInput where++instance NFData InventoryRetrievalJobInput where++instance ToJSON InventoryRetrievalJobInput where+        toJSON InventoryRetrievalJobInput'{..}+          = object+              (catMaybes+                 [("EndDate" .=) <$> _irjiEndDate,+                  ("StartDate" .=) <$> _irjiStartDate,+                  ("Marker" .=) <$> _irjiMarker,+                  ("Limit" .=) <$> _irjiLimit])++-- | Provides options for defining a job.+--+--+--+-- /See:/ 'jobParameters' smart constructor.+data JobParameters = JobParameters'+  { _jpArchiveId                    :: !(Maybe Text)+  , _jpSelectParameters             :: !(Maybe SelectParameters)+  , _jpFormat                       :: !(Maybe Text)+  , _jpRetrievalByteRange           :: !(Maybe Text)+  , _jpInventoryRetrievalParameters :: !(Maybe InventoryRetrievalJobInput)+  , _jpSNSTopic                     :: !(Maybe Text)+  , _jpOutputLocation               :: !(Maybe OutputLocation)+  , _jpTier                         :: !(Maybe Text)+  , _jpType                         :: !(Maybe Text)+  , _jpDescription                  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jpArchiveId' - The ID of the archive that you want to retrieve. This field is required only if @Type@ is set to @select@ or @archive-retrieval@ code>. An error occurs if you specify this request parameter for an inventory retrieval job request.+--+-- * 'jpSelectParameters' - Contains the parameters that define a job.+--+-- * 'jpFormat' - When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are "CSV" and "JSON".+--+-- * 'jpRetrievalByteRange' - The byte range to retrieve for an archive retrieval. in the form "/StartByteValue/ -/EndByteValue/ " If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that /StartByteValue/ must be divisible by 1 MB and /EndByteValue/ plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.  An error occurs if you specify this field for an inventory retrieval job request.+--+-- * 'jpInventoryRetrievalParameters' - Input parameters used for range inventory retrieval.+--+-- * 'jpSNSTopic' - The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.+--+-- * 'jpOutputLocation' - Contains information about the location where the select job results are stored.+--+-- * 'jpTier' - The tier to use for a select or an archive retrieval job. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.+--+-- * 'jpType' - The job type. You can initiate a job to perform a select query on an archive, retrieve an archive, or get an inventory of a vault. Valid values are "select", "archive-retrieval" and "inventory-retrieval".+--+-- * 'jpDescription' - The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.+jobParameters+    :: JobParameters+jobParameters =+  JobParameters'+    { _jpArchiveId = Nothing+    , _jpSelectParameters = Nothing+    , _jpFormat = Nothing+    , _jpRetrievalByteRange = Nothing+    , _jpInventoryRetrievalParameters = Nothing+    , _jpSNSTopic = Nothing+    , _jpOutputLocation = Nothing+    , _jpTier = Nothing+    , _jpType = Nothing+    , _jpDescription = Nothing+    }+++-- | The ID of the archive that you want to retrieve. This field is required only if @Type@ is set to @select@ or @archive-retrieval@ code>. An error occurs if you specify this request parameter for an inventory retrieval job request.+jpArchiveId :: Lens' JobParameters (Maybe Text)+jpArchiveId = lens _jpArchiveId (\ s a -> s{_jpArchiveId = a})++-- | Contains the parameters that define a job.+jpSelectParameters :: Lens' JobParameters (Maybe SelectParameters)+jpSelectParameters = lens _jpSelectParameters (\ s a -> s{_jpSelectParameters = a})++-- | When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are "CSV" and "JSON".+jpFormat :: Lens' JobParameters (Maybe Text)+jpFormat = lens _jpFormat (\ s a -> s{_jpFormat = a})++-- | The byte range to retrieve for an archive retrieval. in the form "/StartByteValue/ -/EndByteValue/ " If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that /StartByteValue/ must be divisible by 1 MB and /EndByteValue/ plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.  An error occurs if you specify this field for an inventory retrieval job request.+jpRetrievalByteRange :: Lens' JobParameters (Maybe Text)+jpRetrievalByteRange = lens _jpRetrievalByteRange (\ s a -> s{_jpRetrievalByteRange = a})++-- | Input parameters used for range inventory retrieval.+jpInventoryRetrievalParameters :: Lens' JobParameters (Maybe InventoryRetrievalJobInput)+jpInventoryRetrievalParameters = lens _jpInventoryRetrievalParameters (\ s a -> s{_jpInventoryRetrievalParameters = a})++-- | The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.+jpSNSTopic :: Lens' JobParameters (Maybe Text)+jpSNSTopic = lens _jpSNSTopic (\ s a -> s{_jpSNSTopic = a})++-- | Contains information about the location where the select job results are stored.+jpOutputLocation :: Lens' JobParameters (Maybe OutputLocation)+jpOutputLocation = lens _jpOutputLocation (\ s a -> s{_jpOutputLocation = a})++-- | The tier to use for a select or an archive retrieval job. Valid values are @Expedited@ , @Standard@ , or @Bulk@ . @Standard@ is the default.+jpTier :: Lens' JobParameters (Maybe Text)+jpTier = lens _jpTier (\ s a -> s{_jpTier = a})++-- | The job type. You can initiate a job to perform a select query on an archive, retrieve an archive, or get an inventory of a vault. Valid values are "select", "archive-retrieval" and "inventory-retrieval".+jpType :: Lens' JobParameters (Maybe Text)+jpType = lens _jpType (\ s a -> s{_jpType = a})++-- | The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.+jpDescription :: Lens' JobParameters (Maybe Text)+jpDescription = lens _jpDescription (\ s a -> s{_jpDescription = a})++instance Hashable JobParameters where++instance NFData JobParameters where++instance ToJSON JobParameters where+        toJSON JobParameters'{..}+          = object+              (catMaybes+                 [("ArchiveId" .=) <$> _jpArchiveId,+                  ("SelectParameters" .=) <$> _jpSelectParameters,+                  ("Format" .=) <$> _jpFormat,+                  ("RetrievalByteRange" .=) <$> _jpRetrievalByteRange,+                  ("InventoryRetrievalParameters" .=) <$>+                    _jpInventoryRetrievalParameters,+                  ("SNSTopic" .=) <$> _jpSNSTopic,+                  ("OutputLocation" .=) <$> _jpOutputLocation,+                  ("Tier" .=) <$> _jpTier, ("Type" .=) <$> _jpType,+                  ("Description" .=) <$> _jpDescription])++-- | Contains information about the location where the select job results are stored.+--+--+--+-- /See:/ 'outputLocation' smart constructor.+newtype OutputLocation = OutputLocation'+  { _olS3 :: Maybe S3Location+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OutputLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olS3' - Describes an S3 location that will receive the results of the job request.+outputLocation+    :: OutputLocation+outputLocation = OutputLocation' {_olS3 = Nothing}+++-- | Describes an S3 location that will receive the results of the job request.+olS3 :: Lens' OutputLocation (Maybe S3Location)+olS3 = lens _olS3 (\ s a -> s{_olS3 = a})++instance FromJSON OutputLocation where+        parseJSON+          = withObject "OutputLocation"+              (\ x -> OutputLocation' <$> (x .:? "S3"))++instance Hashable OutputLocation where++instance NFData OutputLocation where++instance ToJSON OutputLocation where+        toJSON OutputLocation'{..}+          = object (catMaybes [("S3" .=) <$> _olS3])++-- | Describes how the select output is serialized.+--+--+--+-- /See:/ 'outputSerialization' smart constructor.+newtype OutputSerialization = OutputSerialization'+  { _osCsv :: Maybe CSVOutput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OutputSerialization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osCsv' - Describes the serialization of CSV-encoded query results.+outputSerialization+    :: OutputSerialization+outputSerialization = OutputSerialization' {_osCsv = Nothing}+++-- | Describes the serialization of CSV-encoded query results.+osCsv :: Lens' OutputSerialization (Maybe CSVOutput)+osCsv = lens _osCsv (\ s a -> s{_osCsv = a})++instance FromJSON OutputSerialization where+        parseJSON+          = withObject "OutputSerialization"+              (\ x -> OutputSerialization' <$> (x .:? "csv"))++instance Hashable OutputSerialization where++instance NFData OutputSerialization where++instance ToJSON OutputSerialization where+        toJSON OutputSerialization'{..}+          = object (catMaybes [("csv" .=) <$> _osCsv])++-- | A list of the part sizes of the multipart upload.+--+--+--+-- /See:/ 'partListElement' smart constructor.+data PartListElement = PartListElement'+  { _pleSHA256TreeHash :: !(Maybe Text)+  , _pleRangeInBytes   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartListElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pleSHA256TreeHash' - The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never @null@ .+--+-- * 'pleRangeInBytes' - The byte range of a part, inclusive of the upper value of the range.+partListElement+    :: PartListElement+partListElement =+  PartListElement' {_pleSHA256TreeHash = Nothing, _pleRangeInBytes = Nothing}+++-- | The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never @null@ .+pleSHA256TreeHash :: Lens' PartListElement (Maybe Text)+pleSHA256TreeHash = lens _pleSHA256TreeHash (\ s a -> s{_pleSHA256TreeHash = a})++-- | The byte range of a part, inclusive of the upper value of the range.+pleRangeInBytes :: Lens' PartListElement (Maybe Text)+pleRangeInBytes = lens _pleRangeInBytes (\ s a -> s{_pleRangeInBytes = a})++instance FromJSON PartListElement where+        parseJSON+          = withObject "PartListElement"+              (\ x ->+                 PartListElement' <$>+                   (x .:? "SHA256TreeHash") <*> (x .:? "RangeInBytes"))++instance Hashable PartListElement where++instance NFData PartListElement where++-- | The definition for a provisioned capacity unit.+--+--+--+-- /See:/ 'provisionedCapacityDescription' smart constructor.+data ProvisionedCapacityDescription = ProvisionedCapacityDescription'+  { _pcdCapacityId     :: !(Maybe Text)+  , _pcdStartDate      :: !(Maybe Text)+  , _pcdExpirationDate :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProvisionedCapacityDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcdCapacityId' - The ID that identifies the provisioned capacity unit.+--+-- * 'pcdStartDate' - The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).+--+-- * 'pcdExpirationDate' - The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).+provisionedCapacityDescription+    :: ProvisionedCapacityDescription+provisionedCapacityDescription =+  ProvisionedCapacityDescription'+    { _pcdCapacityId = Nothing+    , _pcdStartDate = Nothing+    , _pcdExpirationDate = Nothing+    }+++-- | The ID that identifies the provisioned capacity unit.+pcdCapacityId :: Lens' ProvisionedCapacityDescription (Maybe Text)+pcdCapacityId = lens _pcdCapacityId (\ s a -> s{_pcdCapacityId = a})++-- | The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).+pcdStartDate :: Lens' ProvisionedCapacityDescription (Maybe Text)+pcdStartDate = lens _pcdStartDate (\ s a -> s{_pcdStartDate = a})++-- | The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).+pcdExpirationDate :: Lens' ProvisionedCapacityDescription (Maybe Text)+pcdExpirationDate = lens _pcdExpirationDate (\ s a -> s{_pcdExpirationDate = a})++instance FromJSON ProvisionedCapacityDescription+         where+        parseJSON+          = withObject "ProvisionedCapacityDescription"+              (\ x ->+                 ProvisionedCapacityDescription' <$>+                   (x .:? "CapacityId") <*> (x .:? "StartDate") <*>+                     (x .:? "ExpirationDate"))++instance Hashable ProvisionedCapacityDescription+         where++instance NFData ProvisionedCapacityDescription where++-- | Contains information about the location in Amazon S3 where the select job results are stored.+--+--+--+-- /See:/ 's3Location' smart constructor.+data S3Location = S3Location'+  { _slCannedACL         :: !(Maybe CannedACL)+  , _slPrefix            :: !(Maybe Text)+  , _slBucketName        :: !(Maybe Text)+  , _slAccessControlList :: !(Maybe [Grant])+  , _slUserMetadata      :: !(Maybe (Map Text Text))+  , _slEncryption        :: !(Maybe Encryption)+  , _slStorageClass      :: !(Maybe StorageClass)+  , _slTagging           :: !(Maybe (Map Text Text))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slCannedACL' - The canned access control list (ACL) to apply to the job results.+--+-- * 'slPrefix' - The prefix that is prepended to the results for this request.+--+-- * 'slBucketName' - The name of the Amazon S3 bucket where the job results are stored.+--+-- * 'slAccessControlList' - A list of grants that control access to the staged results.+--+-- * 'slUserMetadata' - A map of metadata to store with the job results in Amazon S3.+--+-- * 'slEncryption' - Contains information about the encryption used to store the job results in Amazon S3.+--+-- * 'slStorageClass' - The storage class used to store the job results.+--+-- * 'slTagging' - The tag-set that is applied to the job results.+s3Location+    :: S3Location+s3Location =+  S3Location'+    { _slCannedACL = Nothing+    , _slPrefix = Nothing+    , _slBucketName = Nothing+    , _slAccessControlList = Nothing+    , _slUserMetadata = Nothing+    , _slEncryption = Nothing+    , _slStorageClass = Nothing+    , _slTagging = Nothing+    }+++-- | The canned access control list (ACL) to apply to the job results.+slCannedACL :: Lens' S3Location (Maybe CannedACL)+slCannedACL = lens _slCannedACL (\ s a -> s{_slCannedACL = a})++-- | The prefix that is prepended to the results for this request.+slPrefix :: Lens' S3Location (Maybe Text)+slPrefix = lens _slPrefix (\ s a -> s{_slPrefix = a})++-- | The name of the Amazon S3 bucket where the job results are stored.+slBucketName :: Lens' S3Location (Maybe Text)+slBucketName = lens _slBucketName (\ s a -> s{_slBucketName = a})++-- | A list of grants that control access to the staged results.+slAccessControlList :: Lens' S3Location [Grant]+slAccessControlList = lens _slAccessControlList (\ s a -> s{_slAccessControlList = a}) . _Default . _Coerce++-- | A map of metadata to store with the job results in Amazon S3.+slUserMetadata :: Lens' S3Location (HashMap Text Text)+slUserMetadata = lens _slUserMetadata (\ s a -> s{_slUserMetadata = a}) . _Default . _Map++-- | Contains information about the encryption used to store the job results in Amazon S3.+slEncryption :: Lens' S3Location (Maybe Encryption)+slEncryption = lens _slEncryption (\ s a -> s{_slEncryption = a})++-- | The storage class used to store the job results.+slStorageClass :: Lens' S3Location (Maybe StorageClass)+slStorageClass = lens _slStorageClass (\ s a -> s{_slStorageClass = a})++-- | The tag-set that is applied to the job results.+slTagging :: Lens' S3Location (HashMap Text Text)+slTagging = lens _slTagging (\ s a -> s{_slTagging = a}) . _Default . _Map++instance FromJSON S3Location where+        parseJSON+          = withObject "S3Location"+              (\ x ->+                 S3Location' <$>+                   (x .:? "CannedACL") <*> (x .:? "Prefix") <*>+                     (x .:? "BucketName")+                     <*> (x .:? "AccessControlList" .!= mempty)+                     <*> (x .:? "UserMetadata" .!= mempty)+                     <*> (x .:? "Encryption")+                     <*> (x .:? "StorageClass")+                     <*> (x .:? "Tagging" .!= mempty))++instance Hashable S3Location where++instance NFData S3Location where++instance ToJSON S3Location where+        toJSON S3Location'{..}+          = object+              (catMaybes+                 [("CannedACL" .=) <$> _slCannedACL,+                  ("Prefix" .=) <$> _slPrefix,+                  ("BucketName" .=) <$> _slBucketName,+                  ("AccessControlList" .=) <$> _slAccessControlList,+                  ("UserMetadata" .=) <$> _slUserMetadata,+                  ("Encryption" .=) <$> _slEncryption,+                  ("StorageClass" .=) <$> _slStorageClass,+                  ("Tagging" .=) <$> _slTagging])++-- | Contains information about the parameters used for a select.+--+--+--+-- /See:/ 'selectParameters' smart constructor.+data SelectParameters = SelectParameters'+  { _spExpressionType      :: !(Maybe ExpressionType)+  , _spOutputSerialization :: !(Maybe OutputSerialization)+  , _spExpression          :: !(Maybe Text)+  , _spInputSerialization  :: !(Maybe InputSerialization)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SelectParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spExpressionType' - The type of the provided expression, for example @SQL@ .+--+-- * 'spOutputSerialization' - Describes how the results of the select job are serialized.+--+-- * 'spExpression' - The expression that is used to select the object.+--+-- * 'spInputSerialization' - Describes the serialization format of the object.+selectParameters+    :: SelectParameters+selectParameters =+  SelectParameters'+    { _spExpressionType = Nothing+    , _spOutputSerialization = Nothing+    , _spExpression = Nothing+    , _spInputSerialization = Nothing+    }+++-- | The type of the provided expression, for example @SQL@ .+spExpressionType :: Lens' SelectParameters (Maybe ExpressionType)+spExpressionType = lens _spExpressionType (\ s a -> s{_spExpressionType = a})++-- | Describes how the results of the select job are serialized.+spOutputSerialization :: Lens' SelectParameters (Maybe OutputSerialization)+spOutputSerialization = lens _spOutputSerialization (\ s a -> s{_spOutputSerialization = a})++-- | The expression that is used to select the object.+spExpression :: Lens' SelectParameters (Maybe Text)+spExpression = lens _spExpression (\ s a -> s{_spExpression = a})++-- | Describes the serialization format of the object.+spInputSerialization :: Lens' SelectParameters (Maybe InputSerialization)+spInputSerialization = lens _spInputSerialization (\ s a -> s{_spInputSerialization = a})++instance FromJSON SelectParameters where+        parseJSON+          = withObject "SelectParameters"+              (\ x ->+                 SelectParameters' <$>+                   (x .:? "ExpressionType") <*>+                     (x .:? "OutputSerialization")+                     <*> (x .:? "Expression")+                     <*> (x .:? "InputSerialization"))++instance Hashable SelectParameters where++instance NFData SelectParameters where++instance ToJSON SelectParameters where+        toJSON SelectParameters'{..}+          = object+              (catMaybes+                 [("ExpressionType" .=) <$> _spExpressionType,+                  ("OutputSerialization" .=) <$>+                    _spOutputSerialization,+                  ("Expression" .=) <$> _spExpression,+                  ("InputSerialization" .=) <$> _spInputSerialization])++-- | A list of in-progress multipart uploads for a vault.+--+--+--+-- /See:/ 'uploadListElement' smart constructor.+data UploadListElement = UploadListElement'+  { _uleMultipartUploadId  :: !(Maybe Text)+  , _ulePartSizeInBytes    :: !(Maybe Integer)+  , _uleArchiveDescription :: !(Maybe Text)+  , _uleVaultARN           :: !(Maybe Text)+  , _uleCreationDate       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UploadListElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uleMultipartUploadId' - The ID of a multipart upload.+--+-- * 'ulePartSizeInBytes' - The part size, in bytes, specified in the Initiate Multipart Upload request. This is the size of all the parts in the upload except the last part, which may be smaller than this size.+--+-- * 'uleArchiveDescription' - The description of the archive that was specified in the Initiate Multipart Upload request.+--+-- * 'uleVaultARN' - The Amazon Resource Name (ARN) of the vault that contains the archive.+--+-- * 'uleCreationDate' - The UTC time at which the multipart upload was initiated.+uploadListElement+    :: UploadListElement+uploadListElement =+  UploadListElement'+    { _uleMultipartUploadId = Nothing+    , _ulePartSizeInBytes = Nothing+    , _uleArchiveDescription = Nothing+    , _uleVaultARN = Nothing+    , _uleCreationDate = Nothing+    }+++-- | The ID of a multipart upload.+uleMultipartUploadId :: Lens' UploadListElement (Maybe Text)+uleMultipartUploadId = lens _uleMultipartUploadId (\ s a -> s{_uleMultipartUploadId = a})++-- | The part size, in bytes, specified in the Initiate Multipart Upload request. This is the size of all the parts in the upload except the last part, which may be smaller than this size.+ulePartSizeInBytes :: Lens' UploadListElement (Maybe Integer)+ulePartSizeInBytes = lens _ulePartSizeInBytes (\ s a -> s{_ulePartSizeInBytes = a})++-- | The description of the archive that was specified in the Initiate Multipart Upload request.+uleArchiveDescription :: Lens' UploadListElement (Maybe Text)+uleArchiveDescription = lens _uleArchiveDescription (\ s a -> s{_uleArchiveDescription = a})++-- | The Amazon Resource Name (ARN) of the vault that contains the archive.+uleVaultARN :: Lens' UploadListElement (Maybe Text)+uleVaultARN = lens _uleVaultARN (\ s a -> s{_uleVaultARN = a})++-- | The UTC time at which the multipart upload was initiated.+uleCreationDate :: Lens' UploadListElement (Maybe Text)+uleCreationDate = lens _uleCreationDate (\ s a -> s{_uleCreationDate = a})++instance FromJSON UploadListElement where+        parseJSON+          = withObject "UploadListElement"+              (\ x ->+                 UploadListElement' <$>+                   (x .:? "MultipartUploadId") <*>+                     (x .:? "PartSizeInBytes")+                     <*> (x .:? "ArchiveDescription")+                     <*> (x .:? "VaultARN")+                     <*> (x .:? "CreationDate"))++instance Hashable UploadListElement where++instance NFData UploadListElement where++-- | Contains the vault access policy.+--+--+--+-- /See:/ 'vaultAccessPolicy' smart constructor.+newtype VaultAccessPolicy = VaultAccessPolicy'+  { _vapPolicy :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VaultAccessPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vapPolicy' - The vault access policy.+vaultAccessPolicy+    :: VaultAccessPolicy+vaultAccessPolicy = VaultAccessPolicy' {_vapPolicy = Nothing}+++-- | The vault access policy.+vapPolicy :: Lens' VaultAccessPolicy (Maybe Text)+vapPolicy = lens _vapPolicy (\ s a -> s{_vapPolicy = a})++instance FromJSON VaultAccessPolicy where+        parseJSON+          = withObject "VaultAccessPolicy"+              (\ x -> VaultAccessPolicy' <$> (x .:? "Policy"))++instance Hashable VaultAccessPolicy where++instance NFData VaultAccessPolicy where++instance ToJSON VaultAccessPolicy where+        toJSON VaultAccessPolicy'{..}+          = object (catMaybes [("Policy" .=) <$> _vapPolicy])++-- | Contains the vault lock policy.+--+--+--+-- /See:/ 'vaultLockPolicy' smart constructor.+newtype VaultLockPolicy = VaultLockPolicy'+  { _vlpPolicy :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VaultLockPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vlpPolicy' - The vault lock policy.+vaultLockPolicy+    :: VaultLockPolicy+vaultLockPolicy = VaultLockPolicy' {_vlpPolicy = Nothing}+++-- | The vault lock policy.+vlpPolicy :: Lens' VaultLockPolicy (Maybe Text)+vlpPolicy = lens _vlpPolicy (\ s a -> s{_vlpPolicy = a})++instance Hashable VaultLockPolicy where++instance NFData VaultLockPolicy where++instance ToJSON VaultLockPolicy where+        toJSON VaultLockPolicy'{..}+          = object (catMaybes [("Policy" .=) <$> _vlpPolicy])++-- | Represents a vault's notification configuration.+--+--+--+-- /See:/ 'vaultNotificationConfig' smart constructor.+data VaultNotificationConfig = VaultNotificationConfig'+  { _vncSNSTopic :: !(Maybe Text)+  , _vncEvents   :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VaultNotificationConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vncSNSTopic' - The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).+--+-- * 'vncEvents' - A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.+vaultNotificationConfig+    :: VaultNotificationConfig+vaultNotificationConfig =+  VaultNotificationConfig' {_vncSNSTopic = Nothing, _vncEvents = Nothing}+++-- | The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).+vncSNSTopic :: Lens' VaultNotificationConfig (Maybe Text)+vncSNSTopic = lens _vncSNSTopic (\ s a -> s{_vncSNSTopic = a})++-- | A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.+vncEvents :: Lens' VaultNotificationConfig [Text]+vncEvents = lens _vncEvents (\ s a -> s{_vncEvents = a}) . _Default . _Coerce  instance FromJSON VaultNotificationConfig where         parseJSON
gen/Network/AWS/Glacier/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.Glacier.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -22,6 +22,7 @@ data ActionCode   = ArchiveRetrieval   | InventoryRetrieval+  | Select   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)  @@ -29,13 +30,15 @@     parser = takeLowerText >>= \case         "archiveretrieval" -> pure ArchiveRetrieval         "inventoryretrieval" -> pure InventoryRetrieval+        "select" -> pure Select         e -> fromTextError $ "Failure parsing ActionCode from value: '" <> e-           <> "'. Accepted values: archiveretrieval, inventoryretrieval"+           <> "'. Accepted values: archiveretrieval, inventoryretrieval, select"  instance ToText ActionCode where     toText = \case         ArchiveRetrieval -> "ArchiveRetrieval"         InventoryRetrieval -> "InventoryRetrieval"+        Select -> "Select"  instance Hashable     ActionCode instance NFData       ActionCode@@ -46,6 +49,210 @@ instance FromJSON ActionCode where     parseJSON = parseJSONText "ActionCode" +data CannedACL+  = AWSExecRead+  | AuthenticatedRead+  | BucketOwnerFullControl+  | BucketOwnerRead+  | Private+  | PublicRead+  | PublicReadWrite+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText CannedACL where+    parser = takeLowerText >>= \case+        "aws-exec-read" -> pure AWSExecRead+        "authenticated-read" -> pure AuthenticatedRead+        "bucket-owner-full-control" -> pure BucketOwnerFullControl+        "bucket-owner-read" -> pure BucketOwnerRead+        "private" -> pure Private+        "public-read" -> pure PublicRead+        "public-read-write" -> pure PublicReadWrite+        e -> fromTextError $ "Failure parsing CannedACL from value: '" <> e+           <> "'. Accepted values: aws-exec-read, authenticated-read, bucket-owner-full-control, bucket-owner-read, private, public-read, public-read-write"++instance ToText CannedACL where+    toText = \case+        AWSExecRead -> "aws-exec-read"+        AuthenticatedRead -> "authenticated-read"+        BucketOwnerFullControl -> "bucket-owner-full-control"+        BucketOwnerRead -> "bucket-owner-read"+        Private -> "private"+        PublicRead -> "public-read"+        PublicReadWrite -> "public-read-write"++instance Hashable     CannedACL+instance NFData       CannedACL+instance ToByteString CannedACL+instance ToQuery      CannedACL+instance ToHeader     CannedACL++instance ToJSON CannedACL where+    toJSON = toJSONText++instance FromJSON CannedACL where+    parseJSON = parseJSONText "CannedACL"++data EncryptionType+  = AES256+  | AWSKMS+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText EncryptionType where+    parser = takeLowerText >>= \case+        "aes256" -> pure AES256+        "aws:kms" -> pure AWSKMS+        e -> fromTextError $ "Failure parsing EncryptionType from value: '" <> e+           <> "'. Accepted values: aes256, aws:kms"++instance ToText EncryptionType where+    toText = \case+        AES256 -> "AES256"+        AWSKMS -> "aws:kms"++instance Hashable     EncryptionType+instance NFData       EncryptionType+instance ToByteString EncryptionType+instance ToQuery      EncryptionType+instance ToHeader     EncryptionType++instance ToJSON EncryptionType where+    toJSON = toJSONText++instance FromJSON EncryptionType where+    parseJSON = parseJSONText "EncryptionType"++data ExpressionType =+  Sql+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ExpressionType where+    parser = takeLowerText >>= \case+        "sql" -> pure Sql+        e -> fromTextError $ "Failure parsing ExpressionType from value: '" <> e+           <> "'. Accepted values: sql"++instance ToText ExpressionType where+    toText = \case+        Sql -> "SQL"++instance Hashable     ExpressionType+instance NFData       ExpressionType+instance ToByteString ExpressionType+instance ToQuery      ExpressionType+instance ToHeader     ExpressionType++instance ToJSON ExpressionType where+    toJSON = toJSONText++instance FromJSON ExpressionType where+    parseJSON = parseJSONText "ExpressionType"++data FileHeaderInfo+  = Ignore+  | None+  | Use+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText FileHeaderInfo where+    parser = takeLowerText >>= \case+        "ignore" -> pure Ignore+        "none" -> pure None+        "use" -> pure Use+        e -> fromTextError $ "Failure parsing FileHeaderInfo from value: '" <> e+           <> "'. Accepted values: ignore, none, use"++instance ToText FileHeaderInfo where+    toText = \case+        Ignore -> "IGNORE"+        None -> "NONE"+        Use -> "USE"++instance Hashable     FileHeaderInfo+instance NFData       FileHeaderInfo+instance ToByteString FileHeaderInfo+instance ToQuery      FileHeaderInfo+instance ToHeader     FileHeaderInfo++instance ToJSON FileHeaderInfo where+    toJSON = toJSONText++instance FromJSON FileHeaderInfo where+    parseJSON = parseJSONText "FileHeaderInfo"++data Permission+  = FullControl+  | Read+  | ReadAcp+  | Write+  | WriteAcp+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText Permission where+    parser = takeLowerText >>= \case+        "full_control" -> pure FullControl+        "read" -> pure Read+        "read_acp" -> pure ReadAcp+        "write" -> pure Write+        "write_acp" -> pure WriteAcp+        e -> fromTextError $ "Failure parsing Permission from value: '" <> e+           <> "'. Accepted values: full_control, read, read_acp, write, write_acp"++instance ToText Permission where+    toText = \case+        FullControl -> "FULL_CONTROL"+        Read -> "READ"+        ReadAcp -> "READ_ACP"+        Write -> "WRITE"+        WriteAcp -> "WRITE_ACP"++instance Hashable     Permission+instance NFData       Permission+instance ToByteString Permission+instance ToQuery      Permission+instance ToHeader     Permission++instance ToJSON Permission where+    toJSON = toJSONText++instance FromJSON Permission where+    parseJSON = parseJSONText "Permission"++data QuoteFields+  = ASNeeded+  | Always+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText QuoteFields where+    parser = takeLowerText >>= \case+        "asneeded" -> pure ASNeeded+        "always" -> pure Always+        e -> fromTextError $ "Failure parsing QuoteFields from value: '" <> e+           <> "'. Accepted values: asneeded, always"++instance ToText QuoteFields where+    toText = \case+        ASNeeded -> "ASNEEDED"+        Always -> "ALWAYS"++instance Hashable     QuoteFields+instance NFData       QuoteFields+instance ToByteString QuoteFields+instance ToQuery      QuoteFields+instance ToHeader     QuoteFields++instance ToJSON QuoteFields where+    toJSON = toJSONText++instance FromJSON QuoteFields where+    parseJSON = parseJSONText "QuoteFields"+ data StatusCode   = Failed   | InProgress@@ -75,3 +282,69 @@  instance FromJSON StatusCode where     parseJSON = parseJSONText "StatusCode"++data StorageClass+  = ReducedRedundancy+  | Standard+  | StandardIA+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StorageClass where+    parser = takeLowerText >>= \case+        "reduced_redundancy" -> pure ReducedRedundancy+        "standard" -> pure Standard+        "standard_ia" -> pure StandardIA+        e -> fromTextError $ "Failure parsing StorageClass from value: '" <> e+           <> "'. Accepted values: reduced_redundancy, standard, standard_ia"++instance ToText StorageClass where+    toText = \case+        ReducedRedundancy -> "REDUCED_REDUNDANCY"+        Standard -> "STANDARD"+        StandardIA -> "STANDARD_IA"++instance Hashable     StorageClass+instance NFData       StorageClass+instance ToByteString StorageClass+instance ToQuery      StorageClass+instance ToHeader     StorageClass++instance ToJSON StorageClass where+    toJSON = toJSONText++instance FromJSON StorageClass where+    parseJSON = parseJSONText "StorageClass"++data Type+  = AmazonCustomerByEmail+  | CanonicalUser+  | Group+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText Type where+    parser = takeLowerText >>= \case+        "amazoncustomerbyemail" -> pure AmazonCustomerByEmail+        "canonicaluser" -> pure CanonicalUser+        "group" -> pure Group+        e -> fromTextError $ "Failure parsing Type from value: '" <> e+           <> "'. Accepted values: amazoncustomerbyemail, canonicaluser, group"++instance ToText Type where+    toText = \case+        AmazonCustomerByEmail -> "AmazonCustomerByEmail"+        CanonicalUser -> "CanonicalUser"+        Group -> "Group"++instance Hashable     Type+instance NFData       Type+instance ToByteString Type+instance ToQuery      Type+instance ToHeader     Type++instance ToJSON Type where+    toJSON = toJSONText++instance FromJSON Type where+    parseJSON = parseJSONText "Type"
gen/Network/AWS/Glacier/UploadArchive.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.UploadArchive--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -95,33 +95,33 @@     -> UploadArchive uploadArchive pVaultName_ pAccountId_ pBody_ =   UploadArchive'-  { _uaChecksum = Nothing-  , _uaArchiveDescription = Nothing-  , _uaVaultName = pVaultName_-  , _uaAccountId = pAccountId_-  , _uaBody = pBody_-  }+    { _uaChecksum = Nothing+    , _uaArchiveDescription = Nothing+    , _uaVaultName = pVaultName_+    , _uaAccountId = pAccountId_+    , _uaBody = pBody_+    }   -- | The SHA256 tree hash of the data being uploaded. uaChecksum :: Lens' UploadArchive (Maybe Text)-uaChecksum = lens _uaChecksum (\ s a -> s{_uaChecksum = a});+uaChecksum = lens _uaChecksum (\ s a -> s{_uaChecksum = a})  -- | The optional description of the archive you are uploading. uaArchiveDescription :: Lens' UploadArchive (Maybe Text)-uaArchiveDescription = lens _uaArchiveDescription (\ s a -> s{_uaArchiveDescription = a});+uaArchiveDescription = lens _uaArchiveDescription (\ s a -> s{_uaArchiveDescription = a})  -- | The name of the vault. uaVaultName :: Lens' UploadArchive Text-uaVaultName = lens _uaVaultName (\ s a -> s{_uaVaultName = a});+uaVaultName = lens _uaVaultName (\ s a -> s{_uaVaultName = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. uaAccountId :: Lens' UploadArchive Text-uaAccountId = lens _uaAccountId (\ s a -> s{_uaAccountId = a});+uaAccountId = lens _uaAccountId (\ s a -> s{_uaAccountId = a})  -- | The data to upload. uaBody :: Lens' UploadArchive HashedBody-uaBody = lens _uaBody (\ s a -> s{_uaBody = a});+uaBody = lens _uaBody (\ s a -> s{_uaBody = a})  instance AWSRequest UploadArchive where         type Rs UploadArchive = ArchiveCreationOutput
gen/Network/AWS/Glacier/UploadMultipartPart.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glacier.UploadMultipartPart--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -103,38 +103,38 @@     -> UploadMultipartPart uploadMultipartPart pAccountId_ pVaultName_ pUploadId_ pBody_ =   UploadMultipartPart'-  { _umpChecksum = Nothing-  , _umpRange = Nothing-  , _umpAccountId = pAccountId_-  , _umpVaultName = pVaultName_-  , _umpUploadId = pUploadId_-  , _umpBody = pBody_-  }+    { _umpChecksum = Nothing+    , _umpRange = Nothing+    , _umpAccountId = pAccountId_+    , _umpVaultName = pVaultName_+    , _umpUploadId = pUploadId_+    , _umpBody = pBody_+    }   -- | The SHA256 tree hash of the data being uploaded. umpChecksum :: Lens' UploadMultipartPart (Maybe Text)-umpChecksum = lens _umpChecksum (\ s a -> s{_umpChecksum = a});+umpChecksum = lens _umpChecksum (\ s a -> s{_umpChecksum = a})  -- | Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon Glacier uses this information to assemble the archive in the proper sequence. The format of this header follows RFC 2616. An example header is Content-Range:bytes 0-4194303/*. umpRange :: Lens' UploadMultipartPart (Maybe Text)-umpRange = lens _umpRange (\ s a -> s{_umpRange = a});+umpRange = lens _umpRange (\ s a -> s{_umpRange = a})  -- | The @AccountId@ value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID. umpAccountId :: Lens' UploadMultipartPart Text-umpAccountId = lens _umpAccountId (\ s a -> s{_umpAccountId = a});+umpAccountId = lens _umpAccountId (\ s a -> s{_umpAccountId = a})  -- | The name of the vault. umpVaultName :: Lens' UploadMultipartPart Text-umpVaultName = lens _umpVaultName (\ s a -> s{_umpVaultName = a});+umpVaultName = lens _umpVaultName (\ s a -> s{_umpVaultName = a})  -- | The upload ID of the multipart upload. umpUploadId :: Lens' UploadMultipartPart Text-umpUploadId = lens _umpUploadId (\ s a -> s{_umpUploadId = a});+umpUploadId = lens _umpUploadId (\ s a -> s{_umpUploadId = a})  -- | The data to upload. umpBody :: Lens' UploadMultipartPart HashedBody-umpBody = lens _umpBody (\ s a -> s{_umpBody = a});+umpBody = lens _umpBody (\ s a -> s{_umpBody = a})  instance AWSRequest UploadMultipartPart where         type Rs UploadMultipartPart =@@ -189,15 +189,15 @@     -> UploadMultipartPartResponse uploadMultipartPartResponse pResponseStatus_ =   UploadMultipartPartResponse'-  {_umprsChecksum = Nothing, _umprsResponseStatus = pResponseStatus_}+    {_umprsChecksum = Nothing, _umprsResponseStatus = pResponseStatus_}   -- | The SHA256 tree hash that Amazon Glacier computed for the uploaded part. umprsChecksum :: Lens' UploadMultipartPartResponse (Maybe Text)-umprsChecksum = lens _umprsChecksum (\ s a -> s{_umprsChecksum = a});+umprsChecksum = lens _umprsChecksum (\ s a -> s{_umprsChecksum = a})  -- | -- | The response status code. umprsResponseStatus :: Lens' UploadMultipartPartResponse Int-umprsResponseStatus = lens _umprsResponseStatus (\ s a -> s{_umprsResponseStatus = a});+umprsResponseStatus = lens _umprsResponseStatus (\ s a -> s{_umprsResponseStatus = a})  instance NFData UploadMultipartPartResponse where
gen/Network/AWS/Glacier/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.Glacier.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -26,26 +26,26 @@ vaultNotExists :: Wait DescribeVault vaultNotExists =   Wait-  { _waitName = "VaultNotExists"-  , _waitAttempts = 15-  , _waitDelay = 3-  , _waitAcceptors =-      [ matchStatus 200 AcceptRetry-      , matchError "ResourceNotFoundException" AcceptSuccess-      ]-  }+    { _waitName = "VaultNotExists"+    , _waitAttempts = 15+    , _waitDelay = 3+    , _waitAcceptors =+        [ matchStatus 200 AcceptRetry+        , matchError "ResourceNotFoundException" AcceptSuccess+        ]+    }   -- | Polls 'Network.AWS.Glacier.DescribeVault' every 3 seconds until a successful state is reached. An error is returned after 15 failed checks. vaultExists :: Wait DescribeVault vaultExists =   Wait-  { _waitName = "VaultExists"-  , _waitAttempts = 15-  , _waitDelay = 3-  , _waitAcceptors =-      [ matchStatus 200 AcceptSuccess-      , matchError "ResourceNotFoundException" AcceptRetry-      ]-  }+    { _waitName = "VaultExists"+    , _waitAttempts = 15+    , _waitDelay = 3+    , _waitAcceptors =+        [ matchStatus 200 AcceptSuccess+        , matchError "ResourceNotFoundException" AcceptRetry+        ]+    } 
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/Glacier.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.Glacier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Glacier.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-}  -- Module      : Test.AWS.Glacier--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/Glacier/Internal.hs view
@@ -2,7 +2,7 @@ {-# OPTIONS_GHC -fno-warn-unused-imports #-}  -- Module      : Test.AWS.Glacier.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or