{-# 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.Inspector.CreateAssessmentTarget
(
CreateAssessmentTarget (..),
newCreateAssessmentTarget,
createAssessmentTarget_resourceGroupArn,
createAssessmentTarget_assessmentTargetName,
CreateAssessmentTargetResponse (..),
newCreateAssessmentTargetResponse,
createAssessmentTargetResponse_httpStatus,
createAssessmentTargetResponse_assessmentTargetArn,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateAssessmentTarget = CreateAssessmentTarget'
{
CreateAssessmentTarget -> Maybe Text
resourceGroupArn :: Prelude.Maybe Prelude.Text,
CreateAssessmentTarget -> Text
assessmentTargetName :: Prelude.Text
}
deriving (CreateAssessmentTarget -> CreateAssessmentTarget -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateAssessmentTarget -> CreateAssessmentTarget -> Bool
$c/= :: CreateAssessmentTarget -> CreateAssessmentTarget -> Bool
== :: CreateAssessmentTarget -> CreateAssessmentTarget -> Bool
$c== :: CreateAssessmentTarget -> CreateAssessmentTarget -> Bool
Prelude.Eq, ReadPrec [CreateAssessmentTarget]
ReadPrec CreateAssessmentTarget
Int -> ReadS CreateAssessmentTarget
ReadS [CreateAssessmentTarget]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateAssessmentTarget]
$creadListPrec :: ReadPrec [CreateAssessmentTarget]
readPrec :: ReadPrec CreateAssessmentTarget
$creadPrec :: ReadPrec CreateAssessmentTarget
readList :: ReadS [CreateAssessmentTarget]
$creadList :: ReadS [CreateAssessmentTarget]
readsPrec :: Int -> ReadS CreateAssessmentTarget
$creadsPrec :: Int -> ReadS CreateAssessmentTarget
Prelude.Read, Int -> CreateAssessmentTarget -> ShowS
[CreateAssessmentTarget] -> ShowS
CreateAssessmentTarget -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateAssessmentTarget] -> ShowS
$cshowList :: [CreateAssessmentTarget] -> ShowS
show :: CreateAssessmentTarget -> String
$cshow :: CreateAssessmentTarget -> String
showsPrec :: Int -> CreateAssessmentTarget -> ShowS
$cshowsPrec :: Int -> CreateAssessmentTarget -> ShowS
Prelude.Show, forall x. Rep CreateAssessmentTarget x -> CreateAssessmentTarget
forall x. CreateAssessmentTarget -> Rep CreateAssessmentTarget x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateAssessmentTarget x -> CreateAssessmentTarget
$cfrom :: forall x. CreateAssessmentTarget -> Rep CreateAssessmentTarget x
Prelude.Generic)
newCreateAssessmentTarget ::
Prelude.Text ->
CreateAssessmentTarget
newCreateAssessmentTarget :: Text -> CreateAssessmentTarget
newCreateAssessmentTarget Text
pAssessmentTargetName_ =
CreateAssessmentTarget'
{ $sel:resourceGroupArn:CreateAssessmentTarget' :: Maybe Text
resourceGroupArn =
forall a. Maybe a
Prelude.Nothing,
$sel:assessmentTargetName:CreateAssessmentTarget' :: Text
assessmentTargetName = Text
pAssessmentTargetName_
}
createAssessmentTarget_resourceGroupArn :: Lens.Lens' CreateAssessmentTarget (Prelude.Maybe Prelude.Text)
createAssessmentTarget_resourceGroupArn :: Lens' CreateAssessmentTarget (Maybe Text)
createAssessmentTarget_resourceGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAssessmentTarget' {Maybe Text
resourceGroupArn :: Maybe Text
$sel:resourceGroupArn:CreateAssessmentTarget' :: CreateAssessmentTarget -> Maybe Text
resourceGroupArn} -> Maybe Text
resourceGroupArn) (\s :: CreateAssessmentTarget
s@CreateAssessmentTarget' {} Maybe Text
a -> CreateAssessmentTarget
s {$sel:resourceGroupArn:CreateAssessmentTarget' :: Maybe Text
resourceGroupArn = Maybe Text
a} :: CreateAssessmentTarget)
createAssessmentTarget_assessmentTargetName :: Lens.Lens' CreateAssessmentTarget Prelude.Text
createAssessmentTarget_assessmentTargetName :: Lens' CreateAssessmentTarget Text
createAssessmentTarget_assessmentTargetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAssessmentTarget' {Text
assessmentTargetName :: Text
$sel:assessmentTargetName:CreateAssessmentTarget' :: CreateAssessmentTarget -> Text
assessmentTargetName} -> Text
assessmentTargetName) (\s :: CreateAssessmentTarget
s@CreateAssessmentTarget' {} Text
a -> CreateAssessmentTarget
s {$sel:assessmentTargetName:CreateAssessmentTarget' :: Text
assessmentTargetName = Text
a} :: CreateAssessmentTarget)
instance Core.AWSRequest CreateAssessmentTarget where
type
AWSResponse CreateAssessmentTarget =
CreateAssessmentTargetResponse
request :: (Service -> Service)
-> CreateAssessmentTarget -> Request CreateAssessmentTarget
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 CreateAssessmentTarget
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateAssessmentTarget)))
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 -> CreateAssessmentTargetResponse
CreateAssessmentTargetResponse'
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
"assessmentTargetArn")
)
instance Prelude.Hashable CreateAssessmentTarget where
hashWithSalt :: Int -> CreateAssessmentTarget -> Int
hashWithSalt Int
_salt CreateAssessmentTarget' {Maybe Text
Text
assessmentTargetName :: Text
resourceGroupArn :: Maybe Text
$sel:assessmentTargetName:CreateAssessmentTarget' :: CreateAssessmentTarget -> Text
$sel:resourceGroupArn:CreateAssessmentTarget' :: CreateAssessmentTarget -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resourceGroupArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentTargetName
instance Prelude.NFData CreateAssessmentTarget where
rnf :: CreateAssessmentTarget -> ()
rnf CreateAssessmentTarget' {Maybe Text
Text
assessmentTargetName :: Text
resourceGroupArn :: Maybe Text
$sel:assessmentTargetName:CreateAssessmentTarget' :: CreateAssessmentTarget -> Text
$sel:resourceGroupArn:CreateAssessmentTarget' :: CreateAssessmentTarget -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceGroupArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentTargetName
instance Data.ToHeaders CreateAssessmentTarget where
toHeaders :: CreateAssessmentTarget -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"InspectorService.CreateAssessmentTarget" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateAssessmentTarget where
toJSON :: CreateAssessmentTarget -> Value
toJSON CreateAssessmentTarget' {Maybe Text
Text
assessmentTargetName :: Text
resourceGroupArn :: Maybe Text
$sel:assessmentTargetName:CreateAssessmentTarget' :: CreateAssessmentTarget -> Text
$sel:resourceGroupArn:CreateAssessmentTarget' :: CreateAssessmentTarget -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"resourceGroupArn" 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
resourceGroupArn,
forall a. a -> Maybe a
Prelude.Just
( Key
"assessmentTargetName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
assessmentTargetName
)
]
)
instance Data.ToPath CreateAssessmentTarget where
toPath :: CreateAssessmentTarget -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateAssessmentTarget where
toQuery :: CreateAssessmentTarget -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateAssessmentTargetResponse = CreateAssessmentTargetResponse'
{
CreateAssessmentTargetResponse -> Int
httpStatus :: Prelude.Int,
CreateAssessmentTargetResponse -> Text
assessmentTargetArn :: Prelude.Text
}
deriving (CreateAssessmentTargetResponse
-> CreateAssessmentTargetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateAssessmentTargetResponse
-> CreateAssessmentTargetResponse -> Bool
$c/= :: CreateAssessmentTargetResponse
-> CreateAssessmentTargetResponse -> Bool
== :: CreateAssessmentTargetResponse
-> CreateAssessmentTargetResponse -> Bool
$c== :: CreateAssessmentTargetResponse
-> CreateAssessmentTargetResponse -> Bool
Prelude.Eq, ReadPrec [CreateAssessmentTargetResponse]
ReadPrec CreateAssessmentTargetResponse
Int -> ReadS CreateAssessmentTargetResponse
ReadS [CreateAssessmentTargetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateAssessmentTargetResponse]
$creadListPrec :: ReadPrec [CreateAssessmentTargetResponse]
readPrec :: ReadPrec CreateAssessmentTargetResponse
$creadPrec :: ReadPrec CreateAssessmentTargetResponse
readList :: ReadS [CreateAssessmentTargetResponse]
$creadList :: ReadS [CreateAssessmentTargetResponse]
readsPrec :: Int -> ReadS CreateAssessmentTargetResponse
$creadsPrec :: Int -> ReadS CreateAssessmentTargetResponse
Prelude.Read, Int -> CreateAssessmentTargetResponse -> ShowS
[CreateAssessmentTargetResponse] -> ShowS
CreateAssessmentTargetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateAssessmentTargetResponse] -> ShowS
$cshowList :: [CreateAssessmentTargetResponse] -> ShowS
show :: CreateAssessmentTargetResponse -> String
$cshow :: CreateAssessmentTargetResponse -> String
showsPrec :: Int -> CreateAssessmentTargetResponse -> ShowS
$cshowsPrec :: Int -> CreateAssessmentTargetResponse -> ShowS
Prelude.Show, forall x.
Rep CreateAssessmentTargetResponse x
-> CreateAssessmentTargetResponse
forall x.
CreateAssessmentTargetResponse
-> Rep CreateAssessmentTargetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateAssessmentTargetResponse x
-> CreateAssessmentTargetResponse
$cfrom :: forall x.
CreateAssessmentTargetResponse
-> Rep CreateAssessmentTargetResponse x
Prelude.Generic)
newCreateAssessmentTargetResponse ::
Prelude.Int ->
Prelude.Text ->
CreateAssessmentTargetResponse
newCreateAssessmentTargetResponse :: Int -> Text -> CreateAssessmentTargetResponse
newCreateAssessmentTargetResponse
Int
pHttpStatus_
Text
pAssessmentTargetArn_ =
CreateAssessmentTargetResponse'
{ $sel:httpStatus:CreateAssessmentTargetResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:assessmentTargetArn:CreateAssessmentTargetResponse' :: Text
assessmentTargetArn = Text
pAssessmentTargetArn_
}
createAssessmentTargetResponse_httpStatus :: Lens.Lens' CreateAssessmentTargetResponse Prelude.Int
createAssessmentTargetResponse_httpStatus :: Lens' CreateAssessmentTargetResponse Int
createAssessmentTargetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAssessmentTargetResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateAssessmentTargetResponse' :: CreateAssessmentTargetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateAssessmentTargetResponse
s@CreateAssessmentTargetResponse' {} Int
a -> CreateAssessmentTargetResponse
s {$sel:httpStatus:CreateAssessmentTargetResponse' :: Int
httpStatus = Int
a} :: CreateAssessmentTargetResponse)
createAssessmentTargetResponse_assessmentTargetArn :: Lens.Lens' CreateAssessmentTargetResponse Prelude.Text
createAssessmentTargetResponse_assessmentTargetArn :: Lens' CreateAssessmentTargetResponse Text
createAssessmentTargetResponse_assessmentTargetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAssessmentTargetResponse' {Text
assessmentTargetArn :: Text
$sel:assessmentTargetArn:CreateAssessmentTargetResponse' :: CreateAssessmentTargetResponse -> Text
assessmentTargetArn} -> Text
assessmentTargetArn) (\s :: CreateAssessmentTargetResponse
s@CreateAssessmentTargetResponse' {} Text
a -> CreateAssessmentTargetResponse
s {$sel:assessmentTargetArn:CreateAssessmentTargetResponse' :: Text
assessmentTargetArn = Text
a} :: CreateAssessmentTargetResponse)
instance
Prelude.NFData
CreateAssessmentTargetResponse
where
rnf :: CreateAssessmentTargetResponse -> ()
rnf CreateAssessmentTargetResponse' {Int
Text
assessmentTargetArn :: Text
httpStatus :: Int
$sel:assessmentTargetArn:CreateAssessmentTargetResponse' :: CreateAssessmentTargetResponse -> Text
$sel:httpStatus:CreateAssessmentTargetResponse' :: CreateAssessmentTargetResponse -> 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
assessmentTargetArn