{-# 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.AuditManager.GetInsightsByAssessment
(
GetInsightsByAssessment (..),
newGetInsightsByAssessment,
getInsightsByAssessment_assessmentId,
GetInsightsByAssessmentResponse (..),
newGetInsightsByAssessmentResponse,
getInsightsByAssessmentResponse_insights,
getInsightsByAssessmentResponse_httpStatus,
)
where
import Amazonka.AuditManager.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 GetInsightsByAssessment = GetInsightsByAssessment'
{
GetInsightsByAssessment -> Text
assessmentId :: Prelude.Text
}
deriving (GetInsightsByAssessment -> GetInsightsByAssessment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInsightsByAssessment -> GetInsightsByAssessment -> Bool
$c/= :: GetInsightsByAssessment -> GetInsightsByAssessment -> Bool
== :: GetInsightsByAssessment -> GetInsightsByAssessment -> Bool
$c== :: GetInsightsByAssessment -> GetInsightsByAssessment -> Bool
Prelude.Eq, ReadPrec [GetInsightsByAssessment]
ReadPrec GetInsightsByAssessment
Int -> ReadS GetInsightsByAssessment
ReadS [GetInsightsByAssessment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetInsightsByAssessment]
$creadListPrec :: ReadPrec [GetInsightsByAssessment]
readPrec :: ReadPrec GetInsightsByAssessment
$creadPrec :: ReadPrec GetInsightsByAssessment
readList :: ReadS [GetInsightsByAssessment]
$creadList :: ReadS [GetInsightsByAssessment]
readsPrec :: Int -> ReadS GetInsightsByAssessment
$creadsPrec :: Int -> ReadS GetInsightsByAssessment
Prelude.Read, Int -> GetInsightsByAssessment -> ShowS
[GetInsightsByAssessment] -> ShowS
GetInsightsByAssessment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInsightsByAssessment] -> ShowS
$cshowList :: [GetInsightsByAssessment] -> ShowS
show :: GetInsightsByAssessment -> String
$cshow :: GetInsightsByAssessment -> String
showsPrec :: Int -> GetInsightsByAssessment -> ShowS
$cshowsPrec :: Int -> GetInsightsByAssessment -> ShowS
Prelude.Show, forall x. Rep GetInsightsByAssessment x -> GetInsightsByAssessment
forall x. GetInsightsByAssessment -> Rep GetInsightsByAssessment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetInsightsByAssessment x -> GetInsightsByAssessment
$cfrom :: forall x. GetInsightsByAssessment -> Rep GetInsightsByAssessment x
Prelude.Generic)
newGetInsightsByAssessment ::
Prelude.Text ->
GetInsightsByAssessment
newGetInsightsByAssessment :: Text -> GetInsightsByAssessment
newGetInsightsByAssessment Text
pAssessmentId_ =
GetInsightsByAssessment'
{ $sel:assessmentId:GetInsightsByAssessment' :: Text
assessmentId =
Text
pAssessmentId_
}
getInsightsByAssessment_assessmentId :: Lens.Lens' GetInsightsByAssessment Prelude.Text
getInsightsByAssessment_assessmentId :: Lens' GetInsightsByAssessment Text
getInsightsByAssessment_assessmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetInsightsByAssessment' {Text
assessmentId :: Text
$sel:assessmentId:GetInsightsByAssessment' :: GetInsightsByAssessment -> Text
assessmentId} -> Text
assessmentId) (\s :: GetInsightsByAssessment
s@GetInsightsByAssessment' {} Text
a -> GetInsightsByAssessment
s {$sel:assessmentId:GetInsightsByAssessment' :: Text
assessmentId = Text
a} :: GetInsightsByAssessment)
instance Core.AWSRequest GetInsightsByAssessment where
type
AWSResponse GetInsightsByAssessment =
GetInsightsByAssessmentResponse
request :: (Service -> Service)
-> GetInsightsByAssessment -> Request GetInsightsByAssessment
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 GetInsightsByAssessment
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetInsightsByAssessment)))
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 InsightsByAssessment
-> Int -> GetInsightsByAssessmentResponse
GetInsightsByAssessmentResponse'
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
"insights")
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 GetInsightsByAssessment where
hashWithSalt :: Int -> GetInsightsByAssessment -> Int
hashWithSalt Int
_salt GetInsightsByAssessment' {Text
assessmentId :: Text
$sel:assessmentId:GetInsightsByAssessment' :: GetInsightsByAssessment -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentId
instance Prelude.NFData GetInsightsByAssessment where
rnf :: GetInsightsByAssessment -> ()
rnf GetInsightsByAssessment' {Text
assessmentId :: Text
$sel:assessmentId:GetInsightsByAssessment' :: GetInsightsByAssessment -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentId
instance Data.ToHeaders GetInsightsByAssessment where
toHeaders :: GetInsightsByAssessment -> 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 GetInsightsByAssessment where
toPath :: GetInsightsByAssessment -> ByteString
toPath GetInsightsByAssessment' {Text
assessmentId :: Text
$sel:assessmentId:GetInsightsByAssessment' :: GetInsightsByAssessment -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/insights/assessments/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
assessmentId]
instance Data.ToQuery GetInsightsByAssessment where
toQuery :: GetInsightsByAssessment -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetInsightsByAssessmentResponse = GetInsightsByAssessmentResponse'
{
GetInsightsByAssessmentResponse -> Maybe InsightsByAssessment
insights :: Prelude.Maybe InsightsByAssessment,
GetInsightsByAssessmentResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetInsightsByAssessmentResponse
-> GetInsightsByAssessmentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInsightsByAssessmentResponse
-> GetInsightsByAssessmentResponse -> Bool
$c/= :: GetInsightsByAssessmentResponse
-> GetInsightsByAssessmentResponse -> Bool
== :: GetInsightsByAssessmentResponse
-> GetInsightsByAssessmentResponse -> Bool
$c== :: GetInsightsByAssessmentResponse
-> GetInsightsByAssessmentResponse -> Bool
Prelude.Eq, ReadPrec [GetInsightsByAssessmentResponse]
ReadPrec GetInsightsByAssessmentResponse
Int -> ReadS GetInsightsByAssessmentResponse
ReadS [GetInsightsByAssessmentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetInsightsByAssessmentResponse]
$creadListPrec :: ReadPrec [GetInsightsByAssessmentResponse]
readPrec :: ReadPrec GetInsightsByAssessmentResponse
$creadPrec :: ReadPrec GetInsightsByAssessmentResponse
readList :: ReadS [GetInsightsByAssessmentResponse]
$creadList :: ReadS [GetInsightsByAssessmentResponse]
readsPrec :: Int -> ReadS GetInsightsByAssessmentResponse
$creadsPrec :: Int -> ReadS GetInsightsByAssessmentResponse
Prelude.Read, Int -> GetInsightsByAssessmentResponse -> ShowS
[GetInsightsByAssessmentResponse] -> ShowS
GetInsightsByAssessmentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInsightsByAssessmentResponse] -> ShowS
$cshowList :: [GetInsightsByAssessmentResponse] -> ShowS
show :: GetInsightsByAssessmentResponse -> String
$cshow :: GetInsightsByAssessmentResponse -> String
showsPrec :: Int -> GetInsightsByAssessmentResponse -> ShowS
$cshowsPrec :: Int -> GetInsightsByAssessmentResponse -> ShowS
Prelude.Show, forall x.
Rep GetInsightsByAssessmentResponse x
-> GetInsightsByAssessmentResponse
forall x.
GetInsightsByAssessmentResponse
-> Rep GetInsightsByAssessmentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetInsightsByAssessmentResponse x
-> GetInsightsByAssessmentResponse
$cfrom :: forall x.
GetInsightsByAssessmentResponse
-> Rep GetInsightsByAssessmentResponse x
Prelude.Generic)
newGetInsightsByAssessmentResponse ::
Prelude.Int ->
GetInsightsByAssessmentResponse
newGetInsightsByAssessmentResponse :: Int -> GetInsightsByAssessmentResponse
newGetInsightsByAssessmentResponse Int
pHttpStatus_ =
GetInsightsByAssessmentResponse'
{ $sel:insights:GetInsightsByAssessmentResponse' :: Maybe InsightsByAssessment
insights =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetInsightsByAssessmentResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getInsightsByAssessmentResponse_insights :: Lens.Lens' GetInsightsByAssessmentResponse (Prelude.Maybe InsightsByAssessment)
getInsightsByAssessmentResponse_insights :: Lens' GetInsightsByAssessmentResponse (Maybe InsightsByAssessment)
getInsightsByAssessmentResponse_insights = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetInsightsByAssessmentResponse' {Maybe InsightsByAssessment
insights :: Maybe InsightsByAssessment
$sel:insights:GetInsightsByAssessmentResponse' :: GetInsightsByAssessmentResponse -> Maybe InsightsByAssessment
insights} -> Maybe InsightsByAssessment
insights) (\s :: GetInsightsByAssessmentResponse
s@GetInsightsByAssessmentResponse' {} Maybe InsightsByAssessment
a -> GetInsightsByAssessmentResponse
s {$sel:insights:GetInsightsByAssessmentResponse' :: Maybe InsightsByAssessment
insights = Maybe InsightsByAssessment
a} :: GetInsightsByAssessmentResponse)
getInsightsByAssessmentResponse_httpStatus :: Lens.Lens' GetInsightsByAssessmentResponse Prelude.Int
getInsightsByAssessmentResponse_httpStatus :: Lens' GetInsightsByAssessmentResponse Int
getInsightsByAssessmentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetInsightsByAssessmentResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetInsightsByAssessmentResponse' :: GetInsightsByAssessmentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetInsightsByAssessmentResponse
s@GetInsightsByAssessmentResponse' {} Int
a -> GetInsightsByAssessmentResponse
s {$sel:httpStatus:GetInsightsByAssessmentResponse' :: Int
httpStatus = Int
a} :: GetInsightsByAssessmentResponse)
instance
Prelude.NFData
GetInsightsByAssessmentResponse
where
rnf :: GetInsightsByAssessmentResponse -> ()
rnf GetInsightsByAssessmentResponse' {Int
Maybe InsightsByAssessment
httpStatus :: Int
insights :: Maybe InsightsByAssessment
$sel:httpStatus:GetInsightsByAssessmentResponse' :: GetInsightsByAssessmentResponse -> Int
$sel:insights:GetInsightsByAssessmentResponse' :: GetInsightsByAssessmentResponse -> Maybe InsightsByAssessment
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InsightsByAssessment
insights
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus