module Network.AWS.Route53.CreateTrafficPolicyVersion
(
createTrafficPolicyVersion
, CreateTrafficPolicyVersion
, ctpvComment
, ctpvId
, ctpvDocument
, createTrafficPolicyVersionResponse
, CreateTrafficPolicyVersionResponse
, ctpvrsResponseStatus
, ctpvrsTrafficPolicy
, ctpvrsLocation
) 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
data CreateTrafficPolicyVersion = CreateTrafficPolicyVersion'
{ _ctpvComment :: !(Maybe Text)
, _ctpvId :: !Text
, _ctpvDocument :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createTrafficPolicyVersion
:: Text
-> Text
-> CreateTrafficPolicyVersion
createTrafficPolicyVersion pId_ pDocument_ =
CreateTrafficPolicyVersion'
{ _ctpvComment = Nothing
, _ctpvId = pId_
, _ctpvDocument = pDocument_
}
ctpvComment :: Lens' CreateTrafficPolicyVersion (Maybe Text)
ctpvComment = lens _ctpvComment (\ s a -> s{_ctpvComment = a});
ctpvId :: Lens' CreateTrafficPolicyVersion Text
ctpvId = lens _ctpvId (\ s a -> s{_ctpvId = a});
ctpvDocument :: Lens' CreateTrafficPolicyVersion Text
ctpvDocument = lens _ctpvDocument (\ s a -> s{_ctpvDocument = a});
instance AWSRequest CreateTrafficPolicyVersion where
type Rs CreateTrafficPolicyVersion =
CreateTrafficPolicyVersionResponse
request = postXML route53
response
= receiveXML
(\ s h x ->
CreateTrafficPolicyVersionResponse' <$>
(pure (fromEnum s)) <*> (x .@ "TrafficPolicy") <*>
(h .# "Location"))
instance Hashable CreateTrafficPolicyVersion
instance NFData CreateTrafficPolicyVersion
instance ToElement CreateTrafficPolicyVersion where
toElement
= mkElement
"{https://route53.amazonaws.com/doc/2013-04-01/}CreateTrafficPolicyVersionRequest"
instance ToHeaders CreateTrafficPolicyVersion where
toHeaders = const mempty
instance ToPath CreateTrafficPolicyVersion where
toPath CreateTrafficPolicyVersion'{..}
= mconcat
["/2013-04-01/trafficpolicy/", toBS _ctpvId]
instance ToQuery CreateTrafficPolicyVersion where
toQuery = const mempty
instance ToXML CreateTrafficPolicyVersion where
toXML CreateTrafficPolicyVersion'{..}
= mconcat
["Comment" @= _ctpvComment,
"Document" @= _ctpvDocument]
data CreateTrafficPolicyVersionResponse = CreateTrafficPolicyVersionResponse'
{ _ctpvrsResponseStatus :: !Int
, _ctpvrsTrafficPolicy :: !TrafficPolicy
, _ctpvrsLocation :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createTrafficPolicyVersionResponse
:: Int
-> TrafficPolicy
-> Text
-> CreateTrafficPolicyVersionResponse
createTrafficPolicyVersionResponse pResponseStatus_ pTrafficPolicy_ pLocation_ =
CreateTrafficPolicyVersionResponse'
{ _ctpvrsResponseStatus = pResponseStatus_
, _ctpvrsTrafficPolicy = pTrafficPolicy_
, _ctpvrsLocation = pLocation_
}
ctpvrsResponseStatus :: Lens' CreateTrafficPolicyVersionResponse Int
ctpvrsResponseStatus = lens _ctpvrsResponseStatus (\ s a -> s{_ctpvrsResponseStatus = a});
ctpvrsTrafficPolicy :: Lens' CreateTrafficPolicyVersionResponse TrafficPolicy
ctpvrsTrafficPolicy = lens _ctpvrsTrafficPolicy (\ s a -> s{_ctpvrsTrafficPolicy = a});
ctpvrsLocation :: Lens' CreateTrafficPolicyVersionResponse Text
ctpvrsLocation = lens _ctpvrsLocation (\ s a -> s{_ctpvrsLocation = a});
instance NFData CreateTrafficPolicyVersionResponse