7#include <aws/gamelift/GameLift_EXPORTS.h>
8#include <aws/gamelift/GameLiftRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/gamelift/model/LaunchTemplateSpecification.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/gamelift/model/GameServerGroupAutoScalingPolicy.h>
13#include <aws/gamelift/model/BalancingStrategy.h>
14#include <aws/gamelift/model/GameServerProtectionPolicy.h>
15#include <aws/gamelift/model/InstanceDefinition.h>
16#include <aws/gamelift/model/Tag.h>
53 template<
typename GameServerGroupNameT = Aws::String>
54 void SetGameServerGroupName(GameServerGroupNameT&& value) { m_gameServerGroupNameHasBeenSet =
true; m_gameServerGroupName = std::forward<GameServerGroupNameT>(value); }
55 template<
typename GameServerGroupNameT = Aws::String>
68 template<
typename RoleArnT = Aws::String>
69 void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet =
true; m_roleArn = std::forward<RoleArnT>(value); }
70 template<
typename RoleArnT = Aws::String>
85 inline void SetMinSize(
int value) { m_minSizeHasBeenSet =
true; m_minSize = value; }
99 inline void SetMaxSize(
int value) { m_maxSizeHasBeenSet =
true; m_maxSize = value; }
121 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
122 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
123 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
144 template<
typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
145 void SetInstanceDefinitions(InstanceDefinitionsT&& value) { m_instanceDefinitionsHasBeenSet =
true; m_instanceDefinitions = std::forward<InstanceDefinitionsT>(value); }
146 template<
typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
148 template<
typename InstanceDefinitionsT = InstanceDefinition>
163 template<
typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
164 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) { m_autoScalingPolicyHasBeenSet =
true; m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value); }
165 template<
typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
223 template<
typename VpcSubnetsT = Aws::Vector<Aws::String>>
224 void SetVpcSubnets(VpcSubnetsT&& value) { m_vpcSubnetsHasBeenSet =
true; m_vpcSubnets = std::forward<VpcSubnetsT>(value); }
225 template<
typename VpcSubnetsT = Aws::Vector<Aws::String>>
227 template<
typename VpcSubnetsT = Aws::String>
243 template<
typename TagsT = Aws::Vector<Tag>>
244 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
245 template<
typename TagsT = Aws::Vector<Tag>>
247 template<
typename TagsT = Tag>
253 bool m_gameServerGroupNameHasBeenSet =
false;
256 bool m_roleArnHasBeenSet =
false;
259 bool m_minSizeHasBeenSet =
false;
262 bool m_maxSizeHasBeenSet =
false;
264 LaunchTemplateSpecification m_launchTemplate;
265 bool m_launchTemplateHasBeenSet =
false;
268 bool m_instanceDefinitionsHasBeenSet =
false;
270 GameServerGroupAutoScalingPolicy m_autoScalingPolicy;
271 bool m_autoScalingPolicyHasBeenSet =
false;
274 bool m_balancingStrategyHasBeenSet =
false;
277 bool m_gameServerProtectionPolicyHasBeenSet =
false;
280 bool m_vpcSubnetsHasBeenSet =
false;
283 bool m_tagsHasBeenSet =
false;
const Aws::Vector< InstanceDefinition > & GetInstanceDefinitions() const
bool GameServerGroupNameHasBeenSet() const
void SetMinSize(int value)
CreateGameServerGroupRequest & WithBalancingStrategy(BalancingStrategy value)
void SetRoleArn(RoleArnT &&value)
bool MaxSizeHasBeenSet() const
AWS_GAMELIFT_API CreateGameServerGroupRequest()=default
CreateGameServerGroupRequest & WithRoleArn(RoleArnT &&value)
const GameServerGroupAutoScalingPolicy & GetAutoScalingPolicy() const
bool GameServerProtectionPolicyHasBeenSet() const
CreateGameServerGroupRequest & WithInstanceDefinitions(InstanceDefinitionsT &&value)
CreateGameServerGroupRequest & WithGameServerGroupName(GameServerGroupNameT &&value)
bool AutoScalingPolicyHasBeenSet() const
CreateGameServerGroupRequest & WithAutoScalingPolicy(AutoScalingPolicyT &&value)
bool InstanceDefinitionsHasBeenSet() const
bool BalancingStrategyHasBeenSet() const
CreateGameServerGroupRequest & AddVpcSubnets(VpcSubnetsT &&value)
bool LaunchTemplateHasBeenSet() const
BalancingStrategy GetBalancingStrategy() const
void SetBalancingStrategy(BalancingStrategy value)
void SetLaunchTemplate(LaunchTemplateT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::Vector< Tag > & GetTags() const
void SetVpcSubnets(VpcSubnetsT &&value)
CreateGameServerGroupRequest & WithTags(TagsT &&value)
CreateGameServerGroupRequest & WithGameServerProtectionPolicy(GameServerProtectionPolicy value)
CreateGameServerGroupRequest & WithVpcSubnets(VpcSubnetsT &&value)
bool VpcSubnetsHasBeenSet() const
CreateGameServerGroupRequest & WithMinSize(int value)
void SetAutoScalingPolicy(AutoScalingPolicyT &&value)
bool MinSizeHasBeenSet() const
GameServerProtectionPolicy GetGameServerProtectionPolicy() const
CreateGameServerGroupRequest & WithLaunchTemplate(LaunchTemplateT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
void SetInstanceDefinitions(InstanceDefinitionsT &&value)
const Aws::Vector< Aws::String > & GetVpcSubnets() const
bool RoleArnHasBeenSet() const
void SetGameServerProtectionPolicy(GameServerProtectionPolicy value)
const Aws::String & GetRoleArn() const
bool TagsHasBeenSet() const
AWS_GAMELIFT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::String & GetGameServerGroupName() const
CreateGameServerGroupRequest & AddTags(TagsT &&value)
CreateGameServerGroupRequest & WithMaxSize(int value)
void SetGameServerGroupName(GameServerGroupNameT &&value)
void SetMaxSize(int value)
CreateGameServerGroupRequest & AddInstanceDefinitions(InstanceDefinitionsT &&value)
AWS_GAMELIFT_API Aws::String SerializePayload() const override
void SetTags(TagsT &&value)
GameServerProtectionPolicy
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector