module Network.AWS.DeviceFarm.ListSuites
(
listSuites
, ListSuites
, lNextToken
, lArn
, listSuitesResponse
, ListSuitesResponse
, lsrsNextToken
, lsrsSuites
, lsrsResponseStatus
) where
import Network.AWS.DeviceFarm.Types
import Network.AWS.DeviceFarm.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListSuites = ListSuites'
{ _lNextToken :: !(Maybe Text)
, _lArn :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listSuites
:: Text
-> ListSuites
listSuites pArn_ =
ListSuites'
{ _lNextToken = Nothing
, _lArn = pArn_
}
lNextToken :: Lens' ListSuites (Maybe Text)
lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});
lArn :: Lens' ListSuites Text
lArn = lens _lArn (\ s a -> s{_lArn = a});
instance AWSRequest ListSuites where
type Rs ListSuites = ListSuitesResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
ListSuitesResponse' <$>
(x .?> "nextToken") <*> (x .?> "suites" .!@ mempty)
<*> (pure (fromEnum s)))
instance ToHeaders ListSuites where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.ListSuites" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListSuites where
toJSON ListSuites'{..}
= object
(catMaybes
[("nextToken" .=) <$> _lNextToken,
Just ("arn" .= _lArn)])
instance ToPath ListSuites where
toPath = const "/"
instance ToQuery ListSuites where
toQuery = const mempty
data ListSuitesResponse = ListSuitesResponse'
{ _lsrsNextToken :: !(Maybe Text)
, _lsrsSuites :: !(Maybe [Suite])
, _lsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listSuitesResponse
:: Int
-> ListSuitesResponse
listSuitesResponse pResponseStatus_ =
ListSuitesResponse'
{ _lsrsNextToken = Nothing
, _lsrsSuites = Nothing
, _lsrsResponseStatus = pResponseStatus_
}
lsrsNextToken :: Lens' ListSuitesResponse (Maybe Text)
lsrsNextToken = lens _lsrsNextToken (\ s a -> s{_lsrsNextToken = a});
lsrsSuites :: Lens' ListSuitesResponse [Suite]
lsrsSuites = lens _lsrsSuites (\ s a -> s{_lsrsSuites = a}) . _Default . _Coerce;
lsrsResponseStatus :: Lens' ListSuitesResponse Int
lsrsResponseStatus = lens _lsrsResponseStatus (\ s a -> s{_lsrsResponseStatus = a});