module Network.AWS.CloudWatchEvents.ListTargetsByRule
(
listTargetsByRule
, ListTargetsByRule
, ltbrNextToken
, ltbrLimit
, ltbrRule
, listTargetsByRuleResponse
, ListTargetsByRuleResponse
, ltbrrsNextToken
, ltbrrsTargets
, ltbrrsResponseStatus
) 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 ListTargetsByRule = ListTargetsByRule'
{ _ltbrNextToken :: !(Maybe Text)
, _ltbrLimit :: !(Maybe Nat)
, _ltbrRule :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listTargetsByRule
:: Text
-> ListTargetsByRule
listTargetsByRule pRule_ =
ListTargetsByRule'
{ _ltbrNextToken = Nothing
, _ltbrLimit = Nothing
, _ltbrRule = pRule_
}
ltbrNextToken :: Lens' ListTargetsByRule (Maybe Text)
ltbrNextToken = lens _ltbrNextToken (\ s a -> s{_ltbrNextToken = a});
ltbrLimit :: Lens' ListTargetsByRule (Maybe Natural)
ltbrLimit = lens _ltbrLimit (\ s a -> s{_ltbrLimit = a}) . mapping _Nat;
ltbrRule :: Lens' ListTargetsByRule Text
ltbrRule = lens _ltbrRule (\ s a -> s{_ltbrRule = a});
instance AWSRequest ListTargetsByRule where
type Rs ListTargetsByRule = ListTargetsByRuleResponse
request = postJSON cloudWatchEvents
response
= receiveJSON
(\ s h x ->
ListTargetsByRuleResponse' <$>
(x .?> "NextToken") <*> (x .?> "Targets" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListTargetsByRule
instance NFData ListTargetsByRule
instance ToHeaders ListTargetsByRule where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSEvents.ListTargetsByRule" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTargetsByRule where
toJSON ListTargetsByRule'{..}
= object
(catMaybes
[("NextToken" .=) <$> _ltbrNextToken,
("Limit" .=) <$> _ltbrLimit,
Just ("Rule" .= _ltbrRule)])
instance ToPath ListTargetsByRule where
toPath = const "/"
instance ToQuery ListTargetsByRule where
toQuery = const mempty
data ListTargetsByRuleResponse = ListTargetsByRuleResponse'
{ _ltbrrsNextToken :: !(Maybe Text)
, _ltbrrsTargets :: !(Maybe [Target])
, _ltbrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listTargetsByRuleResponse
:: Int
-> ListTargetsByRuleResponse
listTargetsByRuleResponse pResponseStatus_ =
ListTargetsByRuleResponse'
{ _ltbrrsNextToken = Nothing
, _ltbrrsTargets = Nothing
, _ltbrrsResponseStatus = pResponseStatus_
}
ltbrrsNextToken :: Lens' ListTargetsByRuleResponse (Maybe Text)
ltbrrsNextToken = lens _ltbrrsNextToken (\ s a -> s{_ltbrrsNextToken = a});
ltbrrsTargets :: Lens' ListTargetsByRuleResponse [Target]
ltbrrsTargets = lens _ltbrrsTargets (\ s a -> s{_ltbrrsTargets = a}) . _Default . _Coerce;
ltbrrsResponseStatus :: Lens' ListTargetsByRuleResponse Int
ltbrrsResponseStatus = lens _ltbrrsResponseStatus (\ s a -> s{_ltbrrsResponseStatus = a});
instance NFData ListTargetsByRuleResponse