{-# 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.ElasticSearch.DescribeElasticsearchDomain
(
describeElasticsearchDomain
, DescribeElasticsearchDomain
, dedDomainName
, describeElasticsearchDomainResponse
, DescribeElasticsearchDomainResponse
, dedrsResponseStatus
, dedrsDomainStatus
) 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
newtype DescribeElasticsearchDomain = DescribeElasticsearchDomain'
{ _dedDomainName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeElasticsearchDomain
:: Text
-> DescribeElasticsearchDomain
describeElasticsearchDomain pDomainName_ =
DescribeElasticsearchDomain'
{ _dedDomainName = pDomainName_
}
dedDomainName :: Lens' DescribeElasticsearchDomain Text
dedDomainName = lens _dedDomainName (\ s a -> s{_dedDomainName = a});
instance AWSRequest DescribeElasticsearchDomain where
type Rs DescribeElasticsearchDomain =
DescribeElasticsearchDomainResponse
request = get elasticSearch
response
= receiveJSON
(\ s h x ->
DescribeElasticsearchDomainResponse' <$>
(pure (fromEnum s)) <*> (x .:> "DomainStatus"))
instance Hashable DescribeElasticsearchDomain
instance NFData DescribeElasticsearchDomain
instance ToHeaders DescribeElasticsearchDomain where
toHeaders = const mempty
instance ToPath DescribeElasticsearchDomain where
toPath DescribeElasticsearchDomain'{..}
= mconcat
["/2015-01-01/es/domain/", toBS _dedDomainName]
instance ToQuery DescribeElasticsearchDomain where
toQuery = const mempty
data DescribeElasticsearchDomainResponse = DescribeElasticsearchDomainResponse'
{ _dedrsResponseStatus :: !Int
, _dedrsDomainStatus :: !ElasticsearchDomainStatus
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeElasticsearchDomainResponse
:: Int
-> ElasticsearchDomainStatus
-> DescribeElasticsearchDomainResponse
describeElasticsearchDomainResponse pResponseStatus_ pDomainStatus_ =
DescribeElasticsearchDomainResponse'
{ _dedrsResponseStatus = pResponseStatus_
, _dedrsDomainStatus = pDomainStatus_
}
dedrsResponseStatus :: Lens' DescribeElasticsearchDomainResponse Int
dedrsResponseStatus = lens _dedrsResponseStatus (\ s a -> s{_dedrsResponseStatus = a});
dedrsDomainStatus :: Lens' DescribeElasticsearchDomainResponse ElasticsearchDomainStatus
dedrsDomainStatus = lens _dedrsDomainStatus (\ s a -> s{_dedrsDomainStatus = a});
instance NFData DescribeElasticsearchDomainResponse