module Network.AWS.AutoScaling.DeletePolicy
(
DeletePolicy
, deletePolicy
, dpAutoScalingGroupName
, dpPolicyName
, DeletePolicyResponse
, deletePolicyResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data DeletePolicy = DeletePolicy
{ _dpAutoScalingGroupName :: Maybe Text
, _dpPolicyName :: Text
} deriving (Eq, Ord, Show)
deletePolicy :: Text
-> DeletePolicy
deletePolicy p1 = DeletePolicy
{ _dpPolicyName = p1
, _dpAutoScalingGroupName = Nothing
}
dpAutoScalingGroupName :: Lens' DeletePolicy (Maybe Text)
dpAutoScalingGroupName =
lens _dpAutoScalingGroupName (\s a -> s { _dpAutoScalingGroupName = a })
dpPolicyName :: Lens' DeletePolicy Text
dpPolicyName = lens _dpPolicyName (\s a -> s { _dpPolicyName = a })
data DeletePolicyResponse = DeletePolicyResponse
deriving (Eq, Ord, Show, Generic)
deletePolicyResponse :: DeletePolicyResponse
deletePolicyResponse = DeletePolicyResponse
instance ToPath DeletePolicy where
toPath = const "/"
instance ToQuery DeletePolicy where
toQuery DeletePolicy{..} = mconcat
[ "AutoScalingGroupName" =? _dpAutoScalingGroupName
, "PolicyName" =? _dpPolicyName
]
instance ToHeaders DeletePolicy
instance AWSRequest DeletePolicy where
type Sv DeletePolicy = AutoScaling
type Rs DeletePolicy = DeletePolicyResponse
request = post "DeletePolicy"
response = nullResponse DeletePolicyResponse