{-# 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.ListOfferingPromotions
(
listOfferingPromotions
, ListOfferingPromotions
, lopNextToken
, listOfferingPromotionsResponse
, ListOfferingPromotionsResponse
, loprsNextToken
, loprsOfferingPromotions
, loprsResponseStatus
) 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 ListOfferingPromotions = ListOfferingPromotions'
{ _lopNextToken :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listOfferingPromotions
:: ListOfferingPromotions
listOfferingPromotions = ListOfferingPromotions' {_lopNextToken = Nothing}
lopNextToken :: Lens' ListOfferingPromotions (Maybe Text)
lopNextToken = lens _lopNextToken (\ s a -> s{_lopNextToken = a})
instance AWSRequest ListOfferingPromotions where
type Rs ListOfferingPromotions =
ListOfferingPromotionsResponse
request = postJSON deviceFarm
response
= receiveJSON
(\ s h x ->
ListOfferingPromotionsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "offeringPromotions" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListOfferingPromotions where
instance NFData ListOfferingPromotions where
instance ToHeaders ListOfferingPromotions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DeviceFarm_20150623.ListOfferingPromotions" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListOfferingPromotions where
toJSON ListOfferingPromotions'{..}
= object
(catMaybes [("nextToken" .=) <$> _lopNextToken])
instance ToPath ListOfferingPromotions where
toPath = const "/"
instance ToQuery ListOfferingPromotions where
toQuery = const mempty
data ListOfferingPromotionsResponse = ListOfferingPromotionsResponse'
{ _loprsNextToken :: !(Maybe Text)
, _loprsOfferingPromotions :: !(Maybe [OfferingPromotion])
, _loprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listOfferingPromotionsResponse
:: Int
-> ListOfferingPromotionsResponse
listOfferingPromotionsResponse pResponseStatus_ =
ListOfferingPromotionsResponse'
{ _loprsNextToken = Nothing
, _loprsOfferingPromotions = Nothing
, _loprsResponseStatus = pResponseStatus_
}
loprsNextToken :: Lens' ListOfferingPromotionsResponse (Maybe Text)
loprsNextToken = lens _loprsNextToken (\ s a -> s{_loprsNextToken = a})
loprsOfferingPromotions :: Lens' ListOfferingPromotionsResponse [OfferingPromotion]
loprsOfferingPromotions = lens _loprsOfferingPromotions (\ s a -> s{_loprsOfferingPromotions = a}) . _Default . _Coerce
loprsResponseStatus :: Lens' ListOfferingPromotionsResponse Int
loprsResponseStatus = lens _loprsResponseStatus (\ s a -> s{_loprsResponseStatus = a})
instance NFData ListOfferingPromotionsResponse where