{-# 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.UpdateAssessmentStatus
(
UpdateAssessmentStatus (..),
newUpdateAssessmentStatus,
updateAssessmentStatus_assessmentId,
updateAssessmentStatus_status,
UpdateAssessmentStatusResponse (..),
newUpdateAssessmentStatusResponse,
updateAssessmentStatusResponse_assessment,
updateAssessmentStatusResponse_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 UpdateAssessmentStatus = UpdateAssessmentStatus'
{
UpdateAssessmentStatus -> Text
assessmentId :: Prelude.Text,
UpdateAssessmentStatus -> AssessmentStatus
status :: AssessmentStatus
}
deriving (UpdateAssessmentStatus -> UpdateAssessmentStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssessmentStatus -> UpdateAssessmentStatus -> Bool
$c/= :: UpdateAssessmentStatus -> UpdateAssessmentStatus -> Bool
== :: UpdateAssessmentStatus -> UpdateAssessmentStatus -> Bool
$c== :: UpdateAssessmentStatus -> UpdateAssessmentStatus -> Bool
Prelude.Eq, ReadPrec [UpdateAssessmentStatus]
ReadPrec UpdateAssessmentStatus
Int -> ReadS UpdateAssessmentStatus
ReadS [UpdateAssessmentStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssessmentStatus]
$creadListPrec :: ReadPrec [UpdateAssessmentStatus]
readPrec :: ReadPrec UpdateAssessmentStatus
$creadPrec :: ReadPrec UpdateAssessmentStatus
readList :: ReadS [UpdateAssessmentStatus]
$creadList :: ReadS [UpdateAssessmentStatus]
readsPrec :: Int -> ReadS UpdateAssessmentStatus
$creadsPrec :: Int -> ReadS UpdateAssessmentStatus
Prelude.Read, Int -> UpdateAssessmentStatus -> ShowS
[UpdateAssessmentStatus] -> ShowS
UpdateAssessmentStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssessmentStatus] -> ShowS
$cshowList :: [UpdateAssessmentStatus] -> ShowS
show :: UpdateAssessmentStatus -> String
$cshow :: UpdateAssessmentStatus -> String
showsPrec :: Int -> UpdateAssessmentStatus -> ShowS
$cshowsPrec :: Int -> UpdateAssessmentStatus -> ShowS
Prelude.Show, forall x. Rep UpdateAssessmentStatus x -> UpdateAssessmentStatus
forall x. UpdateAssessmentStatus -> Rep UpdateAssessmentStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateAssessmentStatus x -> UpdateAssessmentStatus
$cfrom :: forall x. UpdateAssessmentStatus -> Rep UpdateAssessmentStatus x
Prelude.Generic)
newUpdateAssessmentStatus ::
Prelude.Text ->
AssessmentStatus ->
UpdateAssessmentStatus
newUpdateAssessmentStatus :: Text -> AssessmentStatus -> UpdateAssessmentStatus
newUpdateAssessmentStatus Text
pAssessmentId_ AssessmentStatus
pStatus_ =
UpdateAssessmentStatus'
{ $sel:assessmentId:UpdateAssessmentStatus' :: Text
assessmentId =
Text
pAssessmentId_,
$sel:status:UpdateAssessmentStatus' :: AssessmentStatus
status = AssessmentStatus
pStatus_
}
updateAssessmentStatus_assessmentId :: Lens.Lens' UpdateAssessmentStatus Prelude.Text
updateAssessmentStatus_assessmentId :: Lens' UpdateAssessmentStatus Text
updateAssessmentStatus_assessmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentStatus' {Text
assessmentId :: Text
$sel:assessmentId:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> Text
assessmentId} -> Text
assessmentId) (\s :: UpdateAssessmentStatus
s@UpdateAssessmentStatus' {} Text
a -> UpdateAssessmentStatus
s {$sel:assessmentId:UpdateAssessmentStatus' :: Text
assessmentId = Text
a} :: UpdateAssessmentStatus)
updateAssessmentStatus_status :: Lens.Lens' UpdateAssessmentStatus AssessmentStatus
updateAssessmentStatus_status :: Lens' UpdateAssessmentStatus AssessmentStatus
updateAssessmentStatus_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentStatus' {AssessmentStatus
status :: AssessmentStatus
$sel:status:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> AssessmentStatus
status} -> AssessmentStatus
status) (\s :: UpdateAssessmentStatus
s@UpdateAssessmentStatus' {} AssessmentStatus
a -> UpdateAssessmentStatus
s {$sel:status:UpdateAssessmentStatus' :: AssessmentStatus
status = AssessmentStatus
a} :: UpdateAssessmentStatus)
instance Core.AWSRequest UpdateAssessmentStatus where
type
AWSResponse UpdateAssessmentStatus =
UpdateAssessmentStatusResponse
request :: (Service -> Service)
-> UpdateAssessmentStatus -> Request UpdateAssessmentStatus
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateAssessmentStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateAssessmentStatus)))
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 Assessment -> Int -> UpdateAssessmentStatusResponse
UpdateAssessmentStatusResponse'
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
"assessment")
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 UpdateAssessmentStatus where
hashWithSalt :: Int -> UpdateAssessmentStatus -> Int
hashWithSalt Int
_salt UpdateAssessmentStatus' {Text
AssessmentStatus
status :: AssessmentStatus
assessmentId :: Text
$sel:status:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> AssessmentStatus
$sel:assessmentId:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AssessmentStatus
status
instance Prelude.NFData UpdateAssessmentStatus where
rnf :: UpdateAssessmentStatus -> ()
rnf UpdateAssessmentStatus' {Text
AssessmentStatus
status :: AssessmentStatus
assessmentId :: Text
$sel:status:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> AssessmentStatus
$sel:assessmentId:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AssessmentStatus
status
instance Data.ToHeaders UpdateAssessmentStatus where
toHeaders :: UpdateAssessmentStatus -> 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.ToJSON UpdateAssessmentStatus where
toJSON :: UpdateAssessmentStatus -> Value
toJSON UpdateAssessmentStatus' {Text
AssessmentStatus
status :: AssessmentStatus
assessmentId :: Text
$sel:status:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> AssessmentStatus
$sel:assessmentId:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"status" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= AssessmentStatus
status)]
)
instance Data.ToPath UpdateAssessmentStatus where
toPath :: UpdateAssessmentStatus -> ByteString
toPath UpdateAssessmentStatus' {Text
AssessmentStatus
status :: AssessmentStatus
assessmentId :: Text
$sel:status:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> AssessmentStatus
$sel:assessmentId:UpdateAssessmentStatus' :: UpdateAssessmentStatus -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/assessments/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
assessmentId, ByteString
"/status"]
instance Data.ToQuery UpdateAssessmentStatus where
toQuery :: UpdateAssessmentStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateAssessmentStatusResponse = UpdateAssessmentStatusResponse'
{
UpdateAssessmentStatusResponse -> Maybe Assessment
assessment :: Prelude.Maybe Assessment,
UpdateAssessmentStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateAssessmentStatusResponse
-> UpdateAssessmentStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssessmentStatusResponse
-> UpdateAssessmentStatusResponse -> Bool
$c/= :: UpdateAssessmentStatusResponse
-> UpdateAssessmentStatusResponse -> Bool
== :: UpdateAssessmentStatusResponse
-> UpdateAssessmentStatusResponse -> Bool
$c== :: UpdateAssessmentStatusResponse
-> UpdateAssessmentStatusResponse -> Bool
Prelude.Eq, ReadPrec [UpdateAssessmentStatusResponse]
ReadPrec UpdateAssessmentStatusResponse
Int -> ReadS UpdateAssessmentStatusResponse
ReadS [UpdateAssessmentStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssessmentStatusResponse]
$creadListPrec :: ReadPrec [UpdateAssessmentStatusResponse]
readPrec :: ReadPrec UpdateAssessmentStatusResponse
$creadPrec :: ReadPrec UpdateAssessmentStatusResponse
readList :: ReadS [UpdateAssessmentStatusResponse]
$creadList :: ReadS [UpdateAssessmentStatusResponse]
readsPrec :: Int -> ReadS UpdateAssessmentStatusResponse
$creadsPrec :: Int -> ReadS UpdateAssessmentStatusResponse
Prelude.Read, Int -> UpdateAssessmentStatusResponse -> ShowS
[UpdateAssessmentStatusResponse] -> ShowS
UpdateAssessmentStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssessmentStatusResponse] -> ShowS
$cshowList :: [UpdateAssessmentStatusResponse] -> ShowS
show :: UpdateAssessmentStatusResponse -> String
$cshow :: UpdateAssessmentStatusResponse -> String
showsPrec :: Int -> UpdateAssessmentStatusResponse -> ShowS
$cshowsPrec :: Int -> UpdateAssessmentStatusResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAssessmentStatusResponse x
-> UpdateAssessmentStatusResponse
forall x.
UpdateAssessmentStatusResponse
-> Rep UpdateAssessmentStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAssessmentStatusResponse x
-> UpdateAssessmentStatusResponse
$cfrom :: forall x.
UpdateAssessmentStatusResponse
-> Rep UpdateAssessmentStatusResponse x
Prelude.Generic)
newUpdateAssessmentStatusResponse ::
Prelude.Int ->
UpdateAssessmentStatusResponse
newUpdateAssessmentStatusResponse :: Int -> UpdateAssessmentStatusResponse
newUpdateAssessmentStatusResponse Int
pHttpStatus_ =
UpdateAssessmentStatusResponse'
{ $sel:assessment:UpdateAssessmentStatusResponse' :: Maybe Assessment
assessment =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateAssessmentStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateAssessmentStatusResponse_assessment :: Lens.Lens' UpdateAssessmentStatusResponse (Prelude.Maybe Assessment)
updateAssessmentStatusResponse_assessment :: Lens' UpdateAssessmentStatusResponse (Maybe Assessment)
updateAssessmentStatusResponse_assessment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentStatusResponse' {Maybe Assessment
assessment :: Maybe Assessment
$sel:assessment:UpdateAssessmentStatusResponse' :: UpdateAssessmentStatusResponse -> Maybe Assessment
assessment} -> Maybe Assessment
assessment) (\s :: UpdateAssessmentStatusResponse
s@UpdateAssessmentStatusResponse' {} Maybe Assessment
a -> UpdateAssessmentStatusResponse
s {$sel:assessment:UpdateAssessmentStatusResponse' :: Maybe Assessment
assessment = Maybe Assessment
a} :: UpdateAssessmentStatusResponse)
updateAssessmentStatusResponse_httpStatus :: Lens.Lens' UpdateAssessmentStatusResponse Prelude.Int
updateAssessmentStatusResponse_httpStatus :: Lens' UpdateAssessmentStatusResponse Int
updateAssessmentStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateAssessmentStatusResponse' :: UpdateAssessmentStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateAssessmentStatusResponse
s@UpdateAssessmentStatusResponse' {} Int
a -> UpdateAssessmentStatusResponse
s {$sel:httpStatus:UpdateAssessmentStatusResponse' :: Int
httpStatus = Int
a} :: UpdateAssessmentStatusResponse)
instance
Prelude.NFData
UpdateAssessmentStatusResponse
where
rnf :: UpdateAssessmentStatusResponse -> ()
rnf UpdateAssessmentStatusResponse' {Int
Maybe Assessment
httpStatus :: Int
assessment :: Maybe Assessment
$sel:httpStatus:UpdateAssessmentStatusResponse' :: UpdateAssessmentStatusResponse -> Int
$sel:assessment:UpdateAssessmentStatusResponse' :: UpdateAssessmentStatusResponse -> Maybe Assessment
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Assessment
assessment
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus