{-# 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.EC2.ModifyVolumeAttribute -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Modifies a volume attribute. -- -- By default, all I\/O operations for the volume are suspended when the -- data on the volume is determined to be potentially inconsistent, to -- prevent undetectable, latent data corruption. The I\/O access to the -- volume can be resumed by first enabling I\/O access and then checking -- the data consistency on your volume. -- -- You can change the default behavior to resume I\/O operations. We -- recommend that you change this only for boot volumes or for volumes that -- are stateless or disposable. -- -- /See:/ for ModifyVolumeAttribute. module Network.AWS.EC2.ModifyVolumeAttribute ( -- * Creating a Request modifyVolumeAttribute , ModifyVolumeAttribute -- * Request Lenses , mvaAutoEnableIO , mvaDryRun , mvaVolumeId -- * Destructuring the Response , modifyVolumeAttributeResponse , ModifyVolumeAttributeResponse ) where import Network.AWS.EC2.Types import Network.AWS.EC2.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'modifyVolumeAttribute' smart constructor. data ModifyVolumeAttribute = ModifyVolumeAttribute' { _mvaAutoEnableIO :: !(Maybe AttributeBooleanValue) , _mvaDryRun :: !(Maybe Bool) , _mvaVolumeId :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ModifyVolumeAttribute' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'mvaAutoEnableIO' -- -- * 'mvaDryRun' -- -- * 'mvaVolumeId' modifyVolumeAttribute :: Text -- ^ 'mvaVolumeId' -> ModifyVolumeAttribute modifyVolumeAttribute pVolumeId_ = ModifyVolumeAttribute' { _mvaAutoEnableIO = Nothing , _mvaDryRun = Nothing , _mvaVolumeId = pVolumeId_ } -- | Indicates whether the volume should be auto-enabled for I\/O operations. mvaAutoEnableIO :: Lens' ModifyVolumeAttribute (Maybe AttributeBooleanValue) mvaAutoEnableIO = lens _mvaAutoEnableIO (\ s a -> s{_mvaAutoEnableIO = a}); -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'. -- Otherwise, it is 'UnauthorizedOperation'. mvaDryRun :: Lens' ModifyVolumeAttribute (Maybe Bool) mvaDryRun = lens _mvaDryRun (\ s a -> s{_mvaDryRun = a}); -- | The ID of the volume. mvaVolumeId :: Lens' ModifyVolumeAttribute Text mvaVolumeId = lens _mvaVolumeId (\ s a -> s{_mvaVolumeId = a}); instance AWSRequest ModifyVolumeAttribute where type Rs ModifyVolumeAttribute = ModifyVolumeAttributeResponse request = postQuery eC2 response = receiveNull ModifyVolumeAttributeResponse' instance ToHeaders ModifyVolumeAttribute where toHeaders = const mempty instance ToPath ModifyVolumeAttribute where toPath = const "/" instance ToQuery ModifyVolumeAttribute where toQuery ModifyVolumeAttribute'{..} = mconcat ["Action" =: ("ModifyVolumeAttribute" :: ByteString), "Version" =: ("2015-10-01" :: ByteString), "AutoEnableIO" =: _mvaAutoEnableIO, "DryRun" =: _mvaDryRun, "VolumeId" =: _mvaVolumeId] -- | /See:/ 'modifyVolumeAttributeResponse' smart constructor. data ModifyVolumeAttributeResponse = ModifyVolumeAttributeResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ModifyVolumeAttributeResponse' with the minimum fields required to make a request. -- modifyVolumeAttributeResponse :: ModifyVolumeAttributeResponse modifyVolumeAttributeResponse = ModifyVolumeAttributeResponse'