{-# 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.GetOfferingStatus
(
getOfferingStatus
, GetOfferingStatus
, gosNextToken
, getOfferingStatusResponse
, GetOfferingStatusResponse
, gosrsNextPeriod
, gosrsCurrent
, gosrsNextToken
, gosrsResponseStatus
) 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 GetOfferingStatus = GetOfferingStatus'
{ _gosNextToken :: Maybe Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOfferingStatus
:: GetOfferingStatus
getOfferingStatus =
GetOfferingStatus'
{ _gosNextToken = Nothing
}
gosNextToken :: Lens' GetOfferingStatus (Maybe Text)
gosNextToken = lens _gosNextToken (\ s a -> s{_gosNextToken = a});
instance AWSRequest GetOfferingStatus where
type Rs GetOfferingStatus = GetOfferingStatusResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
GetOfferingStatusResponse' <$>
(x .?> "nextPeriod" .!@ mempty) <*>
(x .?> "current" .!@ mempty)
<*> (x .?> "nextToken")
<*> (pure (fromEnum s)))
instance Hashable GetOfferingStatus
instance NFData GetOfferingStatus
instance ToHeaders GetOfferingStatus where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.GetOfferingStatus" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetOfferingStatus where
toJSON GetOfferingStatus'{..}
= object
(catMaybes [("nextToken" .=) <$> _gosNextToken])
instance ToPath GetOfferingStatus where
toPath = const "/"
instance ToQuery GetOfferingStatus where
toQuery = const mempty
data GetOfferingStatusResponse = GetOfferingStatusResponse'
{ _gosrsNextPeriod :: !(Maybe (Map Text OfferingStatus))
, _gosrsCurrent :: !(Maybe (Map Text OfferingStatus))
, _gosrsNextToken :: !(Maybe Text)
, _gosrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOfferingStatusResponse
:: Int
-> GetOfferingStatusResponse
getOfferingStatusResponse pResponseStatus_ =
GetOfferingStatusResponse'
{ _gosrsNextPeriod = Nothing
, _gosrsCurrent = Nothing
, _gosrsNextToken = Nothing
, _gosrsResponseStatus = pResponseStatus_
}
gosrsNextPeriod :: Lens' GetOfferingStatusResponse (HashMap Text OfferingStatus)
gosrsNextPeriod = lens _gosrsNextPeriod (\ s a -> s{_gosrsNextPeriod = a}) . _Default . _Map;
gosrsCurrent :: Lens' GetOfferingStatusResponse (HashMap Text OfferingStatus)
gosrsCurrent = lens _gosrsCurrent (\ s a -> s{_gosrsCurrent = a}) . _Default . _Map;
gosrsNextToken :: Lens' GetOfferingStatusResponse (Maybe Text)
gosrsNextToken = lens _gosrsNextToken (\ s a -> s{_gosrsNextToken = a});
gosrsResponseStatus :: Lens' GetOfferingStatusResponse Int
gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a});
instance NFData GetOfferingStatusResponse