{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.Inspector.StartAssessmentRun
(
startAssessmentRun
, StartAssessmentRun
, sarAssessmentRunName
, sarAssessmentTemplateARN
, startAssessmentRunResponse
, StartAssessmentRunResponse
, sarrsResponseStatus
, sarrsAssessmentRunARN
) where
import Network.AWS.Inspector.Types
import Network.AWS.Inspector.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data StartAssessmentRun = StartAssessmentRun'
{ _sarAssessmentRunName :: !(Maybe Text)
, _sarAssessmentTemplateARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startAssessmentRun
:: Text
-> StartAssessmentRun
startAssessmentRun pAssessmentTemplateARN_ =
StartAssessmentRun'
{ _sarAssessmentRunName = Nothing
, _sarAssessmentTemplateARN = pAssessmentTemplateARN_
}
sarAssessmentRunName :: Lens' StartAssessmentRun (Maybe Text)
sarAssessmentRunName = lens _sarAssessmentRunName (\ s a -> s{_sarAssessmentRunName = a})
sarAssessmentTemplateARN :: Lens' StartAssessmentRun Text
sarAssessmentTemplateARN = lens _sarAssessmentTemplateARN (\ s a -> s{_sarAssessmentTemplateARN = a})
instance AWSRequest StartAssessmentRun where
type Rs StartAssessmentRun =
StartAssessmentRunResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
StartAssessmentRunResponse' <$>
(pure (fromEnum s)) <*> (x .:> "assessmentRunArn"))
instance Hashable StartAssessmentRun where
instance NFData StartAssessmentRun where
instance ToHeaders StartAssessmentRun where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.StartAssessmentRun" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON StartAssessmentRun where
toJSON StartAssessmentRun'{..}
= object
(catMaybes
[("assessmentRunName" .=) <$> _sarAssessmentRunName,
Just
("assessmentTemplateArn" .=
_sarAssessmentTemplateARN)])
instance ToPath StartAssessmentRun where
toPath = const "/"
instance ToQuery StartAssessmentRun where
toQuery = const mempty
data StartAssessmentRunResponse = StartAssessmentRunResponse'
{ _sarrsResponseStatus :: !Int
, _sarrsAssessmentRunARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startAssessmentRunResponse
:: Int
-> Text
-> StartAssessmentRunResponse
startAssessmentRunResponse pResponseStatus_ pAssessmentRunARN_ =
StartAssessmentRunResponse'
{ _sarrsResponseStatus = pResponseStatus_
, _sarrsAssessmentRunARN = pAssessmentRunARN_
}
sarrsResponseStatus :: Lens' StartAssessmentRunResponse Int
sarrsResponseStatus = lens _sarrsResponseStatus (\ s a -> s{_sarrsResponseStatus = a})
sarrsAssessmentRunARN :: Lens' StartAssessmentRunResponse Text
sarrsAssessmentRunARN = lens _sarrsAssessmentRunARN (\ s a -> s{_sarrsAssessmentRunARN = a})
instance NFData StartAssessmentRunResponse where