{-# 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.GetResolverConfig
(
GetResolverConfig (..),
newGetResolverConfig,
getResolverConfig_resourceId,
GetResolverConfigResponse (..),
newGetResolverConfigResponse,
getResolverConfigResponse_resolverConfig,
getResolverConfigResponse_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 GetResolverConfig = GetResolverConfig'
{
GetResolverConfig -> Text
resourceId :: Prelude.Text
}
deriving (GetResolverConfig -> GetResolverConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResolverConfig -> GetResolverConfig -> Bool
$c/= :: GetResolverConfig -> GetResolverConfig -> Bool
== :: GetResolverConfig -> GetResolverConfig -> Bool
$c== :: GetResolverConfig -> GetResolverConfig -> Bool
Prelude.Eq, ReadPrec [GetResolverConfig]
ReadPrec GetResolverConfig
Int -> ReadS GetResolverConfig
ReadS [GetResolverConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResolverConfig]
$creadListPrec :: ReadPrec [GetResolverConfig]
readPrec :: ReadPrec GetResolverConfig
$creadPrec :: ReadPrec GetResolverConfig
readList :: ReadS [GetResolverConfig]
$creadList :: ReadS [GetResolverConfig]
readsPrec :: Int -> ReadS GetResolverConfig
$creadsPrec :: Int -> ReadS GetResolverConfig
Prelude.Read, Int -> GetResolverConfig -> ShowS
[GetResolverConfig] -> ShowS
GetResolverConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResolverConfig] -> ShowS
$cshowList :: [GetResolverConfig] -> ShowS
show :: GetResolverConfig -> String
$cshow :: GetResolverConfig -> String
showsPrec :: Int -> GetResolverConfig -> ShowS
$cshowsPrec :: Int -> GetResolverConfig -> ShowS
Prelude.Show, forall x. Rep GetResolverConfig x -> GetResolverConfig
forall x. GetResolverConfig -> Rep GetResolverConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResolverConfig x -> GetResolverConfig
$cfrom :: forall x. GetResolverConfig -> Rep GetResolverConfig x
Prelude.Generic)
newGetResolverConfig ::
Prelude.Text ->
GetResolverConfig
newGetResolverConfig :: Text -> GetResolverConfig
newGetResolverConfig Text
pResourceId_ =
GetResolverConfig' {$sel:resourceId:GetResolverConfig' :: Text
resourceId = Text
pResourceId_}
getResolverConfig_resourceId :: Lens.Lens' GetResolverConfig Prelude.Text
getResolverConfig_resourceId :: Lens' GetResolverConfig Text
getResolverConfig_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolverConfig' {Text
resourceId :: Text
$sel:resourceId:GetResolverConfig' :: GetResolverConfig -> Text
resourceId} -> Text
resourceId) (\s :: GetResolverConfig
s@GetResolverConfig' {} Text
a -> GetResolverConfig
s {$sel:resourceId:GetResolverConfig' :: Text
resourceId = Text
a} :: GetResolverConfig)
instance Core.AWSRequest GetResolverConfig where
type
AWSResponse GetResolverConfig =
GetResolverConfigResponse
request :: (Service -> Service)
-> GetResolverConfig -> Request GetResolverConfig
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 GetResolverConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetResolverConfig)))
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 -> GetResolverConfigResponse
GetResolverConfigResponse'
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 GetResolverConfig where
hashWithSalt :: Int -> GetResolverConfig -> Int
hashWithSalt Int
_salt GetResolverConfig' {Text
resourceId :: Text
$sel:resourceId:GetResolverConfig' :: GetResolverConfig -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
instance Prelude.NFData GetResolverConfig where
rnf :: GetResolverConfig -> ()
rnf GetResolverConfig' {Text
resourceId :: Text
$sel:resourceId:GetResolverConfig' :: GetResolverConfig -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId
instance Data.ToHeaders GetResolverConfig where
toHeaders :: GetResolverConfig -> 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.GetResolverConfig" ::
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 GetResolverConfig where
toJSON :: GetResolverConfig -> Value
toJSON GetResolverConfig' {Text
resourceId :: Text
$sel:resourceId:GetResolverConfig' :: GetResolverConfig -> 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)]
)
instance Data.ToPath GetResolverConfig where
toPath :: GetResolverConfig -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetResolverConfig where
toQuery :: GetResolverConfig -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetResolverConfigResponse = GetResolverConfigResponse'
{
GetResolverConfigResponse -> Maybe ResolverConfig
resolverConfig :: Prelude.Maybe ResolverConfig,
GetResolverConfigResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetResolverConfigResponse -> GetResolverConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResolverConfigResponse -> GetResolverConfigResponse -> Bool
$c/= :: GetResolverConfigResponse -> GetResolverConfigResponse -> Bool
== :: GetResolverConfigResponse -> GetResolverConfigResponse -> Bool
$c== :: GetResolverConfigResponse -> GetResolverConfigResponse -> Bool
Prelude.Eq, ReadPrec [GetResolverConfigResponse]
ReadPrec GetResolverConfigResponse
Int -> ReadS GetResolverConfigResponse
ReadS [GetResolverConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResolverConfigResponse]
$creadListPrec :: ReadPrec [GetResolverConfigResponse]
readPrec :: ReadPrec GetResolverConfigResponse
$creadPrec :: ReadPrec GetResolverConfigResponse
readList :: ReadS [GetResolverConfigResponse]
$creadList :: ReadS [GetResolverConfigResponse]
readsPrec :: Int -> ReadS GetResolverConfigResponse
$creadsPrec :: Int -> ReadS GetResolverConfigResponse
Prelude.Read, Int -> GetResolverConfigResponse -> ShowS
[GetResolverConfigResponse] -> ShowS
GetResolverConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResolverConfigResponse] -> ShowS
$cshowList :: [GetResolverConfigResponse] -> ShowS
show :: GetResolverConfigResponse -> String
$cshow :: GetResolverConfigResponse -> String
showsPrec :: Int -> GetResolverConfigResponse -> ShowS
$cshowsPrec :: Int -> GetResolverConfigResponse -> ShowS
Prelude.Show, forall x.
Rep GetResolverConfigResponse x -> GetResolverConfigResponse
forall x.
GetResolverConfigResponse -> Rep GetResolverConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetResolverConfigResponse x -> GetResolverConfigResponse
$cfrom :: forall x.
GetResolverConfigResponse -> Rep GetResolverConfigResponse x
Prelude.Generic)
newGetResolverConfigResponse ::
Prelude.Int ->
GetResolverConfigResponse
newGetResolverConfigResponse :: Int -> GetResolverConfigResponse
newGetResolverConfigResponse Int
pHttpStatus_ =
GetResolverConfigResponse'
{ $sel:resolverConfig:GetResolverConfigResponse' :: Maybe ResolverConfig
resolverConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetResolverConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getResolverConfigResponse_resolverConfig :: Lens.Lens' GetResolverConfigResponse (Prelude.Maybe ResolverConfig)
getResolverConfigResponse_resolverConfig :: Lens' GetResolverConfigResponse (Maybe ResolverConfig)
getResolverConfigResponse_resolverConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolverConfigResponse' {Maybe ResolverConfig
resolverConfig :: Maybe ResolverConfig
$sel:resolverConfig:GetResolverConfigResponse' :: GetResolverConfigResponse -> Maybe ResolverConfig
resolverConfig} -> Maybe ResolverConfig
resolverConfig) (\s :: GetResolverConfigResponse
s@GetResolverConfigResponse' {} Maybe ResolverConfig
a -> GetResolverConfigResponse
s {$sel:resolverConfig:GetResolverConfigResponse' :: Maybe ResolverConfig
resolverConfig = Maybe ResolverConfig
a} :: GetResolverConfigResponse)
getResolverConfigResponse_httpStatus :: Lens.Lens' GetResolverConfigResponse Prelude.Int
getResolverConfigResponse_httpStatus :: Lens' GetResolverConfigResponse Int
getResolverConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolverConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetResolverConfigResponse' :: GetResolverConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetResolverConfigResponse
s@GetResolverConfigResponse' {} Int
a -> GetResolverConfigResponse
s {$sel:httpStatus:GetResolverConfigResponse' :: Int
httpStatus = Int
a} :: GetResolverConfigResponse)
instance Prelude.NFData GetResolverConfigResponse where
rnf :: GetResolverConfigResponse -> ()
rnf GetResolverConfigResponse' {Int
Maybe ResolverConfig
httpStatus :: Int
resolverConfig :: Maybe ResolverConfig
$sel:httpStatus:GetResolverConfigResponse' :: GetResolverConfigResponse -> Int
$sel:resolverConfig:GetResolverConfigResponse' :: GetResolverConfigResponse -> 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