{-# 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.SecurityLake.GetSubscriber
(
GetSubscriber (..),
newGetSubscriber,
getSubscriber_id,
GetSubscriberResponse (..),
newGetSubscriberResponse,
getSubscriberResponse_subscriber,
getSubscriberResponse_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.SecurityLake.Types
data GetSubscriber = GetSubscriber'
{
GetSubscriber -> Text
id :: Prelude.Text
}
deriving (GetSubscriber -> GetSubscriber -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSubscriber -> GetSubscriber -> Bool
$c/= :: GetSubscriber -> GetSubscriber -> Bool
== :: GetSubscriber -> GetSubscriber -> Bool
$c== :: GetSubscriber -> GetSubscriber -> Bool
Prelude.Eq, ReadPrec [GetSubscriber]
ReadPrec GetSubscriber
Int -> ReadS GetSubscriber
ReadS [GetSubscriber]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSubscriber]
$creadListPrec :: ReadPrec [GetSubscriber]
readPrec :: ReadPrec GetSubscriber
$creadPrec :: ReadPrec GetSubscriber
readList :: ReadS [GetSubscriber]
$creadList :: ReadS [GetSubscriber]
readsPrec :: Int -> ReadS GetSubscriber
$creadsPrec :: Int -> ReadS GetSubscriber
Prelude.Read, Int -> GetSubscriber -> ShowS
[GetSubscriber] -> ShowS
GetSubscriber -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSubscriber] -> ShowS
$cshowList :: [GetSubscriber] -> ShowS
show :: GetSubscriber -> String
$cshow :: GetSubscriber -> String
showsPrec :: Int -> GetSubscriber -> ShowS
$cshowsPrec :: Int -> GetSubscriber -> ShowS
Prelude.Show, forall x. Rep GetSubscriber x -> GetSubscriber
forall x. GetSubscriber -> Rep GetSubscriber x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSubscriber x -> GetSubscriber
$cfrom :: forall x. GetSubscriber -> Rep GetSubscriber x
Prelude.Generic)
newGetSubscriber ::
Prelude.Text ->
GetSubscriber
newGetSubscriber :: Text -> GetSubscriber
newGetSubscriber Text
pId_ = GetSubscriber' {$sel:id:GetSubscriber' :: Text
id = Text
pId_}
getSubscriber_id :: Lens.Lens' GetSubscriber Prelude.Text
getSubscriber_id :: Lens' GetSubscriber Text
getSubscriber_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSubscriber' {Text
id :: Text
$sel:id:GetSubscriber' :: GetSubscriber -> Text
id} -> Text
id) (\s :: GetSubscriber
s@GetSubscriber' {} Text
a -> GetSubscriber
s {$sel:id:GetSubscriber' :: Text
id = Text
a} :: GetSubscriber)
instance Core.AWSRequest GetSubscriber where
type
AWSResponse GetSubscriber =
GetSubscriberResponse
request :: (Service -> Service) -> GetSubscriber -> Request GetSubscriber
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 GetSubscriber
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSubscriber)))
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 SubscriberResource -> Int -> GetSubscriberResponse
GetSubscriberResponse'
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
"subscriber")
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 GetSubscriber where
hashWithSalt :: Int -> GetSubscriber -> Int
hashWithSalt Int
_salt GetSubscriber' {Text
id :: Text
$sel:id:GetSubscriber' :: GetSubscriber -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
instance Prelude.NFData GetSubscriber where
rnf :: GetSubscriber -> ()
rnf GetSubscriber' {Text
id :: Text
$sel:id:GetSubscriber' :: GetSubscriber -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
id
instance Data.ToHeaders GetSubscriber where
toHeaders :: GetSubscriber -> 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 GetSubscriber where
toPath :: GetSubscriber -> ByteString
toPath GetSubscriber' {Text
id :: Text
$sel:id:GetSubscriber' :: GetSubscriber -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/v1/subscribers/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id]
instance Data.ToQuery GetSubscriber where
toQuery :: GetSubscriber -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSubscriberResponse = GetSubscriberResponse'
{
GetSubscriberResponse -> Maybe SubscriberResource
subscriber :: Prelude.Maybe SubscriberResource,
GetSubscriberResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSubscriberResponse -> GetSubscriberResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSubscriberResponse -> GetSubscriberResponse -> Bool
$c/= :: GetSubscriberResponse -> GetSubscriberResponse -> Bool
== :: GetSubscriberResponse -> GetSubscriberResponse -> Bool
$c== :: GetSubscriberResponse -> GetSubscriberResponse -> Bool
Prelude.Eq, ReadPrec [GetSubscriberResponse]
ReadPrec GetSubscriberResponse
Int -> ReadS GetSubscriberResponse
ReadS [GetSubscriberResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSubscriberResponse]
$creadListPrec :: ReadPrec [GetSubscriberResponse]
readPrec :: ReadPrec GetSubscriberResponse
$creadPrec :: ReadPrec GetSubscriberResponse
readList :: ReadS [GetSubscriberResponse]
$creadList :: ReadS [GetSubscriberResponse]
readsPrec :: Int -> ReadS GetSubscriberResponse
$creadsPrec :: Int -> ReadS GetSubscriberResponse
Prelude.Read, Int -> GetSubscriberResponse -> ShowS
[GetSubscriberResponse] -> ShowS
GetSubscriberResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSubscriberResponse] -> ShowS
$cshowList :: [GetSubscriberResponse] -> ShowS
show :: GetSubscriberResponse -> String
$cshow :: GetSubscriberResponse -> String
showsPrec :: Int -> GetSubscriberResponse -> ShowS
$cshowsPrec :: Int -> GetSubscriberResponse -> ShowS
Prelude.Show, forall x. Rep GetSubscriberResponse x -> GetSubscriberResponse
forall x. GetSubscriberResponse -> Rep GetSubscriberResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSubscriberResponse x -> GetSubscriberResponse
$cfrom :: forall x. GetSubscriberResponse -> Rep GetSubscriberResponse x
Prelude.Generic)
newGetSubscriberResponse ::
Prelude.Int ->
GetSubscriberResponse
newGetSubscriberResponse :: Int -> GetSubscriberResponse
newGetSubscriberResponse Int
pHttpStatus_ =
GetSubscriberResponse'
{ $sel:subscriber:GetSubscriberResponse' :: Maybe SubscriberResource
subscriber =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSubscriberResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSubscriberResponse_subscriber :: Lens.Lens' GetSubscriberResponse (Prelude.Maybe SubscriberResource)
getSubscriberResponse_subscriber :: Lens' GetSubscriberResponse (Maybe SubscriberResource)
getSubscriberResponse_subscriber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSubscriberResponse' {Maybe SubscriberResource
subscriber :: Maybe SubscriberResource
$sel:subscriber:GetSubscriberResponse' :: GetSubscriberResponse -> Maybe SubscriberResource
subscriber} -> Maybe SubscriberResource
subscriber) (\s :: GetSubscriberResponse
s@GetSubscriberResponse' {} Maybe SubscriberResource
a -> GetSubscriberResponse
s {$sel:subscriber:GetSubscriberResponse' :: Maybe SubscriberResource
subscriber = Maybe SubscriberResource
a} :: GetSubscriberResponse)
getSubscriberResponse_httpStatus :: Lens.Lens' GetSubscriberResponse Prelude.Int
getSubscriberResponse_httpStatus :: Lens' GetSubscriberResponse Int
getSubscriberResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSubscriberResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSubscriberResponse' :: GetSubscriberResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSubscriberResponse
s@GetSubscriberResponse' {} Int
a -> GetSubscriberResponse
s {$sel:httpStatus:GetSubscriberResponse' :: Int
httpStatus = Int
a} :: GetSubscriberResponse)
instance Prelude.NFData GetSubscriberResponse where
rnf :: GetSubscriberResponse -> ()
rnf GetSubscriberResponse' {Int
Maybe SubscriberResource
httpStatus :: Int
subscriber :: Maybe SubscriberResource
$sel:httpStatus:GetSubscriberResponse' :: GetSubscriberResponse -> Int
$sel:subscriber:GetSubscriberResponse' :: GetSubscriberResponse -> Maybe SubscriberResource
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe SubscriberResource
subscriber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus