{-# 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.GameLift.ListBuilds
(
listBuilds
, ListBuilds
, lbStatus
, lbNextToken
, lbLimit
, listBuildsResponse
, ListBuildsResponse
, lbrsBuilds
, lbrsNextToken
, lbrsResponseStatus
) where
import Network.AWS.GameLift.Types
import Network.AWS.GameLift.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListBuilds = ListBuilds'
{ _lbStatus :: !(Maybe BuildStatus)
, _lbNextToken :: !(Maybe Text)
, _lbLimit :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listBuilds
:: ListBuilds
listBuilds =
ListBuilds'
{ _lbStatus = Nothing
, _lbNextToken = Nothing
, _lbLimit = Nothing
}
lbStatus :: Lens' ListBuilds (Maybe BuildStatus)
lbStatus = lens _lbStatus (\ s a -> s{_lbStatus = a});
lbNextToken :: Lens' ListBuilds (Maybe Text)
lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a});
lbLimit :: Lens' ListBuilds (Maybe Natural)
lbLimit = lens _lbLimit (\ s a -> s{_lbLimit = a}) . mapping _Nat;
instance AWSRequest ListBuilds where
type Rs ListBuilds = ListBuildsResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
ListBuildsResponse' <$>
(x .?> "Builds" .!@ mempty) <*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListBuilds
instance NFData ListBuilds
instance ToHeaders ListBuilds where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.ListBuilds" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListBuilds where
toJSON ListBuilds'{..}
= object
(catMaybes
[("Status" .=) <$> _lbStatus,
("NextToken" .=) <$> _lbNextToken,
("Limit" .=) <$> _lbLimit])
instance ToPath ListBuilds where
toPath = const "/"
instance ToQuery ListBuilds where
toQuery = const mempty
data ListBuildsResponse = ListBuildsResponse'
{ _lbrsBuilds :: !(Maybe [Build])
, _lbrsNextToken :: !(Maybe Text)
, _lbrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listBuildsResponse
:: Int
-> ListBuildsResponse
listBuildsResponse pResponseStatus_ =
ListBuildsResponse'
{ _lbrsBuilds = Nothing
, _lbrsNextToken = Nothing
, _lbrsResponseStatus = pResponseStatus_
}
lbrsBuilds :: Lens' ListBuildsResponse [Build]
lbrsBuilds = lens _lbrsBuilds (\ s a -> s{_lbrsBuilds = a}) . _Default . _Coerce;
lbrsNextToken :: Lens' ListBuildsResponse (Maybe Text)
lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a});
lbrsResponseStatus :: Lens' ListBuildsResponse Int
lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});
instance NFData ListBuildsResponse