module Network.AWS.AutoScaling.DeleteLaunchConfiguration
    (
    
      DeleteLaunchConfiguration
    
    , deleteLaunchConfiguration
    
    , dlcLaunchConfigurationName
    
    , DeleteLaunchConfigurationResponse
    
    , deleteLaunchConfigurationResponse
    ) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
newtype DeleteLaunchConfiguration = DeleteLaunchConfiguration
    { _dlcLaunchConfigurationName :: Text
    } deriving (Eq, Ord, Show, Monoid, IsString)
deleteLaunchConfiguration :: Text 
                          -> DeleteLaunchConfiguration
deleteLaunchConfiguration p1 = DeleteLaunchConfiguration
    { _dlcLaunchConfigurationName = p1
    }
dlcLaunchConfigurationName :: Lens' DeleteLaunchConfiguration Text
dlcLaunchConfigurationName =
    lens _dlcLaunchConfigurationName
        (\s a -> s { _dlcLaunchConfigurationName = a })
data DeleteLaunchConfigurationResponse = DeleteLaunchConfigurationResponse
    deriving (Eq, Ord, Show, Generic)
deleteLaunchConfigurationResponse :: DeleteLaunchConfigurationResponse
deleteLaunchConfigurationResponse = DeleteLaunchConfigurationResponse
instance ToPath DeleteLaunchConfiguration where
    toPath = const "/"
instance ToQuery DeleteLaunchConfiguration where
    toQuery DeleteLaunchConfiguration{..} = mconcat
        [ "LaunchConfigurationName" =? _dlcLaunchConfigurationName
        ]
instance ToHeaders DeleteLaunchConfiguration
instance AWSRequest DeleteLaunchConfiguration where
    type Sv DeleteLaunchConfiguration = AutoScaling
    type Rs DeleteLaunchConfiguration = DeleteLaunchConfigurationResponse
    request  = post "DeleteLaunchConfiguration"
    response = nullResponse DeleteLaunchConfigurationResponse