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