{-# 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.WorkMail.DeleteAlias
(
deleteAlias
, DeleteAlias
, daOrganizationId
, daEntityId
, daAlias
, deleteAliasResponse
, DeleteAliasResponse
, darsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WorkMail.Types
import Network.AWS.WorkMail.Types.Product
data DeleteAlias = DeleteAlias'
{ _daOrganizationId :: !Text
, _daEntityId :: !Text
, _daAlias :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteAlias
:: Text
-> Text
-> Text
-> DeleteAlias
deleteAlias pOrganizationId_ pEntityId_ pAlias_ =
DeleteAlias'
{ _daOrganizationId = pOrganizationId_
, _daEntityId = pEntityId_
, _daAlias = pAlias_
}
daOrganizationId :: Lens' DeleteAlias Text
daOrganizationId = lens _daOrganizationId (\ s a -> s{_daOrganizationId = a})
daEntityId :: Lens' DeleteAlias Text
daEntityId = lens _daEntityId (\ s a -> s{_daEntityId = a})
daAlias :: Lens' DeleteAlias Text
daAlias = lens _daAlias (\ s a -> s{_daAlias = a})
instance AWSRequest DeleteAlias where
type Rs DeleteAlias = DeleteAliasResponse
request = postJSON workMail
response
= receiveEmpty
(\ s h x ->
DeleteAliasResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteAlias where
instance NFData DeleteAlias where
instance ToHeaders DeleteAlias where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("WorkMailService.DeleteAlias" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteAlias where
toJSON DeleteAlias'{..}
= object
(catMaybes
[Just ("OrganizationId" .= _daOrganizationId),
Just ("EntityId" .= _daEntityId),
Just ("Alias" .= _daAlias)])
instance ToPath DeleteAlias where
toPath = const "/"
instance ToQuery DeleteAlias where
toQuery = const mempty
newtype DeleteAliasResponse = DeleteAliasResponse'
{ _darsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteAliasResponse
:: Int
-> DeleteAliasResponse
deleteAliasResponse pResponseStatus_ =
DeleteAliasResponse' {_darsResponseStatus = pResponseStatus_}
darsResponseStatus :: Lens' DeleteAliasResponse Int
darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a})
instance NFData DeleteAliasResponse where