{-# 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.RemoveTargets
(
removeTargets
, RemoveTargets
, rtRule
, rtIds
, removeTargetsResponse
, RemoveTargetsResponse
, rtrsFailedEntryCount
, rtrsFailedEntries
, rtrsResponseStatus
) 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 RemoveTargets = RemoveTargets'
{ _rtRule :: !Text
, _rtIds :: !(List1 Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
removeTargets
:: Text
-> NonEmpty Text
-> RemoveTargets
removeTargets pRule_ pIds_ =
RemoveTargets' {_rtRule = pRule_, _rtIds = _List1 # pIds_}
rtRule :: Lens' RemoveTargets Text
rtRule = lens _rtRule (\ s a -> s{_rtRule = a})
rtIds :: Lens' RemoveTargets (NonEmpty Text)
rtIds = lens _rtIds (\ s a -> s{_rtIds = a}) . _List1
instance AWSRequest RemoveTargets where
type Rs RemoveTargets = RemoveTargetsResponse
request = postJSON cloudWatchEvents
response
= receiveJSON
(\ s h x ->
RemoveTargetsResponse' <$>
(x .?> "FailedEntryCount") <*>
(x .?> "FailedEntries" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable RemoveTargets where
instance NFData RemoveTargets where
instance ToHeaders RemoveTargets where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSEvents.RemoveTargets" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON RemoveTargets where
toJSON RemoveTargets'{..}
= object
(catMaybes
[Just ("Rule" .= _rtRule), Just ("Ids" .= _rtIds)])
instance ToPath RemoveTargets where
toPath = const "/"
instance ToQuery RemoveTargets where
toQuery = const mempty
data RemoveTargetsResponse = RemoveTargetsResponse'
{ _rtrsFailedEntryCount :: !(Maybe Int)
, _rtrsFailedEntries :: !(Maybe [RemoveTargetsResultEntry])
, _rtrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
removeTargetsResponse
:: Int
-> RemoveTargetsResponse
removeTargetsResponse pResponseStatus_ =
RemoveTargetsResponse'
{ _rtrsFailedEntryCount = Nothing
, _rtrsFailedEntries = Nothing
, _rtrsResponseStatus = pResponseStatus_
}
rtrsFailedEntryCount :: Lens' RemoveTargetsResponse (Maybe Int)
rtrsFailedEntryCount = lens _rtrsFailedEntryCount (\ s a -> s{_rtrsFailedEntryCount = a})
rtrsFailedEntries :: Lens' RemoveTargetsResponse [RemoveTargetsResultEntry]
rtrsFailedEntries = lens _rtrsFailedEntries (\ s a -> s{_rtrsFailedEntries = a}) . _Default . _Coerce
rtrsResponseStatus :: Lens' RemoveTargetsResponse Int
rtrsResponseStatus = lens _rtrsResponseStatus (\ s a -> s{_rtrsResponseStatus = a})
instance NFData RemoveTargetsResponse where