AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
CreateContainerFleetRequest.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/ConnectionPortRange.h>
12#include <aws/gamelift/model/ContainerFleetBillingType.h>
13#include <aws/gamelift/model/GameSessionCreationLimitPolicy.h>
14#include <aws/gamelift/model/IpPermission.h>
15#include <aws/gamelift/model/LocationConfiguration.h>
16#include <aws/gamelift/model/LogConfiguration.h>
17#include <aws/gamelift/model/PlayerGatewayMode.h>
18#include <aws/gamelift/model/ProtectionPolicy.h>
19#include <aws/gamelift/model/Tag.h>
20
21#include <utility>
22
23namespace Aws {
24namespace GameLift {
25namespace Model {
26
30 public:
31 AWS_GAMELIFT_API CreateContainerFleetRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateContainerFleet"; }
38
39 AWS_GAMELIFT_API Aws::String SerializePayload() const override;
40
42
44
55 inline const Aws::String& GetFleetRoleArn() const { return m_fleetRoleArn; }
56 inline bool FleetRoleArnHasBeenSet() const { return m_fleetRoleArnHasBeenSet; }
57 template <typename FleetRoleArnT = Aws::String>
58 void SetFleetRoleArn(FleetRoleArnT&& value) {
59 m_fleetRoleArnHasBeenSet = true;
60 m_fleetRoleArn = std::forward<FleetRoleArnT>(value);
61 }
62 template <typename FleetRoleArnT = Aws::String>
64 SetFleetRoleArn(std::forward<FleetRoleArnT>(value));
65 return *this;
66 }
68
70
73 inline const Aws::String& GetDescription() const { return m_description; }
74 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
75 template <typename DescriptionT = Aws::String>
76 void SetDescription(DescriptionT&& value) {
77 m_descriptionHasBeenSet = true;
78 m_description = std::forward<DescriptionT>(value);
79 }
80 template <typename DescriptionT = Aws::String>
82 SetDescription(std::forward<DescriptionT>(value));
83 return *this;
84 }
86
88
99 inline const Aws::String& GetGameServerContainerGroupDefinitionName() const { return m_gameServerContainerGroupDefinitionName; }
100 inline bool GameServerContainerGroupDefinitionNameHasBeenSet() const { return m_gameServerContainerGroupDefinitionNameHasBeenSet; }
101 template <typename GameServerContainerGroupDefinitionNameT = Aws::String>
102 void SetGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) {
103 m_gameServerContainerGroupDefinitionNameHasBeenSet = true;
104 m_gameServerContainerGroupDefinitionName = std::forward<GameServerContainerGroupDefinitionNameT>(value);
105 }
106 template <typename GameServerContainerGroupDefinitionNameT = Aws::String>
107 CreateContainerFleetRequest& WithGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) {
108 SetGameServerContainerGroupDefinitionName(std::forward<GameServerContainerGroupDefinitionNameT>(value));
109 return *this;
110 }
112
114
127 inline const Aws::String& GetPerInstanceContainerGroupDefinitionName() const { return m_perInstanceContainerGroupDefinitionName; }
128 inline bool PerInstanceContainerGroupDefinitionNameHasBeenSet() const { return m_perInstanceContainerGroupDefinitionNameHasBeenSet; }
129 template <typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
130 void SetPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) {
131 m_perInstanceContainerGroupDefinitionNameHasBeenSet = true;
132 m_perInstanceContainerGroupDefinitionName = std::forward<PerInstanceContainerGroupDefinitionNameT>(value);
133 }
134 template <typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
135 CreateContainerFleetRequest& WithPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) {
136 SetPerInstanceContainerGroupDefinitionName(std::forward<PerInstanceContainerGroupDefinitionNameT>(value));
137 return *this;
138 }
140
142
158 inline const ConnectionPortRange& GetInstanceConnectionPortRange() const { return m_instanceConnectionPortRange; }
159 inline bool InstanceConnectionPortRangeHasBeenSet() const { return m_instanceConnectionPortRangeHasBeenSet; }
160 template <typename InstanceConnectionPortRangeT = ConnectionPortRange>
161 void SetInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) {
162 m_instanceConnectionPortRangeHasBeenSet = true;
163 m_instanceConnectionPortRange = std::forward<InstanceConnectionPortRangeT>(value);
164 }
165 template <typename InstanceConnectionPortRangeT = ConnectionPortRange>
166 CreateContainerFleetRequest& WithInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) {
167 SetInstanceConnectionPortRange(std::forward<InstanceConnectionPortRangeT>(value));
168 return *this;
169 }
171
173
191 inline const Aws::Vector<IpPermission>& GetInstanceInboundPermissions() const { return m_instanceInboundPermissions; }
192 inline bool InstanceInboundPermissionsHasBeenSet() const { return m_instanceInboundPermissionsHasBeenSet; }
193 template <typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
194 void SetInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
195 m_instanceInboundPermissionsHasBeenSet = true;
196 m_instanceInboundPermissions = std::forward<InstanceInboundPermissionsT>(value);
197 }
198 template <typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
199 CreateContainerFleetRequest& WithInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
200 SetInstanceInboundPermissions(std::forward<InstanceInboundPermissionsT>(value));
201 return *this;
202 }
203 template <typename InstanceInboundPermissionsT = IpPermission>
204 CreateContainerFleetRequest& AddInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
205 m_instanceInboundPermissionsHasBeenSet = true;
206 m_instanceInboundPermissions.emplace_back(std::forward<InstanceInboundPermissionsT>(value));
207 return *this;
208 }
210
212
221 inline int GetGameServerContainerGroupsPerInstance() const { return m_gameServerContainerGroupsPerInstance; }
222 inline bool GameServerContainerGroupsPerInstanceHasBeenSet() const { return m_gameServerContainerGroupsPerInstanceHasBeenSet; }
224 m_gameServerContainerGroupsPerInstanceHasBeenSet = true;
225 m_gameServerContainerGroupsPerInstance = value;
226 }
229 return *this;
230 }
232
234
247 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
248 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
249 template <typename InstanceTypeT = Aws::String>
250 void SetInstanceType(InstanceTypeT&& value) {
251 m_instanceTypeHasBeenSet = true;
252 m_instanceType = std::forward<InstanceTypeT>(value);
253 }
254 template <typename InstanceTypeT = Aws::String>
256 SetInstanceType(std::forward<InstanceTypeT>(value));
257 return *this;
258 }
260
262
270 inline ContainerFleetBillingType GetBillingType() const { return m_billingType; }
271 inline bool BillingTypeHasBeenSet() const { return m_billingTypeHasBeenSet; }
273 m_billingTypeHasBeenSet = true;
274 m_billingType = value;
275 }
277 SetBillingType(value);
278 return *this;
279 }
281
283
293 inline const Aws::Vector<LocationConfiguration>& GetLocations() const { return m_locations; }
294 inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; }
295 template <typename LocationsT = Aws::Vector<LocationConfiguration>>
296 void SetLocations(LocationsT&& value) {
297 m_locationsHasBeenSet = true;
298 m_locations = std::forward<LocationsT>(value);
299 }
300 template <typename LocationsT = Aws::Vector<LocationConfiguration>>
302 SetLocations(std::forward<LocationsT>(value));
303 return *this;
304 }
305 template <typename LocationsT = LocationConfiguration>
307 m_locationsHasBeenSet = true;
308 m_locations.emplace_back(std::forward<LocationsT>(value));
309 return *this;
310 }
312
314
321 inline const Aws::Vector<Aws::String>& GetMetricGroups() const { return m_metricGroups; }
322 inline bool MetricGroupsHasBeenSet() const { return m_metricGroupsHasBeenSet; }
323 template <typename MetricGroupsT = Aws::Vector<Aws::String>>
324 void SetMetricGroups(MetricGroupsT&& value) {
325 m_metricGroupsHasBeenSet = true;
326 m_metricGroups = std::forward<MetricGroupsT>(value);
327 }
328 template <typename MetricGroupsT = Aws::Vector<Aws::String>>
330 SetMetricGroups(std::forward<MetricGroupsT>(value));
331 return *this;
332 }
333 template <typename MetricGroupsT = Aws::String>
335 m_metricGroupsHasBeenSet = true;
336 m_metricGroups.emplace_back(std::forward<MetricGroupsT>(value));
337 return *this;
338 }
340
342
354 inline ProtectionPolicy GetNewGameSessionProtectionPolicy() const { return m_newGameSessionProtectionPolicy; }
355 inline bool NewGameSessionProtectionPolicyHasBeenSet() const { return m_newGameSessionProtectionPolicyHasBeenSet; }
357 m_newGameSessionProtectionPolicyHasBeenSet = true;
358 m_newGameSessionProtectionPolicy = value;
359 }
362 return *this;
363 }
365
367
372 inline const GameSessionCreationLimitPolicy& GetGameSessionCreationLimitPolicy() const { return m_gameSessionCreationLimitPolicy; }
373 inline bool GameSessionCreationLimitPolicyHasBeenSet() const { return m_gameSessionCreationLimitPolicyHasBeenSet; }
374 template <typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
375 void SetGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) {
376 m_gameSessionCreationLimitPolicyHasBeenSet = true;
377 m_gameSessionCreationLimitPolicy = std::forward<GameSessionCreationLimitPolicyT>(value);
378 }
379 template <typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
380 CreateContainerFleetRequest& WithGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) {
381 SetGameSessionCreationLimitPolicy(std::forward<GameSessionCreationLimitPolicyT>(value));
382 return *this;
383 }
385
387
401 inline const LogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
402 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
403 template <typename LogConfigurationT = LogConfiguration>
404 void SetLogConfiguration(LogConfigurationT&& value) {
405 m_logConfigurationHasBeenSet = true;
406 m_logConfiguration = std::forward<LogConfigurationT>(value);
407 }
408 template <typename LogConfigurationT = LogConfiguration>
410 SetLogConfiguration(std::forward<LogConfigurationT>(value));
411 return *this;
412 }
414
416
425 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
426 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
427 template <typename TagsT = Aws::Vector<Tag>>
428 void SetTags(TagsT&& value) {
429 m_tagsHasBeenSet = true;
430 m_tags = std::forward<TagsT>(value);
431 }
432 template <typename TagsT = Aws::Vector<Tag>>
434 SetTags(std::forward<TagsT>(value));
435 return *this;
436 }
437 template <typename TagsT = Tag>
439 m_tagsHasBeenSet = true;
440 m_tags.emplace_back(std::forward<TagsT>(value));
441 return *this;
442 }
444
446
472 inline PlayerGatewayMode GetPlayerGatewayMode() const { return m_playerGatewayMode; }
473 inline bool PlayerGatewayModeHasBeenSet() const { return m_playerGatewayModeHasBeenSet; }
475 m_playerGatewayModeHasBeenSet = true;
476 m_playerGatewayMode = value;
477 }
480 return *this;
481 }
483 private:
484 Aws::String m_fleetRoleArn;
485
486 Aws::String m_description;
487
488 Aws::String m_gameServerContainerGroupDefinitionName;
489
490 Aws::String m_perInstanceContainerGroupDefinitionName;
491
492 ConnectionPortRange m_instanceConnectionPortRange;
493
494 Aws::Vector<IpPermission> m_instanceInboundPermissions;
495
496 int m_gameServerContainerGroupsPerInstance{0};
497
498 Aws::String m_instanceType;
499
501
503
504 Aws::Vector<Aws::String> m_metricGroups;
505
506 ProtectionPolicy m_newGameSessionProtectionPolicy{ProtectionPolicy::NOT_SET};
507
508 GameSessionCreationLimitPolicy m_gameSessionCreationLimitPolicy;
509
510 LogConfiguration m_logConfiguration;
511
512 Aws::Vector<Tag> m_tags;
513
515 bool m_fleetRoleArnHasBeenSet = false;
516 bool m_descriptionHasBeenSet = false;
517 bool m_gameServerContainerGroupDefinitionNameHasBeenSet = false;
518 bool m_perInstanceContainerGroupDefinitionNameHasBeenSet = false;
519 bool m_instanceConnectionPortRangeHasBeenSet = false;
520 bool m_instanceInboundPermissionsHasBeenSet = false;
521 bool m_gameServerContainerGroupsPerInstanceHasBeenSet = false;
522 bool m_instanceTypeHasBeenSet = false;
523 bool m_billingTypeHasBeenSet = false;
524 bool m_locationsHasBeenSet = false;
525 bool m_metricGroupsHasBeenSet = false;
526 bool m_newGameSessionProtectionPolicyHasBeenSet = false;
527 bool m_gameSessionCreationLimitPolicyHasBeenSet = false;
528 bool m_logConfigurationHasBeenSet = false;
529 bool m_tagsHasBeenSet = false;
530 bool m_playerGatewayModeHasBeenSet = false;
531};
532
533} // namespace Model
534} // namespace GameLift
535} // namespace Aws
virtual const char * GetServiceRequestName() const override
CreateContainerFleetRequest & WithPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithGameServerContainerGroupsPerInstance(int value)
CreateContainerFleetRequest & AddLocations(LocationsT &&value)
const ConnectionPortRange & GetInstanceConnectionPortRange() const
CreateContainerFleetRequest & WithGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT &&value)
void SetGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithInstanceConnectionPortRange(InstanceConnectionPortRangeT &&value)
CreateContainerFleetRequest & WithDescription(DescriptionT &&value)
CreateContainerFleetRequest & WithLogConfiguration(LogConfigurationT &&value)
CreateContainerFleetRequest & AddMetricGroups(MetricGroupsT &&value)
CreateContainerFleetRequest & WithBillingType(ContainerFleetBillingType value)
void SetPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithInstanceInboundPermissions(InstanceInboundPermissionsT &&value)
CreateContainerFleetRequest & WithLocations(LocationsT &&value)
AWS_GAMELIFT_API CreateContainerFleetRequest()=default
CreateContainerFleetRequest & WithFleetRoleArn(FleetRoleArnT &&value)
void SetInstanceInboundPermissions(InstanceInboundPermissionsT &&value)
CreateContainerFleetRequest & AddTags(TagsT &&value)
AWS_GAMELIFT_API Aws::String SerializePayload() const override
CreateContainerFleetRequest & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetMetricGroups() const
AWS_GAMELIFT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateContainerFleetRequest & AddInstanceInboundPermissions(InstanceInboundPermissionsT &&value)
const GameSessionCreationLimitPolicy & GetGameSessionCreationLimitPolicy() const
const Aws::Vector< IpPermission > & GetInstanceInboundPermissions() const
void SetGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT &&value)
CreateContainerFleetRequest & WithInstanceType(InstanceTypeT &&value)
const Aws::Vector< LocationConfiguration > & GetLocations() const
CreateContainerFleetRequest & WithNewGameSessionProtectionPolicy(ProtectionPolicy value)
void SetInstanceConnectionPortRange(InstanceConnectionPortRangeT &&value)
CreateContainerFleetRequest & WithGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithPlayerGatewayMode(PlayerGatewayMode value)
CreateContainerFleetRequest & WithMetricGroups(MetricGroupsT &&value)
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