{-# 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.CloudWatchEvents.TestEventPattern
(
testEventPattern
, TestEventPattern
, tepEventPattern
, tepEvent
, testEventPatternResponse
, TestEventPatternResponse
, teprsResult
, teprsResponseStatus
) where
import Network.AWS.CloudWatchEvents.Types
import Network.AWS.CloudWatchEvents.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data TestEventPattern = TestEventPattern'
{ _tepEventPattern :: !Text
, _tepEvent :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
testEventPattern
:: Text
-> Text
-> TestEventPattern
testEventPattern pEventPattern_ pEvent_ =
TestEventPattern' {_tepEventPattern = pEventPattern_, _tepEvent = pEvent_}
tepEventPattern :: Lens' TestEventPattern Text
tepEventPattern = lens _tepEventPattern (\ s a -> s{_tepEventPattern = a})
tepEvent :: Lens' TestEventPattern Text
tepEvent = lens _tepEvent (\ s a -> s{_tepEvent = a})
instance AWSRequest TestEventPattern where
type Rs TestEventPattern = TestEventPatternResponse
request = postJSON cloudWatchEvents
response
= receiveJSON
(\ s h x ->
TestEventPatternResponse' <$>
(x .?> "Result") <*> (pure (fromEnum s)))
instance Hashable TestEventPattern where
instance NFData TestEventPattern where
instance ToHeaders TestEventPattern where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSEvents.TestEventPattern" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON TestEventPattern where
toJSON TestEventPattern'{..}
= object
(catMaybes
[Just ("EventPattern" .= _tepEventPattern),
Just ("Event" .= _tepEvent)])
instance ToPath TestEventPattern where
toPath = const "/"
instance ToQuery TestEventPattern where
toQuery = const mempty
data TestEventPatternResponse = TestEventPatternResponse'
{ _teprsResult :: !(Maybe Bool)
, _teprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
testEventPatternResponse
:: Int
-> TestEventPatternResponse
testEventPatternResponse pResponseStatus_ =
TestEventPatternResponse'
{_teprsResult = Nothing, _teprsResponseStatus = pResponseStatus_}
teprsResult :: Lens' TestEventPatternResponse (Maybe Bool)
teprsResult = lens _teprsResult (\ s a -> s{_teprsResult = a})
teprsResponseStatus :: Lens' TestEventPatternResponse Int
teprsResponseStatus = lens _teprsResponseStatus (\ s a -> s{_teprsResponseStatus = a})
instance NFData TestEventPatternResponse where