{-# 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.UpdateResolverConfig
(
UpdateResolverConfig (..),
newUpdateResolverConfig,
updateResolverConfig_resourceId,
updateResolverConfig_autodefinedReverseFlag,
UpdateResolverConfigResponse (..),
newUpdateResolverConfigResponse,
updateResolverConfigResponse_resolverConfig,
updateResolverConfigResponse_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 UpdateResolverConfig = UpdateResolverConfig'
{
UpdateResolverConfig -> Text
resourceId :: Prelude.Text,
UpdateResolverConfig -> AutodefinedReverseFlag
autodefinedReverseFlag :: AutodefinedReverseFlag
}
deriving (UpdateResolverConfig -> UpdateResolverConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResolverConfig -> UpdateResolverConfig -> Bool
$c/= :: UpdateResolverConfig -> UpdateResolverConfig -> Bool
== :: UpdateResolverConfig -> UpdateResolverConfig -> Bool
$c== :: UpdateResolverConfig -> UpdateResolverConfig -> Bool
Prelude.Eq, ReadPrec [UpdateResolverConfig]
ReadPrec UpdateResolverConfig
Int -> ReadS UpdateResolverConfig
ReadS [UpdateResolverConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResolverConfig]
$creadListPrec :: ReadPrec [UpdateResolverConfig]
readPrec :: ReadPrec UpdateResolverConfig
$creadPrec :: ReadPrec UpdateResolverConfig
readList :: ReadS [UpdateResolverConfig]
$creadList :: ReadS [UpdateResolverConfig]
readsPrec :: Int -> ReadS UpdateResolverConfig
$creadsPrec :: Int -> ReadS UpdateResolverConfig
Prelude.Read, Int -> UpdateResolverConfig -> ShowS
[UpdateResolverConfig] -> ShowS
UpdateResolverConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResolverConfig] -> ShowS
$cshowList :: [UpdateResolverConfig] -> ShowS
show :: UpdateResolverConfig -> String
$cshow :: UpdateResolverConfig -> String
showsPrec :: Int -> UpdateResolverConfig -> ShowS
$cshowsPrec :: Int -> UpdateResolverConfig -> ShowS
Prelude.Show, forall x. Rep UpdateResolverConfig x -> UpdateResolverConfig
forall x. UpdateResolverConfig -> Rep UpdateResolverConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateResolverConfig x -> UpdateResolverConfig
$cfrom :: forall x. UpdateResolverConfig -> Rep UpdateResolverConfig x
Prelude.Generic)
newUpdateResolverConfig ::
Prelude.Text ->
AutodefinedReverseFlag ->
UpdateResolverConfig
newUpdateResolverConfig :: Text -> AutodefinedReverseFlag -> UpdateResolverConfig
newUpdateResolverConfig
Text
pResourceId_
AutodefinedReverseFlag
pAutodefinedReverseFlag_ =
UpdateResolverConfig'
{ $sel:resourceId:UpdateResolverConfig' :: Text
resourceId = Text
pResourceId_,
$sel:autodefinedReverseFlag:UpdateResolverConfig' :: AutodefinedReverseFlag
autodefinedReverseFlag = AutodefinedReverseFlag
pAutodefinedReverseFlag_
}
updateResolverConfig_resourceId :: Lens.Lens' UpdateResolverConfig Prelude.Text
updateResolverConfig_resourceId :: Lens' UpdateResolverConfig Text
updateResolverConfig_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverConfig' {Text
resourceId :: Text
$sel:resourceId:UpdateResolverConfig' :: UpdateResolverConfig -> Text
resourceId} -> Text
resourceId) (\s :: UpdateResolverConfig
s@UpdateResolverConfig' {} Text
a -> UpdateResolverConfig
s {$sel:resourceId:UpdateResolverConfig' :: Text
resourceId = Text
a} :: UpdateResolverConfig)
updateResolverConfig_autodefinedReverseFlag :: Lens.Lens' UpdateResolverConfig AutodefinedReverseFlag
updateResolverConfig_autodefinedReverseFlag :: Lens' UpdateResolverConfig AutodefinedReverseFlag
updateResolverConfig_autodefinedReverseFlag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverConfig' {AutodefinedReverseFlag
autodefinedReverseFlag :: AutodefinedReverseFlag
$sel:autodefinedReverseFlag:UpdateResolverConfig' :: UpdateResolverConfig -> AutodefinedReverseFlag
autodefinedReverseFlag} -> AutodefinedReverseFlag
autodefinedReverseFlag) (\s :: UpdateResolverConfig
s@UpdateResolverConfig' {} AutodefinedReverseFlag
a -> UpdateResolverConfig
s {$sel:autodefinedReverseFlag:UpdateResolverConfig' :: AutodefinedReverseFlag
autodefinedReverseFlag = AutodefinedReverseFlag
a} :: UpdateResolverConfig)
instance Core.AWSRequest UpdateResolverConfig where
type
AWSResponse UpdateResolverConfig =
UpdateResolverConfigResponse
request :: (Service -> Service)
-> UpdateResolverConfig -> Request UpdateResolverConfig
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 UpdateResolverConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateResolverConfig)))
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 ResolverConfig -> Int -> UpdateResolverConfigResponse
UpdateResolverConfigResponse'
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
"ResolverConfig")
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 UpdateResolverConfig where
hashWithSalt :: Int -> UpdateResolverConfig -> Int
hashWithSalt Int
_salt UpdateResolverConfig' {Text
AutodefinedReverseFlag
autodefinedReverseFlag :: AutodefinedReverseFlag
resourceId :: Text
$sel:autodefinedReverseFlag:UpdateResolverConfig' :: UpdateResolverConfig -> AutodefinedReverseFlag
$sel:resourceId:UpdateResolverConfig' :: UpdateResolverConfig -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AutodefinedReverseFlag
autodefinedReverseFlag
instance Prelude.NFData UpdateResolverConfig where
rnf :: UpdateResolverConfig -> ()
rnf UpdateResolverConfig' {Text
AutodefinedReverseFlag
autodefinedReverseFlag :: AutodefinedReverseFlag
resourceId :: Text
$sel:autodefinedReverseFlag:UpdateResolverConfig' :: UpdateResolverConfig -> AutodefinedReverseFlag
$sel:resourceId:UpdateResolverConfig' :: UpdateResolverConfig -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AutodefinedReverseFlag
autodefinedReverseFlag
instance Data.ToHeaders UpdateResolverConfig where
toHeaders :: UpdateResolverConfig -> 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.UpdateResolverConfig" ::
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 UpdateResolverConfig where
toJSON :: UpdateResolverConfig -> Value
toJSON UpdateResolverConfig' {Text
AutodefinedReverseFlag
autodefinedReverseFlag :: AutodefinedReverseFlag
resourceId :: Text
$sel:autodefinedReverseFlag:UpdateResolverConfig' :: UpdateResolverConfig -> AutodefinedReverseFlag
$sel:resourceId:UpdateResolverConfig' :: UpdateResolverConfig -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"ResourceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceId),
forall a. a -> Maybe a
Prelude.Just
( Key
"AutodefinedReverseFlag"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= AutodefinedReverseFlag
autodefinedReverseFlag
)
]
)
instance Data.ToPath UpdateResolverConfig where
toPath :: UpdateResolverConfig -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateResolverConfig where
toQuery :: UpdateResolverConfig -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateResolverConfigResponse = UpdateResolverConfigResponse'
{
UpdateResolverConfigResponse -> Maybe ResolverConfig
resolverConfig :: Prelude.Maybe ResolverConfig,
UpdateResolverConfigResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateResolverConfigResponse
-> UpdateResolverConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResolverConfigResponse
-> UpdateResolverConfigResponse -> Bool
$c/= :: UpdateResolverConfigResponse
-> UpdateResolverConfigResponse -> Bool
== :: UpdateResolverConfigResponse
-> UpdateResolverConfigResponse -> Bool
$c== :: UpdateResolverConfigResponse
-> UpdateResolverConfigResponse -> Bool
Prelude.Eq, ReadPrec [UpdateResolverConfigResponse]
ReadPrec UpdateResolverConfigResponse
Int -> ReadS UpdateResolverConfigResponse
ReadS [UpdateResolverConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResolverConfigResponse]
$creadListPrec :: ReadPrec [UpdateResolverConfigResponse]
readPrec :: ReadPrec UpdateResolverConfigResponse
$creadPrec :: ReadPrec UpdateResolverConfigResponse
readList :: ReadS [UpdateResolverConfigResponse]
$creadList :: ReadS [UpdateResolverConfigResponse]
readsPrec :: Int -> ReadS UpdateResolverConfigResponse
$creadsPrec :: Int -> ReadS UpdateResolverConfigResponse
Prelude.Read, Int -> UpdateResolverConfigResponse -> ShowS
[UpdateResolverConfigResponse] -> ShowS
UpdateResolverConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResolverConfigResponse] -> ShowS
$cshowList :: [UpdateResolverConfigResponse] -> ShowS
show :: UpdateResolverConfigResponse -> String
$cshow :: UpdateResolverConfigResponse -> String
showsPrec :: Int -> UpdateResolverConfigResponse -> ShowS
$cshowsPrec :: Int -> UpdateResolverConfigResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateResolverConfigResponse x -> UpdateResolverConfigResponse
forall x.
UpdateResolverConfigResponse -> Rep UpdateResolverConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateResolverConfigResponse x -> UpdateResolverConfigResponse
$cfrom :: forall x.
UpdateResolverConfigResponse -> Rep UpdateResolverConfigResponse x
Prelude.Generic)
newUpdateResolverConfigResponse ::
Prelude.Int ->
UpdateResolverConfigResponse
newUpdateResolverConfigResponse :: Int -> UpdateResolverConfigResponse
newUpdateResolverConfigResponse Int
pHttpStatus_ =
UpdateResolverConfigResponse'
{ $sel:resolverConfig:UpdateResolverConfigResponse' :: Maybe ResolverConfig
resolverConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateResolverConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateResolverConfigResponse_resolverConfig :: Lens.Lens' UpdateResolverConfigResponse (Prelude.Maybe ResolverConfig)
updateResolverConfigResponse_resolverConfig :: Lens' UpdateResolverConfigResponse (Maybe ResolverConfig)
updateResolverConfigResponse_resolverConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverConfigResponse' {Maybe ResolverConfig
resolverConfig :: Maybe ResolverConfig
$sel:resolverConfig:UpdateResolverConfigResponse' :: UpdateResolverConfigResponse -> Maybe ResolverConfig
resolverConfig} -> Maybe ResolverConfig
resolverConfig) (\s :: UpdateResolverConfigResponse
s@UpdateResolverConfigResponse' {} Maybe ResolverConfig
a -> UpdateResolverConfigResponse
s {$sel:resolverConfig:UpdateResolverConfigResponse' :: Maybe ResolverConfig
resolverConfig = Maybe ResolverConfig
a} :: UpdateResolverConfigResponse)
updateResolverConfigResponse_httpStatus :: Lens.Lens' UpdateResolverConfigResponse Prelude.Int
updateResolverConfigResponse_httpStatus :: Lens' UpdateResolverConfigResponse Int
updateResolverConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResolverConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateResolverConfigResponse' :: UpdateResolverConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateResolverConfigResponse
s@UpdateResolverConfigResponse' {} Int
a -> UpdateResolverConfigResponse
s {$sel:httpStatus:UpdateResolverConfigResponse' :: Int
httpStatus = Int
a} :: UpdateResolverConfigResponse)
instance Prelude.NFData UpdateResolverConfigResponse where
rnf :: UpdateResolverConfigResponse -> ()
rnf UpdateResolverConfigResponse' {Int
Maybe ResolverConfig
httpStatus :: Int
resolverConfig :: Maybe ResolverConfig
$sel:httpStatus:UpdateResolverConfigResponse' :: UpdateResolverConfigResponse -> Int
$sel:resolverConfig:UpdateResolverConfigResponse' :: UpdateResolverConfigResponse -> Maybe ResolverConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ResolverConfig
resolverConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus