{-# 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.DescribeThingGroup
(
describeThingGroup
, DescribeThingGroup
, dtgThingGroupName
, describeThingGroupResponse
, DescribeThingGroupResponse
, dtgrsThingGroupARN
, dtgrsThingGroupId
, dtgrsThingGroupMetadata
, dtgrsThingGroupName
, dtgrsVersion
, dtgrsThingGroupProperties
, dtgrsResponseStatus
) 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 DescribeThingGroup = DescribeThingGroup'
{ _dtgThingGroupName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeThingGroup
:: Text
-> DescribeThingGroup
describeThingGroup pThingGroupName_ =
DescribeThingGroup' {_dtgThingGroupName = pThingGroupName_}
dtgThingGroupName :: Lens' DescribeThingGroup Text
dtgThingGroupName = lens _dtgThingGroupName (\ s a -> s{_dtgThingGroupName = a})
instance AWSRequest DescribeThingGroup where
type Rs DescribeThingGroup =
DescribeThingGroupResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeThingGroupResponse' <$>
(x .?> "thingGroupArn") <*> (x .?> "thingGroupId")
<*> (x .?> "thingGroupMetadata")
<*> (x .?> "thingGroupName")
<*> (x .?> "version")
<*> (x .?> "thingGroupProperties")
<*> (pure (fromEnum s)))
instance Hashable DescribeThingGroup where
instance NFData DescribeThingGroup where
instance ToHeaders DescribeThingGroup where
toHeaders = const mempty
instance ToPath DescribeThingGroup where
toPath DescribeThingGroup'{..}
= mconcat ["/thing-groups/", toBS _dtgThingGroupName]
instance ToQuery DescribeThingGroup where
toQuery = const mempty
data DescribeThingGroupResponse = DescribeThingGroupResponse'
{ _dtgrsThingGroupARN :: !(Maybe Text)
, _dtgrsThingGroupId :: !(Maybe Text)
, _dtgrsThingGroupMetadata :: !(Maybe ThingGroupMetadata)
, _dtgrsThingGroupName :: !(Maybe Text)
, _dtgrsVersion :: !(Maybe Integer)
, _dtgrsThingGroupProperties :: !(Maybe ThingGroupProperties)
, _dtgrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeThingGroupResponse
:: Int
-> DescribeThingGroupResponse
describeThingGroupResponse pResponseStatus_ =
DescribeThingGroupResponse'
{ _dtgrsThingGroupARN = Nothing
, _dtgrsThingGroupId = Nothing
, _dtgrsThingGroupMetadata = Nothing
, _dtgrsThingGroupName = Nothing
, _dtgrsVersion = Nothing
, _dtgrsThingGroupProperties = Nothing
, _dtgrsResponseStatus = pResponseStatus_
}
dtgrsThingGroupARN :: Lens' DescribeThingGroupResponse (Maybe Text)
dtgrsThingGroupARN = lens _dtgrsThingGroupARN (\ s a -> s{_dtgrsThingGroupARN = a})
dtgrsThingGroupId :: Lens' DescribeThingGroupResponse (Maybe Text)
dtgrsThingGroupId = lens _dtgrsThingGroupId (\ s a -> s{_dtgrsThingGroupId = a})
dtgrsThingGroupMetadata :: Lens' DescribeThingGroupResponse (Maybe ThingGroupMetadata)
dtgrsThingGroupMetadata = lens _dtgrsThingGroupMetadata (\ s a -> s{_dtgrsThingGroupMetadata = a})
dtgrsThingGroupName :: Lens' DescribeThingGroupResponse (Maybe Text)
dtgrsThingGroupName = lens _dtgrsThingGroupName (\ s a -> s{_dtgrsThingGroupName = a})
dtgrsVersion :: Lens' DescribeThingGroupResponse (Maybe Integer)
dtgrsVersion = lens _dtgrsVersion (\ s a -> s{_dtgrsVersion = a})
dtgrsThingGroupProperties :: Lens' DescribeThingGroupResponse (Maybe ThingGroupProperties)
dtgrsThingGroupProperties = lens _dtgrsThingGroupProperties (\ s a -> s{_dtgrsThingGroupProperties = a})
dtgrsResponseStatus :: Lens' DescribeThingGroupResponse Int
dtgrsResponseStatus = lens _dtgrsResponseStatus (\ s a -> s{_dtgrsResponseStatus = a})
instance NFData DescribeThingGroupResponse where