{-# 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.ServiceCatalog.ListProvisionedProductPlans
(
listProvisionedProductPlans
, ListProvisionedProductPlans
, lpppProvisionProductId
, lpppAcceptLanguage
, lpppAccessLevelFilter
, lpppPageToken
, lpppPageSize
, listProvisionedProductPlansResponse
, ListProvisionedProductPlansResponse
, lppprsNextPageToken
, lppprsProvisionedProductPlans
, lppprsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.ServiceCatalog.Types
import Network.AWS.ServiceCatalog.Types.Product
data ListProvisionedProductPlans = ListProvisionedProductPlans'
{ _lpppProvisionProductId :: !(Maybe Text)
, _lpppAcceptLanguage :: !(Maybe Text)
, _lpppAccessLevelFilter :: !(Maybe AccessLevelFilter)
, _lpppPageToken :: !(Maybe Text)
, _lpppPageSize :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listProvisionedProductPlans
:: ListProvisionedProductPlans
listProvisionedProductPlans =
ListProvisionedProductPlans'
{ _lpppProvisionProductId = Nothing
, _lpppAcceptLanguage = Nothing
, _lpppAccessLevelFilter = Nothing
, _lpppPageToken = Nothing
, _lpppPageSize = Nothing
}
lpppProvisionProductId :: Lens' ListProvisionedProductPlans (Maybe Text)
lpppProvisionProductId = lens _lpppProvisionProductId (\ s a -> s{_lpppProvisionProductId = a})
lpppAcceptLanguage :: Lens' ListProvisionedProductPlans (Maybe Text)
lpppAcceptLanguage = lens _lpppAcceptLanguage (\ s a -> s{_lpppAcceptLanguage = a})
lpppAccessLevelFilter :: Lens' ListProvisionedProductPlans (Maybe AccessLevelFilter)
lpppAccessLevelFilter = lens _lpppAccessLevelFilter (\ s a -> s{_lpppAccessLevelFilter = a})
lpppPageToken :: Lens' ListProvisionedProductPlans (Maybe Text)
lpppPageToken = lens _lpppPageToken (\ s a -> s{_lpppPageToken = a})
lpppPageSize :: Lens' ListProvisionedProductPlans (Maybe Natural)
lpppPageSize = lens _lpppPageSize (\ s a -> s{_lpppPageSize = a}) . mapping _Nat
instance AWSRequest ListProvisionedProductPlans where
type Rs ListProvisionedProductPlans =
ListProvisionedProductPlansResponse
request = postJSON serviceCatalog
response
= receiveJSON
(\ s h x ->
ListProvisionedProductPlansResponse' <$>
(x .?> "NextPageToken") <*>
(x .?> "ProvisionedProductPlans" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListProvisionedProductPlans where
instance NFData ListProvisionedProductPlans where
instance ToHeaders ListProvisionedProductPlans where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWS242ServiceCatalogService.ListProvisionedProductPlans"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListProvisionedProductPlans where
toJSON ListProvisionedProductPlans'{..}
= object
(catMaybes
[("ProvisionProductId" .=) <$>
_lpppProvisionProductId,
("AcceptLanguage" .=) <$> _lpppAcceptLanguage,
("AccessLevelFilter" .=) <$> _lpppAccessLevelFilter,
("PageToken" .=) <$> _lpppPageToken,
("PageSize" .=) <$> _lpppPageSize])
instance ToPath ListProvisionedProductPlans where
toPath = const "/"
instance ToQuery ListProvisionedProductPlans where
toQuery = const mempty
data ListProvisionedProductPlansResponse = ListProvisionedProductPlansResponse'
{ _lppprsNextPageToken :: !(Maybe Text)
, _lppprsProvisionedProductPlans :: !(Maybe [ProvisionedProductPlanSummary])
, _lppprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listProvisionedProductPlansResponse
:: Int
-> ListProvisionedProductPlansResponse
listProvisionedProductPlansResponse pResponseStatus_ =
ListProvisionedProductPlansResponse'
{ _lppprsNextPageToken = Nothing
, _lppprsProvisionedProductPlans = Nothing
, _lppprsResponseStatus = pResponseStatus_
}
lppprsNextPageToken :: Lens' ListProvisionedProductPlansResponse (Maybe Text)
lppprsNextPageToken = lens _lppprsNextPageToken (\ s a -> s{_lppprsNextPageToken = a})
lppprsProvisionedProductPlans :: Lens' ListProvisionedProductPlansResponse [ProvisionedProductPlanSummary]
lppprsProvisionedProductPlans = lens _lppprsProvisionedProductPlans (\ s a -> s{_lppprsProvisionedProductPlans = a}) . _Default . _Coerce
lppprsResponseStatus :: Lens' ListProvisionedProductPlansResponse Int
lppprsResponseStatus = lens _lppprsResponseStatus (\ s a -> s{_lppprsResponseStatus = a})
instance NFData ListProvisionedProductPlansResponse
where