{-# 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.AlexaBusiness.AssociateContactWithAddressBook
(
associateContactWithAddressBook
, AssociateContactWithAddressBook
, acwabContactARN
, acwabAddressBookARN
, associateContactWithAddressBookResponse
, AssociateContactWithAddressBookResponse
, acwabrsResponseStatus
) where
import Network.AWS.AlexaBusiness.Types
import Network.AWS.AlexaBusiness.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data AssociateContactWithAddressBook = AssociateContactWithAddressBook'
{ _acwabContactARN :: !Text
, _acwabAddressBookARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
associateContactWithAddressBook
:: Text
-> Text
-> AssociateContactWithAddressBook
associateContactWithAddressBook pContactARN_ pAddressBookARN_ =
AssociateContactWithAddressBook'
{_acwabContactARN = pContactARN_, _acwabAddressBookARN = pAddressBookARN_}
acwabContactARN :: Lens' AssociateContactWithAddressBook Text
acwabContactARN = lens _acwabContactARN (\ s a -> s{_acwabContactARN = a})
acwabAddressBookARN :: Lens' AssociateContactWithAddressBook Text
acwabAddressBookARN = lens _acwabAddressBookARN (\ s a -> s{_acwabAddressBookARN = a})
instance AWSRequest AssociateContactWithAddressBook
where
type Rs AssociateContactWithAddressBook =
AssociateContactWithAddressBookResponse
request = postJSON alexaBusiness
response
= receiveEmpty
(\ s h x ->
AssociateContactWithAddressBookResponse' <$>
(pure (fromEnum s)))
instance Hashable AssociateContactWithAddressBook
where
instance NFData AssociateContactWithAddressBook where
instance ToHeaders AssociateContactWithAddressBook
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AlexaForBusiness.AssociateContactWithAddressBook"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AssociateContactWithAddressBook where
toJSON AssociateContactWithAddressBook'{..}
= object
(catMaybes
[Just ("ContactArn" .= _acwabContactARN),
Just ("AddressBookArn" .= _acwabAddressBookARN)])
instance ToPath AssociateContactWithAddressBook where
toPath = const "/"
instance ToQuery AssociateContactWithAddressBook
where
toQuery = const mempty
newtype AssociateContactWithAddressBookResponse = AssociateContactWithAddressBookResponse'
{ _acwabrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
associateContactWithAddressBookResponse
:: Int
-> AssociateContactWithAddressBookResponse
associateContactWithAddressBookResponse pResponseStatus_ =
AssociateContactWithAddressBookResponse'
{_acwabrsResponseStatus = pResponseStatus_}
acwabrsResponseStatus :: Lens' AssociateContactWithAddressBookResponse Int
acwabrsResponseStatus = lens _acwabrsResponseStatus (\ s a -> s{_acwabrsResponseStatus = a})
instance NFData
AssociateContactWithAddressBookResponse
where