{-# 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.Route53Resolver.UpdateResolverEndpoint
(
UpdateResolverEndpoint (..),
newUpdateResolverEndpoint,
updateResolverEndpoint_name,
updateResolverEndpoint_resolverEndpointId,
UpdateResolverEndpointResponse (..),
newUpdateResolverEndpointResponse,
updateResolverEndpointResponse_resolverEndpoint,
updateResolverEndpointResponse_httpStatus,
)
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.Route53Resolver.Types
data UpdateResolverEndpoint = UpdateResolverEndpoint'
{
UpdateResolverEndpoint -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateResolverEndpoint -> Text
resolverEndpointId :: Prelude.Text
}
deriving (UpdateResolverEndpoint -> UpdateResolverEndpoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResolverEndpoint -> UpdateResolverEndpoint -> Bool
$c/= :: UpdateResolverEndpoint -> UpdateResolverEndpoint -> Bool
== :: UpdateResolverEndpoint -> UpdateResolverEndpoint -> Bool
$c== :: UpdateResolverEndpoint -> UpdateResolverEndpoint -> Bool
Prelude.Eq, ReadPrec [UpdateResolverEndpoint]
ReadPrec UpdateResolverEndpoint
Int -> ReadS UpdateResolverEndpoint
ReadS [UpdateResolverEndpoint]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResolverEndpoint]
$creadListPrec :: ReadPrec [UpdateResolverEndpoint]
readPrec :: ReadPrec UpdateResolverEndpoint
$creadPrec :: ReadPrec UpdateResolverEndpoint
readList :: ReadS [UpdateResolverEndpoint]
$creadList :: ReadS [UpdateResolverEndpoint]
readsPrec :: Int -> ReadS UpdateResolverEndpoint
$creadsPrec :: Int -> ReadS UpdateResolverEndpoint
Prelude.Read, Int -> UpdateResolverEndpoint -> ShowS
[UpdateResolverEndpoint] -> ShowS
UpdateResolverEndpoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResolverEndpoint] -> ShowS
$cshowList :: [UpdateResolverEndpoint] -> ShowS
show :: UpdateResolverEndpoint -> String
$cshow :: UpdateResolverEndpoint -> String
showsPrec :: Int -> UpdateResolverEndpoint -> ShowS
$cshowsPrec :: Int -> UpdateResolverEndpoint -> ShowS
Prelude.Show, forall x. Rep UpdateResolverEndpoint x -> UpdateResolverEndpoint
forall x. UpdateResolverEndpoint -> Rep UpdateResolverEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateResolverEndpoint x -> UpdateResolverEndpoint
$cfrom :: forall x. UpdateResolverEndpoint -> Rep UpdateResolverEndpoint x
Prelude.Generic)
newUpdateResolverEndpoint ::
Prelude.Text ->
UpdateResolverEndpoint
newUpdateResolverEndpoint :: Text -> UpdateResolverEndpoint
newUpdateResolverEndpoint Text
pResolverEndpointId_ =
UpdateResolverEndpoint'
{ $sel:name:UpdateResolverEndpoint' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:resolverEndpointId:UpdateResolverEndpoint' :: Text
resolverEndpointId = Text
pResolverEndpointId_
}
updateResolverEndpoint_name :: Lens.Lens' UpdateResolverEndpoint (Prelude.Maybe Prelude.Text)
updateResolverEndpoint_name :: Lens' UpdateResolverEndpoint (Maybe Text)
updateResolverEndpoint_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverEndpoint' {Maybe Text
name :: Maybe Text
$sel:name:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateResolverEndpoint
s@UpdateResolverEndpoint' {} Maybe Text
a -> UpdateResolverEndpoint
s {$sel:name:UpdateResolverEndpoint' :: Maybe Text
name = Maybe Text
a} :: UpdateResolverEndpoint)
updateResolverEndpoint_resolverEndpointId :: Lens.Lens' UpdateResolverEndpoint Prelude.Text
updateResolverEndpoint_resolverEndpointId :: Lens' UpdateResolverEndpoint Text
updateResolverEndpoint_resolverEndpointId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverEndpoint' {Text
resolverEndpointId :: Text
$sel:resolverEndpointId:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Text
resolverEndpointId} -> Text
resolverEndpointId) (\s :: UpdateResolverEndpoint
s@UpdateResolverEndpoint' {} Text
a -> UpdateResolverEndpoint
s {$sel:resolverEndpointId:UpdateResolverEndpoint' :: Text
resolverEndpointId = Text
a} :: UpdateResolverEndpoint)
instance Core.AWSRequest UpdateResolverEndpoint where
type
AWSResponse UpdateResolverEndpoint =
UpdateResolverEndpointResponse
request :: (Service -> Service)
-> UpdateResolverEndpoint -> Request UpdateResolverEndpoint
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateResolverEndpoint
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateResolverEndpoint)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ResolverEndpoint -> Int -> UpdateResolverEndpointResponse
UpdateResolverEndpointResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ResolverEndpoint")
forall (f :: * -> *) a b. Applicative f => 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))
)
instance Prelude.Hashable UpdateResolverEndpoint where
hashWithSalt :: Int -> UpdateResolverEndpoint -> Int
hashWithSalt Int
_salt UpdateResolverEndpoint' {Maybe Text
Text
resolverEndpointId :: Text
name :: Maybe Text
$sel:resolverEndpointId:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Text
$sel:name:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resolverEndpointId
instance Prelude.NFData UpdateResolverEndpoint where
rnf :: UpdateResolverEndpoint -> ()
rnf UpdateResolverEndpoint' {Maybe Text
Text
resolverEndpointId :: Text
name :: Maybe Text
$sel:resolverEndpointId:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Text
$sel:name:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resolverEndpointId
instance Data.ToHeaders UpdateResolverEndpoint where
toHeaders :: UpdateResolverEndpoint -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Route53Resolver.UpdateResolverEndpoint" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateResolverEndpoint where
toJSON :: UpdateResolverEndpoint -> Value
toJSON UpdateResolverEndpoint' {Maybe Text
Text
resolverEndpointId :: Text
name :: Maybe Text
$sel:resolverEndpointId:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Text
$sel:name:UpdateResolverEndpoint' :: UpdateResolverEndpoint -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
forall a. a -> Maybe a
Prelude.Just
(Key
"ResolverEndpointId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resolverEndpointId)
]
)
instance Data.ToPath UpdateResolverEndpoint where
toPath :: UpdateResolverEndpoint -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateResolverEndpoint where
toQuery :: UpdateResolverEndpoint -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateResolverEndpointResponse = UpdateResolverEndpointResponse'
{
UpdateResolverEndpointResponse -> Maybe ResolverEndpoint
resolverEndpoint :: Prelude.Maybe ResolverEndpoint,
UpdateResolverEndpointResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateResolverEndpointResponse
-> UpdateResolverEndpointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResolverEndpointResponse
-> UpdateResolverEndpointResponse -> Bool
$c/= :: UpdateResolverEndpointResponse
-> UpdateResolverEndpointResponse -> Bool
== :: UpdateResolverEndpointResponse
-> UpdateResolverEndpointResponse -> Bool
$c== :: UpdateResolverEndpointResponse
-> UpdateResolverEndpointResponse -> Bool
Prelude.Eq, ReadPrec [UpdateResolverEndpointResponse]
ReadPrec UpdateResolverEndpointResponse
Int -> ReadS UpdateResolverEndpointResponse
ReadS [UpdateResolverEndpointResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResolverEndpointResponse]
$creadListPrec :: ReadPrec [UpdateResolverEndpointResponse]
readPrec :: ReadPrec UpdateResolverEndpointResponse
$creadPrec :: ReadPrec UpdateResolverEndpointResponse
readList :: ReadS [UpdateResolverEndpointResponse]
$creadList :: ReadS [UpdateResolverEndpointResponse]
readsPrec :: Int -> ReadS UpdateResolverEndpointResponse
$creadsPrec :: Int -> ReadS UpdateResolverEndpointResponse
Prelude.Read, Int -> UpdateResolverEndpointResponse -> ShowS
[UpdateResolverEndpointResponse] -> ShowS
UpdateResolverEndpointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResolverEndpointResponse] -> ShowS
$cshowList :: [UpdateResolverEndpointResponse] -> ShowS
show :: UpdateResolverEndpointResponse -> String
$cshow :: UpdateResolverEndpointResponse -> String
showsPrec :: Int -> UpdateResolverEndpointResponse -> ShowS
$cshowsPrec :: Int -> UpdateResolverEndpointResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateResolverEndpointResponse x
-> UpdateResolverEndpointResponse
forall x.
UpdateResolverEndpointResponse
-> Rep UpdateResolverEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateResolverEndpointResponse x
-> UpdateResolverEndpointResponse
$cfrom :: forall x.
UpdateResolverEndpointResponse
-> Rep UpdateResolverEndpointResponse x
Prelude.Generic)
newUpdateResolverEndpointResponse ::
Prelude.Int ->
UpdateResolverEndpointResponse
newUpdateResolverEndpointResponse :: Int -> UpdateResolverEndpointResponse
newUpdateResolverEndpointResponse Int
pHttpStatus_ =
UpdateResolverEndpointResponse'
{ $sel:resolverEndpoint:UpdateResolverEndpointResponse' :: Maybe ResolverEndpoint
resolverEndpoint =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateResolverEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateResolverEndpointResponse_resolverEndpoint :: Lens.Lens' UpdateResolverEndpointResponse (Prelude.Maybe ResolverEndpoint)
updateResolverEndpointResponse_resolverEndpoint :: Lens' UpdateResolverEndpointResponse (Maybe ResolverEndpoint)
updateResolverEndpointResponse_resolverEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverEndpointResponse' {Maybe ResolverEndpoint
resolverEndpoint :: Maybe ResolverEndpoint
$sel:resolverEndpoint:UpdateResolverEndpointResponse' :: UpdateResolverEndpointResponse -> Maybe ResolverEndpoint
resolverEndpoint} -> Maybe ResolverEndpoint
resolverEndpoint) (\s :: UpdateResolverEndpointResponse
s@UpdateResolverEndpointResponse' {} Maybe ResolverEndpoint
a -> UpdateResolverEndpointResponse
s {$sel:resolverEndpoint:UpdateResolverEndpointResponse' :: Maybe ResolverEndpoint
resolverEndpoint = Maybe ResolverEndpoint
a} :: UpdateResolverEndpointResponse)
updateResolverEndpointResponse_httpStatus :: Lens.Lens' UpdateResolverEndpointResponse Prelude.Int
updateResolverEndpointResponse_httpStatus :: Lens' UpdateResolverEndpointResponse Int
updateResolverEndpointResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateResolverEndpointResponse' :: UpdateResolverEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateResolverEndpointResponse
s@UpdateResolverEndpointResponse' {} Int
a -> UpdateResolverEndpointResponse
s {$sel:httpStatus:UpdateResolverEndpointResponse' :: Int
httpStatus = Int
a} :: UpdateResolverEndpointResponse)
instance
Prelude.NFData
UpdateResolverEndpointResponse
where
rnf :: UpdateResolverEndpointResponse -> ()
rnf UpdateResolverEndpointResponse' {Int
Maybe ResolverEndpoint
httpStatus :: Int
resolverEndpoint :: Maybe ResolverEndpoint
$sel:httpStatus:UpdateResolverEndpointResponse' :: UpdateResolverEndpointResponse -> Int
$sel:resolverEndpoint:UpdateResolverEndpointResponse' :: UpdateResolverEndpointResponse -> Maybe ResolverEndpoint
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ResolverEndpoint
resolverEndpoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus