{-# 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.InstallToRemoteAccessSession
(
installToRemoteAccessSession
, InstallToRemoteAccessSession
, itrasRemoteAccessSessionARN
, itrasAppARN
, installToRemoteAccessSessionResponse
, InstallToRemoteAccessSessionResponse
, itrasrsAppUpload
, itrasrsResponseStatus
) 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 InstallToRemoteAccessSession = InstallToRemoteAccessSession'
{ _itrasRemoteAccessSessionARN :: !Text
, _itrasAppARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
installToRemoteAccessSession
:: Text
-> Text
-> InstallToRemoteAccessSession
installToRemoteAccessSession pRemoteAccessSessionARN_ pAppARN_ =
InstallToRemoteAccessSession'
{ _itrasRemoteAccessSessionARN = pRemoteAccessSessionARN_
, _itrasAppARN = pAppARN_
}
itrasRemoteAccessSessionARN :: Lens' InstallToRemoteAccessSession Text
itrasRemoteAccessSessionARN = lens _itrasRemoteAccessSessionARN (\ s a -> s{_itrasRemoteAccessSessionARN = a})
itrasAppARN :: Lens' InstallToRemoteAccessSession Text
itrasAppARN = lens _itrasAppARN (\ s a -> s{_itrasAppARN = a})
instance AWSRequest InstallToRemoteAccessSession
where
type Rs InstallToRemoteAccessSession =
InstallToRemoteAccessSessionResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
InstallToRemoteAccessSessionResponse' <$>
(x .?> "appUpload") <*> (pure (fromEnum s)))
instance Hashable InstallToRemoteAccessSession where
instance NFData InstallToRemoteAccessSession where
instance ToHeaders InstallToRemoteAccessSession where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.InstallToRemoteAccessSession"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON InstallToRemoteAccessSession where
toJSON InstallToRemoteAccessSession'{..}
= object
(catMaybes
[Just
("remoteAccessSessionArn" .=
_itrasRemoteAccessSessionARN),
Just ("appArn" .= _itrasAppARN)])
instance ToPath InstallToRemoteAccessSession where
toPath = const "/"
instance ToQuery InstallToRemoteAccessSession where
toQuery = const mempty
data InstallToRemoteAccessSessionResponse = InstallToRemoteAccessSessionResponse'
{ _itrasrsAppUpload :: !(Maybe Upload)
, _itrasrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
installToRemoteAccessSessionResponse
:: Int
-> InstallToRemoteAccessSessionResponse
installToRemoteAccessSessionResponse pResponseStatus_ =
InstallToRemoteAccessSessionResponse'
{_itrasrsAppUpload = Nothing, _itrasrsResponseStatus = pResponseStatus_}
itrasrsAppUpload :: Lens' InstallToRemoteAccessSessionResponse (Maybe Upload)
itrasrsAppUpload = lens _itrasrsAppUpload (\ s a -> s{_itrasrsAppUpload = a})
itrasrsResponseStatus :: Lens' InstallToRemoteAccessSessionResponse Int
itrasrsResponseStatus = lens _itrasrsResponseStatus (\ s a -> s{_itrasrsResponseStatus = a})
instance NFData InstallToRemoteAccessSessionResponse
where