{-# 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.GetSDKTypes
(
getSDKTypes
, GetSDKTypes
, gstLimit
, gstPosition
, getSDKTypesResponse
, GetSDKTypesResponse
, gstrsItems
, gstrsPosition
, gstrsResponseStatus
) 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 GetSDKTypes = GetSDKTypes'
{ _gstLimit :: !(Maybe Int)
, _gstPosition :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSDKTypes
:: GetSDKTypes
getSDKTypes = GetSDKTypes' {_gstLimit = Nothing, _gstPosition = Nothing}
gstLimit :: Lens' GetSDKTypes (Maybe Int)
gstLimit = lens _gstLimit (\ s a -> s{_gstLimit = a})
gstPosition :: Lens' GetSDKTypes (Maybe Text)
gstPosition = lens _gstPosition (\ s a -> s{_gstPosition = a})
instance AWSRequest GetSDKTypes where
type Rs GetSDKTypes = GetSDKTypesResponse
request = get apiGateway
response
= receiveJSON
(\ s h x ->
GetSDKTypesResponse' <$>
(x .?> "item" .!@ mempty) <*> (x .?> "position") <*>
(pure (fromEnum s)))
instance Hashable GetSDKTypes where
instance NFData GetSDKTypes where
instance ToHeaders GetSDKTypes where
toHeaders
= const
(mconcat
["Accept" =# ("application/json" :: ByteString)])
instance ToPath GetSDKTypes where
toPath = const "/sdktypes"
instance ToQuery GetSDKTypes where
toQuery GetSDKTypes'{..}
= mconcat
["limit" =: _gstLimit, "position" =: _gstPosition]
data GetSDKTypesResponse = GetSDKTypesResponse'
{ _gstrsItems :: !(Maybe [SDKType])
, _gstrsPosition :: !(Maybe Text)
, _gstrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSDKTypesResponse
:: Int
-> GetSDKTypesResponse
getSDKTypesResponse pResponseStatus_ =
GetSDKTypesResponse'
{ _gstrsItems = Nothing
, _gstrsPosition = Nothing
, _gstrsResponseStatus = pResponseStatus_
}
gstrsItems :: Lens' GetSDKTypesResponse [SDKType]
gstrsItems = lens _gstrsItems (\ s a -> s{_gstrsItems = a}) . _Default . _Coerce
gstrsPosition :: Lens' GetSDKTypesResponse (Maybe Text)
gstrsPosition = lens _gstrsPosition (\ s a -> s{_gstrsPosition = a})
gstrsResponseStatus :: Lens' GetSDKTypesResponse Int
gstrsResponseStatus = lens _gstrsResponseStatus (\ s a -> s{_gstrsResponseStatus = a})
instance NFData GetSDKTypesResponse where