module Network.AWS.AutoScaling.DeleteNotificationConfiguration
    (
    
      DeleteNotificationConfiguration
    
    , deleteNotificationConfiguration
    
    , dncAutoScalingGroupName
    , dncTopicARN
    
    , DeleteNotificationConfigurationResponse
    
    , deleteNotificationConfigurationResponse
    ) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data DeleteNotificationConfiguration = DeleteNotificationConfiguration
    { _dncAutoScalingGroupName :: Text
    , _dncTopicARN             :: Text
    } deriving (Eq, Ord, Show)
deleteNotificationConfiguration :: Text 
                                -> Text 
                                -> DeleteNotificationConfiguration
deleteNotificationConfiguration p1 p2 = DeleteNotificationConfiguration
    { _dncAutoScalingGroupName = p1
    , _dncTopicARN             = p2
    }
dncAutoScalingGroupName :: Lens' DeleteNotificationConfiguration Text
dncAutoScalingGroupName =
    lens _dncAutoScalingGroupName (\s a -> s { _dncAutoScalingGroupName = a })
dncTopicARN :: Lens' DeleteNotificationConfiguration Text
dncTopicARN = lens _dncTopicARN (\s a -> s { _dncTopicARN = a })
data DeleteNotificationConfigurationResponse = DeleteNotificationConfigurationResponse
    deriving (Eq, Ord, Show, Generic)
deleteNotificationConfigurationResponse :: DeleteNotificationConfigurationResponse
deleteNotificationConfigurationResponse = DeleteNotificationConfigurationResponse
instance ToPath DeleteNotificationConfiguration where
    toPath = const "/"
instance ToQuery DeleteNotificationConfiguration where
    toQuery DeleteNotificationConfiguration{..} = mconcat
        [ "AutoScalingGroupName" =? _dncAutoScalingGroupName
        , "TopicARN"             =? _dncTopicARN
        ]
instance ToHeaders DeleteNotificationConfiguration
instance AWSRequest DeleteNotificationConfiguration where
    type Sv DeleteNotificationConfiguration = AutoScaling
    type Rs DeleteNotificationConfiguration = DeleteNotificationConfigurationResponse
    request  = post "DeleteNotificationConfiguration"
    response = nullResponse DeleteNotificationConfigurationResponse