module Network.AWS.ElasticSearch.ListElasticsearchInstanceTypes
(
listElasticsearchInstanceTypes
, ListElasticsearchInstanceTypes
, leitNextToken
, leitDomainName
, leitMaxResults
, leitElasticsearchVersion
, listElasticsearchInstanceTypesResponse
, ListElasticsearchInstanceTypesResponse
, leitrsElasticsearchInstanceTypes
, leitrsNextToken
, leitrsResponseStatus
) 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
data ListElasticsearchInstanceTypes = ListElasticsearchInstanceTypes'
{ _leitNextToken :: !(Maybe Text)
, _leitDomainName :: !(Maybe Text)
, _leitMaxResults :: !(Maybe Int)
, _leitElasticsearchVersion :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listElasticsearchInstanceTypes
:: Text
-> ListElasticsearchInstanceTypes
listElasticsearchInstanceTypes pElasticsearchVersion_ =
ListElasticsearchInstanceTypes'
{ _leitNextToken = Nothing
, _leitDomainName = Nothing
, _leitMaxResults = Nothing
, _leitElasticsearchVersion = pElasticsearchVersion_
}
leitNextToken :: Lens' ListElasticsearchInstanceTypes (Maybe Text)
leitNextToken = lens _leitNextToken (\ s a -> s{_leitNextToken = a});
leitDomainName :: Lens' ListElasticsearchInstanceTypes (Maybe Text)
leitDomainName = lens _leitDomainName (\ s a -> s{_leitDomainName = a});
leitMaxResults :: Lens' ListElasticsearchInstanceTypes (Maybe Int)
leitMaxResults = lens _leitMaxResults (\ s a -> s{_leitMaxResults = a});
leitElasticsearchVersion :: Lens' ListElasticsearchInstanceTypes Text
leitElasticsearchVersion = lens _leitElasticsearchVersion (\ s a -> s{_leitElasticsearchVersion = a});
instance AWSRequest ListElasticsearchInstanceTypes
where
type Rs ListElasticsearchInstanceTypes =
ListElasticsearchInstanceTypesResponse
request = get elasticSearch
response
= receiveJSON
(\ s h x ->
ListElasticsearchInstanceTypesResponse' <$>
(x .?> "ElasticsearchInstanceTypes" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListElasticsearchInstanceTypes
where
instance NFData ListElasticsearchInstanceTypes where
instance ToHeaders ListElasticsearchInstanceTypes
where
toHeaders = const mempty
instance ToPath ListElasticsearchInstanceTypes where
toPath ListElasticsearchInstanceTypes'{..}
= mconcat
["/2015-01-01/es/instanceTypes/",
toBS _leitElasticsearchVersion]
instance ToQuery ListElasticsearchInstanceTypes where
toQuery ListElasticsearchInstanceTypes'{..}
= mconcat
["nextToken" =: _leitNextToken,
"domainName" =: _leitDomainName,
"maxResults" =: _leitMaxResults]
data ListElasticsearchInstanceTypesResponse = ListElasticsearchInstanceTypesResponse'
{ _leitrsElasticsearchInstanceTypes :: !(Maybe [ESPartitionInstanceType])
, _leitrsNextToken :: !(Maybe Text)
, _leitrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listElasticsearchInstanceTypesResponse
:: Int
-> ListElasticsearchInstanceTypesResponse
listElasticsearchInstanceTypesResponse pResponseStatus_ =
ListElasticsearchInstanceTypesResponse'
{ _leitrsElasticsearchInstanceTypes = Nothing
, _leitrsNextToken = Nothing
, _leitrsResponseStatus = pResponseStatus_
}
leitrsElasticsearchInstanceTypes :: Lens' ListElasticsearchInstanceTypesResponse [ESPartitionInstanceType]
leitrsElasticsearchInstanceTypes = lens _leitrsElasticsearchInstanceTypes (\ s a -> s{_leitrsElasticsearchInstanceTypes = a}) . _Default . _Coerce;
leitrsNextToken :: Lens' ListElasticsearchInstanceTypesResponse (Maybe Text)
leitrsNextToken = lens _leitrsNextToken (\ s a -> s{_leitrsNextToken = a});
leitrsResponseStatus :: Lens' ListElasticsearchInstanceTypesResponse Int
leitrsResponseStatus = lens _leitrsResponseStatus (\ s a -> s{_leitrsResponseStatus = a});
instance NFData
ListElasticsearchInstanceTypesResponse
where