{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Glacier.AbortMultipartUpload -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- This operation aborts a multipart upload identified by the upload ID. -- -- After the Abort Multipart Upload request succeeds, you cannot upload any -- more parts to the multipart upload or complete the multipart upload. -- Aborting a completed upload fails. However, aborting an already-aborted -- upload will succeed, for a short time. For more information about -- uploading a part and completing a multipart upload, see -- UploadMultipartPart and CompleteMultipartUpload. -- -- This operation is idempotent. -- -- 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 -- . -- -- For conceptual information and underlying REST API, go to -- -- and -- -- in the /Amazon Glacier Developer Guide/. -- -- /See:/ for AbortMultipartUpload. module Network.AWS.Glacier.AbortMultipartUpload ( -- * Creating a Request abortMultipartUpload , AbortMultipartUpload -- * Request Lenses , amuAccountId , amuVaultName , amuUploadId -- * Destructuring the Response , abortMultipartUploadResponse , AbortMultipartUploadResponse ) where import Network.AWS.Glacier.Types import Network.AWS.Glacier.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | Provides options to abort a multipart upload identified by the upload -- ID. -- -- For information about the underlying REST API, go to -- . -- For conceptual information, go to -- . -- -- /See:/ 'abortMultipartUpload' smart constructor. data AbortMultipartUpload = AbortMultipartUpload' { _amuAccountId :: !Text , _amuVaultName :: !Text , _amuUploadId :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AbortMultipartUpload' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'amuAccountId' -- -- * 'amuVaultName' -- -- * 'amuUploadId' abortMultipartUpload :: Text -- ^ 'amuAccountId' -> Text -- ^ 'amuVaultName' -> Text -- ^ 'amuUploadId' -> AbortMultipartUpload abortMultipartUpload pAccountId_ pVaultName_ pUploadId_ = AbortMultipartUpload' { _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 -- apos'-'apos (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 (apos-apos) in the ID. amuAccountId :: Lens' AbortMultipartUpload Text 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}); -- | The upload ID of the multipart upload to delete. amuUploadId :: Lens' AbortMultipartUpload Text amuUploadId = lens _amuUploadId (\ s a -> s{_amuUploadId = a}); instance AWSRequest AbortMultipartUpload where type Rs AbortMultipartUpload = AbortMultipartUploadResponse request = delete glacier response = receiveNull AbortMultipartUploadResponse' instance ToHeaders AbortMultipartUpload where toHeaders = const mempty instance ToPath AbortMultipartUpload where toPath AbortMultipartUpload'{..} = mconcat ["/", toBS _amuAccountId, "/vaults/", toBS _amuVaultName, "/multipart-uploads/", toBS _amuUploadId] instance ToQuery AbortMultipartUpload where toQuery = const mempty -- | /See:/ 'abortMultipartUploadResponse' smart constructor. data AbortMultipartUploadResponse = AbortMultipartUploadResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AbortMultipartUploadResponse' with the minimum fields required to make a request. -- abortMultipartUploadResponse :: AbortMultipartUploadResponse abortMultipartUploadResponse = AbortMultipartUploadResponse'