{-# 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.Greengrass.DeleteGroup
(
deleteGroup
, DeleteGroup
, dgGroupId
, deleteGroupResponse
, DeleteGroupResponse
, dgrsResponseStatus
) where
import Network.AWS.Greengrass.Types
import Network.AWS.Greengrass.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteGroup = DeleteGroup'
{ _dgGroupId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteGroup
:: Text
-> DeleteGroup
deleteGroup pGroupId_ = DeleteGroup' {_dgGroupId = pGroupId_}
dgGroupId :: Lens' DeleteGroup Text
dgGroupId = lens _dgGroupId (\ s a -> s{_dgGroupId = a})
instance AWSRequest DeleteGroup where
type Rs DeleteGroup = DeleteGroupResponse
request = delete greengrass
response
= receiveEmpty
(\ s h x ->
DeleteGroupResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteGroup where
instance NFData DeleteGroup where
instance ToHeaders DeleteGroup where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath DeleteGroup where
toPath DeleteGroup'{..}
= mconcat ["/greengrass/groups/", toBS _dgGroupId]
instance ToQuery DeleteGroup where
toQuery = const mempty
newtype DeleteGroupResponse = DeleteGroupResponse'
{ _dgrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteGroupResponse
:: Int
-> DeleteGroupResponse
deleteGroupResponse pResponseStatus_ =
DeleteGroupResponse' {_dgrsResponseStatus = pResponseStatus_}
dgrsResponseStatus :: Lens' DeleteGroupResponse Int
dgrsResponseStatus = lens _dgrsResponseStatus (\ s a -> s{_dgrsResponseStatus = a})
instance NFData DeleteGroupResponse where