{-# 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.DeleteEmailChannel
(
deleteEmailChannel
, DeleteEmailChannel
, decApplicationId
, deleteEmailChannelResponse
, DeleteEmailChannelResponse
, decrsResponseStatus
, decrsEmailChannelResponse
) 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
newtype DeleteEmailChannel = DeleteEmailChannel'
{ _decApplicationId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteEmailChannel
:: Text
-> DeleteEmailChannel
deleteEmailChannel pApplicationId_ =
DeleteEmailChannel' {_decApplicationId = pApplicationId_}
decApplicationId :: Lens' DeleteEmailChannel Text
decApplicationId = lens _decApplicationId (\ s a -> s{_decApplicationId = a})
instance AWSRequest DeleteEmailChannel where
type Rs DeleteEmailChannel =
DeleteEmailChannelResponse
request = delete pinpoint
response
= receiveJSON
(\ s h x ->
DeleteEmailChannelResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable DeleteEmailChannel where
instance NFData DeleteEmailChannel where
instance ToHeaders DeleteEmailChannel where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath DeleteEmailChannel where
toPath DeleteEmailChannel'{..}
= mconcat
["/v1/apps/", toBS _decApplicationId,
"/channels/email"]
instance ToQuery DeleteEmailChannel where
toQuery = const mempty
data DeleteEmailChannelResponse = DeleteEmailChannelResponse'
{ _decrsResponseStatus :: !Int
, _decrsEmailChannelResponse :: !EmailChannelResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteEmailChannelResponse
:: Int
-> EmailChannelResponse
-> DeleteEmailChannelResponse
deleteEmailChannelResponse pResponseStatus_ pEmailChannelResponse_ =
DeleteEmailChannelResponse'
{ _decrsResponseStatus = pResponseStatus_
, _decrsEmailChannelResponse = pEmailChannelResponse_
}
decrsResponseStatus :: Lens' DeleteEmailChannelResponse Int
decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a})
decrsEmailChannelResponse :: Lens' DeleteEmailChannelResponse EmailChannelResponse
decrsEmailChannelResponse = lens _decrsEmailChannelResponse (\ s a -> s{_decrsEmailChannelResponse = a})
instance NFData DeleteEmailChannelResponse where