{-# 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.DeviceFarm.ListUploads
(
listUploads
, ListUploads
, luNextToken
, luArn
, listUploadsResponse
, ListUploadsResponse
, lursNextToken
, lursUploads
, lursResponseStatus
) where
import Network.AWS.DeviceFarm.Types
import Network.AWS.DeviceFarm.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListUploads = ListUploads'
{ _luNextToken :: !(Maybe Text)
, _luArn :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listUploads
:: Text
-> ListUploads
listUploads pArn_ = ListUploads' {_luNextToken = Nothing, _luArn = pArn_}
luNextToken :: Lens' ListUploads (Maybe Text)
luNextToken = lens _luNextToken (\ s a -> s{_luNextToken = a})
luArn :: Lens' ListUploads Text
luArn = lens _luArn (\ s a -> s{_luArn = a})
instance AWSPager ListUploads where
page rq rs
| stop (rs ^. lursNextToken) = Nothing
| stop (rs ^. lursUploads) = Nothing
| otherwise =
Just $ rq & luNextToken .~ rs ^. lursNextToken
instance AWSRequest ListUploads where
type Rs ListUploads = ListUploadsResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
ListUploadsResponse' <$>
(x .?> "nextToken") <*> (x .?> "uploads" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListUploads where
instance NFData ListUploads where
instance ToHeaders ListUploads where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.ListUploads" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListUploads where
toJSON ListUploads'{..}
= object
(catMaybes
[("nextToken" .=) <$> _luNextToken,
Just ("arn" .= _luArn)])
instance ToPath ListUploads where
toPath = const "/"
instance ToQuery ListUploads where
toQuery = const mempty
data ListUploadsResponse = ListUploadsResponse'
{ _lursNextToken :: !(Maybe Text)
, _lursUploads :: !(Maybe [Upload])
, _lursResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listUploadsResponse
:: Int
-> ListUploadsResponse
listUploadsResponse pResponseStatus_ =
ListUploadsResponse'
{ _lursNextToken = Nothing
, _lursUploads = Nothing
, _lursResponseStatus = pResponseStatus_
}
lursNextToken :: Lens' ListUploadsResponse (Maybe Text)
lursNextToken = lens _lursNextToken (\ s a -> s{_lursNextToken = a})
lursUploads :: Lens' ListUploadsResponse [Upload]
lursUploads = lens _lursUploads (\ s a -> s{_lursUploads = a}) . _Default . _Coerce
lursResponseStatus :: Lens' ListUploadsResponse Int
lursResponseStatus = lens _lursResponseStatus (\ s a -> s{_lursResponseStatus = a})
instance NFData ListUploadsResponse where