{-# 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.CreateTrafficPolicyVersion
(
CreateTrafficPolicyVersion (..),
newCreateTrafficPolicyVersion,
createTrafficPolicyVersion_comment,
createTrafficPolicyVersion_id,
createTrafficPolicyVersion_document,
CreateTrafficPolicyVersionResponse (..),
newCreateTrafficPolicyVersionResponse,
createTrafficPolicyVersionResponse_httpStatus,
createTrafficPolicyVersionResponse_trafficPolicy,
createTrafficPolicyVersionResponse_location,
)
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 CreateTrafficPolicyVersion = CreateTrafficPolicyVersion'
{
:: Prelude.Maybe Prelude.Text,
CreateTrafficPolicyVersion -> Text
id :: Prelude.Text,
CreateTrafficPolicyVersion -> Text
document :: Prelude.Text
}
deriving (CreateTrafficPolicyVersion -> CreateTrafficPolicyVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateTrafficPolicyVersion -> CreateTrafficPolicyVersion -> Bool
$c/= :: CreateTrafficPolicyVersion -> CreateTrafficPolicyVersion -> Bool
== :: CreateTrafficPolicyVersion -> CreateTrafficPolicyVersion -> Bool
$c== :: CreateTrafficPolicyVersion -> CreateTrafficPolicyVersion -> Bool
Prelude.Eq, ReadPrec [CreateTrafficPolicyVersion]
ReadPrec CreateTrafficPolicyVersion
Int -> ReadS CreateTrafficPolicyVersion
ReadS [CreateTrafficPolicyVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateTrafficPolicyVersion]
$creadListPrec :: ReadPrec [CreateTrafficPolicyVersion]
readPrec :: ReadPrec CreateTrafficPolicyVersion
$creadPrec :: ReadPrec CreateTrafficPolicyVersion
readList :: ReadS [CreateTrafficPolicyVersion]
$creadList :: ReadS [CreateTrafficPolicyVersion]
readsPrec :: Int -> ReadS CreateTrafficPolicyVersion
$creadsPrec :: Int -> ReadS CreateTrafficPolicyVersion
Prelude.Read, Int -> CreateTrafficPolicyVersion -> ShowS
[CreateTrafficPolicyVersion] -> ShowS
CreateTrafficPolicyVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateTrafficPolicyVersion] -> ShowS
$cshowList :: [CreateTrafficPolicyVersion] -> ShowS
show :: CreateTrafficPolicyVersion -> String
$cshow :: CreateTrafficPolicyVersion -> String
showsPrec :: Int -> CreateTrafficPolicyVersion -> ShowS
$cshowsPrec :: Int -> CreateTrafficPolicyVersion -> ShowS
Prelude.Show, forall x.
Rep CreateTrafficPolicyVersion x -> CreateTrafficPolicyVersion
forall x.
CreateTrafficPolicyVersion -> Rep CreateTrafficPolicyVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateTrafficPolicyVersion x -> CreateTrafficPolicyVersion
$cfrom :: forall x.
CreateTrafficPolicyVersion -> Rep CreateTrafficPolicyVersion x
Prelude.Generic)
newCreateTrafficPolicyVersion ::
Prelude.Text ->
Prelude.Text ->
CreateTrafficPolicyVersion
newCreateTrafficPolicyVersion :: Text -> Text -> CreateTrafficPolicyVersion
newCreateTrafficPolicyVersion Text
pId_ Text
pDocument_ =
CreateTrafficPolicyVersion'
{ $sel:comment:CreateTrafficPolicyVersion' :: Maybe Text
comment =
forall a. Maybe a
Prelude.Nothing,
$sel:id:CreateTrafficPolicyVersion' :: Text
id = Text
pId_,
$sel:document:CreateTrafficPolicyVersion' :: Text
document = Text
pDocument_
}
createTrafficPolicyVersion_comment :: Lens.Lens' CreateTrafficPolicyVersion (Prelude.Maybe Prelude.Text)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersion' {Maybe Text
comment :: Maybe Text
$sel:comment:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Maybe Text
comment} -> Maybe Text
comment) (\s :: CreateTrafficPolicyVersion
s@CreateTrafficPolicyVersion' {} Maybe Text
a -> CreateTrafficPolicyVersion
s {$sel:comment:CreateTrafficPolicyVersion' :: Maybe Text
comment = Maybe Text
a} :: CreateTrafficPolicyVersion)
createTrafficPolicyVersion_id :: Lens.Lens' CreateTrafficPolicyVersion Prelude.Text
createTrafficPolicyVersion_id :: Lens' CreateTrafficPolicyVersion Text
createTrafficPolicyVersion_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersion' {Text
id :: Text
$sel:id:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
id} -> Text
id) (\s :: CreateTrafficPolicyVersion
s@CreateTrafficPolicyVersion' {} Text
a -> CreateTrafficPolicyVersion
s {$sel:id:CreateTrafficPolicyVersion' :: Text
id = Text
a} :: CreateTrafficPolicyVersion)
createTrafficPolicyVersion_document :: Lens.Lens' CreateTrafficPolicyVersion Prelude.Text
createTrafficPolicyVersion_document :: Lens' CreateTrafficPolicyVersion Text
createTrafficPolicyVersion_document = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersion' {Text
document :: Text
$sel:document:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
document} -> Text
document) (\s :: CreateTrafficPolicyVersion
s@CreateTrafficPolicyVersion' {} Text
a -> CreateTrafficPolicyVersion
s {$sel:document:CreateTrafficPolicyVersion' :: Text
document = Text
a} :: CreateTrafficPolicyVersion)
instance Core.AWSRequest CreateTrafficPolicyVersion where
type
AWSResponse CreateTrafficPolicyVersion =
CreateTrafficPolicyVersionResponse
request :: (Service -> Service)
-> CreateTrafficPolicyVersion -> Request CreateTrafficPolicyVersion
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 CreateTrafficPolicyVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateTrafficPolicyVersion)))
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 -> Text -> CreateTrafficPolicyVersionResponse
CreateTrafficPolicyVersionResponse'
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")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String a
Data..# HeaderName
"Location")
)
instance Prelude.Hashable CreateTrafficPolicyVersion where
hashWithSalt :: Int -> CreateTrafficPolicyVersion -> Int
hashWithSalt Int
_salt CreateTrafficPolicyVersion' {Maybe Text
Text
document :: Text
id :: Text
comment :: Maybe Text
$sel:document:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:id:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:comment:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
comment
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
document
instance Prelude.NFData CreateTrafficPolicyVersion where
rnf :: CreateTrafficPolicyVersion -> ()
rnf CreateTrafficPolicyVersion' {Maybe Text
Text
document :: Text
id :: Text
comment :: Maybe Text
$sel:document:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:id:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:comment:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
comment
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
document
instance Data.ToElement CreateTrafficPolicyVersion where
toElement :: CreateTrafficPolicyVersion -> Element
toElement =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{https://route53.amazonaws.com/doc/2013-04-01/}CreateTrafficPolicyVersionRequest"
instance Data.ToHeaders CreateTrafficPolicyVersion where
toHeaders :: CreateTrafficPolicyVersion -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateTrafficPolicyVersion where
toPath :: CreateTrafficPolicyVersion -> ByteString
toPath CreateTrafficPolicyVersion' {Maybe Text
Text
document :: Text
id :: Text
comment :: Maybe Text
$sel:document:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:id:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:comment:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/2013-04-01/trafficpolicy/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id]
instance Data.ToQuery CreateTrafficPolicyVersion where
toQuery :: CreateTrafficPolicyVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToXML CreateTrafficPolicyVersion where
toXML :: CreateTrafficPolicyVersion -> XML
toXML CreateTrafficPolicyVersion' {Maybe Text
Text
document :: Text
id :: Text
comment :: Maybe Text
$sel:document:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:id:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Text
$sel:comment:CreateTrafficPolicyVersion' :: CreateTrafficPolicyVersion -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ Name
"Comment" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Text
comment,
Name
"Document" forall a. ToXML a => Name -> a -> XML
Data.@= Text
document
]
data CreateTrafficPolicyVersionResponse = CreateTrafficPolicyVersionResponse'
{
CreateTrafficPolicyVersionResponse -> Int
httpStatus :: Prelude.Int,
CreateTrafficPolicyVersionResponse -> TrafficPolicy
trafficPolicy :: TrafficPolicy,
CreateTrafficPolicyVersionResponse -> Text
location :: Prelude.Text
}
deriving (CreateTrafficPolicyVersionResponse
-> CreateTrafficPolicyVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateTrafficPolicyVersionResponse
-> CreateTrafficPolicyVersionResponse -> Bool
$c/= :: CreateTrafficPolicyVersionResponse
-> CreateTrafficPolicyVersionResponse -> Bool
== :: CreateTrafficPolicyVersionResponse
-> CreateTrafficPolicyVersionResponse -> Bool
$c== :: CreateTrafficPolicyVersionResponse
-> CreateTrafficPolicyVersionResponse -> Bool
Prelude.Eq, ReadPrec [CreateTrafficPolicyVersionResponse]
ReadPrec CreateTrafficPolicyVersionResponse
Int -> ReadS CreateTrafficPolicyVersionResponse
ReadS [CreateTrafficPolicyVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateTrafficPolicyVersionResponse]
$creadListPrec :: ReadPrec [CreateTrafficPolicyVersionResponse]
readPrec :: ReadPrec CreateTrafficPolicyVersionResponse
$creadPrec :: ReadPrec CreateTrafficPolicyVersionResponse
readList :: ReadS [CreateTrafficPolicyVersionResponse]
$creadList :: ReadS [CreateTrafficPolicyVersionResponse]
readsPrec :: Int -> ReadS CreateTrafficPolicyVersionResponse
$creadsPrec :: Int -> ReadS CreateTrafficPolicyVersionResponse
Prelude.Read, Int -> CreateTrafficPolicyVersionResponse -> ShowS
[CreateTrafficPolicyVersionResponse] -> ShowS
CreateTrafficPolicyVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateTrafficPolicyVersionResponse] -> ShowS
$cshowList :: [CreateTrafficPolicyVersionResponse] -> ShowS
show :: CreateTrafficPolicyVersionResponse -> String
$cshow :: CreateTrafficPolicyVersionResponse -> String
showsPrec :: Int -> CreateTrafficPolicyVersionResponse -> ShowS
$cshowsPrec :: Int -> CreateTrafficPolicyVersionResponse -> ShowS
Prelude.Show, forall x.
Rep CreateTrafficPolicyVersionResponse x
-> CreateTrafficPolicyVersionResponse
forall x.
CreateTrafficPolicyVersionResponse
-> Rep CreateTrafficPolicyVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateTrafficPolicyVersionResponse x
-> CreateTrafficPolicyVersionResponse
$cfrom :: forall x.
CreateTrafficPolicyVersionResponse
-> Rep CreateTrafficPolicyVersionResponse x
Prelude.Generic)
newCreateTrafficPolicyVersionResponse ::
Prelude.Int ->
TrafficPolicy ->
Prelude.Text ->
CreateTrafficPolicyVersionResponse
newCreateTrafficPolicyVersionResponse :: Int -> TrafficPolicy -> Text -> CreateTrafficPolicyVersionResponse
newCreateTrafficPolicyVersionResponse
Int
pHttpStatus_
TrafficPolicy
pTrafficPolicy_
Text
pLocation_ =
CreateTrafficPolicyVersionResponse'
{ $sel:httpStatus:CreateTrafficPolicyVersionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:trafficPolicy:CreateTrafficPolicyVersionResponse' :: TrafficPolicy
trafficPolicy = TrafficPolicy
pTrafficPolicy_,
$sel:location:CreateTrafficPolicyVersionResponse' :: Text
location = Text
pLocation_
}
createTrafficPolicyVersionResponse_httpStatus :: Lens.Lens' CreateTrafficPolicyVersionResponse Prelude.Int
createTrafficPolicyVersionResponse_httpStatus :: Lens' CreateTrafficPolicyVersionResponse Int
createTrafficPolicyVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateTrafficPolicyVersionResponse
s@CreateTrafficPolicyVersionResponse' {} Int
a -> CreateTrafficPolicyVersionResponse
s {$sel:httpStatus:CreateTrafficPolicyVersionResponse' :: Int
httpStatus = Int
a} :: CreateTrafficPolicyVersionResponse)
createTrafficPolicyVersionResponse_trafficPolicy :: Lens.Lens' CreateTrafficPolicyVersionResponse TrafficPolicy
createTrafficPolicyVersionResponse_trafficPolicy :: Lens' CreateTrafficPolicyVersionResponse TrafficPolicy
createTrafficPolicyVersionResponse_trafficPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersionResponse' {TrafficPolicy
trafficPolicy :: TrafficPolicy
$sel:trafficPolicy:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> TrafficPolicy
trafficPolicy} -> TrafficPolicy
trafficPolicy) (\s :: CreateTrafficPolicyVersionResponse
s@CreateTrafficPolicyVersionResponse' {} TrafficPolicy
a -> CreateTrafficPolicyVersionResponse
s {$sel:trafficPolicy:CreateTrafficPolicyVersionResponse' :: TrafficPolicy
trafficPolicy = TrafficPolicy
a} :: CreateTrafficPolicyVersionResponse)
createTrafficPolicyVersionResponse_location :: Lens.Lens' CreateTrafficPolicyVersionResponse Prelude.Text
createTrafficPolicyVersionResponse_location :: Lens' CreateTrafficPolicyVersionResponse Text
createTrafficPolicyVersionResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTrafficPolicyVersionResponse' {Text
location :: Text
$sel:location:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> Text
location} -> Text
location) (\s :: CreateTrafficPolicyVersionResponse
s@CreateTrafficPolicyVersionResponse' {} Text
a -> CreateTrafficPolicyVersionResponse
s {$sel:location:CreateTrafficPolicyVersionResponse' :: Text
location = Text
a} :: CreateTrafficPolicyVersionResponse)
instance
Prelude.NFData
CreateTrafficPolicyVersionResponse
where
rnf :: CreateTrafficPolicyVersionResponse -> ()
rnf CreateTrafficPolicyVersionResponse' {Int
Text
TrafficPolicy
location :: Text
trafficPolicy :: TrafficPolicy
httpStatus :: Int
$sel:location:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> Text
$sel:trafficPolicy:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> TrafficPolicy
$sel:httpStatus:CreateTrafficPolicyVersionResponse' :: CreateTrafficPolicyVersionResponse -> 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
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
location