{-# 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.DeleteVaultAccessPolicy -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- This operation deletes the access policy associated with the specified vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely remove the access policy, and you might still see the effect of the policy for a short time after you send the delete request. -- -- This operation is idempotent. You can invoke delete multiple times, even if there is no policy associated with the vault. For more information about vault access policies, see . module Network.AWS.Glacier.DeleteVaultAccessPolicy ( -- * Creating a Request deleteVaultAccessPolicy , DeleteVaultAccessPolicy -- * Request Lenses , dvapAccountId , dvapVaultName -- * Destructuring the Response , deleteVaultAccessPolicyResponse , DeleteVaultAccessPolicyResponse ) where import Network.AWS.Glacier.Types import Network.AWS.Glacier.Types.Product import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | DeleteVaultAccessPolicy input. -- -- /See:/ 'deleteVaultAccessPolicy' smart constructor. data DeleteVaultAccessPolicy = DeleteVaultAccessPolicy' { _dvapAccountId :: !Text , _dvapVaultName :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DeleteVaultAccessPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dvapAccountId' -- -- * 'dvapVaultName' deleteVaultAccessPolicy :: Text -- ^ 'dvapAccountId' -> Text -- ^ 'dvapVaultName' -> DeleteVaultAccessPolicy deleteVaultAccessPolicy pAccountId_ pVaultName_ = DeleteVaultAccessPolicy' { _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 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. dvapAccountId :: Lens' DeleteVaultAccessPolicy Text 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}); instance AWSRequest DeleteVaultAccessPolicy where type Rs DeleteVaultAccessPolicy = DeleteVaultAccessPolicyResponse request = delete glacier response = receiveNull DeleteVaultAccessPolicyResponse' instance Hashable DeleteVaultAccessPolicy instance NFData DeleteVaultAccessPolicy instance ToHeaders DeleteVaultAccessPolicy where toHeaders = const mempty instance ToPath DeleteVaultAccessPolicy where toPath DeleteVaultAccessPolicy'{..} = mconcat ["/", toBS _dvapAccountId, "/vaults/", toBS _dvapVaultName, "/access-policy"] instance ToQuery DeleteVaultAccessPolicy where toQuery = const mempty -- | /See:/ 'deleteVaultAccessPolicyResponse' smart constructor. data DeleteVaultAccessPolicyResponse = DeleteVaultAccessPolicyResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DeleteVaultAccessPolicyResponse' with the minimum fields required to make a request. -- deleteVaultAccessPolicyResponse :: DeleteVaultAccessPolicyResponse deleteVaultAccessPolicyResponse = DeleteVaultAccessPolicyResponse' instance NFData DeleteVaultAccessPolicyResponse