module Network.AWS.Config.ListDiscoveredResources
(
listDiscoveredResources
, ListDiscoveredResources
, ldrResourceIds
, ldrResourceName
, ldrIncludeDeletedResources
, ldrNextToken
, ldrLimit
, ldrResourceType
, listDiscoveredResourcesResponse
, ListDiscoveredResourcesResponse
, ldrrsNextToken
, ldrrsResourceIdentifiers
, ldrrsResponseStatus
) where
import Network.AWS.Config.Types
import Network.AWS.Config.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListDiscoveredResources = ListDiscoveredResources'
{ _ldrResourceIds :: !(Maybe [Text])
, _ldrResourceName :: !(Maybe Text)
, _ldrIncludeDeletedResources :: !(Maybe Bool)
, _ldrNextToken :: !(Maybe Text)
, _ldrLimit :: !(Maybe Nat)
, _ldrResourceType :: !ResourceType
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listDiscoveredResources
:: ResourceType
-> ListDiscoveredResources
listDiscoveredResources pResourceType_ =
ListDiscoveredResources'
{ _ldrResourceIds = Nothing
, _ldrResourceName = Nothing
, _ldrIncludeDeletedResources = Nothing
, _ldrNextToken = Nothing
, _ldrLimit = Nothing
, _ldrResourceType = pResourceType_
}
ldrResourceIds :: Lens' ListDiscoveredResources [Text]
ldrResourceIds = lens _ldrResourceIds (\ s a -> s{_ldrResourceIds = a}) . _Default . _Coerce;
ldrResourceName :: Lens' ListDiscoveredResources (Maybe Text)
ldrResourceName = lens _ldrResourceName (\ s a -> s{_ldrResourceName = a});
ldrIncludeDeletedResources :: Lens' ListDiscoveredResources (Maybe Bool)
ldrIncludeDeletedResources = lens _ldrIncludeDeletedResources (\ s a -> s{_ldrIncludeDeletedResources = a});
ldrNextToken :: Lens' ListDiscoveredResources (Maybe Text)
ldrNextToken = lens _ldrNextToken (\ s a -> s{_ldrNextToken = a});
ldrLimit :: Lens' ListDiscoveredResources (Maybe Natural)
ldrLimit = lens _ldrLimit (\ s a -> s{_ldrLimit = a}) . mapping _Nat;
ldrResourceType :: Lens' ListDiscoveredResources ResourceType
ldrResourceType = lens _ldrResourceType (\ s a -> s{_ldrResourceType = a});
instance AWSRequest ListDiscoveredResources where
type Rs ListDiscoveredResources =
ListDiscoveredResourcesResponse
request = postJSON config
response
= receiveJSON
(\ s h x ->
ListDiscoveredResourcesResponse' <$>
(x .?> "nextToken") <*>
(x .?> "resourceIdentifiers" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListDiscoveredResources
instance ToHeaders ListDiscoveredResources where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StarlingDoveService.ListDiscoveredResources" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListDiscoveredResources where
toJSON ListDiscoveredResources'{..}
= object
(catMaybes
[("resourceIds" .=) <$> _ldrResourceIds,
("resourceName" .=) <$> _ldrResourceName,
("includeDeletedResources" .=) <$>
_ldrIncludeDeletedResources,
("nextToken" .=) <$> _ldrNextToken,
("limit" .=) <$> _ldrLimit,
Just ("resourceType" .= _ldrResourceType)])
instance ToPath ListDiscoveredResources where
toPath = const "/"
instance ToQuery ListDiscoveredResources where
toQuery = const mempty
data ListDiscoveredResourcesResponse = ListDiscoveredResourcesResponse'
{ _ldrrsNextToken :: !(Maybe Text)
, _ldrrsResourceIdentifiers :: !(Maybe [ResourceIdentifier])
, _ldrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listDiscoveredResourcesResponse
:: Int
-> ListDiscoveredResourcesResponse
listDiscoveredResourcesResponse pResponseStatus_ =
ListDiscoveredResourcesResponse'
{ _ldrrsNextToken = Nothing
, _ldrrsResourceIdentifiers = Nothing
, _ldrrsResponseStatus = pResponseStatus_
}
ldrrsNextToken :: Lens' ListDiscoveredResourcesResponse (Maybe Text)
ldrrsNextToken = lens _ldrrsNextToken (\ s a -> s{_ldrrsNextToken = a});
ldrrsResourceIdentifiers :: Lens' ListDiscoveredResourcesResponse [ResourceIdentifier]
ldrrsResourceIdentifiers = lens _ldrrsResourceIdentifiers (\ s a -> s{_ldrrsResourceIdentifiers = a}) . _Default . _Coerce;
ldrrsResponseStatus :: Lens' ListDiscoveredResourcesResponse Int
ldrrsResponseStatus = lens _ldrrsResponseStatus (\ s a -> s{_ldrrsResponseStatus = a});