7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/gamelift/GameLiftRequest.h>
10#include <aws/gamelift/GameLift_EXPORTS.h>
11#include <aws/gamelift/model/BalancingStrategy.h>
12#include <aws/gamelift/model/GameServerGroupAutoScalingPolicy.h>
13#include <aws/gamelift/model/GameServerProtectionPolicy.h>
14#include <aws/gamelift/model/InstanceDefinition.h>
15#include <aws/gamelift/model/LaunchTemplateSpecification.h>
16#include <aws/gamelift/model/Tag.h>
49 template <
typename GameServerGroupNameT = Aws::String>
51 m_gameServerGroupNameHasBeenSet =
true;
52 m_gameServerGroupName = std::forward<GameServerGroupNameT>(value);
54 template <
typename GameServerGroupNameT = Aws::String>
70 template <
typename RoleArnT = Aws::String>
72 m_roleArnHasBeenSet =
true;
73 m_roleArn = std::forward<RoleArnT>(value);
75 template <
typename RoleArnT = Aws::String>
94 m_minSizeHasBeenSet =
true;
114 m_maxSizeHasBeenSet =
true;
141 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
143 m_launchTemplateHasBeenSet =
true;
144 m_launchTemplate = std::forward<LaunchTemplateT>(value);
146 template <
typename LaunchTemplateT = LaunchTemplateSpecification>
170 template <
typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
172 m_instanceDefinitionsHasBeenSet =
true;
173 m_instanceDefinitions = std::forward<InstanceDefinitionsT>(value);
175 template <
typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
180 template <
typename InstanceDefinitionsT = InstanceDefinition>
182 m_instanceDefinitionsHasBeenSet =
true;
183 m_instanceDefinitions.emplace_back(std::forward<InstanceDefinitionsT>(value));
199 template <
typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
201 m_autoScalingPolicyHasBeenSet =
true;
202 m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value);
204 template <
typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
233 m_balancingStrategyHasBeenSet =
true;
234 m_balancingStrategy = value;
256 m_gameServerProtectionPolicyHasBeenSet =
true;
257 m_gameServerProtectionPolicy = value;
277 template <
typename VpcSubnetsT = Aws::Vector<Aws::String>>
279 m_vpcSubnetsHasBeenSet =
true;
280 m_vpcSubnets = std::forward<VpcSubnetsT>(value);
282 template <
typename VpcSubnetsT = Aws::Vector<Aws::String>>
287 template <
typename VpcSubnetsT = Aws::String>
289 m_vpcSubnetsHasBeenSet =
true;
290 m_vpcSubnets.emplace_back(std::forward<VpcSubnetsT>(value));
307 template <
typename TagsT = Aws::Vector<Tag>>
309 m_tagsHasBeenSet =
true;
310 m_tags = std::forward<TagsT>(value);
312 template <
typename TagsT = Aws::Vector<Tag>>
314 SetTags(std::forward<TagsT>(value));
317 template <
typename TagsT = Tag>
319 m_tagsHasBeenSet =
true;
320 m_tags.emplace_back(std::forward<TagsT>(value));
333 LaunchTemplateSpecification m_launchTemplate;
337 GameServerGroupAutoScalingPolicy m_autoScalingPolicy;
346 bool m_gameServerGroupNameHasBeenSet =
false;
347 bool m_roleArnHasBeenSet =
false;
348 bool m_minSizeHasBeenSet =
false;
349 bool m_maxSizeHasBeenSet =
false;
350 bool m_launchTemplateHasBeenSet =
false;
351 bool m_instanceDefinitionsHasBeenSet =
false;
352 bool m_autoScalingPolicyHasBeenSet =
false;
353 bool m_balancingStrategyHasBeenSet =
false;
354 bool m_gameServerProtectionPolicyHasBeenSet =
false;
355 bool m_vpcSubnetsHasBeenSet =
false;
356 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