{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Route53.UpdateTrafficPolicyInstance
(
UpdateTrafficPolicyInstance (..),
newUpdateTrafficPolicyInstance,
updateTrafficPolicyInstance_id,
updateTrafficPolicyInstance_ttl,
updateTrafficPolicyInstance_trafficPolicyId,
updateTrafficPolicyInstance_trafficPolicyVersion,
UpdateTrafficPolicyInstanceResponse (..),
newUpdateTrafficPolicyInstanceResponse,
updateTrafficPolicyInstanceResponse_httpStatus,
updateTrafficPolicyInstanceResponse_trafficPolicyInstance,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Route53.Types
data UpdateTrafficPolicyInstance = UpdateTrafficPolicyInstance'
{
UpdateTrafficPolicyInstance -> Text
id :: Prelude.Text,
UpdateTrafficPolicyInstance -> Natural
ttl :: Prelude.Natural,
UpdateTrafficPolicyInstance -> Text
trafficPolicyId :: Prelude.Text,
UpdateTrafficPolicyInstance -> Natural
trafficPolicyVersion :: Prelude.Natural
}
deriving (UpdateTrafficPolicyInstance -> UpdateTrafficPolicyInstance -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateTrafficPolicyInstance -> UpdateTrafficPolicyInstance -> Bool
$c/= :: UpdateTrafficPolicyInstance -> UpdateTrafficPolicyInstance -> Bool
== :: UpdateTrafficPolicyInstance -> UpdateTrafficPolicyInstance -> Bool
$c== :: UpdateTrafficPolicyInstance -> UpdateTrafficPolicyInstance -> Bool
Prelude.Eq, ReadPrec [UpdateTrafficPolicyInstance]
ReadPrec UpdateTrafficPolicyInstance
Int -> ReadS UpdateTrafficPolicyInstance
ReadS [UpdateTrafficPolicyInstance]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateTrafficPolicyInstance]
$creadListPrec :: ReadPrec [UpdateTrafficPolicyInstance]
readPrec :: ReadPrec UpdateTrafficPolicyInstance
$creadPrec :: ReadPrec UpdateTrafficPolicyInstance
readList :: ReadS [UpdateTrafficPolicyInstance]
$creadList :: ReadS [UpdateTrafficPolicyInstance]
readsPrec :: Int -> ReadS UpdateTrafficPolicyInstance
$creadsPrec :: Int -> ReadS UpdateTrafficPolicyInstance
Prelude.Read, Int -> UpdateTrafficPolicyInstance -> ShowS
[UpdateTrafficPolicyInstance] -> ShowS
UpdateTrafficPolicyInstance -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateTrafficPolicyInstance] -> ShowS
$cshowList :: [UpdateTrafficPolicyInstance] -> ShowS
show :: UpdateTrafficPolicyInstance -> String
$cshow :: UpdateTrafficPolicyInstance -> String
showsPrec :: Int -> UpdateTrafficPolicyInstance -> ShowS
$cshowsPrec :: Int -> UpdateTrafficPolicyInstance -> ShowS
Prelude.Show, forall x.
Rep UpdateTrafficPolicyInstance x -> UpdateTrafficPolicyInstance
forall x.
UpdateTrafficPolicyInstance -> Rep UpdateTrafficPolicyInstance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateTrafficPolicyInstance x -> UpdateTrafficPolicyInstance
$cfrom :: forall x.
UpdateTrafficPolicyInstance -> Rep UpdateTrafficPolicyInstance x
Prelude.Generic)
newUpdateTrafficPolicyInstance ::
Prelude.Text ->
Prelude.Natural ->
Prelude.Text ->
Prelude.Natural ->
UpdateTrafficPolicyInstance
newUpdateTrafficPolicyInstance :: Text -> Natural -> Text -> Natural -> UpdateTrafficPolicyInstance
newUpdateTrafficPolicyInstance
Text
pId_
Natural
pTTL_
Text
pTrafficPolicyId_
Natural
pTrafficPolicyVersion_ =
UpdateTrafficPolicyInstance'
{ $sel:id:UpdateTrafficPolicyInstance' :: Text
id = Text
pId_,
$sel:ttl:UpdateTrafficPolicyInstance' :: Natural
ttl = Natural
pTTL_,
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: Text
trafficPolicyId = Text
pTrafficPolicyId_,
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: Natural
trafficPolicyVersion = Natural
pTrafficPolicyVersion_
}
updateTrafficPolicyInstance_id :: Lens.Lens' UpdateTrafficPolicyInstance Prelude.Text
updateTrafficPolicyInstance_id :: Lens' UpdateTrafficPolicyInstance Text
updateTrafficPolicyInstance_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstance' {Text
id :: Text
$sel:id:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
id} -> Text
id) (\s :: UpdateTrafficPolicyInstance
s@UpdateTrafficPolicyInstance' {} Text
a -> UpdateTrafficPolicyInstance
s {$sel:id:UpdateTrafficPolicyInstance' :: Text
id = Text
a} :: UpdateTrafficPolicyInstance)
updateTrafficPolicyInstance_ttl :: Lens.Lens' UpdateTrafficPolicyInstance Prelude.Natural
updateTrafficPolicyInstance_ttl :: Lens' UpdateTrafficPolicyInstance Natural
updateTrafficPolicyInstance_ttl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstance' {Natural
ttl :: Natural
$sel:ttl:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
ttl} -> Natural
ttl) (\s :: UpdateTrafficPolicyInstance
s@UpdateTrafficPolicyInstance' {} Natural
a -> UpdateTrafficPolicyInstance
s {$sel:ttl:UpdateTrafficPolicyInstance' :: Natural
ttl = Natural
a} :: UpdateTrafficPolicyInstance)
updateTrafficPolicyInstance_trafficPolicyId :: Lens.Lens' UpdateTrafficPolicyInstance Prelude.Text
updateTrafficPolicyInstance_trafficPolicyId :: Lens' UpdateTrafficPolicyInstance Text
updateTrafficPolicyInstance_trafficPolicyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstance' {Text
trafficPolicyId :: Text
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
trafficPolicyId} -> Text
trafficPolicyId) (\s :: UpdateTrafficPolicyInstance
s@UpdateTrafficPolicyInstance' {} Text
a -> UpdateTrafficPolicyInstance
s {$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: Text
trafficPolicyId = Text
a} :: UpdateTrafficPolicyInstance)
updateTrafficPolicyInstance_trafficPolicyVersion :: Lens.Lens' UpdateTrafficPolicyInstance Prelude.Natural
updateTrafficPolicyInstance_trafficPolicyVersion :: Lens' UpdateTrafficPolicyInstance Natural
updateTrafficPolicyInstance_trafficPolicyVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstance' {Natural
trafficPolicyVersion :: Natural
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
trafficPolicyVersion} -> Natural
trafficPolicyVersion) (\s :: UpdateTrafficPolicyInstance
s@UpdateTrafficPolicyInstance' {} Natural
a -> UpdateTrafficPolicyInstance
s {$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: Natural
trafficPolicyVersion = Natural
a} :: UpdateTrafficPolicyInstance)
instance Core.AWSRequest UpdateTrafficPolicyInstance where
type
AWSResponse UpdateTrafficPolicyInstance =
UpdateTrafficPolicyInstanceResponse
request :: (Service -> Service)
-> UpdateTrafficPolicyInstance
-> Request UpdateTrafficPolicyInstance
request Service -> Service
overrides =
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateTrafficPolicyInstance
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateTrafficPolicyInstance)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> TrafficPolicyInstance -> UpdateTrafficPolicyInstanceResponse
UpdateTrafficPolicyInstanceResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"TrafficPolicyInstance")
)
instance Prelude.Hashable UpdateTrafficPolicyInstance where
hashWithSalt :: Int -> UpdateTrafficPolicyInstance -> Int
hashWithSalt Int
_salt UpdateTrafficPolicyInstance' {Natural
Text
trafficPolicyVersion :: Natural
trafficPolicyId :: Text
ttl :: Natural
id :: Text
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
$sel:ttl:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:id:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
ttl
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
trafficPolicyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
trafficPolicyVersion
instance Prelude.NFData UpdateTrafficPolicyInstance where
rnf :: UpdateTrafficPolicyInstance -> ()
rnf UpdateTrafficPolicyInstance' {Natural
Text
trafficPolicyVersion :: Natural
trafficPolicyId :: Text
ttl :: Natural
id :: Text
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
$sel:ttl:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:id:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
ttl
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
trafficPolicyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
trafficPolicyVersion
instance Data.ToElement UpdateTrafficPolicyInstance where
toElement :: UpdateTrafficPolicyInstance -> Element
toElement =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{https://route53.amazonaws.com/doc/2013-04-01/}UpdateTrafficPolicyInstanceRequest"
instance Data.ToHeaders UpdateTrafficPolicyInstance where
toHeaders :: UpdateTrafficPolicyInstance -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath UpdateTrafficPolicyInstance where
toPath :: UpdateTrafficPolicyInstance -> ByteString
toPath UpdateTrafficPolicyInstance' {Natural
Text
trafficPolicyVersion :: Natural
trafficPolicyId :: Text
ttl :: Natural
id :: Text
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
$sel:ttl:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:id:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/2013-04-01/trafficpolicyinstance/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id]
instance Data.ToQuery UpdateTrafficPolicyInstance where
toQuery :: UpdateTrafficPolicyInstance -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToXML UpdateTrafficPolicyInstance where
toXML :: UpdateTrafficPolicyInstance -> XML
toXML UpdateTrafficPolicyInstance' {Natural
Text
trafficPolicyVersion :: Natural
trafficPolicyId :: Text
ttl :: Natural
id :: Text
$sel:trafficPolicyVersion:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:trafficPolicyId:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
$sel:ttl:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Natural
$sel:id:UpdateTrafficPolicyInstance' :: UpdateTrafficPolicyInstance -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ Name
"TTL" forall a. ToXML a => Name -> a -> XML
Data.@= Natural
ttl,
Name
"TrafficPolicyId" forall a. ToXML a => Name -> a -> XML
Data.@= Text
trafficPolicyId,
Name
"TrafficPolicyVersion" forall a. ToXML a => Name -> a -> XML
Data.@= Natural
trafficPolicyVersion
]
data UpdateTrafficPolicyInstanceResponse = UpdateTrafficPolicyInstanceResponse'
{
UpdateTrafficPolicyInstanceResponse -> Int
httpStatus :: Prelude.Int,
UpdateTrafficPolicyInstanceResponse -> TrafficPolicyInstance
trafficPolicyInstance :: TrafficPolicyInstance
}
deriving (UpdateTrafficPolicyInstanceResponse
-> UpdateTrafficPolicyInstanceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateTrafficPolicyInstanceResponse
-> UpdateTrafficPolicyInstanceResponse -> Bool
$c/= :: UpdateTrafficPolicyInstanceResponse
-> UpdateTrafficPolicyInstanceResponse -> Bool
== :: UpdateTrafficPolicyInstanceResponse
-> UpdateTrafficPolicyInstanceResponse -> Bool
$c== :: UpdateTrafficPolicyInstanceResponse
-> UpdateTrafficPolicyInstanceResponse -> Bool
Prelude.Eq, ReadPrec [UpdateTrafficPolicyInstanceResponse]
ReadPrec UpdateTrafficPolicyInstanceResponse
Int -> ReadS UpdateTrafficPolicyInstanceResponse
ReadS [UpdateTrafficPolicyInstanceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateTrafficPolicyInstanceResponse]
$creadListPrec :: ReadPrec [UpdateTrafficPolicyInstanceResponse]
readPrec :: ReadPrec UpdateTrafficPolicyInstanceResponse
$creadPrec :: ReadPrec UpdateTrafficPolicyInstanceResponse
readList :: ReadS [UpdateTrafficPolicyInstanceResponse]
$creadList :: ReadS [UpdateTrafficPolicyInstanceResponse]
readsPrec :: Int -> ReadS UpdateTrafficPolicyInstanceResponse
$creadsPrec :: Int -> ReadS UpdateTrafficPolicyInstanceResponse
Prelude.Read, Int -> UpdateTrafficPolicyInstanceResponse -> ShowS
[UpdateTrafficPolicyInstanceResponse] -> ShowS
UpdateTrafficPolicyInstanceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateTrafficPolicyInstanceResponse] -> ShowS
$cshowList :: [UpdateTrafficPolicyInstanceResponse] -> ShowS
show :: UpdateTrafficPolicyInstanceResponse -> String
$cshow :: UpdateTrafficPolicyInstanceResponse -> String
showsPrec :: Int -> UpdateTrafficPolicyInstanceResponse -> ShowS
$cshowsPrec :: Int -> UpdateTrafficPolicyInstanceResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateTrafficPolicyInstanceResponse x
-> UpdateTrafficPolicyInstanceResponse
forall x.
UpdateTrafficPolicyInstanceResponse
-> Rep UpdateTrafficPolicyInstanceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateTrafficPolicyInstanceResponse x
-> UpdateTrafficPolicyInstanceResponse
$cfrom :: forall x.
UpdateTrafficPolicyInstanceResponse
-> Rep UpdateTrafficPolicyInstanceResponse x
Prelude.Generic)
newUpdateTrafficPolicyInstanceResponse ::
Prelude.Int ->
TrafficPolicyInstance ->
UpdateTrafficPolicyInstanceResponse
newUpdateTrafficPolicyInstanceResponse :: Int -> TrafficPolicyInstance -> UpdateTrafficPolicyInstanceResponse
newUpdateTrafficPolicyInstanceResponse
Int
pHttpStatus_
TrafficPolicyInstance
pTrafficPolicyInstance_ =
UpdateTrafficPolicyInstanceResponse'
{ $sel:httpStatus:UpdateTrafficPolicyInstanceResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:trafficPolicyInstance:UpdateTrafficPolicyInstanceResponse' :: TrafficPolicyInstance
trafficPolicyInstance =
TrafficPolicyInstance
pTrafficPolicyInstance_
}
updateTrafficPolicyInstanceResponse_httpStatus :: Lens.Lens' UpdateTrafficPolicyInstanceResponse Prelude.Int
updateTrafficPolicyInstanceResponse_httpStatus :: Lens' UpdateTrafficPolicyInstanceResponse Int
updateTrafficPolicyInstanceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstanceResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateTrafficPolicyInstanceResponse' :: UpdateTrafficPolicyInstanceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateTrafficPolicyInstanceResponse
s@UpdateTrafficPolicyInstanceResponse' {} Int
a -> UpdateTrafficPolicyInstanceResponse
s {$sel:httpStatus:UpdateTrafficPolicyInstanceResponse' :: Int
httpStatus = Int
a} :: UpdateTrafficPolicyInstanceResponse)
updateTrafficPolicyInstanceResponse_trafficPolicyInstance :: Lens.Lens' UpdateTrafficPolicyInstanceResponse TrafficPolicyInstance
updateTrafficPolicyInstanceResponse_trafficPolicyInstance :: Lens' UpdateTrafficPolicyInstanceResponse TrafficPolicyInstance
updateTrafficPolicyInstanceResponse_trafficPolicyInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTrafficPolicyInstanceResponse' {TrafficPolicyInstance
trafficPolicyInstance :: TrafficPolicyInstance
$sel:trafficPolicyInstance:UpdateTrafficPolicyInstanceResponse' :: UpdateTrafficPolicyInstanceResponse -> TrafficPolicyInstance
trafficPolicyInstance} -> TrafficPolicyInstance
trafficPolicyInstance) (\s :: UpdateTrafficPolicyInstanceResponse
s@UpdateTrafficPolicyInstanceResponse' {} TrafficPolicyInstance
a -> UpdateTrafficPolicyInstanceResponse
s {$sel:trafficPolicyInstance:UpdateTrafficPolicyInstanceResponse' :: TrafficPolicyInstance
trafficPolicyInstance = TrafficPolicyInstance
a} :: UpdateTrafficPolicyInstanceResponse)
instance
Prelude.NFData
UpdateTrafficPolicyInstanceResponse
where
rnf :: UpdateTrafficPolicyInstanceResponse -> ()
rnf UpdateTrafficPolicyInstanceResponse' {Int
TrafficPolicyInstance
trafficPolicyInstance :: TrafficPolicyInstance
httpStatus :: Int
$sel:trafficPolicyInstance:UpdateTrafficPolicyInstanceResponse' :: UpdateTrafficPolicyInstanceResponse -> TrafficPolicyInstance
$sel:httpStatus:UpdateTrafficPolicyInstanceResponse' :: UpdateTrafficPolicyInstanceResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TrafficPolicyInstance
trafficPolicyInstance