{-# 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.RemoveThingFromThingGroup
(
removeThingFromThingGroup
, RemoveThingFromThingGroup
, rtftgThingGroupARN
, rtftgThingARN
, rtftgThingGroupName
, rtftgThingName
, removeThingFromThingGroupResponse
, RemoveThingFromThingGroupResponse
, rtftgrsResponseStatus
) 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
data RemoveThingFromThingGroup = RemoveThingFromThingGroup'
{ _rtftgThingGroupARN :: !(Maybe Text)
, _rtftgThingARN :: !(Maybe Text)
, _rtftgThingGroupName :: !(Maybe Text)
, _rtftgThingName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
removeThingFromThingGroup
:: RemoveThingFromThingGroup
removeThingFromThingGroup =
RemoveThingFromThingGroup'
{ _rtftgThingGroupARN = Nothing
, _rtftgThingARN = Nothing
, _rtftgThingGroupName = Nothing
, _rtftgThingName = Nothing
}
rtftgThingGroupARN :: Lens' RemoveThingFromThingGroup (Maybe Text)
rtftgThingGroupARN = lens _rtftgThingGroupARN (\ s a -> s{_rtftgThingGroupARN = a})
rtftgThingARN :: Lens' RemoveThingFromThingGroup (Maybe Text)
rtftgThingARN = lens _rtftgThingARN (\ s a -> s{_rtftgThingARN = a})
rtftgThingGroupName :: Lens' RemoveThingFromThingGroup (Maybe Text)
rtftgThingGroupName = lens _rtftgThingGroupName (\ s a -> s{_rtftgThingGroupName = a})
rtftgThingName :: Lens' RemoveThingFromThingGroup (Maybe Text)
rtftgThingName = lens _rtftgThingName (\ s a -> s{_rtftgThingName = a})
instance AWSRequest RemoveThingFromThingGroup where
type Rs RemoveThingFromThingGroup =
RemoveThingFromThingGroupResponse
request = putJSON ioT
response
= receiveEmpty
(\ s h x ->
RemoveThingFromThingGroupResponse' <$>
(pure (fromEnum s)))
instance Hashable RemoveThingFromThingGroup where
instance NFData RemoveThingFromThingGroup where
instance ToHeaders RemoveThingFromThingGroup where
toHeaders = const mempty
instance ToJSON RemoveThingFromThingGroup where
toJSON RemoveThingFromThingGroup'{..}
= object
(catMaybes
[("thingGroupArn" .=) <$> _rtftgThingGroupARN,
("thingArn" .=) <$> _rtftgThingARN,
("thingGroupName" .=) <$> _rtftgThingGroupName,
("thingName" .=) <$> _rtftgThingName])
instance ToPath RemoveThingFromThingGroup where
toPath
= const "/thing-groups/removeThingFromThingGroup"
instance ToQuery RemoveThingFromThingGroup where
toQuery = const mempty
newtype RemoveThingFromThingGroupResponse = RemoveThingFromThingGroupResponse'
{ _rtftgrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
removeThingFromThingGroupResponse
:: Int
-> RemoveThingFromThingGroupResponse
removeThingFromThingGroupResponse pResponseStatus_ =
RemoveThingFromThingGroupResponse' {_rtftgrsResponseStatus = pResponseStatus_}
rtftgrsResponseStatus :: Lens' RemoveThingFromThingGroupResponse Int
rtftgrsResponseStatus = lens _rtftgrsResponseStatus (\ s a -> s{_rtftgrsResponseStatus = a})
instance NFData RemoveThingFromThingGroupResponse
where