{-# 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.Route53.DeleteHostedZone
(
deleteHostedZone
, DeleteHostedZone
, dhzId
, deleteHostedZoneResponse
, DeleteHostedZoneResponse
, dhzrsResponseStatus
, dhzrsChangeInfo
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Route53.Types
import Network.AWS.Route53.Types.Product
newtype DeleteHostedZone = DeleteHostedZone'
{ _dhzId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteHostedZone
:: Text
-> DeleteHostedZone
deleteHostedZone pId_ =
DeleteHostedZone'
{ _dhzId = pId_
}
dhzId :: Lens' DeleteHostedZone Text
dhzId = lens _dhzId (\ s a -> s{_dhzId = a});
instance AWSRequest DeleteHostedZone where
type Rs DeleteHostedZone = DeleteHostedZoneResponse
request = delete route53
response
= receiveXML
(\ s h x ->
DeleteHostedZoneResponse' <$>
(pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
instance Hashable DeleteHostedZone
instance NFData DeleteHostedZone
instance ToHeaders DeleteHostedZone where
toHeaders = const mempty
instance ToPath DeleteHostedZone where
toPath DeleteHostedZone'{..}
= mconcat ["/2013-04-01/hostedzone/", toBS _dhzId]
instance ToQuery DeleteHostedZone where
toQuery = const mempty
data DeleteHostedZoneResponse = DeleteHostedZoneResponse'
{ _dhzrsResponseStatus :: !Int
, _dhzrsChangeInfo :: !ChangeInfo
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteHostedZoneResponse
:: Int
-> ChangeInfo
-> DeleteHostedZoneResponse
deleteHostedZoneResponse pResponseStatus_ pChangeInfo_ =
DeleteHostedZoneResponse'
{ _dhzrsResponseStatus = pResponseStatus_
, _dhzrsChangeInfo = pChangeInfo_
}
dhzrsResponseStatus :: Lens' DeleteHostedZoneResponse Int
dhzrsResponseStatus = lens _dhzrsResponseStatus (\ s a -> s{_dhzrsResponseStatus = a});
dhzrsChangeInfo :: Lens' DeleteHostedZoneResponse ChangeInfo
dhzrsChangeInfo = lens _dhzrsChangeInfo (\ s a -> s{_dhzrsChangeInfo = a});
instance NFData DeleteHostedZoneResponse