{-# 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.IoT.DescribeIndex
(
describeIndex
, DescribeIndex
, diIndexName
, describeIndexResponse
, DescribeIndexResponse
, dirsIndexStatus
, dirsSchema
, dirsIndexName
, dirsResponseStatus
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeIndex = DescribeIndex'
{ _diIndexName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeIndex
:: Text
-> DescribeIndex
describeIndex pIndexName_ = DescribeIndex' {_diIndexName = pIndexName_}
diIndexName :: Lens' DescribeIndex Text
diIndexName = lens _diIndexName (\ s a -> s{_diIndexName = a})
instance AWSRequest DescribeIndex where
type Rs DescribeIndex = DescribeIndexResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeIndexResponse' <$>
(x .?> "indexStatus") <*> (x .?> "schema") <*>
(x .?> "indexName")
<*> (pure (fromEnum s)))
instance Hashable DescribeIndex where
instance NFData DescribeIndex where
instance ToHeaders DescribeIndex where
toHeaders = const mempty
instance ToPath DescribeIndex where
toPath DescribeIndex'{..}
= mconcat ["/indices/", toBS _diIndexName]
instance ToQuery DescribeIndex where
toQuery = const mempty
data DescribeIndexResponse = DescribeIndexResponse'
{ _dirsIndexStatus :: !(Maybe IndexStatus)
, _dirsSchema :: !(Maybe Text)
, _dirsIndexName :: !(Maybe Text)
, _dirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeIndexResponse
:: Int
-> DescribeIndexResponse
describeIndexResponse pResponseStatus_ =
DescribeIndexResponse'
{ _dirsIndexStatus = Nothing
, _dirsSchema = Nothing
, _dirsIndexName = Nothing
, _dirsResponseStatus = pResponseStatus_
}
dirsIndexStatus :: Lens' DescribeIndexResponse (Maybe IndexStatus)
dirsIndexStatus = lens _dirsIndexStatus (\ s a -> s{_dirsIndexStatus = a})
dirsSchema :: Lens' DescribeIndexResponse (Maybe Text)
dirsSchema = lens _dirsSchema (\ s a -> s{_dirsSchema = a})
dirsIndexName :: Lens' DescribeIndexResponse (Maybe Text)
dirsIndexName = lens _dirsIndexName (\ s a -> s{_dirsIndexName = a})
dirsResponseStatus :: Lens' DescribeIndexResponse Int
dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a})
instance NFData DescribeIndexResponse where