module Network.AWS.Glacier.GetDataRetrievalPolicy
(
GetDataRetrievalPolicy
, getDataRetrievalPolicy
, gdrpAccountId
, GetDataRetrievalPolicyResponse
, getDataRetrievalPolicyResponse
, gdrprPolicy
) where
import Network.AWS.Prelude
import Network.AWS.Request.RestJSON
import Network.AWS.Glacier.Types
import qualified GHC.Exts
newtype GetDataRetrievalPolicy = GetDataRetrievalPolicy
{ _gdrpAccountId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
getDataRetrievalPolicy :: Text
-> GetDataRetrievalPolicy
getDataRetrievalPolicy p1 = GetDataRetrievalPolicy
{ _gdrpAccountId = p1
}
gdrpAccountId :: Lens' GetDataRetrievalPolicy Text
gdrpAccountId = lens _gdrpAccountId (\s a -> s { _gdrpAccountId = a })
newtype GetDataRetrievalPolicyResponse = GetDataRetrievalPolicyResponse
{ _gdrprPolicy :: Maybe DataRetrievalPolicy
} deriving (Eq, Read, Show)
getDataRetrievalPolicyResponse :: GetDataRetrievalPolicyResponse
getDataRetrievalPolicyResponse = GetDataRetrievalPolicyResponse
{ _gdrprPolicy = Nothing
}
gdrprPolicy :: Lens' GetDataRetrievalPolicyResponse (Maybe DataRetrievalPolicy)
gdrprPolicy = lens _gdrprPolicy (\s a -> s { _gdrprPolicy = a })
instance ToPath GetDataRetrievalPolicy where
toPath GetDataRetrievalPolicy{..} = mconcat
[ "/"
, toText _gdrpAccountId
, "/policies/data-retrieval"
]
instance ToQuery GetDataRetrievalPolicy where
toQuery = const mempty
instance ToHeaders GetDataRetrievalPolicy
instance ToJSON GetDataRetrievalPolicy where
toJSON = const (toJSON Empty)
instance AWSRequest GetDataRetrievalPolicy where
type Sv GetDataRetrievalPolicy = Glacier
type Rs GetDataRetrievalPolicy = GetDataRetrievalPolicyResponse
request = get
response = jsonResponse
instance FromJSON GetDataRetrievalPolicyResponse where
parseJSON = withObject "GetDataRetrievalPolicyResponse" $ \o -> GetDataRetrievalPolicyResponse
<$> o .:? "Policy"