module Network.AWS.Pinpoint.CreateImportJob
(
createImportJob
, CreateImportJob
, cijApplicationId
, cijImportJobRequest
, createImportJobResponse
, CreateImportJobResponse
, cijrsResponseStatus
, cijrsImportJobResponse
) 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 CreateImportJob = CreateImportJob'
{ _cijApplicationId :: !Text
, _cijImportJobRequest :: !ImportJobRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createImportJob
:: Text
-> ImportJobRequest
-> CreateImportJob
createImportJob pApplicationId_ pImportJobRequest_ =
CreateImportJob'
{ _cijApplicationId = pApplicationId_
, _cijImportJobRequest = pImportJobRequest_
}
cijApplicationId :: Lens' CreateImportJob Text
cijApplicationId = lens _cijApplicationId (\ s a -> s{_cijApplicationId = a});
cijImportJobRequest :: Lens' CreateImportJob ImportJobRequest
cijImportJobRequest = lens _cijImportJobRequest (\ s a -> s{_cijImportJobRequest = a});
instance AWSRequest CreateImportJob where
type Rs CreateImportJob = CreateImportJobResponse
request = postJSON pinpoint
response
= receiveJSON
(\ s h x ->
CreateImportJobResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable CreateImportJob where
instance NFData CreateImportJob where
instance ToHeaders CreateImportJob where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateImportJob where
toJSON CreateImportJob'{..}
= object
(catMaybes
[Just ("ImportJobRequest" .= _cijImportJobRequest)])
instance ToPath CreateImportJob where
toPath CreateImportJob'{..}
= mconcat
["/v1/apps/", toBS _cijApplicationId, "/jobs/import"]
instance ToQuery CreateImportJob where
toQuery = const mempty
data CreateImportJobResponse = CreateImportJobResponse'
{ _cijrsResponseStatus :: !Int
, _cijrsImportJobResponse :: !ImportJobResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createImportJobResponse
:: Int
-> ImportJobResponse
-> CreateImportJobResponse
createImportJobResponse pResponseStatus_ pImportJobResponse_ =
CreateImportJobResponse'
{ _cijrsResponseStatus = pResponseStatus_
, _cijrsImportJobResponse = pImportJobResponse_
}
cijrsResponseStatus :: Lens' CreateImportJobResponse Int
cijrsResponseStatus = lens _cijrsResponseStatus (\ s a -> s{_cijrsResponseStatus = a});
cijrsImportJobResponse :: Lens' CreateImportJobResponse ImportJobResponse
cijrsImportJobResponse = lens _cijrsImportJobResponse (\ s a -> s{_cijrsImportJobResponse = a});
instance NFData CreateImportJobResponse where