amazonka-elasticsearch-1.6.0: gen/Network/AWS/ElasticSearch/DescribeReservedElasticsearchInstances.hs
{-# 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.ElasticSearch.DescribeReservedElasticsearchInstances
-- Copyright : (c) 2013-2018 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns information about reserved Elasticsearch instances for this account.
--
--
module Network.AWS.ElasticSearch.DescribeReservedElasticsearchInstances
(
-- * Creating a Request
describeReservedElasticsearchInstances
, DescribeReservedElasticsearchInstances
-- * Request Lenses
, dreiReservedElasticsearchInstanceId
, dreiNextToken
, dreiMaxResults
-- * Destructuring the Response
, describeReservedElasticsearchInstancesResponse
, DescribeReservedElasticsearchInstancesResponse
-- * Response Lenses
, dreirsReservedElasticsearchInstances
, dreirsNextToken
, dreirsResponseStatus
) where
import Network.AWS.ElasticSearch.Types
import Network.AWS.ElasticSearch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | Container for parameters to @DescribeReservedElasticsearchInstances@
--
--
--
-- /See:/ 'describeReservedElasticsearchInstances' smart constructor.
data DescribeReservedElasticsearchInstances = DescribeReservedElasticsearchInstances'
{ _dreiReservedElasticsearchInstanceId :: !(Maybe Text)
, _dreiNextToken :: !(Maybe Text)
, _dreiMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'DescribeReservedElasticsearchInstances' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'dreiReservedElasticsearchInstanceId' - The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.
--
-- * 'dreiNextToken' - NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.
--
-- * 'dreiMaxResults' - Set this value to limit the number of results returned. If not specified, defaults to 100.
describeReservedElasticsearchInstances
:: DescribeReservedElasticsearchInstances
describeReservedElasticsearchInstances =
DescribeReservedElasticsearchInstances'
{ _dreiReservedElasticsearchInstanceId = Nothing
, _dreiNextToken = Nothing
, _dreiMaxResults = Nothing
}
-- | The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.
dreiReservedElasticsearchInstanceId :: Lens' DescribeReservedElasticsearchInstances (Maybe Text)
dreiReservedElasticsearchInstanceId = lens _dreiReservedElasticsearchInstanceId (\ s a -> s{_dreiReservedElasticsearchInstanceId = a})
-- | NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.
dreiNextToken :: Lens' DescribeReservedElasticsearchInstances (Maybe Text)
dreiNextToken = lens _dreiNextToken (\ s a -> s{_dreiNextToken = a})
-- | Set this value to limit the number of results returned. If not specified, defaults to 100.
dreiMaxResults :: Lens' DescribeReservedElasticsearchInstances (Maybe Int)
dreiMaxResults = lens _dreiMaxResults (\ s a -> s{_dreiMaxResults = a})
instance AWSRequest
DescribeReservedElasticsearchInstances
where
type Rs DescribeReservedElasticsearchInstances =
DescribeReservedElasticsearchInstancesResponse
request = get elasticSearch
response
= receiveJSON
(\ s h x ->
DescribeReservedElasticsearchInstancesResponse' <$>
(x .?> "ReservedElasticsearchInstances" .!@ mempty)
<*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable
DescribeReservedElasticsearchInstances
where
instance NFData
DescribeReservedElasticsearchInstances
where
instance ToHeaders
DescribeReservedElasticsearchInstances
where
toHeaders = const mempty
instance ToPath
DescribeReservedElasticsearchInstances
where
toPath = const "/2015-01-01/es/reservedInstances"
instance ToQuery
DescribeReservedElasticsearchInstances
where
toQuery DescribeReservedElasticsearchInstances'{..}
= mconcat
["reservationId" =:
_dreiReservedElasticsearchInstanceId,
"nextToken" =: _dreiNextToken,
"maxResults" =: _dreiMaxResults]
-- | Container for results from @DescribeReservedElasticsearchInstances@
--
--
--
-- /See:/ 'describeReservedElasticsearchInstancesResponse' smart constructor.
data DescribeReservedElasticsearchInstancesResponse = DescribeReservedElasticsearchInstancesResponse'
{ _dreirsReservedElasticsearchInstances :: !(Maybe [ReservedElasticsearchInstance])
, _dreirsNextToken :: !(Maybe Text)
, _dreirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'DescribeReservedElasticsearchInstancesResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'dreirsReservedElasticsearchInstances' - List of reserved Elasticsearch instances.
--
-- * 'dreirsNextToken' - Provides an identifier to allow retrieval of paginated results.
--
-- * 'dreirsResponseStatus' - -- | The response status code.
describeReservedElasticsearchInstancesResponse
:: Int -- ^ 'dreirsResponseStatus'
-> DescribeReservedElasticsearchInstancesResponse
describeReservedElasticsearchInstancesResponse pResponseStatus_ =
DescribeReservedElasticsearchInstancesResponse'
{ _dreirsReservedElasticsearchInstances = Nothing
, _dreirsNextToken = Nothing
, _dreirsResponseStatus = pResponseStatus_
}
-- | List of reserved Elasticsearch instances.
dreirsReservedElasticsearchInstances :: Lens' DescribeReservedElasticsearchInstancesResponse [ReservedElasticsearchInstance]
dreirsReservedElasticsearchInstances = lens _dreirsReservedElasticsearchInstances (\ s a -> s{_dreirsReservedElasticsearchInstances = a}) . _Default . _Coerce
-- | Provides an identifier to allow retrieval of paginated results.
dreirsNextToken :: Lens' DescribeReservedElasticsearchInstancesResponse (Maybe Text)
dreirsNextToken = lens _dreirsNextToken (\ s a -> s{_dreirsNextToken = a})
-- | -- | The response status code.
dreirsResponseStatus :: Lens' DescribeReservedElasticsearchInstancesResponse Int
dreirsResponseStatus = lens _dreirsResponseStatus (\ s a -> s{_dreirsResponseStatus = a})
instance NFData
DescribeReservedElasticsearchInstancesResponse
where