{-# 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.ElasticBeanstalk.CreateApplicationVersion
(
createApplicationVersion
, CreateApplicationVersion
, cavProcess
, cavSourceBundle
, cavAutoCreateApplication
, cavSourceBuildInformation
, cavDescription
, cavBuildConfiguration
, cavApplicationName
, cavVersionLabel
, applicationVersionDescriptionMessage
, ApplicationVersionDescriptionMessage
, avdmApplicationVersion
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateApplicationVersion = CreateApplicationVersion'
{ _cavProcess :: !(Maybe Bool)
, _cavSourceBundle :: !(Maybe S3Location)
, _cavAutoCreateApplication :: !(Maybe Bool)
, _cavSourceBuildInformation :: !(Maybe SourceBuildInformation)
, _cavDescription :: !(Maybe Text)
, _cavBuildConfiguration :: !(Maybe BuildConfiguration)
, _cavApplicationName :: !Text
, _cavVersionLabel :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createApplicationVersion
:: Text
-> Text
-> CreateApplicationVersion
createApplicationVersion pApplicationName_ pVersionLabel_ =
CreateApplicationVersion'
{ _cavProcess = Nothing
, _cavSourceBundle = Nothing
, _cavAutoCreateApplication = Nothing
, _cavSourceBuildInformation = Nothing
, _cavDescription = Nothing
, _cavBuildConfiguration = Nothing
, _cavApplicationName = pApplicationName_
, _cavVersionLabel = pVersionLabel_
}
cavProcess :: Lens' CreateApplicationVersion (Maybe Bool)
cavProcess = lens _cavProcess (\ s a -> s{_cavProcess = a});
cavSourceBundle :: Lens' CreateApplicationVersion (Maybe S3Location)
cavSourceBundle = lens _cavSourceBundle (\ s a -> s{_cavSourceBundle = a});
cavAutoCreateApplication :: Lens' CreateApplicationVersion (Maybe Bool)
cavAutoCreateApplication = lens _cavAutoCreateApplication (\ s a -> s{_cavAutoCreateApplication = a});
cavSourceBuildInformation :: Lens' CreateApplicationVersion (Maybe SourceBuildInformation)
cavSourceBuildInformation = lens _cavSourceBuildInformation (\ s a -> s{_cavSourceBuildInformation = a});
cavDescription :: Lens' CreateApplicationVersion (Maybe Text)
cavDescription = lens _cavDescription (\ s a -> s{_cavDescription = a});
cavBuildConfiguration :: Lens' CreateApplicationVersion (Maybe BuildConfiguration)
cavBuildConfiguration = lens _cavBuildConfiguration (\ s a -> s{_cavBuildConfiguration = a});
cavApplicationName :: Lens' CreateApplicationVersion Text
cavApplicationName = lens _cavApplicationName (\ s a -> s{_cavApplicationName = a});
cavVersionLabel :: Lens' CreateApplicationVersion Text
cavVersionLabel = lens _cavVersionLabel (\ s a -> s{_cavVersionLabel = a});
instance AWSRequest CreateApplicationVersion where
type Rs CreateApplicationVersion =
ApplicationVersionDescriptionMessage
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper "CreateApplicationVersionResult"
(\ s h x -> parseXML x)
instance Hashable CreateApplicationVersion
instance NFData CreateApplicationVersion
instance ToHeaders CreateApplicationVersion where
toHeaders = const mempty
instance ToPath CreateApplicationVersion where
toPath = const "/"
instance ToQuery CreateApplicationVersion where
toQuery CreateApplicationVersion'{..}
= mconcat
["Action" =:
("CreateApplicationVersion" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"Process" =: _cavProcess,
"SourceBundle" =: _cavSourceBundle,
"AutoCreateApplication" =: _cavAutoCreateApplication,
"SourceBuildInformation" =:
_cavSourceBuildInformation,
"Description" =: _cavDescription,
"BuildConfiguration" =: _cavBuildConfiguration,
"ApplicationName" =: _cavApplicationName,
"VersionLabel" =: _cavVersionLabel]