module Network.AWS.ApplicationAutoScaling.DeleteScalingPolicy
(
deleteScalingPolicy
, DeleteScalingPolicy
, dspPolicyName
, dspServiceNamespace
, dspResourceId
, dspScalableDimension
, deleteScalingPolicyResponse
, DeleteScalingPolicyResponse
, dsprsResponseStatus
) where
import Network.AWS.ApplicationAutoScaling.Types
import Network.AWS.ApplicationAutoScaling.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteScalingPolicy = DeleteScalingPolicy'
{ _dspPolicyName :: !Text
, _dspServiceNamespace :: !ServiceNamespace
, _dspResourceId :: !Text
, _dspScalableDimension :: !ScalableDimension
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteScalingPolicy
:: Text
-> ServiceNamespace
-> Text
-> ScalableDimension
-> DeleteScalingPolicy
deleteScalingPolicy pPolicyName_ pServiceNamespace_ pResourceId_ pScalableDimension_ =
DeleteScalingPolicy'
{ _dspPolicyName = pPolicyName_
, _dspServiceNamespace = pServiceNamespace_
, _dspResourceId = pResourceId_
, _dspScalableDimension = pScalableDimension_
}
dspPolicyName :: Lens' DeleteScalingPolicy Text
dspPolicyName = lens _dspPolicyName (\ s a -> s{_dspPolicyName = a});
dspServiceNamespace :: Lens' DeleteScalingPolicy ServiceNamespace
dspServiceNamespace = lens _dspServiceNamespace (\ s a -> s{_dspServiceNamespace = a});
dspResourceId :: Lens' DeleteScalingPolicy Text
dspResourceId = lens _dspResourceId (\ s a -> s{_dspResourceId = a});
dspScalableDimension :: Lens' DeleteScalingPolicy ScalableDimension
dspScalableDimension = lens _dspScalableDimension (\ s a -> s{_dspScalableDimension = a});
instance AWSRequest DeleteScalingPolicy where
type Rs DeleteScalingPolicy =
DeleteScalingPolicyResponse
request = postJSON applicationAutoScaling
response
= receiveEmpty
(\ s h x ->
DeleteScalingPolicyResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteScalingPolicy
instance NFData DeleteScalingPolicy
instance ToHeaders DeleteScalingPolicy where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AnyScaleFrontendService.DeleteScalingPolicy" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteScalingPolicy where
toJSON DeleteScalingPolicy'{..}
= object
(catMaybes
[Just ("PolicyName" .= _dspPolicyName),
Just ("ServiceNamespace" .= _dspServiceNamespace),
Just ("ResourceId" .= _dspResourceId),
Just ("ScalableDimension" .= _dspScalableDimension)])
instance ToPath DeleteScalingPolicy where
toPath = const "/"
instance ToQuery DeleteScalingPolicy where
toQuery = const mempty
newtype DeleteScalingPolicyResponse = DeleteScalingPolicyResponse'
{ _dsprsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteScalingPolicyResponse
:: Int
-> DeleteScalingPolicyResponse
deleteScalingPolicyResponse pResponseStatus_ =
DeleteScalingPolicyResponse'
{ _dsprsResponseStatus = pResponseStatus_
}
dsprsResponseStatus :: Lens' DeleteScalingPolicyResponse Int
dsprsResponseStatus = lens _dsprsResponseStatus (\ s a -> s{_dsprsResponseStatus = a});
instance NFData DeleteScalingPolicyResponse