module Network.AWS.IAM.DetachRolePolicy
(
detachRolePolicy
, DetachRolePolicy
, drpRoleName
, drpPolicyARN
, detachRolePolicyResponse
, DetachRolePolicyResponse
) 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
data DetachRolePolicy = DetachRolePolicy'
{ _drpRoleName :: !Text
, _drpPolicyARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachRolePolicy
:: Text
-> Text
-> DetachRolePolicy
detachRolePolicy pRoleName_ pPolicyARN_ =
DetachRolePolicy'
{ _drpRoleName = pRoleName_
, _drpPolicyARN = pPolicyARN_
}
drpRoleName :: Lens' DetachRolePolicy Text
drpRoleName = lens _drpRoleName (\ s a -> s{_drpRoleName = a});
drpPolicyARN :: Lens' DetachRolePolicy Text
drpPolicyARN = lens _drpPolicyARN (\ s a -> s{_drpPolicyARN = a});
instance AWSRequest DetachRolePolicy where
type Rs DetachRolePolicy = DetachRolePolicyResponse
request = postQuery iam
response = receiveNull DetachRolePolicyResponse'
instance Hashable DetachRolePolicy
instance NFData DetachRolePolicy
instance ToHeaders DetachRolePolicy where
toHeaders = const mempty
instance ToPath DetachRolePolicy where
toPath = const "/"
instance ToQuery DetachRolePolicy where
toQuery DetachRolePolicy'{..}
= mconcat
["Action" =: ("DetachRolePolicy" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"RoleName" =: _drpRoleName,
"PolicyArn" =: _drpPolicyARN]
data DetachRolePolicyResponse =
DetachRolePolicyResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
detachRolePolicyResponse
:: DetachRolePolicyResponse
detachRolePolicyResponse = DetachRolePolicyResponse'
instance NFData DetachRolePolicyResponse