{-# 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 #-}
module Network.AWS.Glacier.SetDataRetrievalPolicy
(
setDataRetrievalPolicy
, SetDataRetrievalPolicy
, sdrpPolicy
, sdrpAccountId
, setDataRetrievalPolicyResponse
, SetDataRetrievalPolicyResponse
) 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
data SetDataRetrievalPolicy = SetDataRetrievalPolicy'
{ _sdrpPolicy :: !(Maybe DataRetrievalPolicy)
, _sdrpAccountId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
setDataRetrievalPolicy
:: Text
-> SetDataRetrievalPolicy
setDataRetrievalPolicy pAccountId_ =
SetDataRetrievalPolicy'
{ _sdrpPolicy = Nothing
, _sdrpAccountId = pAccountId_
}
sdrpPolicy :: Lens' SetDataRetrievalPolicy (Maybe DataRetrievalPolicy)
sdrpPolicy = lens _sdrpPolicy (\ s a -> s{_sdrpPolicy = a});
sdrpAccountId :: Lens' SetDataRetrievalPolicy Text
sdrpAccountId = lens _sdrpAccountId (\ s a -> s{_sdrpAccountId = a});
instance AWSRequest SetDataRetrievalPolicy where
type Rs SetDataRetrievalPolicy =
SetDataRetrievalPolicyResponse
request = putJSON glacier
response
= receiveNull SetDataRetrievalPolicyResponse'
instance Hashable SetDataRetrievalPolicy
instance NFData SetDataRetrievalPolicy
instance ToHeaders SetDataRetrievalPolicy where
toHeaders = const mempty
instance ToJSON SetDataRetrievalPolicy where
toJSON SetDataRetrievalPolicy'{..}
= object (catMaybes [("Policy" .=) <$> _sdrpPolicy])
instance ToPath SetDataRetrievalPolicy where
toPath SetDataRetrievalPolicy'{..}
= mconcat
["/", toBS _sdrpAccountId,
"/policies/data-retrieval"]
instance ToQuery SetDataRetrievalPolicy where
toQuery = const mempty
data SetDataRetrievalPolicyResponse =
SetDataRetrievalPolicyResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
setDataRetrievalPolicyResponse
:: SetDataRetrievalPolicyResponse
setDataRetrievalPolicyResponse = SetDataRetrievalPolicyResponse'
instance NFData SetDataRetrievalPolicyResponse