{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns status information for sources within an aggregator. The status includes information about the last time AWS Config aggregated data from source accounts or AWS Config failed to aggregate data from source accounts with the related error code or message. -- -- module Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus ( -- * Creating a Request describeConfigurationAggregatorSourcesStatus , DescribeConfigurationAggregatorSourcesStatus -- * Request Lenses , dcassNextToken , dcassLimit , dcassUpdateStatus , dcassConfigurationAggregatorName -- * Destructuring the Response , describeConfigurationAggregatorSourcesStatusResponse , DescribeConfigurationAggregatorSourcesStatusResponse -- * Response Lenses , dcassrsAggregatedSourceStatusList , dcassrsNextToken , dcassrsResponseStatus ) 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 -- | /See:/ 'describeConfigurationAggregatorSourcesStatus' smart constructor. data DescribeConfigurationAggregatorSourcesStatus = DescribeConfigurationAggregatorSourcesStatus' { _dcassNextToken :: !(Maybe Text) , _dcassLimit :: !(Maybe Nat) , _dcassUpdateStatus :: !(Maybe (List1 AggregatedSourceStatusType)) , _dcassConfigurationAggregatorName :: !Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeConfigurationAggregatorSourcesStatus' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dcassNextToken' - The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. -- -- * 'dcassLimit' - The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. -- -- * 'dcassUpdateStatus' - Filters the status type. * Valid value FAILED indicates errors while moving data. * Valid value SUCCEEDED indicates the data was successfully moved. * Valid value OUTDATED indicates the data is not the most recent. -- -- * 'dcassConfigurationAggregatorName' - The name of the configuration aggregator. describeConfigurationAggregatorSourcesStatus :: Text -- ^ 'dcassConfigurationAggregatorName' -> DescribeConfigurationAggregatorSourcesStatus describeConfigurationAggregatorSourcesStatus pConfigurationAggregatorName_ = DescribeConfigurationAggregatorSourcesStatus' { _dcassNextToken = Nothing , _dcassLimit = Nothing , _dcassUpdateStatus = Nothing , _dcassConfigurationAggregatorName = pConfigurationAggregatorName_ } -- | The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. dcassNextToken :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe Text) dcassNextToken = lens _dcassNextToken (\ s a -> s{_dcassNextToken = a}) -- | The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default. dcassLimit :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe Natural) dcassLimit = lens _dcassLimit (\ s a -> s{_dcassLimit = a}) . mapping _Nat -- | Filters the status type. * Valid value FAILED indicates errors while moving data. * Valid value SUCCEEDED indicates the data was successfully moved. * Valid value OUTDATED indicates the data is not the most recent. dcassUpdateStatus :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe (NonEmpty AggregatedSourceStatusType)) dcassUpdateStatus = lens _dcassUpdateStatus (\ s a -> s{_dcassUpdateStatus = a}) . mapping _List1 -- | The name of the configuration aggregator. dcassConfigurationAggregatorName :: Lens' DescribeConfigurationAggregatorSourcesStatus Text dcassConfigurationAggregatorName = lens _dcassConfigurationAggregatorName (\ s a -> s{_dcassConfigurationAggregatorName = a}) instance AWSRequest DescribeConfigurationAggregatorSourcesStatus where type Rs DescribeConfigurationAggregatorSourcesStatus = DescribeConfigurationAggregatorSourcesStatusResponse request = postJSON config response = receiveJSON (\ s h x -> DescribeConfigurationAggregatorSourcesStatusResponse' <$> (x .?> "AggregatedSourceStatusList" .!@ mempty) <*> (x .?> "NextToken") <*> (pure (fromEnum s))) instance Hashable DescribeConfigurationAggregatorSourcesStatus where instance NFData DescribeConfigurationAggregatorSourcesStatus where instance ToHeaders DescribeConfigurationAggregatorSourcesStatus where toHeaders = const (mconcat ["X-Amz-Target" =# ("StarlingDoveService.DescribeConfigurationAggregatorSourcesStatus" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON DescribeConfigurationAggregatorSourcesStatus where toJSON DescribeConfigurationAggregatorSourcesStatus'{..} = object (catMaybes [("NextToken" .=) <$> _dcassNextToken, ("Limit" .=) <$> _dcassLimit, ("UpdateStatus" .=) <$> _dcassUpdateStatus, Just ("ConfigurationAggregatorName" .= _dcassConfigurationAggregatorName)]) instance ToPath DescribeConfigurationAggregatorSourcesStatus where toPath = const "/" instance ToQuery DescribeConfigurationAggregatorSourcesStatus where toQuery = const mempty -- | /See:/ 'describeConfigurationAggregatorSourcesStatusResponse' smart constructor. data DescribeConfigurationAggregatorSourcesStatusResponse = DescribeConfigurationAggregatorSourcesStatusResponse' { _dcassrsAggregatedSourceStatusList :: !(Maybe [AggregatedSourceStatus]) , _dcassrsNextToken :: !(Maybe Text) , _dcassrsResponseStatus :: !Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DescribeConfigurationAggregatorSourcesStatusResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dcassrsAggregatedSourceStatusList' - Retuns an AggregatedSourceStatus object. -- -- * 'dcassrsNextToken' - The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. -- -- * 'dcassrsResponseStatus' - -- | The response status code. describeConfigurationAggregatorSourcesStatusResponse :: Int -- ^ 'dcassrsResponseStatus' -> DescribeConfigurationAggregatorSourcesStatusResponse describeConfigurationAggregatorSourcesStatusResponse pResponseStatus_ = DescribeConfigurationAggregatorSourcesStatusResponse' { _dcassrsAggregatedSourceStatusList = Nothing , _dcassrsNextToken = Nothing , _dcassrsResponseStatus = pResponseStatus_ } -- | Retuns an AggregatedSourceStatus object. dcassrsAggregatedSourceStatusList :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse [AggregatedSourceStatus] dcassrsAggregatedSourceStatusList = lens _dcassrsAggregatedSourceStatusList (\ s a -> s{_dcassrsAggregatedSourceStatusList = a}) . _Default . _Coerce -- | The nextToken string returned on a previous page that you use to get the next page of results in a paginated response. dcassrsNextToken :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse (Maybe Text) dcassrsNextToken = lens _dcassrsNextToken (\ s a -> s{_dcassrsNextToken = a}) -- | -- | The response status code. dcassrsResponseStatus :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse Int dcassrsResponseStatus = lens _dcassrsResponseStatus (\ s a -> s{_dcassrsResponseStatus = a}) instance NFData DescribeConfigurationAggregatorSourcesStatusResponse where