{-# 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.CloudWatchLogs.ListTagsLogGroup
(
listTagsLogGroup
, ListTagsLogGroup
, ltlgLogGroupName
, listTagsLogGroupResponse
, ListTagsLogGroupResponse
, ltlgrsTags
, ltlgrsResponseStatus
) where
import Network.AWS.CloudWatchLogs.Types
import Network.AWS.CloudWatchLogs.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype ListTagsLogGroup = ListTagsLogGroup'
{ _ltlgLogGroupName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsLogGroup
:: Text
-> ListTagsLogGroup
listTagsLogGroup pLogGroupName_ =
ListTagsLogGroup' {_ltlgLogGroupName = pLogGroupName_}
ltlgLogGroupName :: Lens' ListTagsLogGroup Text
ltlgLogGroupName = lens _ltlgLogGroupName (\ s a -> s{_ltlgLogGroupName = a})
instance AWSRequest ListTagsLogGroup where
type Rs ListTagsLogGroup = ListTagsLogGroupResponse
request = postJSON cloudWatchLogs
response
= receiveJSON
(\ s h x ->
ListTagsLogGroupResponse' <$>
(x .?> "tags" .!@ mempty) <*> (pure (fromEnum s)))
instance Hashable ListTagsLogGroup where
instance NFData ListTagsLogGroup where
instance ToHeaders ListTagsLogGroup where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Logs_20140328.ListTagsLogGroup" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTagsLogGroup where
toJSON ListTagsLogGroup'{..}
= object
(catMaybes
[Just ("logGroupName" .= _ltlgLogGroupName)])
instance ToPath ListTagsLogGroup where
toPath = const "/"
instance ToQuery ListTagsLogGroup where
toQuery = const mempty
data ListTagsLogGroupResponse = ListTagsLogGroupResponse'
{ _ltlgrsTags :: !(Maybe (Map Text Text))
, _ltlgrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsLogGroupResponse
:: Int
-> ListTagsLogGroupResponse
listTagsLogGroupResponse pResponseStatus_ =
ListTagsLogGroupResponse'
{_ltlgrsTags = Nothing, _ltlgrsResponseStatus = pResponseStatus_}
ltlgrsTags :: Lens' ListTagsLogGroupResponse (HashMap Text Text)
ltlgrsTags = lens _ltlgrsTags (\ s a -> s{_ltlgrsTags = a}) . _Default . _Map
ltlgrsResponseStatus :: Lens' ListTagsLogGroupResponse Int
ltlgrsResponseStatus = lens _ltlgrsResponseStatus (\ s a -> s{_ltlgrsResponseStatus = a})
instance NFData ListTagsLogGroupResponse where