AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
CreateGameServerGroupRequest.h
1
6#pragma once
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>
17
18#include <utility>
19
20namespace Aws {
21namespace GameLift {
22namespace Model {
23
27 public:
28 AWS_GAMELIFT_API CreateGameServerGroupRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateGameServerGroup"; }
35
36 AWS_GAMELIFT_API Aws::String SerializePayload() const override;
37
39
41
47 inline const Aws::String& GetGameServerGroupName() const { return m_gameServerGroupName; }
48 inline bool GameServerGroupNameHasBeenSet() const { return m_gameServerGroupNameHasBeenSet; }
49 template <typename GameServerGroupNameT = Aws::String>
50 void SetGameServerGroupName(GameServerGroupNameT&& value) {
51 m_gameServerGroupNameHasBeenSet = true;
52 m_gameServerGroupName = std::forward<GameServerGroupNameT>(value);
53 }
54 template <typename GameServerGroupNameT = Aws::String>
56 SetGameServerGroupName(std::forward<GameServerGroupNameT>(value));
57 return *this;
58 }
60
62
68 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
69 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
70 template <typename RoleArnT = Aws::String>
71 void SetRoleArn(RoleArnT&& value) {
72 m_roleArnHasBeenSet = true;
73 m_roleArn = std::forward<RoleArnT>(value);
74 }
75 template <typename RoleArnT = Aws::String>
77 SetRoleArn(std::forward<RoleArnT>(value));
78 return *this;
79 }
81
83
91 inline int GetMinSize() const { return m_minSize; }
92 inline bool MinSizeHasBeenSet() const { return m_minSizeHasBeenSet; }
93 inline void SetMinSize(int value) {
94 m_minSizeHasBeenSet = true;
95 m_minSize = value;
96 }
98 SetMinSize(value);
99 return *this;
100 }
102
104
111 inline int GetMaxSize() const { return m_maxSize; }
112 inline bool MaxSizeHasBeenSet() const { return m_maxSizeHasBeenSet; }
113 inline void SetMaxSize(int value) {
114 m_maxSizeHasBeenSet = true;
115 m_maxSize = value;
116 }
118 SetMaxSize(value);
119 return *this;
120 }
122
124
139 inline const LaunchTemplateSpecification& GetLaunchTemplate() const { return m_launchTemplate; }
140 inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; }
141 template <typename LaunchTemplateT = LaunchTemplateSpecification>
142 void SetLaunchTemplate(LaunchTemplateT&& value) {
143 m_launchTemplateHasBeenSet = true;
144 m_launchTemplate = std::forward<LaunchTemplateT>(value);
145 }
146 template <typename LaunchTemplateT = LaunchTemplateSpecification>
148 SetLaunchTemplate(std::forward<LaunchTemplateT>(value));
149 return *this;
150 }
152
154
168 inline const Aws::Vector<InstanceDefinition>& GetInstanceDefinitions() const { return m_instanceDefinitions; }
169 inline bool InstanceDefinitionsHasBeenSet() const { return m_instanceDefinitionsHasBeenSet; }
170 template <typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
171 void SetInstanceDefinitions(InstanceDefinitionsT&& value) {
172 m_instanceDefinitionsHasBeenSet = true;
173 m_instanceDefinitions = std::forward<InstanceDefinitionsT>(value);
174 }
175 template <typename InstanceDefinitionsT = Aws::Vector<InstanceDefinition>>
177 SetInstanceDefinitions(std::forward<InstanceDefinitionsT>(value));
178 return *this;
179 }
180 template <typename InstanceDefinitionsT = InstanceDefinition>
182 m_instanceDefinitionsHasBeenSet = true;
183 m_instanceDefinitions.emplace_back(std::forward<InstanceDefinitionsT>(value));
184 return *this;
185 }
187
189
197 inline const GameServerGroupAutoScalingPolicy& GetAutoScalingPolicy() const { return m_autoScalingPolicy; }
198 inline bool AutoScalingPolicyHasBeenSet() const { return m_autoScalingPolicyHasBeenSet; }
199 template <typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
200 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) {
201 m_autoScalingPolicyHasBeenSet = true;
202 m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value);
203 }
204 template <typename AutoScalingPolicyT = GameServerGroupAutoScalingPolicy>
206 SetAutoScalingPolicy(std::forward<AutoScalingPolicyT>(value));
207 return *this;
208 }
210
212
230 inline BalancingStrategy GetBalancingStrategy() const { return m_balancingStrategy; }
231 inline bool BalancingStrategyHasBeenSet() const { return m_balancingStrategyHasBeenSet; }
233 m_balancingStrategyHasBeenSet = true;
234 m_balancingStrategy = value;
235 }
238 return *this;
239 }
241
243
253 inline GameServerProtectionPolicy GetGameServerProtectionPolicy() const { return m_gameServerProtectionPolicy; }
254 inline bool GameServerProtectionPolicyHasBeenSet() const { return m_gameServerProtectionPolicyHasBeenSet; }
256 m_gameServerProtectionPolicyHasBeenSet = true;
257 m_gameServerProtectionPolicy = value;
258 }
261 return *this;
262 }
264
266
275 inline const Aws::Vector<Aws::String>& GetVpcSubnets() const { return m_vpcSubnets; }
276 inline bool VpcSubnetsHasBeenSet() const { return m_vpcSubnetsHasBeenSet; }
277 template <typename VpcSubnetsT = Aws::Vector<Aws::String>>
278 void SetVpcSubnets(VpcSubnetsT&& value) {
279 m_vpcSubnetsHasBeenSet = true;
280 m_vpcSubnets = std::forward<VpcSubnetsT>(value);
281 }
282 template <typename VpcSubnetsT = Aws::Vector<Aws::String>>
284 SetVpcSubnets(std::forward<VpcSubnetsT>(value));
285 return *this;
286 }
287 template <typename VpcSubnetsT = Aws::String>
289 m_vpcSubnetsHasBeenSet = true;
290 m_vpcSubnets.emplace_back(std::forward<VpcSubnetsT>(value));
291 return *this;
292 }
294
296
305 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
306 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
307 template <typename TagsT = Aws::Vector<Tag>>
308 void SetTags(TagsT&& value) {
309 m_tagsHasBeenSet = true;
310 m_tags = std::forward<TagsT>(value);
311 }
312 template <typename TagsT = Aws::Vector<Tag>>
314 SetTags(std::forward<TagsT>(value));
315 return *this;
316 }
317 template <typename TagsT = Tag>
319 m_tagsHasBeenSet = true;
320 m_tags.emplace_back(std::forward<TagsT>(value));
321 return *this;
322 }
324 private:
325 Aws::String m_gameServerGroupName;
326
327 Aws::String m_roleArn;
328
329 int m_minSize{0};
330
331 int m_maxSize{0};
332
333 LaunchTemplateSpecification m_launchTemplate;
334
335 Aws::Vector<InstanceDefinition> m_instanceDefinitions;
336
337 GameServerGroupAutoScalingPolicy m_autoScalingPolicy;
338
340
342
343 Aws::Vector<Aws::String> m_vpcSubnets;
344
345 Aws::Vector<Tag> m_tags;
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;
357};
358
359} // namespace Model
360} // namespace GameLift
361} // namespace Aws
const Aws::Vector< InstanceDefinition > & GetInstanceDefinitions() const
CreateGameServerGroupRequest & WithBalancingStrategy(BalancingStrategy value)
AWS_GAMELIFT_API CreateGameServerGroupRequest()=default
CreateGameServerGroupRequest & WithRoleArn(RoleArnT &&value)
const GameServerGroupAutoScalingPolicy & GetAutoScalingPolicy() const
CreateGameServerGroupRequest & WithInstanceDefinitions(InstanceDefinitionsT &&value)
CreateGameServerGroupRequest & WithGameServerGroupName(GameServerGroupNameT &&value)
CreateGameServerGroupRequest & WithAutoScalingPolicy(AutoScalingPolicyT &&value)
CreateGameServerGroupRequest & AddVpcSubnets(VpcSubnetsT &&value)
CreateGameServerGroupRequest & WithTags(TagsT &&value)
CreateGameServerGroupRequest & WithGameServerProtectionPolicy(GameServerProtectionPolicy value)
CreateGameServerGroupRequest & WithVpcSubnets(VpcSubnetsT &&value)
CreateGameServerGroupRequest & WithMinSize(int value)
CreateGameServerGroupRequest & WithLaunchTemplate(LaunchTemplateT &&value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
const Aws::Vector< Aws::String > & GetVpcSubnets() const
void SetGameServerProtectionPolicy(GameServerProtectionPolicy value)
AWS_GAMELIFT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateGameServerGroupRequest & AddTags(TagsT &&value)
CreateGameServerGroupRequest & AddInstanceDefinitions(InstanceDefinitionsT &&value)
AWS_GAMELIFT_API Aws::String SerializePayload() const override
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