{-# 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.ManagedBlockChain.GetAccessor
(
GetAccessor (..),
newGetAccessor,
getAccessor_accessorId,
GetAccessorResponse (..),
newGetAccessorResponse,
getAccessorResponse_accessor,
getAccessorResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ManagedBlockChain.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetAccessor = GetAccessor'
{
GetAccessor -> Text
accessorId :: Prelude.Text
}
deriving (GetAccessor -> GetAccessor -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessor -> GetAccessor -> Bool
$c/= :: GetAccessor -> GetAccessor -> Bool
== :: GetAccessor -> GetAccessor -> Bool
$c== :: GetAccessor -> GetAccessor -> Bool
Prelude.Eq, ReadPrec [GetAccessor]
ReadPrec GetAccessor
Int -> ReadS GetAccessor
ReadS [GetAccessor]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessor]
$creadListPrec :: ReadPrec [GetAccessor]
readPrec :: ReadPrec GetAccessor
$creadPrec :: ReadPrec GetAccessor
readList :: ReadS [GetAccessor]
$creadList :: ReadS [GetAccessor]
readsPrec :: Int -> ReadS GetAccessor
$creadsPrec :: Int -> ReadS GetAccessor
Prelude.Read, Int -> GetAccessor -> ShowS
[GetAccessor] -> ShowS
GetAccessor -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessor] -> ShowS
$cshowList :: [GetAccessor] -> ShowS
show :: GetAccessor -> String
$cshow :: GetAccessor -> String
showsPrec :: Int -> GetAccessor -> ShowS
$cshowsPrec :: Int -> GetAccessor -> ShowS
Prelude.Show, forall x. Rep GetAccessor x -> GetAccessor
forall x. GetAccessor -> Rep GetAccessor x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccessor x -> GetAccessor
$cfrom :: forall x. GetAccessor -> Rep GetAccessor x
Prelude.Generic)
newGetAccessor ::
Prelude.Text ->
GetAccessor
newGetAccessor :: Text -> GetAccessor
newGetAccessor Text
pAccessorId_ =
GetAccessor' {$sel:accessorId:GetAccessor' :: Text
accessorId = Text
pAccessorId_}
getAccessor_accessorId :: Lens.Lens' GetAccessor Prelude.Text
getAccessor_accessorId :: Lens' GetAccessor Text
getAccessor_accessorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessor' {Text
accessorId :: Text
$sel:accessorId:GetAccessor' :: GetAccessor -> Text
accessorId} -> Text
accessorId) (\s :: GetAccessor
s@GetAccessor' {} Text
a -> GetAccessor
s {$sel:accessorId:GetAccessor' :: Text
accessorId = Text
a} :: GetAccessor)
instance Core.AWSRequest GetAccessor where
type AWSResponse GetAccessor = GetAccessorResponse
request :: (Service -> Service) -> GetAccessor -> Request GetAccessor
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 GetAccessor
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetAccessor)))
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 Accessor -> Int -> GetAccessorResponse
GetAccessorResponse'
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
"Accessor")
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 GetAccessor where
hashWithSalt :: Int -> GetAccessor -> Int
hashWithSalt Int
_salt GetAccessor' {Text
accessorId :: Text
$sel:accessorId:GetAccessor' :: GetAccessor -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accessorId
instance Prelude.NFData GetAccessor where
rnf :: GetAccessor -> ()
rnf GetAccessor' {Text
accessorId :: Text
$sel:accessorId:GetAccessor' :: GetAccessor -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
accessorId
instance Data.ToHeaders GetAccessor where
toHeaders :: GetAccessor -> 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 GetAccessor where
toPath :: GetAccessor -> ByteString
toPath GetAccessor' {Text
accessorId :: Text
$sel:accessorId:GetAccessor' :: GetAccessor -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/accessors/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
accessorId]
instance Data.ToQuery GetAccessor where
toQuery :: GetAccessor -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetAccessorResponse = GetAccessorResponse'
{
GetAccessorResponse -> Maybe Accessor
accessor :: Prelude.Maybe Accessor,
GetAccessorResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetAccessorResponse -> GetAccessorResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessorResponse -> GetAccessorResponse -> Bool
$c/= :: GetAccessorResponse -> GetAccessorResponse -> Bool
== :: GetAccessorResponse -> GetAccessorResponse -> Bool
$c== :: GetAccessorResponse -> GetAccessorResponse -> Bool
Prelude.Eq, ReadPrec [GetAccessorResponse]
ReadPrec GetAccessorResponse
Int -> ReadS GetAccessorResponse
ReadS [GetAccessorResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessorResponse]
$creadListPrec :: ReadPrec [GetAccessorResponse]
readPrec :: ReadPrec GetAccessorResponse
$creadPrec :: ReadPrec GetAccessorResponse
readList :: ReadS [GetAccessorResponse]
$creadList :: ReadS [GetAccessorResponse]
readsPrec :: Int -> ReadS GetAccessorResponse
$creadsPrec :: Int -> ReadS GetAccessorResponse
Prelude.Read, Int -> GetAccessorResponse -> ShowS
[GetAccessorResponse] -> ShowS
GetAccessorResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessorResponse] -> ShowS
$cshowList :: [GetAccessorResponse] -> ShowS
show :: GetAccessorResponse -> String
$cshow :: GetAccessorResponse -> String
showsPrec :: Int -> GetAccessorResponse -> ShowS
$cshowsPrec :: Int -> GetAccessorResponse -> ShowS
Prelude.Show, forall x. Rep GetAccessorResponse x -> GetAccessorResponse
forall x. GetAccessorResponse -> Rep GetAccessorResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccessorResponse x -> GetAccessorResponse
$cfrom :: forall x. GetAccessorResponse -> Rep GetAccessorResponse x
Prelude.Generic)
newGetAccessorResponse ::
Prelude.Int ->
GetAccessorResponse
newGetAccessorResponse :: Int -> GetAccessorResponse
newGetAccessorResponse Int
pHttpStatus_ =
GetAccessorResponse'
{ $sel:accessor:GetAccessorResponse' :: Maybe Accessor
accessor = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetAccessorResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getAccessorResponse_accessor :: Lens.Lens' GetAccessorResponse (Prelude.Maybe Accessor)
getAccessorResponse_accessor :: Lens' GetAccessorResponse (Maybe Accessor)
getAccessorResponse_accessor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessorResponse' {Maybe Accessor
accessor :: Maybe Accessor
$sel:accessor:GetAccessorResponse' :: GetAccessorResponse -> Maybe Accessor
accessor} -> Maybe Accessor
accessor) (\s :: GetAccessorResponse
s@GetAccessorResponse' {} Maybe Accessor
a -> GetAccessorResponse
s {$sel:accessor:GetAccessorResponse' :: Maybe Accessor
accessor = Maybe Accessor
a} :: GetAccessorResponse)
getAccessorResponse_httpStatus :: Lens.Lens' GetAccessorResponse Prelude.Int
getAccessorResponse_httpStatus :: Lens' GetAccessorResponse Int
getAccessorResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessorResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetAccessorResponse' :: GetAccessorResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetAccessorResponse
s@GetAccessorResponse' {} Int
a -> GetAccessorResponse
s {$sel:httpStatus:GetAccessorResponse' :: Int
httpStatus = Int
a} :: GetAccessorResponse)
instance Prelude.NFData GetAccessorResponse where
rnf :: GetAccessorResponse -> ()
rnf GetAccessorResponse' {Int
Maybe Accessor
httpStatus :: Int
accessor :: Maybe Accessor
$sel:httpStatus:GetAccessorResponse' :: GetAccessorResponse -> Int
$sel:accessor:GetAccessorResponse' :: GetAccessorResponse -> Maybe Accessor
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Accessor
accessor
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus