{-# 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.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