{-# 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.GetTrafficPolicy
(
GetTrafficPolicy (..),
newGetTrafficPolicy,
getTrafficPolicy_id,
getTrafficPolicy_version,
GetTrafficPolicyResponse (..),
newGetTrafficPolicyResponse,
getTrafficPolicyResponse_httpStatus,
getTrafficPolicyResponse_trafficPolicy,
)
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 GetTrafficPolicy = GetTrafficPolicy'
{
GetTrafficPolicy -> Text
id :: Prelude.Text,
GetTrafficPolicy -> Natural
version :: Prelude.Natural
}
deriving (GetTrafficPolicy -> GetTrafficPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetTrafficPolicy -> GetTrafficPolicy -> Bool
$c/= :: GetTrafficPolicy -> GetTrafficPolicy -> Bool
== :: GetTrafficPolicy -> GetTrafficPolicy -> Bool
$c== :: GetTrafficPolicy -> GetTrafficPolicy -> Bool
Prelude.Eq, ReadPrec [GetTrafficPolicy]
ReadPrec GetTrafficPolicy
Int -> ReadS GetTrafficPolicy
ReadS [GetTrafficPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetTrafficPolicy]
$creadListPrec :: ReadPrec [GetTrafficPolicy]
readPrec :: ReadPrec GetTrafficPolicy
$creadPrec :: ReadPrec GetTrafficPolicy
readList :: ReadS [GetTrafficPolicy]
$creadList :: ReadS [GetTrafficPolicy]
readsPrec :: Int -> ReadS GetTrafficPolicy
$creadsPrec :: Int -> ReadS GetTrafficPolicy
Prelude.Read, Int -> GetTrafficPolicy -> ShowS
[GetTrafficPolicy] -> ShowS
GetTrafficPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetTrafficPolicy] -> ShowS
$cshowList :: [GetTrafficPolicy] -> ShowS
show :: GetTrafficPolicy -> String
$cshow :: GetTrafficPolicy -> String
showsPrec :: Int -> GetTrafficPolicy -> ShowS
$cshowsPrec :: Int -> GetTrafficPolicy -> ShowS
Prelude.Show, forall x. Rep GetTrafficPolicy x -> GetTrafficPolicy
forall x. GetTrafficPolicy -> Rep GetTrafficPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetTrafficPolicy x -> GetTrafficPolicy
$cfrom :: forall x. GetTrafficPolicy -> Rep GetTrafficPolicy x
Prelude.Generic)
newGetTrafficPolicy ::
Prelude.Text ->
Prelude.Natural ->
GetTrafficPolicy
newGetTrafficPolicy :: Text -> Natural -> GetTrafficPolicy
newGetTrafficPolicy Text
pId_ Natural
pVersion_ =
GetTrafficPolicy' {$sel:id:GetTrafficPolicy' :: Text
id = Text
pId_, $sel:version:GetTrafficPolicy' :: Natural
version = Natural
pVersion_}
getTrafficPolicy_id :: Lens.Lens' GetTrafficPolicy Prelude.Text
getTrafficPolicy_id :: Lens' GetTrafficPolicy Text
getTrafficPolicy_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTrafficPolicy' {Text
id :: Text
$sel:id:GetTrafficPolicy' :: GetTrafficPolicy -> Text
id} -> Text
id) (\s :: GetTrafficPolicy
s@GetTrafficPolicy' {} Text
a -> GetTrafficPolicy
s {$sel:id:GetTrafficPolicy' :: Text
id = Text
a} :: GetTrafficPolicy)
getTrafficPolicy_version :: Lens.Lens' GetTrafficPolicy Prelude.Natural
getTrafficPolicy_version :: Lens' GetTrafficPolicy Natural
getTrafficPolicy_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTrafficPolicy' {Natural
version :: Natural
$sel:version:GetTrafficPolicy' :: GetTrafficPolicy -> Natural
version} -> Natural
version) (\s :: GetTrafficPolicy
s@GetTrafficPolicy' {} Natural
a -> GetTrafficPolicy
s {$sel:version:GetTrafficPolicy' :: Natural
version = Natural
a} :: GetTrafficPolicy)
instance Core.AWSRequest GetTrafficPolicy where
type
AWSResponse GetTrafficPolicy =
GetTrafficPolicyResponse
request :: (Service -> Service)
-> GetTrafficPolicy -> Request GetTrafficPolicy
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetTrafficPolicy
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetTrafficPolicy)))
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 -> TrafficPolicy -> GetTrafficPolicyResponse
GetTrafficPolicyResponse'
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
"TrafficPolicy")
)
instance Prelude.Hashable GetTrafficPolicy where
hashWithSalt :: Int -> GetTrafficPolicy -> Int
hashWithSalt Int
_salt GetTrafficPolicy' {Natural
Text
version :: Natural
id :: Text
$sel:version:GetTrafficPolicy' :: GetTrafficPolicy -> Natural
$sel:id:GetTrafficPolicy' :: GetTrafficPolicy -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
version
instance Prelude.NFData GetTrafficPolicy where
rnf :: GetTrafficPolicy -> ()
rnf GetTrafficPolicy' {Natural
Text
version :: Natural
id :: Text
$sel:version:GetTrafficPolicy' :: GetTrafficPolicy -> Natural
$sel:id:GetTrafficPolicy' :: GetTrafficPolicy -> 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
version
instance Data.ToHeaders GetTrafficPolicy where
toHeaders :: GetTrafficPolicy -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath GetTrafficPolicy where
toPath :: GetTrafficPolicy -> ByteString
toPath GetTrafficPolicy' {Natural
Text
version :: Natural
id :: Text
$sel:version:GetTrafficPolicy' :: GetTrafficPolicy -> Natural
$sel:id:GetTrafficPolicy' :: GetTrafficPolicy -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2013-04-01/trafficpolicy/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Natural
version
]
instance Data.ToQuery GetTrafficPolicy where
toQuery :: GetTrafficPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetTrafficPolicyResponse = GetTrafficPolicyResponse'
{
GetTrafficPolicyResponse -> Int
httpStatus :: Prelude.Int,
GetTrafficPolicyResponse -> TrafficPolicy
trafficPolicy :: TrafficPolicy
}
deriving (GetTrafficPolicyResponse -> GetTrafficPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetTrafficPolicyResponse -> GetTrafficPolicyResponse -> Bool
$c/= :: GetTrafficPolicyResponse -> GetTrafficPolicyResponse -> Bool
== :: GetTrafficPolicyResponse -> GetTrafficPolicyResponse -> Bool
$c== :: GetTrafficPolicyResponse -> GetTrafficPolicyResponse -> Bool
Prelude.Eq, ReadPrec [GetTrafficPolicyResponse]
ReadPrec GetTrafficPolicyResponse
Int -> ReadS GetTrafficPolicyResponse
ReadS [GetTrafficPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetTrafficPolicyResponse]
$creadListPrec :: ReadPrec [GetTrafficPolicyResponse]
readPrec :: ReadPrec GetTrafficPolicyResponse
$creadPrec :: ReadPrec GetTrafficPolicyResponse
readList :: ReadS [GetTrafficPolicyResponse]
$creadList :: ReadS [GetTrafficPolicyResponse]
readsPrec :: Int -> ReadS GetTrafficPolicyResponse
$creadsPrec :: Int -> ReadS GetTrafficPolicyResponse
Prelude.Read, Int -> GetTrafficPolicyResponse -> ShowS
[GetTrafficPolicyResponse] -> ShowS
GetTrafficPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetTrafficPolicyResponse] -> ShowS
$cshowList :: [GetTrafficPolicyResponse] -> ShowS
show :: GetTrafficPolicyResponse -> String
$cshow :: GetTrafficPolicyResponse -> String
showsPrec :: Int -> GetTrafficPolicyResponse -> ShowS
$cshowsPrec :: Int -> GetTrafficPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep GetTrafficPolicyResponse x -> GetTrafficPolicyResponse
forall x.
GetTrafficPolicyResponse -> Rep GetTrafficPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetTrafficPolicyResponse x -> GetTrafficPolicyResponse
$cfrom :: forall x.
GetTrafficPolicyResponse -> Rep GetTrafficPolicyResponse x
Prelude.Generic)
newGetTrafficPolicyResponse ::
Prelude.Int ->
TrafficPolicy ->
GetTrafficPolicyResponse
newGetTrafficPolicyResponse :: Int -> TrafficPolicy -> GetTrafficPolicyResponse
newGetTrafficPolicyResponse
Int
pHttpStatus_
TrafficPolicy
pTrafficPolicy_ =
GetTrafficPolicyResponse'
{ $sel:httpStatus:GetTrafficPolicyResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:trafficPolicy:GetTrafficPolicyResponse' :: TrafficPolicy
trafficPolicy = TrafficPolicy
pTrafficPolicy_
}
getTrafficPolicyResponse_httpStatus :: Lens.Lens' GetTrafficPolicyResponse Prelude.Int
getTrafficPolicyResponse_httpStatus :: Lens' GetTrafficPolicyResponse Int
getTrafficPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTrafficPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetTrafficPolicyResponse' :: GetTrafficPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetTrafficPolicyResponse
s@GetTrafficPolicyResponse' {} Int
a -> GetTrafficPolicyResponse
s {$sel:httpStatus:GetTrafficPolicyResponse' :: Int
httpStatus = Int
a} :: GetTrafficPolicyResponse)
getTrafficPolicyResponse_trafficPolicy :: Lens.Lens' GetTrafficPolicyResponse TrafficPolicy
getTrafficPolicyResponse_trafficPolicy :: Lens' GetTrafficPolicyResponse TrafficPolicy
getTrafficPolicyResponse_trafficPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTrafficPolicyResponse' {TrafficPolicy
trafficPolicy :: TrafficPolicy
$sel:trafficPolicy:GetTrafficPolicyResponse' :: GetTrafficPolicyResponse -> TrafficPolicy
trafficPolicy} -> TrafficPolicy
trafficPolicy) (\s :: GetTrafficPolicyResponse
s@GetTrafficPolicyResponse' {} TrafficPolicy
a -> GetTrafficPolicyResponse
s {$sel:trafficPolicy:GetTrafficPolicyResponse' :: TrafficPolicy
trafficPolicy = TrafficPolicy
a} :: GetTrafficPolicyResponse)
instance Prelude.NFData GetTrafficPolicyResponse where
rnf :: GetTrafficPolicyResponse -> ()
rnf GetTrafficPolicyResponse' {Int
TrafficPolicy
trafficPolicy :: TrafficPolicy
httpStatus :: Int
$sel:trafficPolicy:GetTrafficPolicyResponse' :: GetTrafficPolicyResponse -> TrafficPolicy
$sel:httpStatus:GetTrafficPolicyResponse' :: GetTrafficPolicyResponse -> 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 TrafficPolicy
trafficPolicy