{-# 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.ListRemoteAccessSessions
(
listRemoteAccessSessions
, ListRemoteAccessSessions
, lrasNextToken
, lrasArn
, listRemoteAccessSessionsResponse
, ListRemoteAccessSessionsResponse
, lrasrsNextToken
, lrasrsRemoteAccessSessions
, lrasrsResponseStatus
) where
import Network.AWS.DeviceFarm.Types
import Network.AWS.DeviceFarm.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListRemoteAccessSessions = ListRemoteAccessSessions'
{ _lrasNextToken :: !(Maybe Text)
, _lrasArn :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listRemoteAccessSessions
:: Text
-> ListRemoteAccessSessions
listRemoteAccessSessions pArn_ =
ListRemoteAccessSessions' {_lrasNextToken = Nothing, _lrasArn = pArn_}
lrasNextToken :: Lens' ListRemoteAccessSessions (Maybe Text)
lrasNextToken = lens _lrasNextToken (\ s a -> s{_lrasNextToken = a})
lrasArn :: Lens' ListRemoteAccessSessions Text
lrasArn = lens _lrasArn (\ s a -> s{_lrasArn = a})
instance AWSRequest ListRemoteAccessSessions where
type Rs ListRemoteAccessSessions =
ListRemoteAccessSessionsResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
ListRemoteAccessSessionsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "remoteAccessSessions" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListRemoteAccessSessions where
instance NFData ListRemoteAccessSessions where
instance ToHeaders ListRemoteAccessSessions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.ListRemoteAccessSessions" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListRemoteAccessSessions where
toJSON ListRemoteAccessSessions'{..}
= object
(catMaybes
[("nextToken" .=) <$> _lrasNextToken,
Just ("arn" .= _lrasArn)])
instance ToPath ListRemoteAccessSessions where
toPath = const "/"
instance ToQuery ListRemoteAccessSessions where
toQuery = const mempty
data ListRemoteAccessSessionsResponse = ListRemoteAccessSessionsResponse'
{ _lrasrsNextToken :: !(Maybe Text)
, _lrasrsRemoteAccessSessions :: !(Maybe [RemoteAccessSession])
, _lrasrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listRemoteAccessSessionsResponse
:: Int
-> ListRemoteAccessSessionsResponse
listRemoteAccessSessionsResponse pResponseStatus_ =
ListRemoteAccessSessionsResponse'
{ _lrasrsNextToken = Nothing
, _lrasrsRemoteAccessSessions = Nothing
, _lrasrsResponseStatus = pResponseStatus_
}
lrasrsNextToken :: Lens' ListRemoteAccessSessionsResponse (Maybe Text)
lrasrsNextToken = lens _lrasrsNextToken (\ s a -> s{_lrasrsNextToken = a})
lrasrsRemoteAccessSessions :: Lens' ListRemoteAccessSessionsResponse [RemoteAccessSession]
lrasrsRemoteAccessSessions = lens _lrasrsRemoteAccessSessions (\ s a -> s{_lrasrsRemoteAccessSessions = a}) . _Default . _Coerce
lrasrsResponseStatus :: Lens' ListRemoteAccessSessionsResponse Int
lrasrsResponseStatus = lens _lrasrsResponseStatus (\ s a -> s{_lrasrsResponseStatus = a})
instance NFData ListRemoteAccessSessionsResponse
where