AWS SDK for C++

AWS SDK for C++ Version 1.11.743

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/ProtectionPolicy.h>
18#include <aws/gamelift/model/Tag.h>
19
20#include <utility>
21
22namespace Aws {
23namespace GameLift {
24namespace Model {
25
29 public:
30 AWS_GAMELIFT_API CreateContainerFleetRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateContainerFleet"; }
37
38 AWS_GAMELIFT_API Aws::String SerializePayload() const override;
39
41
43
54 inline const Aws::String& GetFleetRoleArn() const { return m_fleetRoleArn; }
55 inline bool FleetRoleArnHasBeenSet() const { return m_fleetRoleArnHasBeenSet; }
56 template <typename FleetRoleArnT = Aws::String>
57 void SetFleetRoleArn(FleetRoleArnT&& value) {
58 m_fleetRoleArnHasBeenSet = true;
59 m_fleetRoleArn = std::forward<FleetRoleArnT>(value);
60 }
61 template <typename FleetRoleArnT = Aws::String>
63 SetFleetRoleArn(std::forward<FleetRoleArnT>(value));
64 return *this;
65 }
67
69
72 inline const Aws::String& GetDescription() const { return m_description; }
73 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
74 template <typename DescriptionT = Aws::String>
75 void SetDescription(DescriptionT&& value) {
76 m_descriptionHasBeenSet = true;
77 m_description = std::forward<DescriptionT>(value);
78 }
79 template <typename DescriptionT = Aws::String>
81 SetDescription(std::forward<DescriptionT>(value));
82 return *this;
83 }
85
87
98 inline const Aws::String& GetGameServerContainerGroupDefinitionName() const { return m_gameServerContainerGroupDefinitionName; }
99 inline bool GameServerContainerGroupDefinitionNameHasBeenSet() const { return m_gameServerContainerGroupDefinitionNameHasBeenSet; }
100 template <typename GameServerContainerGroupDefinitionNameT = Aws::String>
101 void SetGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) {
102 m_gameServerContainerGroupDefinitionNameHasBeenSet = true;
103 m_gameServerContainerGroupDefinitionName = std::forward<GameServerContainerGroupDefinitionNameT>(value);
104 }
105 template <typename GameServerContainerGroupDefinitionNameT = Aws::String>
106 CreateContainerFleetRequest& WithGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) {
107 SetGameServerContainerGroupDefinitionName(std::forward<GameServerContainerGroupDefinitionNameT>(value));
108 return *this;
109 }
111
113
126 inline const Aws::String& GetPerInstanceContainerGroupDefinitionName() const { return m_perInstanceContainerGroupDefinitionName; }
127 inline bool PerInstanceContainerGroupDefinitionNameHasBeenSet() const { return m_perInstanceContainerGroupDefinitionNameHasBeenSet; }
128 template <typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
129 void SetPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) {
130 m_perInstanceContainerGroupDefinitionNameHasBeenSet = true;
131 m_perInstanceContainerGroupDefinitionName = std::forward<PerInstanceContainerGroupDefinitionNameT>(value);
132 }
133 template <typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
134 CreateContainerFleetRequest& WithPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) {
135 SetPerInstanceContainerGroupDefinitionName(std::forward<PerInstanceContainerGroupDefinitionNameT>(value));
136 return *this;
137 }
139
141
157 inline const ConnectionPortRange& GetInstanceConnectionPortRange() const { return m_instanceConnectionPortRange; }
158 inline bool InstanceConnectionPortRangeHasBeenSet() const { return m_instanceConnectionPortRangeHasBeenSet; }
159 template <typename InstanceConnectionPortRangeT = ConnectionPortRange>
160 void SetInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) {
161 m_instanceConnectionPortRangeHasBeenSet = true;
162 m_instanceConnectionPortRange = std::forward<InstanceConnectionPortRangeT>(value);
163 }
164 template <typename InstanceConnectionPortRangeT = ConnectionPortRange>
165 CreateContainerFleetRequest& WithInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) {
166 SetInstanceConnectionPortRange(std::forward<InstanceConnectionPortRangeT>(value));
167 return *this;
168 }
170
172
190 inline const Aws::Vector<IpPermission>& GetInstanceInboundPermissions() const { return m_instanceInboundPermissions; }
191 inline bool InstanceInboundPermissionsHasBeenSet() const { return m_instanceInboundPermissionsHasBeenSet; }
192 template <typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
193 void SetInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
194 m_instanceInboundPermissionsHasBeenSet = true;
195 m_instanceInboundPermissions = std::forward<InstanceInboundPermissionsT>(value);
196 }
197 template <typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
198 CreateContainerFleetRequest& WithInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
199 SetInstanceInboundPermissions(std::forward<InstanceInboundPermissionsT>(value));
200 return *this;
201 }
202 template <typename InstanceInboundPermissionsT = IpPermission>
203 CreateContainerFleetRequest& AddInstanceInboundPermissions(InstanceInboundPermissionsT&& value) {
204 m_instanceInboundPermissionsHasBeenSet = true;
205 m_instanceInboundPermissions.emplace_back(std::forward<InstanceInboundPermissionsT>(value));
206 return *this;
207 }
209
211
220 inline int GetGameServerContainerGroupsPerInstance() const { return m_gameServerContainerGroupsPerInstance; }
221 inline bool GameServerContainerGroupsPerInstanceHasBeenSet() const { return m_gameServerContainerGroupsPerInstanceHasBeenSet; }
223 m_gameServerContainerGroupsPerInstanceHasBeenSet = true;
224 m_gameServerContainerGroupsPerInstance = value;
225 }
228 return *this;
229 }
231
233
246 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
247 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
248 template <typename InstanceTypeT = Aws::String>
249 void SetInstanceType(InstanceTypeT&& value) {
250 m_instanceTypeHasBeenSet = true;
251 m_instanceType = std::forward<InstanceTypeT>(value);
252 }
253 template <typename InstanceTypeT = Aws::String>
255 SetInstanceType(std::forward<InstanceTypeT>(value));
256 return *this;
257 }
259
261
269 inline ContainerFleetBillingType GetBillingType() const { return m_billingType; }
270 inline bool BillingTypeHasBeenSet() const { return m_billingTypeHasBeenSet; }
272 m_billingTypeHasBeenSet = true;
273 m_billingType = value;
274 }
276 SetBillingType(value);
277 return *this;
278 }
280
282
292 inline const Aws::Vector<LocationConfiguration>& GetLocations() const { return m_locations; }
293 inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; }
294 template <typename LocationsT = Aws::Vector<LocationConfiguration>>
295 void SetLocations(LocationsT&& value) {
296 m_locationsHasBeenSet = true;
297 m_locations = std::forward<LocationsT>(value);
298 }
299 template <typename LocationsT = Aws::Vector<LocationConfiguration>>
301 SetLocations(std::forward<LocationsT>(value));
302 return *this;
303 }
304 template <typename LocationsT = LocationConfiguration>
306 m_locationsHasBeenSet = true;
307 m_locations.emplace_back(std::forward<LocationsT>(value));
308 return *this;
309 }
311
313
320 inline const Aws::Vector<Aws::String>& GetMetricGroups() const { return m_metricGroups; }
321 inline bool MetricGroupsHasBeenSet() const { return m_metricGroupsHasBeenSet; }
322 template <typename MetricGroupsT = Aws::Vector<Aws::String>>
323 void SetMetricGroups(MetricGroupsT&& value) {
324 m_metricGroupsHasBeenSet = true;
325 m_metricGroups = std::forward<MetricGroupsT>(value);
326 }
327 template <typename MetricGroupsT = Aws::Vector<Aws::String>>
329 SetMetricGroups(std::forward<MetricGroupsT>(value));
330 return *this;
331 }
332 template <typename MetricGroupsT = Aws::String>
334 m_metricGroupsHasBeenSet = true;
335 m_metricGroups.emplace_back(std::forward<MetricGroupsT>(value));
336 return *this;
337 }
339
341
353 inline ProtectionPolicy GetNewGameSessionProtectionPolicy() const { return m_newGameSessionProtectionPolicy; }
354 inline bool NewGameSessionProtectionPolicyHasBeenSet() const { return m_newGameSessionProtectionPolicyHasBeenSet; }
356 m_newGameSessionProtectionPolicyHasBeenSet = true;
357 m_newGameSessionProtectionPolicy = value;
358 }
361 return *this;
362 }
364
366
371 inline const GameSessionCreationLimitPolicy& GetGameSessionCreationLimitPolicy() const { return m_gameSessionCreationLimitPolicy; }
372 inline bool GameSessionCreationLimitPolicyHasBeenSet() const { return m_gameSessionCreationLimitPolicyHasBeenSet; }
373 template <typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
374 void SetGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) {
375 m_gameSessionCreationLimitPolicyHasBeenSet = true;
376 m_gameSessionCreationLimitPolicy = std::forward<GameSessionCreationLimitPolicyT>(value);
377 }
378 template <typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
379 CreateContainerFleetRequest& WithGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) {
380 SetGameSessionCreationLimitPolicy(std::forward<GameSessionCreationLimitPolicyT>(value));
381 return *this;
382 }
384
386
400 inline const LogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
401 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
402 template <typename LogConfigurationT = LogConfiguration>
403 void SetLogConfiguration(LogConfigurationT&& value) {
404 m_logConfigurationHasBeenSet = true;
405 m_logConfiguration = std::forward<LogConfigurationT>(value);
406 }
407 template <typename LogConfigurationT = LogConfiguration>
409 SetLogConfiguration(std::forward<LogConfigurationT>(value));
410 return *this;
411 }
413
415
424 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
425 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
426 template <typename TagsT = Aws::Vector<Tag>>
427 void SetTags(TagsT&& value) {
428 m_tagsHasBeenSet = true;
429 m_tags = std::forward<TagsT>(value);
430 }
431 template <typename TagsT = Aws::Vector<Tag>>
433 SetTags(std::forward<TagsT>(value));
434 return *this;
435 }
436 template <typename TagsT = Tag>
438 m_tagsHasBeenSet = true;
439 m_tags.emplace_back(std::forward<TagsT>(value));
440 return *this;
441 }
443 private:
444 Aws::String m_fleetRoleArn;
445
446 Aws::String m_description;
447
448 Aws::String m_gameServerContainerGroupDefinitionName;
449
450 Aws::String m_perInstanceContainerGroupDefinitionName;
451
452 ConnectionPortRange m_instanceConnectionPortRange;
453
454 Aws::Vector<IpPermission> m_instanceInboundPermissions;
455
456 int m_gameServerContainerGroupsPerInstance{0};
457
458 Aws::String m_instanceType;
459
461
463
464 Aws::Vector<Aws::String> m_metricGroups;
465
466 ProtectionPolicy m_newGameSessionProtectionPolicy{ProtectionPolicy::NOT_SET};
467
468 GameSessionCreationLimitPolicy m_gameSessionCreationLimitPolicy;
469
470 LogConfiguration m_logConfiguration;
471
472 Aws::Vector<Tag> m_tags;
473 bool m_fleetRoleArnHasBeenSet = false;
474 bool m_descriptionHasBeenSet = false;
475 bool m_gameServerContainerGroupDefinitionNameHasBeenSet = false;
476 bool m_perInstanceContainerGroupDefinitionNameHasBeenSet = false;
477 bool m_instanceConnectionPortRangeHasBeenSet = false;
478 bool m_instanceInboundPermissionsHasBeenSet = false;
479 bool m_gameServerContainerGroupsPerInstanceHasBeenSet = false;
480 bool m_instanceTypeHasBeenSet = false;
481 bool m_billingTypeHasBeenSet = false;
482 bool m_locationsHasBeenSet = false;
483 bool m_metricGroupsHasBeenSet = false;
484 bool m_newGameSessionProtectionPolicyHasBeenSet = false;
485 bool m_gameSessionCreationLimitPolicyHasBeenSet = false;
486 bool m_logConfigurationHasBeenSet = false;
487 bool m_tagsHasBeenSet = false;
488};
489
490} // namespace Model
491} // namespace GameLift
492} // 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 & 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