{-# 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.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") <*>
(pure (fromEnum s)))
instance Hashable ListTargetsByRule where
instance NFData ListTargetsByRule where
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 (List1 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 (Maybe (NonEmpty Target))
ltbrrsTargets = lens _ltbrrsTargets (\ s a -> s{_ltbrrsTargets = a}) . mapping _List1
ltbrrsResponseStatus :: Lens' ListTargetsByRuleResponse Int
ltbrrsResponseStatus = lens _ltbrrsResponseStatus (\ s a -> s{_ltbrrsResponseStatus = a})
instance NFData ListTargetsByRuleResponse where