{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
module Aws.Iam.Commands.DeleteGroupPolicy
( DeleteGroupPolicy(..)
, DeleteGroupPolicyResponse(..)
) where
import Aws.Core
import Aws.Iam.Core
import Aws.Iam.Internal
import Data.Text (Text)
import Data.Typeable
data DeleteGroupPolicy
= DeleteGroupPolicy {
dgpPolicyName :: Text
, dgpGroupName :: Text
}
deriving (Eq, Ord, Show, Typeable)
instance SignQuery DeleteGroupPolicy where
type ServiceConfiguration DeleteGroupPolicy = IamConfiguration
signQuery DeleteGroupPolicy{..}
= iamAction "DeleteGroupPolicy" [
("PolicyName", dgpPolicyName)
, ("GroupName", dgpGroupName)
]
data DeleteGroupPolicyResponse = DeleteGroupPolicyResponse
deriving (Eq, Ord, Show, Typeable)
instance ResponseConsumer DeleteGroupPolicy DeleteGroupPolicyResponse where
type ResponseMetadata DeleteGroupPolicyResponse = IamMetadata
responseConsumer _ _ =
iamResponseConsumer (const $ return DeleteGroupPolicyResponse)
instance Transaction DeleteGroupPolicy DeleteGroupPolicyResponse
instance AsMemoryResponse DeleteGroupPolicyResponse where
type MemoryResponse DeleteGroupPolicyResponse = DeleteGroupPolicyResponse
loadToMemory = return