module Network.AWS.Pinpoint.GetCampaign
(
getCampaign
, GetCampaign
, getCampaignId
, getApplicationId
, getCampaignResponse
, GetCampaignResponse
, gcrsResponseStatus
, gcrsCampaignResponse
) 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 GetCampaign = GetCampaign'
{ _getCampaignId :: !Text
, _getApplicationId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getCampaign
:: Text
-> Text
-> GetCampaign
getCampaign pCampaignId_ pApplicationId_ =
GetCampaign'
{_getCampaignId = pCampaignId_, _getApplicationId = pApplicationId_}
getCampaignId :: Lens' GetCampaign Text
getCampaignId = lens _getCampaignId (\ s a -> s{_getCampaignId = a});
getApplicationId :: Lens' GetCampaign Text
getApplicationId = lens _getApplicationId (\ s a -> s{_getApplicationId = a});
instance AWSRequest GetCampaign where
type Rs GetCampaign = GetCampaignResponse
request = get pinpoint
response
= receiveJSON
(\ s h x ->
GetCampaignResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable GetCampaign where
instance NFData GetCampaign where
instance ToHeaders GetCampaign where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetCampaign where
toPath GetCampaign'{..}
= mconcat
["/v1/apps/", toBS _getApplicationId, "/campaigns/",
toBS _getCampaignId]
instance ToQuery GetCampaign where
toQuery = const mempty
data GetCampaignResponse = GetCampaignResponse'
{ _gcrsResponseStatus :: !Int
, _gcrsCampaignResponse :: !CampaignResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getCampaignResponse
:: Int
-> CampaignResponse
-> GetCampaignResponse
getCampaignResponse pResponseStatus_ pCampaignResponse_ =
GetCampaignResponse'
{ _gcrsResponseStatus = pResponseStatus_
, _gcrsCampaignResponse = pCampaignResponse_
}
gcrsResponseStatus :: Lens' GetCampaignResponse Int
gcrsResponseStatus = lens _gcrsResponseStatus (\ s a -> s{_gcrsResponseStatus = a});
gcrsCampaignResponse :: Lens' GetCampaignResponse CampaignResponse
gcrsCampaignResponse = lens _gcrsCampaignResponse (\ s a -> s{_gcrsCampaignResponse = a});
instance NFData GetCampaignResponse where