{-# 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.IAM.DeleteGroup
(
deleteGroup
, DeleteGroup
, dgGroupName
, deleteGroupResponse
, DeleteGroupResponse
) where
import Network.AWS.IAM.Types
import Network.AWS.IAM.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteGroup = DeleteGroup'
{ _dgGroupName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteGroup
:: Text
-> DeleteGroup
deleteGroup pGroupName_ =
DeleteGroup'
{ _dgGroupName = pGroupName_
}
dgGroupName :: Lens' DeleteGroup Text
dgGroupName = lens _dgGroupName (\ s a -> s{_dgGroupName = a});
instance AWSRequest DeleteGroup where
type Rs DeleteGroup = DeleteGroupResponse
request = postQuery iam
response = receiveNull DeleteGroupResponse'
instance Hashable DeleteGroup
instance NFData DeleteGroup
instance ToHeaders DeleteGroup where
toHeaders = const mempty
instance ToPath DeleteGroup where
toPath = const "/"
instance ToQuery DeleteGroup where
toQuery DeleteGroup'{..}
= mconcat
["Action" =: ("DeleteGroup" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"GroupName" =: _dgGroupName]
data DeleteGroupResponse =
DeleteGroupResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteGroupResponse
:: DeleteGroupResponse
deleteGroupResponse = DeleteGroupResponse'
instance NFData DeleteGroupResponse