{-# 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.CloudFormation.ListImports
(
listImports
, ListImports
, liNextToken
, liExportName
, listImportsResponse
, ListImportsResponse
, lirsImports
, lirsNextToken
, lirsResponseStatus
) where
import Network.AWS.CloudFormation.Types
import Network.AWS.CloudFormation.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListImports = ListImports'
{ _liNextToken :: !(Maybe Text)
, _liExportName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listImports
:: Text
-> ListImports
listImports pExportName_ =
ListImports' {_liNextToken = Nothing, _liExportName = pExportName_}
liNextToken :: Lens' ListImports (Maybe Text)
liNextToken = lens _liNextToken (\ s a -> s{_liNextToken = a})
liExportName :: Lens' ListImports Text
liExportName = lens _liExportName (\ s a -> s{_liExportName = a})
instance AWSPager ListImports where
page rq rs
| stop (rs ^. lirsNextToken) = Nothing
| stop (rs ^. lirsImports) = Nothing
| otherwise =
Just $ rq & liNextToken .~ rs ^. lirsNextToken
instance AWSRequest ListImports where
type Rs ListImports = ListImportsResponse
request = postQuery cloudFormation
response
= receiveXMLWrapper "ListImportsResult"
(\ s h x ->
ListImportsResponse' <$>
(x .@? "Imports" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListImports where
instance NFData ListImports where
instance ToHeaders ListImports where
toHeaders = const mempty
instance ToPath ListImports where
toPath = const "/"
instance ToQuery ListImports where
toQuery ListImports'{..}
= mconcat
["Action" =: ("ListImports" :: ByteString),
"Version" =: ("2010-05-15" :: ByteString),
"NextToken" =: _liNextToken,
"ExportName" =: _liExportName]
data ListImportsResponse = ListImportsResponse'
{ _lirsImports :: !(Maybe [Text])
, _lirsNextToken :: !(Maybe Text)
, _lirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listImportsResponse
:: Int
-> ListImportsResponse
listImportsResponse pResponseStatus_ =
ListImportsResponse'
{ _lirsImports = Nothing
, _lirsNextToken = Nothing
, _lirsResponseStatus = pResponseStatus_
}
lirsImports :: Lens' ListImportsResponse [Text]
lirsImports = lens _lirsImports (\ s a -> s{_lirsImports = a}) . _Default . _Coerce
lirsNextToken :: Lens' ListImportsResponse (Maybe Text)
lirsNextToken = lens _lirsNextToken (\ s a -> s{_lirsNextToken = a})
lirsResponseStatus :: Lens' ListImportsResponse Int
lirsResponseStatus = lens _lirsResponseStatus (\ s a -> s{_lirsResponseStatus = a})
instance NFData ListImportsResponse where