{-# 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.GetProject
(
getProject
, GetProject
, gpArn
, getProjectResponse
, GetProjectResponse
, gprsProject
, gprsResponseStatus
) 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
newtype GetProject = GetProject'
{ _gpArn :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getProject
:: Text
-> GetProject
getProject pArn_ = GetProject' {_gpArn = pArn_}
gpArn :: Lens' GetProject Text
gpArn = lens _gpArn (\ s a -> s{_gpArn = a})
instance AWSRequest GetProject where
type Rs GetProject = GetProjectResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
GetProjectResponse' <$>
(x .?> "project") <*> (pure (fromEnum s)))
instance Hashable GetProject where
instance NFData GetProject where
instance ToHeaders GetProject where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.GetProject" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetProject where
toJSON GetProject'{..}
= object (catMaybes [Just ("arn" .= _gpArn)])
instance ToPath GetProject where
toPath = const "/"
instance ToQuery GetProject where
toQuery = const mempty
data GetProjectResponse = GetProjectResponse'
{ _gprsProject :: !(Maybe Project)
, _gprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getProjectResponse
:: Int
-> GetProjectResponse
getProjectResponse pResponseStatus_ =
GetProjectResponse'
{_gprsProject = Nothing, _gprsResponseStatus = pResponseStatus_}
gprsProject :: Lens' GetProjectResponse (Maybe Project)
gprsProject = lens _gprsProject (\ s a -> s{_gprsProject = a})
gprsResponseStatus :: Lens' GetProjectResponse Int
gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a})
instance NFData GetProjectResponse where