{-# 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.ResourceGroups.GetGroupQuery
(
getGroupQuery
, GetGroupQuery
, ggqGroupName
, getGroupQueryResponse
, GetGroupQueryResponse
, ggqrsGroupQuery
, ggqrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.ResourceGroups.Types
import Network.AWS.ResourceGroups.Types.Product
import Network.AWS.Response
newtype GetGroupQuery = GetGroupQuery'
{ _ggqGroupName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getGroupQuery
:: Text
-> GetGroupQuery
getGroupQuery pGroupName_ = GetGroupQuery' {_ggqGroupName = pGroupName_}
ggqGroupName :: Lens' GetGroupQuery Text
ggqGroupName = lens _ggqGroupName (\ s a -> s{_ggqGroupName = a})
instance AWSRequest GetGroupQuery where
type Rs GetGroupQuery = GetGroupQueryResponse
request = get resourceGroups
response
= receiveJSON
(\ s h x ->
GetGroupQueryResponse' <$>
(x .?> "GroupQuery") <*> (pure (fromEnum s)))
instance Hashable GetGroupQuery where
instance NFData GetGroupQuery where
instance ToHeaders GetGroupQuery where
toHeaders = const mempty
instance ToPath GetGroupQuery where
toPath GetGroupQuery'{..}
= mconcat ["/groups/", toBS _ggqGroupName, "/query"]
instance ToQuery GetGroupQuery where
toQuery = const mempty
data GetGroupQueryResponse = GetGroupQueryResponse'
{ _ggqrsGroupQuery :: !(Maybe GroupQuery)
, _ggqrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getGroupQueryResponse
:: Int
-> GetGroupQueryResponse
getGroupQueryResponse pResponseStatus_ =
GetGroupQueryResponse'
{_ggqrsGroupQuery = Nothing, _ggqrsResponseStatus = pResponseStatus_}
ggqrsGroupQuery :: Lens' GetGroupQueryResponse (Maybe GroupQuery)
ggqrsGroupQuery = lens _ggqrsGroupQuery (\ s a -> s{_ggqrsGroupQuery = a})
ggqrsResponseStatus :: Lens' GetGroupQueryResponse Int
ggqrsResponseStatus = lens _ggqrsResponseStatus (\ s a -> s{_ggqrsResponseStatus = a})
instance NFData GetGroupQueryResponse where