{-# 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.CreateLaunchTemplateVersion
(
createLaunchTemplateVersion
, CreateLaunchTemplateVersion
, cltvLaunchTemplateName
, cltvClientToken
, cltvLaunchTemplateId
, cltvVersionDescription
, cltvSourceVersion
, cltvDryRun
, cltvLaunchTemplateData
, createLaunchTemplateVersionResponse
, CreateLaunchTemplateVersionResponse
, cltvrsLaunchTemplateVersion
, cltvrsResponseStatus
) 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 CreateLaunchTemplateVersion = CreateLaunchTemplateVersion'
{ _cltvLaunchTemplateName :: !(Maybe Text)
, _cltvClientToken :: !(Maybe Text)
, _cltvLaunchTemplateId :: !(Maybe Text)
, _cltvVersionDescription :: !(Maybe Text)
, _cltvSourceVersion :: !(Maybe Text)
, _cltvDryRun :: !(Maybe Bool)
, _cltvLaunchTemplateData :: !RequestLaunchTemplateData
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createLaunchTemplateVersion
:: RequestLaunchTemplateData
-> CreateLaunchTemplateVersion
createLaunchTemplateVersion pLaunchTemplateData_ =
CreateLaunchTemplateVersion'
{ _cltvLaunchTemplateName = Nothing
, _cltvClientToken = Nothing
, _cltvLaunchTemplateId = Nothing
, _cltvVersionDescription = Nothing
, _cltvSourceVersion = Nothing
, _cltvDryRun = Nothing
, _cltvLaunchTemplateData = pLaunchTemplateData_
}
cltvLaunchTemplateName :: Lens' CreateLaunchTemplateVersion (Maybe Text)
cltvLaunchTemplateName = lens _cltvLaunchTemplateName (\ s a -> s{_cltvLaunchTemplateName = a})
cltvClientToken :: Lens' CreateLaunchTemplateVersion (Maybe Text)
cltvClientToken = lens _cltvClientToken (\ s a -> s{_cltvClientToken = a})
cltvLaunchTemplateId :: Lens' CreateLaunchTemplateVersion (Maybe Text)
cltvLaunchTemplateId = lens _cltvLaunchTemplateId (\ s a -> s{_cltvLaunchTemplateId = a})
cltvVersionDescription :: Lens' CreateLaunchTemplateVersion (Maybe Text)
cltvVersionDescription = lens _cltvVersionDescription (\ s a -> s{_cltvVersionDescription = a})
cltvSourceVersion :: Lens' CreateLaunchTemplateVersion (Maybe Text)
cltvSourceVersion = lens _cltvSourceVersion (\ s a -> s{_cltvSourceVersion = a})
cltvDryRun :: Lens' CreateLaunchTemplateVersion (Maybe Bool)
cltvDryRun = lens _cltvDryRun (\ s a -> s{_cltvDryRun = a})
cltvLaunchTemplateData :: Lens' CreateLaunchTemplateVersion RequestLaunchTemplateData
cltvLaunchTemplateData = lens _cltvLaunchTemplateData (\ s a -> s{_cltvLaunchTemplateData = a})
instance AWSRequest CreateLaunchTemplateVersion where
type Rs CreateLaunchTemplateVersion =
CreateLaunchTemplateVersionResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
CreateLaunchTemplateVersionResponse' <$>
(x .@? "launchTemplateVersion") <*>
(pure (fromEnum s)))
instance Hashable CreateLaunchTemplateVersion where
instance NFData CreateLaunchTemplateVersion where
instance ToHeaders CreateLaunchTemplateVersion where
toHeaders = const mempty
instance ToPath CreateLaunchTemplateVersion where
toPath = const "/"
instance ToQuery CreateLaunchTemplateVersion where
toQuery CreateLaunchTemplateVersion'{..}
= mconcat
["Action" =:
("CreateLaunchTemplateVersion" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"LaunchTemplateName" =: _cltvLaunchTemplateName,
"ClientToken" =: _cltvClientToken,
"LaunchTemplateId" =: _cltvLaunchTemplateId,
"VersionDescription" =: _cltvVersionDescription,
"SourceVersion" =: _cltvSourceVersion,
"DryRun" =: _cltvDryRun,
"LaunchTemplateData" =: _cltvLaunchTemplateData]
data CreateLaunchTemplateVersionResponse = CreateLaunchTemplateVersionResponse'
{ _cltvrsLaunchTemplateVersion :: !(Maybe LaunchTemplateVersion)
, _cltvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createLaunchTemplateVersionResponse
:: Int
-> CreateLaunchTemplateVersionResponse
createLaunchTemplateVersionResponse pResponseStatus_ =
CreateLaunchTemplateVersionResponse'
{ _cltvrsLaunchTemplateVersion = Nothing
, _cltvrsResponseStatus = pResponseStatus_
}
cltvrsLaunchTemplateVersion :: Lens' CreateLaunchTemplateVersionResponse (Maybe LaunchTemplateVersion)
cltvrsLaunchTemplateVersion = lens _cltvrsLaunchTemplateVersion (\ s a -> s{_cltvrsLaunchTemplateVersion = a})
cltvrsResponseStatus :: Lens' CreateLaunchTemplateVersionResponse Int
cltvrsResponseStatus = lens _cltvrsResponseStatus (\ s a -> s{_cltvrsResponseStatus = a})
instance NFData CreateLaunchTemplateVersionResponse
where