amazonka-discovery-1.4.3: gen/Network/AWS/Discovery/ExportConfigurations.hs
{-# 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.Discovery.ExportConfigurations
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID which you can query using the /GetExportStatus/ API. The system imposes a limit of two configuration exports in six hours.
module Network.AWS.Discovery.ExportConfigurations
(
-- * Creating a Request
exportConfigurations
, ExportConfigurations
-- * Destructuring the Response
, exportConfigurationsResponse
, ExportConfigurationsResponse
-- * Response Lenses
, ecrsExportId
, ecrsResponseStatus
) where
import Network.AWS.Discovery.Types
import Network.AWS.Discovery.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | /See:/ 'exportConfigurations' smart constructor.
data ExportConfigurations =
ExportConfigurations'
deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ExportConfigurations' with the minimum fields required to make a request.
--
exportConfigurations
:: ExportConfigurations
exportConfigurations = ExportConfigurations'
instance AWSRequest ExportConfigurations where
type Rs ExportConfigurations =
ExportConfigurationsResponse
request = postJSON discovery
response
= receiveJSON
(\ s h x ->
ExportConfigurationsResponse' <$>
(x .?> "exportId") <*> (pure (fromEnum s)))
instance Hashable ExportConfigurations
instance NFData ExportConfigurations
instance ToHeaders ExportConfigurations where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSPoseidonService_V2015_11_01.ExportConfigurations"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ExportConfigurations where
toJSON = const (Object mempty)
instance ToPath ExportConfigurations where
toPath = const "/"
instance ToQuery ExportConfigurations where
toQuery = const mempty
-- | /See:/ 'exportConfigurationsResponse' smart constructor.
data ExportConfigurationsResponse = ExportConfigurationsResponse'
{ _ecrsExportId :: !(Maybe Text)
, _ecrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ExportConfigurationsResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'ecrsExportId'
--
-- * 'ecrsResponseStatus'
exportConfigurationsResponse
:: Int -- ^ 'ecrsResponseStatus'
-> ExportConfigurationsResponse
exportConfigurationsResponse pResponseStatus_ =
ExportConfigurationsResponse'
{ _ecrsExportId = Nothing
, _ecrsResponseStatus = pResponseStatus_
}
-- | A unique identifier that you can use to query the export status.
ecrsExportId :: Lens' ExportConfigurationsResponse (Maybe Text)
ecrsExportId = lens _ecrsExportId (\ s a -> s{_ecrsExportId = a});
-- | The response status code.
ecrsResponseStatus :: Lens' ExportConfigurationsResponse Int
ecrsResponseStatus = lens _ecrsResponseStatus (\ s a -> s{_ecrsResponseStatus = a});
instance NFData ExportConfigurationsResponse