{-# 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.GetDataRetrievalPolicy -- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- This operation returns the current data retrieval policy for the account and region specified in the GET request. For more information about data retrieval policies, see . -- -- module Network.AWS.Glacier.GetDataRetrievalPolicy ( -- * Creating a Request getDataRetrievalPolicy , GetDataRetrievalPolicy -- * Request Lenses , gdrpAccountId -- * Destructuring the Response , getDataRetrievalPolicyResponse , GetDataRetrievalPolicyResponse -- * Response Lenses , gdrprsPolicy , gdrprsResponseStatus ) 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 -- | Input for GetDataRetrievalPolicy. -- -- -- -- /See:/ 'getDataRetrievalPolicy' smart constructor. newtype GetDataRetrievalPolicy = GetDataRetrievalPolicy' { _gdrpAccountId :: Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'GetDataRetrievalPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gdrpAccountId' - The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. getDataRetrievalPolicy :: Text -- ^ 'gdrpAccountId' -> GetDataRetrievalPolicy getDataRetrievalPolicy pAccountId_ = GetDataRetrievalPolicy' {_gdrpAccountId = pAccountId_} -- | The @AccountId@ value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '@-@ ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID. gdrpAccountId :: Lens' GetDataRetrievalPolicy Text gdrpAccountId = lens _gdrpAccountId (\ s a -> s{_gdrpAccountId = a}); instance AWSRequest GetDataRetrievalPolicy where type Rs GetDataRetrievalPolicy = GetDataRetrievalPolicyResponse request = get glacier response = receiveJSON (\ s h x -> GetDataRetrievalPolicyResponse' <$> (x .?> "Policy") <*> (pure (fromEnum s))) instance Hashable GetDataRetrievalPolicy where instance NFData GetDataRetrievalPolicy where instance ToHeaders GetDataRetrievalPolicy where toHeaders = const mempty instance ToPath GetDataRetrievalPolicy where toPath GetDataRetrievalPolicy'{..} = mconcat ["/", toBS _gdrpAccountId, "/policies/data-retrieval"] instance ToQuery GetDataRetrievalPolicy where toQuery = const mempty -- | Contains the Amazon Glacier response to the @GetDataRetrievalPolicy@ request. -- -- -- -- /See:/ 'getDataRetrievalPolicyResponse' smart constructor. data GetDataRetrievalPolicyResponse = GetDataRetrievalPolicyResponse' { _gdrprsPolicy :: !(Maybe DataRetrievalPolicy) , _gdrprsResponseStatus :: !Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'GetDataRetrievalPolicyResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gdrprsPolicy' - Contains the returned data retrieval policy in JSON format. -- -- * 'gdrprsResponseStatus' - -- | The response status code. getDataRetrievalPolicyResponse :: Int -- ^ 'gdrprsResponseStatus' -> GetDataRetrievalPolicyResponse getDataRetrievalPolicyResponse pResponseStatus_ = GetDataRetrievalPolicyResponse' {_gdrprsPolicy = Nothing, _gdrprsResponseStatus = pResponseStatus_} -- | Contains the returned data retrieval policy in JSON format. gdrprsPolicy :: Lens' GetDataRetrievalPolicyResponse (Maybe DataRetrievalPolicy) gdrprsPolicy = lens _gdrprsPolicy (\ s a -> s{_gdrprsPolicy = a}); -- | -- | The response status code. gdrprsResponseStatus :: Lens' GetDataRetrievalPolicyResponse Int gdrprsResponseStatus = lens _gdrprsResponseStatus (\ s a -> s{_gdrprsResponseStatus = a}); instance NFData GetDataRetrievalPolicyResponse where