module Network.AWS.CloudSearch.DeleteDomain
(
deleteDomain
, DeleteDomain
, dddDomainName
, deleteDomainResponse
, DeleteDomainResponse
, ddrsDomainStatus
, ddrsResponseStatus
) where
import Network.AWS.CloudSearch.Types
import Network.AWS.CloudSearch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteDomain = DeleteDomain'
{ _dddDomainName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteDomain
:: Text
-> DeleteDomain
deleteDomain pDomainName_ =
DeleteDomain'
{ _dddDomainName = pDomainName_
}
dddDomainName :: Lens' DeleteDomain Text
dddDomainName = lens _dddDomainName (\ s a -> s{_dddDomainName = a});
instance AWSRequest DeleteDomain where
type Rs DeleteDomain = DeleteDomainResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "DeleteDomainResult"
(\ s h x ->
DeleteDomainResponse' <$>
(x .@? "DomainStatus") <*> (pure (fromEnum s)))
instance Hashable DeleteDomain
instance NFData DeleteDomain
instance ToHeaders DeleteDomain where
toHeaders = const mempty
instance ToPath DeleteDomain where
toPath = const "/"
instance ToQuery DeleteDomain where
toQuery DeleteDomain'{..}
= mconcat
["Action" =: ("DeleteDomain" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _dddDomainName]
data DeleteDomainResponse = DeleteDomainResponse'
{ _ddrsDomainStatus :: !(Maybe DomainStatus)
, _ddrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteDomainResponse
:: Int
-> DeleteDomainResponse
deleteDomainResponse pResponseStatus_ =
DeleteDomainResponse'
{ _ddrsDomainStatus = Nothing
, _ddrsResponseStatus = pResponseStatus_
}
ddrsDomainStatus :: Lens' DeleteDomainResponse (Maybe DomainStatus)
ddrsDomainStatus = lens _ddrsDomainStatus (\ s a -> s{_ddrsDomainStatus = a});
ddrsResponseStatus :: Lens' DeleteDomainResponse Int
ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});
instance NFData DeleteDomainResponse