{-# 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.DeleteAppAssessment
(
DeleteAppAssessment (..),
newDeleteAppAssessment,
deleteAppAssessment_clientToken,
deleteAppAssessment_assessmentArn,
DeleteAppAssessmentResponse (..),
newDeleteAppAssessmentResponse,
deleteAppAssessmentResponse_httpStatus,
deleteAppAssessmentResponse_assessmentArn,
deleteAppAssessmentResponse_assessmentStatus,
)
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 DeleteAppAssessment = DeleteAppAssessment'
{
DeleteAppAssessment -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DeleteAppAssessment -> Text
assessmentArn :: Prelude.Text
}
deriving (DeleteAppAssessment -> DeleteAppAssessment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteAppAssessment -> DeleteAppAssessment -> Bool
$c/= :: DeleteAppAssessment -> DeleteAppAssessment -> Bool
== :: DeleteAppAssessment -> DeleteAppAssessment -> Bool
$c== :: DeleteAppAssessment -> DeleteAppAssessment -> Bool
Prelude.Eq, ReadPrec [DeleteAppAssessment]
ReadPrec DeleteAppAssessment
Int -> ReadS DeleteAppAssessment
ReadS [DeleteAppAssessment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteAppAssessment]
$creadListPrec :: ReadPrec [DeleteAppAssessment]
readPrec :: ReadPrec DeleteAppAssessment
$creadPrec :: ReadPrec DeleteAppAssessment
readList :: ReadS [DeleteAppAssessment]
$creadList :: ReadS [DeleteAppAssessment]
readsPrec :: Int -> ReadS DeleteAppAssessment
$creadsPrec :: Int -> ReadS DeleteAppAssessment
Prelude.Read, Int -> DeleteAppAssessment -> ShowS
[DeleteAppAssessment] -> ShowS
DeleteAppAssessment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteAppAssessment] -> ShowS
$cshowList :: [DeleteAppAssessment] -> ShowS
show :: DeleteAppAssessment -> String
$cshow :: DeleteAppAssessment -> String
showsPrec :: Int -> DeleteAppAssessment -> ShowS
$cshowsPrec :: Int -> DeleteAppAssessment -> ShowS
Prelude.Show, forall x. Rep DeleteAppAssessment x -> DeleteAppAssessment
forall x. DeleteAppAssessment -> Rep DeleteAppAssessment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteAppAssessment x -> DeleteAppAssessment
$cfrom :: forall x. DeleteAppAssessment -> Rep DeleteAppAssessment x
Prelude.Generic)
newDeleteAppAssessment ::
Prelude.Text ->
DeleteAppAssessment
newDeleteAppAssessment :: Text -> DeleteAppAssessment
newDeleteAppAssessment Text
pAssessmentArn_ =
DeleteAppAssessment'
{ $sel:clientToken:DeleteAppAssessment' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:assessmentArn:DeleteAppAssessment' :: Text
assessmentArn = Text
pAssessmentArn_
}
deleteAppAssessment_clientToken :: Lens.Lens' DeleteAppAssessment (Prelude.Maybe Prelude.Text)
deleteAppAssessment_clientToken :: Lens' DeleteAppAssessment (Maybe Text)
deleteAppAssessment_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAppAssessment' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DeleteAppAssessment' :: DeleteAppAssessment -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DeleteAppAssessment
s@DeleteAppAssessment' {} Maybe Text
a -> DeleteAppAssessment
s {$sel:clientToken:DeleteAppAssessment' :: Maybe Text
clientToken = Maybe Text
a} :: DeleteAppAssessment)
deleteAppAssessment_assessmentArn :: Lens.Lens' DeleteAppAssessment Prelude.Text
deleteAppAssessment_assessmentArn :: Lens' DeleteAppAssessment Text
deleteAppAssessment_assessmentArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAppAssessment' {Text
assessmentArn :: Text
$sel:assessmentArn:DeleteAppAssessment' :: DeleteAppAssessment -> Text
assessmentArn} -> Text
assessmentArn) (\s :: DeleteAppAssessment
s@DeleteAppAssessment' {} Text
a -> DeleteAppAssessment
s {$sel:assessmentArn:DeleteAppAssessment' :: Text
assessmentArn = Text
a} :: DeleteAppAssessment)
instance Core.AWSRequest DeleteAppAssessment where
type
AWSResponse DeleteAppAssessment =
DeleteAppAssessmentResponse
request :: (Service -> Service)
-> DeleteAppAssessment -> Request DeleteAppAssessment
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 DeleteAppAssessment
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteAppAssessment)))
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 -> Text -> AssessmentStatus -> DeleteAppAssessmentResponse
DeleteAppAssessmentResponse'
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
"assessmentArn")
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
"assessmentStatus")
)
instance Prelude.Hashable DeleteAppAssessment where
hashWithSalt :: Int -> DeleteAppAssessment -> Int
hashWithSalt Int
_salt DeleteAppAssessment' {Maybe Text
Text
assessmentArn :: Text
clientToken :: Maybe Text
$sel:assessmentArn:DeleteAppAssessment' :: DeleteAppAssessment -> Text
$sel:clientToken:DeleteAppAssessment' :: DeleteAppAssessment -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentArn
instance Prelude.NFData DeleteAppAssessment where
rnf :: DeleteAppAssessment -> ()
rnf DeleteAppAssessment' {Maybe Text
Text
assessmentArn :: Text
clientToken :: Maybe Text
$sel:assessmentArn:DeleteAppAssessment' :: DeleteAppAssessment -> Text
$sel:clientToken:DeleteAppAssessment' :: DeleteAppAssessment -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentArn
instance Data.ToHeaders DeleteAppAssessment where
toHeaders :: DeleteAppAssessment -> 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 DeleteAppAssessment where
toJSON :: DeleteAppAssessment -> Value
toJSON DeleteAppAssessment' {Maybe Text
Text
assessmentArn :: Text
clientToken :: Maybe Text
$sel:assessmentArn:DeleteAppAssessment' :: DeleteAppAssessment -> Text
$sel:clientToken:DeleteAppAssessment' :: DeleteAppAssessment -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
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 DeleteAppAssessment where
toPath :: DeleteAppAssessment -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/delete-app-assessment"
instance Data.ToQuery DeleteAppAssessment where
toQuery :: DeleteAppAssessment -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteAppAssessmentResponse = DeleteAppAssessmentResponse'
{
DeleteAppAssessmentResponse -> Int
httpStatus :: Prelude.Int,
DeleteAppAssessmentResponse -> Text
assessmentArn :: Prelude.Text,
DeleteAppAssessmentResponse -> AssessmentStatus
assessmentStatus :: AssessmentStatus
}
deriving (DeleteAppAssessmentResponse -> DeleteAppAssessmentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteAppAssessmentResponse -> DeleteAppAssessmentResponse -> Bool
$c/= :: DeleteAppAssessmentResponse -> DeleteAppAssessmentResponse -> Bool
== :: DeleteAppAssessmentResponse -> DeleteAppAssessmentResponse -> Bool
$c== :: DeleteAppAssessmentResponse -> DeleteAppAssessmentResponse -> Bool
Prelude.Eq, ReadPrec [DeleteAppAssessmentResponse]
ReadPrec DeleteAppAssessmentResponse
Int -> ReadS DeleteAppAssessmentResponse
ReadS [DeleteAppAssessmentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteAppAssessmentResponse]
$creadListPrec :: ReadPrec [DeleteAppAssessmentResponse]
readPrec :: ReadPrec DeleteAppAssessmentResponse
$creadPrec :: ReadPrec DeleteAppAssessmentResponse
readList :: ReadS [DeleteAppAssessmentResponse]
$creadList :: ReadS [DeleteAppAssessmentResponse]
readsPrec :: Int -> ReadS DeleteAppAssessmentResponse
$creadsPrec :: Int -> ReadS DeleteAppAssessmentResponse
Prelude.Read, Int -> DeleteAppAssessmentResponse -> ShowS
[DeleteAppAssessmentResponse] -> ShowS
DeleteAppAssessmentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteAppAssessmentResponse] -> ShowS
$cshowList :: [DeleteAppAssessmentResponse] -> ShowS
show :: DeleteAppAssessmentResponse -> String
$cshow :: DeleteAppAssessmentResponse -> String
showsPrec :: Int -> DeleteAppAssessmentResponse -> ShowS
$cshowsPrec :: Int -> DeleteAppAssessmentResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteAppAssessmentResponse x -> DeleteAppAssessmentResponse
forall x.
DeleteAppAssessmentResponse -> Rep DeleteAppAssessmentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteAppAssessmentResponse x -> DeleteAppAssessmentResponse
$cfrom :: forall x.
DeleteAppAssessmentResponse -> Rep DeleteAppAssessmentResponse x
Prelude.Generic)
newDeleteAppAssessmentResponse ::
Prelude.Int ->
Prelude.Text ->
AssessmentStatus ->
DeleteAppAssessmentResponse
newDeleteAppAssessmentResponse :: Int -> Text -> AssessmentStatus -> DeleteAppAssessmentResponse
newDeleteAppAssessmentResponse
Int
pHttpStatus_
Text
pAssessmentArn_
AssessmentStatus
pAssessmentStatus_ =
DeleteAppAssessmentResponse'
{ $sel:httpStatus:DeleteAppAssessmentResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:assessmentArn:DeleteAppAssessmentResponse' :: Text
assessmentArn = Text
pAssessmentArn_,
$sel:assessmentStatus:DeleteAppAssessmentResponse' :: AssessmentStatus
assessmentStatus = AssessmentStatus
pAssessmentStatus_
}
deleteAppAssessmentResponse_httpStatus :: Lens.Lens' DeleteAppAssessmentResponse Prelude.Int
deleteAppAssessmentResponse_httpStatus :: Lens' DeleteAppAssessmentResponse Int
deleteAppAssessmentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAppAssessmentResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteAppAssessmentResponse
s@DeleteAppAssessmentResponse' {} Int
a -> DeleteAppAssessmentResponse
s {$sel:httpStatus:DeleteAppAssessmentResponse' :: Int
httpStatus = Int
a} :: DeleteAppAssessmentResponse)
deleteAppAssessmentResponse_assessmentArn :: Lens.Lens' DeleteAppAssessmentResponse Prelude.Text
deleteAppAssessmentResponse_assessmentArn :: Lens' DeleteAppAssessmentResponse Text
deleteAppAssessmentResponse_assessmentArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAppAssessmentResponse' {Text
assessmentArn :: Text
$sel:assessmentArn:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> Text
assessmentArn} -> Text
assessmentArn) (\s :: DeleteAppAssessmentResponse
s@DeleteAppAssessmentResponse' {} Text
a -> DeleteAppAssessmentResponse
s {$sel:assessmentArn:DeleteAppAssessmentResponse' :: Text
assessmentArn = Text
a} :: DeleteAppAssessmentResponse)
deleteAppAssessmentResponse_assessmentStatus :: Lens.Lens' DeleteAppAssessmentResponse AssessmentStatus
deleteAppAssessmentResponse_assessmentStatus :: Lens' DeleteAppAssessmentResponse AssessmentStatus
deleteAppAssessmentResponse_assessmentStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAppAssessmentResponse' {AssessmentStatus
assessmentStatus :: AssessmentStatus
$sel:assessmentStatus:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> AssessmentStatus
assessmentStatus} -> AssessmentStatus
assessmentStatus) (\s :: DeleteAppAssessmentResponse
s@DeleteAppAssessmentResponse' {} AssessmentStatus
a -> DeleteAppAssessmentResponse
s {$sel:assessmentStatus:DeleteAppAssessmentResponse' :: AssessmentStatus
assessmentStatus = AssessmentStatus
a} :: DeleteAppAssessmentResponse)
instance Prelude.NFData DeleteAppAssessmentResponse where
rnf :: DeleteAppAssessmentResponse -> ()
rnf DeleteAppAssessmentResponse' {Int
Text
AssessmentStatus
assessmentStatus :: AssessmentStatus
assessmentArn :: Text
httpStatus :: Int
$sel:assessmentStatus:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> AssessmentStatus
$sel:assessmentArn:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> Text
$sel:httpStatus:DeleteAppAssessmentResponse' :: DeleteAppAssessmentResponse -> 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 Text
assessmentArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AssessmentStatus
assessmentStatus