{-# 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.UpdateTrafficPolicyInstance
(
updateTrafficPolicyInstance
, UpdateTrafficPolicyInstance
, utpiId
, utpiTTL
, utpiTrafficPolicyId
, utpiTrafficPolicyVersion
, updateTrafficPolicyInstanceResponse
, UpdateTrafficPolicyInstanceResponse
, utpirsResponseStatus
, utpirsTrafficPolicyInstance
) 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 UpdateTrafficPolicyInstance = UpdateTrafficPolicyInstance'
{ _utpiId :: !Text
, _utpiTTL :: !Nat
, _utpiTrafficPolicyId :: !Text
, _utpiTrafficPolicyVersion :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateTrafficPolicyInstance
:: Text
-> Natural
-> Text
-> Natural
-> UpdateTrafficPolicyInstance
updateTrafficPolicyInstance pId_ pTTL_ pTrafficPolicyId_ pTrafficPolicyVersion_ =
UpdateTrafficPolicyInstance'
{ _utpiId = pId_
, _utpiTTL = _Nat # pTTL_
, _utpiTrafficPolicyId = pTrafficPolicyId_
, _utpiTrafficPolicyVersion = _Nat # pTrafficPolicyVersion_
}
utpiId :: Lens' UpdateTrafficPolicyInstance Text
utpiId = lens _utpiId (\ s a -> s{_utpiId = a})
utpiTTL :: Lens' UpdateTrafficPolicyInstance Natural
utpiTTL = lens _utpiTTL (\ s a -> s{_utpiTTL = a}) . _Nat
utpiTrafficPolicyId :: Lens' UpdateTrafficPolicyInstance Text
utpiTrafficPolicyId = lens _utpiTrafficPolicyId (\ s a -> s{_utpiTrafficPolicyId = a})
utpiTrafficPolicyVersion :: Lens' UpdateTrafficPolicyInstance Natural
utpiTrafficPolicyVersion = lens _utpiTrafficPolicyVersion (\ s a -> s{_utpiTrafficPolicyVersion = a}) . _Nat
instance AWSRequest UpdateTrafficPolicyInstance where
type Rs UpdateTrafficPolicyInstance =
UpdateTrafficPolicyInstanceResponse
request = postXML route53
response
= receiveXML
(\ s h x ->
UpdateTrafficPolicyInstanceResponse' <$>
(pure (fromEnum s)) <*>
(x .@ "TrafficPolicyInstance"))
instance Hashable UpdateTrafficPolicyInstance where
instance NFData UpdateTrafficPolicyInstance where
instance ToElement UpdateTrafficPolicyInstance where
toElement
= mkElement
"{https://route53.amazonaws.com/doc/2013-04-01/}UpdateTrafficPolicyInstanceRequest"
instance ToHeaders UpdateTrafficPolicyInstance where
toHeaders = const mempty
instance ToPath UpdateTrafficPolicyInstance where
toPath UpdateTrafficPolicyInstance'{..}
= mconcat
["/2013-04-01/trafficpolicyinstance/", toBS _utpiId]
instance ToQuery UpdateTrafficPolicyInstance where
toQuery = const mempty
instance ToXML UpdateTrafficPolicyInstance where
toXML UpdateTrafficPolicyInstance'{..}
= mconcat
["TTL" @= _utpiTTL,
"TrafficPolicyId" @= _utpiTrafficPolicyId,
"TrafficPolicyVersion" @= _utpiTrafficPolicyVersion]
data UpdateTrafficPolicyInstanceResponse = UpdateTrafficPolicyInstanceResponse'
{ _utpirsResponseStatus :: !Int
, _utpirsTrafficPolicyInstance :: !TrafficPolicyInstance
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateTrafficPolicyInstanceResponse
:: Int
-> TrafficPolicyInstance
-> UpdateTrafficPolicyInstanceResponse
updateTrafficPolicyInstanceResponse pResponseStatus_ pTrafficPolicyInstance_ =
UpdateTrafficPolicyInstanceResponse'
{ _utpirsResponseStatus = pResponseStatus_
, _utpirsTrafficPolicyInstance = pTrafficPolicyInstance_
}
utpirsResponseStatus :: Lens' UpdateTrafficPolicyInstanceResponse Int
utpirsResponseStatus = lens _utpirsResponseStatus (\ s a -> s{_utpirsResponseStatus = a})
utpirsTrafficPolicyInstance :: Lens' UpdateTrafficPolicyInstanceResponse TrafficPolicyInstance
utpirsTrafficPolicyInstance = lens _utpirsTrafficPolicyInstance (\ s a -> s{_utpirsTrafficPolicyInstance = a})
instance NFData UpdateTrafficPolicyInstanceResponse
where