{-# 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.APIGateway.GetRequestValidators
(
getRequestValidators
, GetRequestValidators
, grvLimit
, grvPosition
, grvRestAPIId
, getRequestValidatorsResponse
, GetRequestValidatorsResponse
, grvrsItems
, grvrsPosition
, grvrsResponseStatus
) where
import Network.AWS.APIGateway.Types
import Network.AWS.APIGateway.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetRequestValidators = GetRequestValidators'
{ _grvLimit :: !(Maybe Int)
, _grvPosition :: !(Maybe Text)
, _grvRestAPIId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getRequestValidators
:: Text
-> GetRequestValidators
getRequestValidators pRestAPIId_ =
GetRequestValidators'
{_grvLimit = Nothing, _grvPosition = Nothing, _grvRestAPIId = pRestAPIId_}
grvLimit :: Lens' GetRequestValidators (Maybe Int)
grvLimit = lens _grvLimit (\ s a -> s{_grvLimit = a})
grvPosition :: Lens' GetRequestValidators (Maybe Text)
grvPosition = lens _grvPosition (\ s a -> s{_grvPosition = a})
grvRestAPIId :: Lens' GetRequestValidators Text
grvRestAPIId = lens _grvRestAPIId (\ s a -> s{_grvRestAPIId = a})
instance AWSRequest GetRequestValidators where
type Rs GetRequestValidators =
GetRequestValidatorsResponse
request = get apiGateway
response
= receiveJSON
(\ s h x ->
GetRequestValidatorsResponse' <$>
(x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
(pure (fromEnum s)))
instance Hashable GetRequestValidators where
instance NFData GetRequestValidators where
instance ToHeaders GetRequestValidators where
toHeaders
= const
(mconcat
["Accept" =# ("application/json" :: ByteString)])
instance ToPath GetRequestValidators where
toPath GetRequestValidators'{..}
= mconcat
["/restapis/", toBS _grvRestAPIId,
"/requestvalidators"]
instance ToQuery GetRequestValidators where
toQuery GetRequestValidators'{..}
= mconcat
["limit" =: _grvLimit, "position" =: _grvPosition]
data GetRequestValidatorsResponse = GetRequestValidatorsResponse'
{ _grvrsItems :: !(Maybe [RequestValidator])
, _grvrsPosition :: !(Maybe Text)
, _grvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getRequestValidatorsResponse
:: Int
-> GetRequestValidatorsResponse
getRequestValidatorsResponse pResponseStatus_ =
GetRequestValidatorsResponse'
{ _grvrsItems = Nothing
, _grvrsPosition = Nothing
, _grvrsResponseStatus = pResponseStatus_
}
grvrsItems :: Lens' GetRequestValidatorsResponse [RequestValidator]
grvrsItems = lens _grvrsItems (\ s a -> s{_grvrsItems = a}) . _Default . _Coerce
grvrsPosition :: Lens' GetRequestValidatorsResponse (Maybe Text)
grvrsPosition = lens _grvrsPosition (\ s a -> s{_grvrsPosition = a})
grvrsResponseStatus :: Lens' GetRequestValidatorsResponse Int
grvrsResponseStatus = lens _grvrsResponseStatus (\ s a -> s{_grvrsResponseStatus = a})
instance NFData GetRequestValidatorsResponse where