{-# 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.GetChange
(
getChange
, GetChange
, gcId
, getChangeResponse
, GetChangeResponse
, gcrsResponseStatus
, gcrsChangeInfo
) 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 GetChange = GetChange'
{ _gcId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getChange
:: Text
-> GetChange
getChange pId_ =
GetChange'
{ _gcId = pId_
}
gcId :: Lens' GetChange Text
gcId = lens _gcId (\ s a -> s{_gcId = a});
instance AWSRequest GetChange where
type Rs GetChange = GetChangeResponse
request = get route53
response
= receiveXML
(\ s h x ->
GetChangeResponse' <$>
(pure (fromEnum s)) <*> (x .@ "ChangeInfo"))
instance Hashable GetChange
instance NFData GetChange
instance ToHeaders GetChange where
toHeaders = const mempty
instance ToPath GetChange where
toPath GetChange'{..}
= mconcat ["/2013-04-01/change/", toBS _gcId]
instance ToQuery GetChange where
toQuery = const mempty
data GetChangeResponse = GetChangeResponse'
{ _gcrsResponseStatus :: !Int
, _gcrsChangeInfo :: !ChangeInfo
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getChangeResponse
:: Int
-> ChangeInfo
-> GetChangeResponse
getChangeResponse pResponseStatus_ pChangeInfo_ =
GetChangeResponse'
{ _gcrsResponseStatus = pResponseStatus_
, _gcrsChangeInfo = pChangeInfo_
}
gcrsResponseStatus :: Lens' GetChangeResponse Int
gcrsResponseStatus = lens _gcrsResponseStatus (\ s a -> s{_gcrsResponseStatus = a});
gcrsChangeInfo :: Lens' GetChangeResponse ChangeInfo
gcrsChangeInfo = lens _gcrsChangeInfo (\ s a -> s{_gcrsChangeInfo = a});
instance NFData GetChangeResponse