{-# 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.Pinpoint.GetExportJobs
(
getExportJobs
, GetExportJobs
, gejsToken
, gejsPageSize
, gejsApplicationId
, getExportJobsResponse
, GetExportJobsResponse
, gejrsResponseStatus
, gejrsExportJobsResponse
) where
import Network.AWS.Lens
import Network.AWS.Pinpoint.Types
import Network.AWS.Pinpoint.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetExportJobs = GetExportJobs'
{ _gejsToken :: !(Maybe Text)
, _gejsPageSize :: !(Maybe Text)
, _gejsApplicationId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getExportJobs
:: Text
-> GetExportJobs
getExportJobs pApplicationId_ =
GetExportJobs'
{ _gejsToken = Nothing
, _gejsPageSize = Nothing
, _gejsApplicationId = pApplicationId_
}
gejsToken :: Lens' GetExportJobs (Maybe Text)
gejsToken = lens _gejsToken (\ s a -> s{_gejsToken = a})
gejsPageSize :: Lens' GetExportJobs (Maybe Text)
gejsPageSize = lens _gejsPageSize (\ s a -> s{_gejsPageSize = a})
gejsApplicationId :: Lens' GetExportJobs Text
gejsApplicationId = lens _gejsApplicationId (\ s a -> s{_gejsApplicationId = a})
instance AWSRequest GetExportJobs where
type Rs GetExportJobs = GetExportJobsResponse
request = get pinpoint
response
= receiveJSON
(\ s h x ->
GetExportJobsResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable GetExportJobs where
instance NFData GetExportJobs where
instance ToHeaders GetExportJobs where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetExportJobs where
toPath GetExportJobs'{..}
= mconcat
["/v1/apps/", toBS _gejsApplicationId,
"/jobs/export"]
instance ToQuery GetExportJobs where
toQuery GetExportJobs'{..}
= mconcat
["token" =: _gejsToken, "page-size" =: _gejsPageSize]
data GetExportJobsResponse = GetExportJobsResponse'
{ _gejrsResponseStatus :: !Int
, _gejrsExportJobsResponse :: !ExportJobsResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getExportJobsResponse
:: Int
-> ExportJobsResponse
-> GetExportJobsResponse
getExportJobsResponse pResponseStatus_ pExportJobsResponse_ =
GetExportJobsResponse'
{ _gejrsResponseStatus = pResponseStatus_
, _gejrsExportJobsResponse = pExportJobsResponse_
}
gejrsResponseStatus :: Lens' GetExportJobsResponse Int
gejrsResponseStatus = lens _gejrsResponseStatus (\ s a -> s{_gejrsResponseStatus = a})
gejrsExportJobsResponse :: Lens' GetExportJobsResponse ExportJobsResponse
gejrsExportJobsResponse = lens _gejrsExportJobsResponse (\ s a -> s{_gejrsExportJobsResponse = a})
instance NFData GetExportJobsResponse where