{-# 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.AppSync.GetResolver
(
GetResolver (..),
newGetResolver,
getResolver_apiId,
getResolver_typeName,
getResolver_fieldName,
GetResolverResponse (..),
newGetResolverResponse,
getResolverResponse_resolver,
getResolverResponse_httpStatus,
)
where
import Amazonka.AppSync.Types
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
data GetResolver = GetResolver'
{
GetResolver -> Text
apiId :: Prelude.Text,
GetResolver -> Text
typeName :: Prelude.Text,
GetResolver -> Text
fieldName :: Prelude.Text
}
deriving (GetResolver -> GetResolver -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResolver -> GetResolver -> Bool
$c/= :: GetResolver -> GetResolver -> Bool
== :: GetResolver -> GetResolver -> Bool
$c== :: GetResolver -> GetResolver -> Bool
Prelude.Eq, ReadPrec [GetResolver]
ReadPrec GetResolver
Int -> ReadS GetResolver
ReadS [GetResolver]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResolver]
$creadListPrec :: ReadPrec [GetResolver]
readPrec :: ReadPrec GetResolver
$creadPrec :: ReadPrec GetResolver
readList :: ReadS [GetResolver]
$creadList :: ReadS [GetResolver]
readsPrec :: Int -> ReadS GetResolver
$creadsPrec :: Int -> ReadS GetResolver
Prelude.Read, Int -> GetResolver -> ShowS
[GetResolver] -> ShowS
GetResolver -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResolver] -> ShowS
$cshowList :: [GetResolver] -> ShowS
show :: GetResolver -> String
$cshow :: GetResolver -> String
showsPrec :: Int -> GetResolver -> ShowS
$cshowsPrec :: Int -> GetResolver -> ShowS
Prelude.Show, forall x. Rep GetResolver x -> GetResolver
forall x. GetResolver -> Rep GetResolver x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResolver x -> GetResolver
$cfrom :: forall x. GetResolver -> Rep GetResolver x
Prelude.Generic)
newGetResolver ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetResolver
newGetResolver :: Text -> Text -> Text -> GetResolver
newGetResolver Text
pApiId_ Text
pTypeName_ Text
pFieldName_ =
GetResolver'
{ $sel:apiId:GetResolver' :: Text
apiId = Text
pApiId_,
$sel:typeName:GetResolver' :: Text
typeName = Text
pTypeName_,
$sel:fieldName:GetResolver' :: Text
fieldName = Text
pFieldName_
}
getResolver_apiId :: Lens.Lens' GetResolver Prelude.Text
getResolver_apiId :: Lens' GetResolver Text
getResolver_apiId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolver' {Text
apiId :: Text
$sel:apiId:GetResolver' :: GetResolver -> Text
apiId} -> Text
apiId) (\s :: GetResolver
s@GetResolver' {} Text
a -> GetResolver
s {$sel:apiId:GetResolver' :: Text
apiId = Text
a} :: GetResolver)
getResolver_typeName :: Lens.Lens' GetResolver Prelude.Text
getResolver_typeName :: Lens' GetResolver Text
getResolver_typeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolver' {Text
typeName :: Text
$sel:typeName:GetResolver' :: GetResolver -> Text
typeName} -> Text
typeName) (\s :: GetResolver
s@GetResolver' {} Text
a -> GetResolver
s {$sel:typeName:GetResolver' :: Text
typeName = Text
a} :: GetResolver)
getResolver_fieldName :: Lens.Lens' GetResolver Prelude.Text
getResolver_fieldName :: Lens' GetResolver Text
getResolver_fieldName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolver' {Text
fieldName :: Text
$sel:fieldName:GetResolver' :: GetResolver -> Text
fieldName} -> Text
fieldName) (\s :: GetResolver
s@GetResolver' {} Text
a -> GetResolver
s {$sel:fieldName:GetResolver' :: Text
fieldName = Text
a} :: GetResolver)
instance Core.AWSRequest GetResolver where
type AWSResponse GetResolver = GetResolverResponse
request :: (Service -> Service) -> GetResolver -> Request GetResolver
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 GetResolver
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetResolver)))
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 Resolver -> Int -> GetResolverResponse
GetResolverResponse'
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
"resolver")
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 GetResolver where
hashWithSalt :: Int -> GetResolver -> Int
hashWithSalt Int
_salt GetResolver' {Text
fieldName :: Text
typeName :: Text
apiId :: Text
$sel:fieldName:GetResolver' :: GetResolver -> Text
$sel:typeName:GetResolver' :: GetResolver -> Text
$sel:apiId:GetResolver' :: GetResolver -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
apiId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
typeName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
fieldName
instance Prelude.NFData GetResolver where
rnf :: GetResolver -> ()
rnf GetResolver' {Text
fieldName :: Text
typeName :: Text
apiId :: Text
$sel:fieldName:GetResolver' :: GetResolver -> Text
$sel:typeName:GetResolver' :: GetResolver -> Text
$sel:apiId:GetResolver' :: GetResolver -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
apiId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
typeName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
fieldName
instance Data.ToHeaders GetResolver where
toHeaders :: GetResolver -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath GetResolver where
toPath :: GetResolver -> ByteString
toPath GetResolver' {Text
fieldName :: Text
typeName :: Text
apiId :: Text
$sel:fieldName:GetResolver' :: GetResolver -> Text
$sel:typeName:GetResolver' :: GetResolver -> Text
$sel:apiId:GetResolver' :: GetResolver -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apis/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
apiId,
ByteString
"/types/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
typeName,
ByteString
"/resolvers/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
fieldName
]
instance Data.ToQuery GetResolver where
toQuery :: GetResolver -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetResolverResponse = GetResolverResponse'
{
GetResolverResponse -> Maybe Resolver
resolver :: Prelude.Maybe Resolver,
GetResolverResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetResolverResponse -> GetResolverResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResolverResponse -> GetResolverResponse -> Bool
$c/= :: GetResolverResponse -> GetResolverResponse -> Bool
== :: GetResolverResponse -> GetResolverResponse -> Bool
$c== :: GetResolverResponse -> GetResolverResponse -> Bool
Prelude.Eq, ReadPrec [GetResolverResponse]
ReadPrec GetResolverResponse
Int -> ReadS GetResolverResponse
ReadS [GetResolverResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResolverResponse]
$creadListPrec :: ReadPrec [GetResolverResponse]
readPrec :: ReadPrec GetResolverResponse
$creadPrec :: ReadPrec GetResolverResponse
readList :: ReadS [GetResolverResponse]
$creadList :: ReadS [GetResolverResponse]
readsPrec :: Int -> ReadS GetResolverResponse
$creadsPrec :: Int -> ReadS GetResolverResponse
Prelude.Read, Int -> GetResolverResponse -> ShowS
[GetResolverResponse] -> ShowS
GetResolverResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResolverResponse] -> ShowS
$cshowList :: [GetResolverResponse] -> ShowS
show :: GetResolverResponse -> String
$cshow :: GetResolverResponse -> String
showsPrec :: Int -> GetResolverResponse -> ShowS
$cshowsPrec :: Int -> GetResolverResponse -> ShowS
Prelude.Show, forall x. Rep GetResolverResponse x -> GetResolverResponse
forall x. GetResolverResponse -> Rep GetResolverResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResolverResponse x -> GetResolverResponse
$cfrom :: forall x. GetResolverResponse -> Rep GetResolverResponse x
Prelude.Generic)
newGetResolverResponse ::
Prelude.Int ->
GetResolverResponse
newGetResolverResponse :: Int -> GetResolverResponse
newGetResolverResponse Int
pHttpStatus_ =
GetResolverResponse'
{ $sel:resolver:GetResolverResponse' :: Maybe Resolver
resolver = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetResolverResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getResolverResponse_resolver :: Lens.Lens' GetResolverResponse (Prelude.Maybe Resolver)
getResolverResponse_resolver :: Lens' GetResolverResponse (Maybe Resolver)
getResolverResponse_resolver = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolverResponse' {Maybe Resolver
resolver :: Maybe Resolver
$sel:resolver:GetResolverResponse' :: GetResolverResponse -> Maybe Resolver
resolver} -> Maybe Resolver
resolver) (\s :: GetResolverResponse
s@GetResolverResponse' {} Maybe Resolver
a -> GetResolverResponse
s {$sel:resolver:GetResolverResponse' :: Maybe Resolver
resolver = Maybe Resolver
a} :: GetResolverResponse)
getResolverResponse_httpStatus :: Lens.Lens' GetResolverResponse Prelude.Int
getResolverResponse_httpStatus :: Lens' GetResolverResponse Int
getResolverResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResolverResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetResolverResponse' :: GetResolverResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetResolverResponse
s@GetResolverResponse' {} Int
a -> GetResolverResponse
s {$sel:httpStatus:GetResolverResponse' :: Int
httpStatus = Int
a} :: GetResolverResponse)
instance Prelude.NFData GetResolverResponse where
rnf :: GetResolverResponse -> ()
rnf GetResolverResponse' {Int
Maybe Resolver
httpStatus :: Int
resolver :: Maybe Resolver
$sel:httpStatus:GetResolverResponse' :: GetResolverResponse -> Int
$sel:resolver:GetResolverResponse' :: GetResolverResponse -> Maybe Resolver
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Resolver
resolver
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus