{-# 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.ResilienceHub.DescribeAppAssessment
(
DescribeAppAssessment (..),
newDescribeAppAssessment,
describeAppAssessment_assessmentArn,
DescribeAppAssessmentResponse (..),
newDescribeAppAssessmentResponse,
describeAppAssessmentResponse_httpStatus,
describeAppAssessmentResponse_assessment,
)
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 Amazonka.ResilienceHub.Types
import qualified Amazonka.Response as Response
data DescribeAppAssessment = DescribeAppAssessment'
{
DescribeAppAssessment -> Text
assessmentArn :: Prelude.Text
}
deriving (DescribeAppAssessment -> DescribeAppAssessment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAppAssessment -> DescribeAppAssessment -> Bool
$c/= :: DescribeAppAssessment -> DescribeAppAssessment -> Bool
== :: DescribeAppAssessment -> DescribeAppAssessment -> Bool
$c== :: DescribeAppAssessment -> DescribeAppAssessment -> Bool
Prelude.Eq, ReadPrec [DescribeAppAssessment]
ReadPrec DescribeAppAssessment
Int -> ReadS DescribeAppAssessment
ReadS [DescribeAppAssessment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAppAssessment]
$creadListPrec :: ReadPrec [DescribeAppAssessment]
readPrec :: ReadPrec DescribeAppAssessment
$creadPrec :: ReadPrec DescribeAppAssessment
readList :: ReadS [DescribeAppAssessment]
$creadList :: ReadS [DescribeAppAssessment]
readsPrec :: Int -> ReadS DescribeAppAssessment
$creadsPrec :: Int -> ReadS DescribeAppAssessment
Prelude.Read, Int -> DescribeAppAssessment -> ShowS
[DescribeAppAssessment] -> ShowS
DescribeAppAssessment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAppAssessment] -> ShowS
$cshowList :: [DescribeAppAssessment] -> ShowS
show :: DescribeAppAssessment -> String
$cshow :: DescribeAppAssessment -> String
showsPrec :: Int -> DescribeAppAssessment -> ShowS
$cshowsPrec :: Int -> DescribeAppAssessment -> ShowS
Prelude.Show, forall x. Rep DescribeAppAssessment x -> DescribeAppAssessment
forall x. DescribeAppAssessment -> Rep DescribeAppAssessment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAppAssessment x -> DescribeAppAssessment
$cfrom :: forall x. DescribeAppAssessment -> Rep DescribeAppAssessment x
Prelude.Generic)
newDescribeAppAssessment ::
Prelude.Text ->
DescribeAppAssessment
newDescribeAppAssessment :: Text -> DescribeAppAssessment
newDescribeAppAssessment Text
pAssessmentArn_ =
DescribeAppAssessment'
{ $sel:assessmentArn:DescribeAppAssessment' :: Text
assessmentArn =
Text
pAssessmentArn_
}
describeAppAssessment_assessmentArn :: Lens.Lens' DescribeAppAssessment Prelude.Text
describeAppAssessment_assessmentArn :: Lens' DescribeAppAssessment Text
describeAppAssessment_assessmentArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppAssessment' {Text
assessmentArn :: Text
$sel:assessmentArn:DescribeAppAssessment' :: DescribeAppAssessment -> Text
assessmentArn} -> Text
assessmentArn) (\s :: DescribeAppAssessment
s@DescribeAppAssessment' {} Text
a -> DescribeAppAssessment
s {$sel:assessmentArn:DescribeAppAssessment' :: Text
assessmentArn = Text
a} :: DescribeAppAssessment)
instance Core.AWSRequest DescribeAppAssessment where
type
AWSResponse DescribeAppAssessment =
DescribeAppAssessmentResponse
request :: (Service -> Service)
-> DescribeAppAssessment -> Request DescribeAppAssessment
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeAppAssessment
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeAppAssessment)))
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 ->
Int -> AppAssessment -> DescribeAppAssessmentResponse
DescribeAppAssessmentResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"assessment")
)
instance Prelude.Hashable DescribeAppAssessment where
hashWithSalt :: Int -> DescribeAppAssessment -> Int
hashWithSalt Int
_salt DescribeAppAssessment' {Text
assessmentArn :: Text
$sel:assessmentArn:DescribeAppAssessment' :: DescribeAppAssessment -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentArn
instance Prelude.NFData DescribeAppAssessment where
rnf :: DescribeAppAssessment -> ()
rnf DescribeAppAssessment' {Text
assessmentArn :: Text
$sel:assessmentArn:DescribeAppAssessment' :: DescribeAppAssessment -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentArn
instance Data.ToHeaders DescribeAppAssessment where
toHeaders :: DescribeAppAssessment -> 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 DescribeAppAssessment where
toJSON :: DescribeAppAssessment -> Value
toJSON DescribeAppAssessment' {Text
assessmentArn :: Text
$sel:assessmentArn:DescribeAppAssessment' :: DescribeAppAssessment -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"assessmentArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
assessmentArn)
]
)
instance Data.ToPath DescribeAppAssessment where
toPath :: DescribeAppAssessment -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/describe-app-assessment"
instance Data.ToQuery DescribeAppAssessment where
toQuery :: DescribeAppAssessment -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeAppAssessmentResponse = DescribeAppAssessmentResponse'
{
DescribeAppAssessmentResponse -> Int
httpStatus :: Prelude.Int,
DescribeAppAssessmentResponse -> AppAssessment
assessment :: AppAssessment
}
deriving (DescribeAppAssessmentResponse
-> DescribeAppAssessmentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAppAssessmentResponse
-> DescribeAppAssessmentResponse -> Bool
$c/= :: DescribeAppAssessmentResponse
-> DescribeAppAssessmentResponse -> Bool
== :: DescribeAppAssessmentResponse
-> DescribeAppAssessmentResponse -> Bool
$c== :: DescribeAppAssessmentResponse
-> DescribeAppAssessmentResponse -> Bool
Prelude.Eq, Int -> DescribeAppAssessmentResponse -> ShowS
[DescribeAppAssessmentResponse] -> ShowS
DescribeAppAssessmentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAppAssessmentResponse] -> ShowS
$cshowList :: [DescribeAppAssessmentResponse] -> ShowS
show :: DescribeAppAssessmentResponse -> String
$cshow :: DescribeAppAssessmentResponse -> String
showsPrec :: Int -> DescribeAppAssessmentResponse -> ShowS
$cshowsPrec :: Int -> DescribeAppAssessmentResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAppAssessmentResponse x
-> DescribeAppAssessmentResponse
forall x.
DescribeAppAssessmentResponse
-> Rep DescribeAppAssessmentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAppAssessmentResponse x
-> DescribeAppAssessmentResponse
$cfrom :: forall x.
DescribeAppAssessmentResponse
-> Rep DescribeAppAssessmentResponse x
Prelude.Generic)
newDescribeAppAssessmentResponse ::
Prelude.Int ->
AppAssessment ->
DescribeAppAssessmentResponse
newDescribeAppAssessmentResponse :: Int -> AppAssessment -> DescribeAppAssessmentResponse
newDescribeAppAssessmentResponse
Int
pHttpStatus_
AppAssessment
pAssessment_ =
DescribeAppAssessmentResponse'
{ $sel:httpStatus:DescribeAppAssessmentResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:assessment:DescribeAppAssessmentResponse' :: AppAssessment
assessment = AppAssessment
pAssessment_
}
describeAppAssessmentResponse_httpStatus :: Lens.Lens' DescribeAppAssessmentResponse Prelude.Int
describeAppAssessmentResponse_httpStatus :: Lens' DescribeAppAssessmentResponse Int
describeAppAssessmentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppAssessmentResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAppAssessmentResponse' :: DescribeAppAssessmentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAppAssessmentResponse
s@DescribeAppAssessmentResponse' {} Int
a -> DescribeAppAssessmentResponse
s {$sel:httpStatus:DescribeAppAssessmentResponse' :: Int
httpStatus = Int
a} :: DescribeAppAssessmentResponse)
describeAppAssessmentResponse_assessment :: Lens.Lens' DescribeAppAssessmentResponse AppAssessment
describeAppAssessmentResponse_assessment :: Lens' DescribeAppAssessmentResponse AppAssessment
describeAppAssessmentResponse_assessment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAppAssessmentResponse' {AppAssessment
assessment :: AppAssessment
$sel:assessment:DescribeAppAssessmentResponse' :: DescribeAppAssessmentResponse -> AppAssessment
assessment} -> AppAssessment
assessment) (\s :: DescribeAppAssessmentResponse
s@DescribeAppAssessmentResponse' {} AppAssessment
a -> DescribeAppAssessmentResponse
s {$sel:assessment:DescribeAppAssessmentResponse' :: AppAssessment
assessment = AppAssessment
a} :: DescribeAppAssessmentResponse)
instance Prelude.NFData DescribeAppAssessmentResponse where
rnf :: DescribeAppAssessmentResponse -> ()
rnf DescribeAppAssessmentResponse' {Int
AppAssessment
assessment :: AppAssessment
httpStatus :: Int
$sel:assessment:DescribeAppAssessmentResponse' :: DescribeAppAssessmentResponse -> AppAssessment
$sel:httpStatus:DescribeAppAssessmentResponse' :: DescribeAppAssessmentResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AppAssessment
assessment