stratosphere-0.59.0: library-gen/Stratosphere/ResourceProperties/GameLiftGameServerGroupLaunchTemplate.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html
module Stratosphere.ResourceProperties.GameLiftGameServerGroupLaunchTemplate where
import Stratosphere.ResourceImports
-- | Full data type definition for GameLiftGameServerGroupLaunchTemplate. See
-- 'gameLiftGameServerGroupLaunchTemplate' for a more convenient
-- constructor.
data GameLiftGameServerGroupLaunchTemplate =
GameLiftGameServerGroupLaunchTemplate
{ _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId :: Maybe (Val Text)
, _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName :: Maybe (Val Text)
, _gameLiftGameServerGroupLaunchTemplateVersion :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON GameLiftGameServerGroupLaunchTemplate where
toJSON GameLiftGameServerGroupLaunchTemplate{..} =
object $
catMaybes
[ fmap (("LaunchTemplateId",) . toJSON) _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId
, fmap (("LaunchTemplateName",) . toJSON) _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName
, fmap (("Version",) . toJSON) _gameLiftGameServerGroupLaunchTemplateVersion
]
-- | Constructor for 'GameLiftGameServerGroupLaunchTemplate' containing
-- required fields as arguments.
gameLiftGameServerGroupLaunchTemplate
:: GameLiftGameServerGroupLaunchTemplate
gameLiftGameServerGroupLaunchTemplate =
GameLiftGameServerGroupLaunchTemplate
{ _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId = Nothing
, _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName = Nothing
, _gameLiftGameServerGroupLaunchTemplateVersion = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplateid
glgsgltLaunchTemplateId :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
glgsgltLaunchTemplateId = lens _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId (\s a -> s { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplatename
glgsgltLaunchTemplateName :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
glgsgltLaunchTemplateName = lens _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName (\s a -> s { _gameLiftGameServerGroupLaunchTemplateLaunchTemplateName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-version
glgsgltVersion :: Lens' GameLiftGameServerGroupLaunchTemplate (Maybe (Val Text))
glgsgltVersion = lens _gameLiftGameServerGroupLaunchTemplateVersion (\s a -> s { _gameLiftGameServerGroupLaunchTemplateVersion = a })