{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.EC2.ModifyLaunchTemplate
(
modifyLaunchTemplate
, ModifyLaunchTemplate
, mltLaunchTemplateName
, mltClientToken
, mltLaunchTemplateId
, mltDefaultVersion
, mltDryRun
, modifyLaunchTemplateResponse
, ModifyLaunchTemplateResponse
, mltrsLaunchTemplate
, mltrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyLaunchTemplate = ModifyLaunchTemplate'
{ _mltLaunchTemplateName :: !(Maybe Text)
, _mltClientToken :: !(Maybe Text)
, _mltLaunchTemplateId :: !(Maybe Text)
, _mltDefaultVersion :: !(Maybe Text)
, _mltDryRun :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyLaunchTemplate
:: ModifyLaunchTemplate
modifyLaunchTemplate =
ModifyLaunchTemplate'
{ _mltLaunchTemplateName = Nothing
, _mltClientToken = Nothing
, _mltLaunchTemplateId = Nothing
, _mltDefaultVersion = Nothing
, _mltDryRun = Nothing
}
mltLaunchTemplateName :: Lens' ModifyLaunchTemplate (Maybe Text)
mltLaunchTemplateName = lens _mltLaunchTemplateName (\ s a -> s{_mltLaunchTemplateName = a})
mltClientToken :: Lens' ModifyLaunchTemplate (Maybe Text)
mltClientToken = lens _mltClientToken (\ s a -> s{_mltClientToken = a})
mltLaunchTemplateId :: Lens' ModifyLaunchTemplate (Maybe Text)
mltLaunchTemplateId = lens _mltLaunchTemplateId (\ s a -> s{_mltLaunchTemplateId = a})
mltDefaultVersion :: Lens' ModifyLaunchTemplate (Maybe Text)
mltDefaultVersion = lens _mltDefaultVersion (\ s a -> s{_mltDefaultVersion = a})
mltDryRun :: Lens' ModifyLaunchTemplate (Maybe Bool)
mltDryRun = lens _mltDryRun (\ s a -> s{_mltDryRun = a})
instance AWSRequest ModifyLaunchTemplate where
type Rs ModifyLaunchTemplate =
ModifyLaunchTemplateResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
ModifyLaunchTemplateResponse' <$>
(x .@? "launchTemplate") <*> (pure (fromEnum s)))
instance Hashable ModifyLaunchTemplate where
instance NFData ModifyLaunchTemplate where
instance ToHeaders ModifyLaunchTemplate where
toHeaders = const mempty
instance ToPath ModifyLaunchTemplate where
toPath = const "/"
instance ToQuery ModifyLaunchTemplate where
toQuery ModifyLaunchTemplate'{..}
= mconcat
["Action" =: ("ModifyLaunchTemplate" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"LaunchTemplateName" =: _mltLaunchTemplateName,
"ClientToken" =: _mltClientToken,
"LaunchTemplateId" =: _mltLaunchTemplateId,
"SetDefaultVersion" =: _mltDefaultVersion,
"DryRun" =: _mltDryRun]
data ModifyLaunchTemplateResponse = ModifyLaunchTemplateResponse'
{ _mltrsLaunchTemplate :: !(Maybe LaunchTemplate)
, _mltrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyLaunchTemplateResponse
:: Int
-> ModifyLaunchTemplateResponse
modifyLaunchTemplateResponse pResponseStatus_ =
ModifyLaunchTemplateResponse'
{_mltrsLaunchTemplate = Nothing, _mltrsResponseStatus = pResponseStatus_}
mltrsLaunchTemplate :: Lens' ModifyLaunchTemplateResponse (Maybe LaunchTemplate)
mltrsLaunchTemplate = lens _mltrsLaunchTemplate (\ s a -> s{_mltrsLaunchTemplate = a})
mltrsResponseStatus :: Lens' ModifyLaunchTemplateResponse Int
mltrsResponseStatus = lens _mltrsResponseStatus (\ s a -> s{_mltrsResponseStatus = a})
instance NFData ModifyLaunchTemplateResponse where