{-# 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.DeleteRole
(
deleteRole
, DeleteRole
, drRoleName
, deleteRoleResponse
, DeleteRoleResponse
) 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 DeleteRole = DeleteRole'
{ _drRoleName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteRole
:: Text
-> DeleteRole
deleteRole pRoleName_ =
DeleteRole'
{ _drRoleName = pRoleName_
}
drRoleName :: Lens' DeleteRole Text
drRoleName = lens _drRoleName (\ s a -> s{_drRoleName = a});
instance AWSRequest DeleteRole where
type Rs DeleteRole = DeleteRoleResponse
request = postQuery iam
response = receiveNull DeleteRoleResponse'
instance Hashable DeleteRole
instance NFData DeleteRole
instance ToHeaders DeleteRole where
toHeaders = const mempty
instance ToPath DeleteRole where
toPath = const "/"
instance ToQuery DeleteRole where
toQuery DeleteRole'{..}
= mconcat
["Action" =: ("DeleteRole" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"RoleName" =: _drRoleName]
data DeleteRoleResponse =
DeleteRoleResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteRoleResponse
:: DeleteRoleResponse
deleteRoleResponse = DeleteRoleResponse'
instance NFData DeleteRoleResponse