module Network.AWS.Lambda.UpdateEventSourceMapping
(
UpdateEventSourceMapping
, updateEventSourceMapping
, uesmBatchSize
, uesmEnabled
, uesmFunctionName
, uesmUUID
, UpdateEventSourceMappingResponse
, updateEventSourceMappingResponse
, uesmrBatchSize
, uesmrEventSourceArn
, uesmrFunctionArn
, uesmrLastModified
, uesmrLastProcessingResult
, uesmrState
, uesmrStateTransitionReason
, uesmrUUID
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.RestJSON
import Network.AWS.Lambda.Types
import qualified GHC.Exts
data UpdateEventSourceMapping = UpdateEventSourceMapping
{ _uesmBatchSize :: Maybe Nat
, _uesmEnabled :: Maybe Bool
, _uesmFunctionName :: Maybe Text
, _uesmUUID :: Text
} deriving (Eq, Ord, Read, Show)
updateEventSourceMapping :: Text
-> UpdateEventSourceMapping
updateEventSourceMapping p1 = UpdateEventSourceMapping
{ _uesmUUID = p1
, _uesmFunctionName = Nothing
, _uesmEnabled = Nothing
, _uesmBatchSize = Nothing
}
uesmBatchSize :: Lens' UpdateEventSourceMapping (Maybe Natural)
uesmBatchSize = lens _uesmBatchSize (\s a -> s { _uesmBatchSize = a }) . mapping _Nat
uesmEnabled :: Lens' UpdateEventSourceMapping (Maybe Bool)
uesmEnabled = lens _uesmEnabled (\s a -> s { _uesmEnabled = a })
uesmFunctionName :: Lens' UpdateEventSourceMapping (Maybe Text)
uesmFunctionName = lens _uesmFunctionName (\s a -> s { _uesmFunctionName = a })
uesmUUID :: Lens' UpdateEventSourceMapping Text
uesmUUID = lens _uesmUUID (\s a -> s { _uesmUUID = a })
data UpdateEventSourceMappingResponse = UpdateEventSourceMappingResponse
{ _uesmrBatchSize :: Maybe Nat
, _uesmrEventSourceArn :: Maybe Text
, _uesmrFunctionArn :: Maybe Text
, _uesmrLastModified :: Maybe POSIX
, _uesmrLastProcessingResult :: Maybe Text
, _uesmrState :: Maybe Text
, _uesmrStateTransitionReason :: Maybe Text
, _uesmrUUID :: Maybe Text
} deriving (Eq, Ord, Read, Show)
updateEventSourceMappingResponse :: UpdateEventSourceMappingResponse
updateEventSourceMappingResponse = UpdateEventSourceMappingResponse
{ _uesmrUUID = Nothing
, _uesmrBatchSize = Nothing
, _uesmrEventSourceArn = Nothing
, _uesmrFunctionArn = Nothing
, _uesmrLastModified = Nothing
, _uesmrLastProcessingResult = Nothing
, _uesmrState = Nothing
, _uesmrStateTransitionReason = Nothing
}
uesmrBatchSize :: Lens' UpdateEventSourceMappingResponse (Maybe Natural)
uesmrBatchSize = lens _uesmrBatchSize (\s a -> s { _uesmrBatchSize = a }) . mapping _Nat
uesmrEventSourceArn :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrEventSourceArn =
lens _uesmrEventSourceArn (\s a -> s { _uesmrEventSourceArn = a })
uesmrFunctionArn :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrFunctionArn = lens _uesmrFunctionArn (\s a -> s { _uesmrFunctionArn = a })
uesmrLastModified :: Lens' UpdateEventSourceMappingResponse (Maybe UTCTime)
uesmrLastModified =
lens _uesmrLastModified (\s a -> s { _uesmrLastModified = a })
. mapping _Time
uesmrLastProcessingResult :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrLastProcessingResult =
lens _uesmrLastProcessingResult
(\s a -> s { _uesmrLastProcessingResult = a })
uesmrState :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrState = lens _uesmrState (\s a -> s { _uesmrState = a })
uesmrStateTransitionReason :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrStateTransitionReason =
lens _uesmrStateTransitionReason
(\s a -> s { _uesmrStateTransitionReason = a })
uesmrUUID :: Lens' UpdateEventSourceMappingResponse (Maybe Text)
uesmrUUID = lens _uesmrUUID (\s a -> s { _uesmrUUID = a })
instance ToPath UpdateEventSourceMapping where
toPath UpdateEventSourceMapping{..} = mconcat
[ "/2015-03-31/event-source-mappings/"
, toText _uesmUUID
]
instance ToQuery UpdateEventSourceMapping where
toQuery = const mempty
instance ToHeaders UpdateEventSourceMapping
instance ToJSON UpdateEventSourceMapping where
toJSON UpdateEventSourceMapping{..} = object
[ "FunctionName" .= _uesmFunctionName
, "Enabled" .= _uesmEnabled
, "BatchSize" .= _uesmBatchSize
]
instance AWSRequest UpdateEventSourceMapping where
type Sv UpdateEventSourceMapping = Lambda
type Rs UpdateEventSourceMapping = UpdateEventSourceMappingResponse
request = put
response = jsonResponse
instance FromJSON UpdateEventSourceMappingResponse where
parseJSON = withObject "UpdateEventSourceMappingResponse" $ \o -> UpdateEventSourceMappingResponse
<$> o .:? "BatchSize"
<*> o .:? "EventSourceArn"
<*> o .:? "FunctionArn"
<*> o .:? "LastModified"
<*> o .:? "LastProcessingResult"
<*> o .:? "State"
<*> o .:? "StateTransitionReason"
<*> o .:? "UUID"