AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateContainerFleetRequest.h
1
6#pragma once
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/ConnectionPortRange.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/gamelift/model/ContainerFleetBillingType.h>
13#include <aws/gamelift/model/ProtectionPolicy.h>
14#include <aws/gamelift/model/GameSessionCreationLimitPolicy.h>
15#include <aws/gamelift/model/LogConfiguration.h>
16#include <aws/gamelift/model/IpPermission.h>
17#include <aws/gamelift/model/LocationConfiguration.h>
18#include <aws/gamelift/model/Tag.h>
19#include <utility>
20
21namespace Aws
22{
23namespace GameLift
24{
25namespace Model
26{
27
31 {
32 public:
33 AWS_GAMELIFT_API CreateContainerFleetRequest() = default;
34
35 // Service request name is the Operation name which will send this request out,
36 // each operation should has unique request name, so that we can get operation's name from this request.
37 // Note: this is not true for response, multiple operations may have the same response name,
38 // so we can not get operation's name from response.
39 inline virtual const char* GetServiceRequestName() const override { return "CreateContainerFleet"; }
40
41 AWS_GAMELIFT_API Aws::String SerializePayload() const override;
42
44
45
47
58 inline const Aws::String& GetFleetRoleArn() const { return m_fleetRoleArn; }
59 inline bool FleetRoleArnHasBeenSet() const { return m_fleetRoleArnHasBeenSet; }
60 template<typename FleetRoleArnT = Aws::String>
61 void SetFleetRoleArn(FleetRoleArnT&& value) { m_fleetRoleArnHasBeenSet = true; m_fleetRoleArn = std::forward<FleetRoleArnT>(value); }
62 template<typename FleetRoleArnT = Aws::String>
63 CreateContainerFleetRequest& WithFleetRoleArn(FleetRoleArnT&& value) { SetFleetRoleArn(std::forward<FleetRoleArnT>(value)); return *this;}
65
67
70 inline const Aws::String& GetDescription() const { return m_description; }
71 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
72 template<typename DescriptionT = Aws::String>
73 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
74 template<typename DescriptionT = Aws::String>
75 CreateContainerFleetRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
77
79
90 inline const Aws::String& GetGameServerContainerGroupDefinitionName() const { return m_gameServerContainerGroupDefinitionName; }
91 inline bool GameServerContainerGroupDefinitionNameHasBeenSet() const { return m_gameServerContainerGroupDefinitionNameHasBeenSet; }
92 template<typename GameServerContainerGroupDefinitionNameT = Aws::String>
93 void SetGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) { m_gameServerContainerGroupDefinitionNameHasBeenSet = true; m_gameServerContainerGroupDefinitionName = std::forward<GameServerContainerGroupDefinitionNameT>(value); }
94 template<typename GameServerContainerGroupDefinitionNameT = Aws::String>
95 CreateContainerFleetRequest& WithGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT&& value) { SetGameServerContainerGroupDefinitionName(std::forward<GameServerContainerGroupDefinitionNameT>(value)); return *this;}
97
99
112 inline const Aws::String& GetPerInstanceContainerGroupDefinitionName() const { return m_perInstanceContainerGroupDefinitionName; }
113 inline bool PerInstanceContainerGroupDefinitionNameHasBeenSet() const { return m_perInstanceContainerGroupDefinitionNameHasBeenSet; }
114 template<typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
115 void SetPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) { m_perInstanceContainerGroupDefinitionNameHasBeenSet = true; m_perInstanceContainerGroupDefinitionName = std::forward<PerInstanceContainerGroupDefinitionNameT>(value); }
116 template<typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
117 CreateContainerFleetRequest& WithPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT&& value) { SetPerInstanceContainerGroupDefinitionName(std::forward<PerInstanceContainerGroupDefinitionNameT>(value)); return *this;}
119
121
137 inline const ConnectionPortRange& GetInstanceConnectionPortRange() const { return m_instanceConnectionPortRange; }
138 inline bool InstanceConnectionPortRangeHasBeenSet() const { return m_instanceConnectionPortRangeHasBeenSet; }
139 template<typename InstanceConnectionPortRangeT = ConnectionPortRange>
140 void SetInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) { m_instanceConnectionPortRangeHasBeenSet = true; m_instanceConnectionPortRange = std::forward<InstanceConnectionPortRangeT>(value); }
141 template<typename InstanceConnectionPortRangeT = ConnectionPortRange>
142 CreateContainerFleetRequest& WithInstanceConnectionPortRange(InstanceConnectionPortRangeT&& value) { SetInstanceConnectionPortRange(std::forward<InstanceConnectionPortRangeT>(value)); return *this;}
144
146
164 inline const Aws::Vector<IpPermission>& GetInstanceInboundPermissions() const { return m_instanceInboundPermissions; }
165 inline bool InstanceInboundPermissionsHasBeenSet() const { return m_instanceInboundPermissionsHasBeenSet; }
166 template<typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
167 void SetInstanceInboundPermissions(InstanceInboundPermissionsT&& value) { m_instanceInboundPermissionsHasBeenSet = true; m_instanceInboundPermissions = std::forward<InstanceInboundPermissionsT>(value); }
168 template<typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
169 CreateContainerFleetRequest& WithInstanceInboundPermissions(InstanceInboundPermissionsT&& value) { SetInstanceInboundPermissions(std::forward<InstanceInboundPermissionsT>(value)); return *this;}
170 template<typename InstanceInboundPermissionsT = IpPermission>
171 CreateContainerFleetRequest& AddInstanceInboundPermissions(InstanceInboundPermissionsT&& value) { m_instanceInboundPermissionsHasBeenSet = true; m_instanceInboundPermissions.emplace_back(std::forward<InstanceInboundPermissionsT>(value)); return *this; }
173
175
184 inline int GetGameServerContainerGroupsPerInstance() const { return m_gameServerContainerGroupsPerInstance; }
185 inline bool GameServerContainerGroupsPerInstanceHasBeenSet() const { return m_gameServerContainerGroupsPerInstanceHasBeenSet; }
186 inline void SetGameServerContainerGroupsPerInstance(int value) { m_gameServerContainerGroupsPerInstanceHasBeenSet = true; m_gameServerContainerGroupsPerInstance = value; }
189
191
204 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
205 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
206 template<typename InstanceTypeT = Aws::String>
207 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
208 template<typename InstanceTypeT = Aws::String>
209 CreateContainerFleetRequest& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
211
213
221 inline ContainerFleetBillingType GetBillingType() const { return m_billingType; }
222 inline bool BillingTypeHasBeenSet() const { return m_billingTypeHasBeenSet; }
223 inline void SetBillingType(ContainerFleetBillingType value) { m_billingTypeHasBeenSet = true; m_billingType = value; }
226
228
238 inline const Aws::Vector<LocationConfiguration>& GetLocations() const { return m_locations; }
239 inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; }
240 template<typename LocationsT = Aws::Vector<LocationConfiguration>>
241 void SetLocations(LocationsT&& value) { m_locationsHasBeenSet = true; m_locations = std::forward<LocationsT>(value); }
242 template<typename LocationsT = Aws::Vector<LocationConfiguration>>
243 CreateContainerFleetRequest& WithLocations(LocationsT&& value) { SetLocations(std::forward<LocationsT>(value)); return *this;}
244 template<typename LocationsT = LocationConfiguration>
245 CreateContainerFleetRequest& AddLocations(LocationsT&& value) { m_locationsHasBeenSet = true; m_locations.emplace_back(std::forward<LocationsT>(value)); return *this; }
247
249
256 inline const Aws::Vector<Aws::String>& GetMetricGroups() const { return m_metricGroups; }
257 inline bool MetricGroupsHasBeenSet() const { return m_metricGroupsHasBeenSet; }
258 template<typename MetricGroupsT = Aws::Vector<Aws::String>>
259 void SetMetricGroups(MetricGroupsT&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups = std::forward<MetricGroupsT>(value); }
260 template<typename MetricGroupsT = Aws::Vector<Aws::String>>
261 CreateContainerFleetRequest& WithMetricGroups(MetricGroupsT&& value) { SetMetricGroups(std::forward<MetricGroupsT>(value)); return *this;}
262 template<typename MetricGroupsT = Aws::String>
263 CreateContainerFleetRequest& AddMetricGroups(MetricGroupsT&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups.emplace_back(std::forward<MetricGroupsT>(value)); return *this; }
265
267
279 inline ProtectionPolicy GetNewGameSessionProtectionPolicy() const { return m_newGameSessionProtectionPolicy; }
280 inline bool NewGameSessionProtectionPolicyHasBeenSet() const { return m_newGameSessionProtectionPolicyHasBeenSet; }
281 inline void SetNewGameSessionProtectionPolicy(ProtectionPolicy value) { m_newGameSessionProtectionPolicyHasBeenSet = true; m_newGameSessionProtectionPolicy = value; }
284
286
291 inline const GameSessionCreationLimitPolicy& GetGameSessionCreationLimitPolicy() const { return m_gameSessionCreationLimitPolicy; }
292 inline bool GameSessionCreationLimitPolicyHasBeenSet() const { return m_gameSessionCreationLimitPolicyHasBeenSet; }
293 template<typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
294 void SetGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) { m_gameSessionCreationLimitPolicyHasBeenSet = true; m_gameSessionCreationLimitPolicy = std::forward<GameSessionCreationLimitPolicyT>(value); }
295 template<typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
296 CreateContainerFleetRequest& WithGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT&& value) { SetGameSessionCreationLimitPolicy(std::forward<GameSessionCreationLimitPolicyT>(value)); return *this;}
298
300
314 inline const LogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
315 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
316 template<typename LogConfigurationT = LogConfiguration>
317 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
318 template<typename LogConfigurationT = LogConfiguration>
319 CreateContainerFleetRequest& WithLogConfiguration(LogConfigurationT&& value) { SetLogConfiguration(std::forward<LogConfigurationT>(value)); return *this;}
321
323
332 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
333 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
334 template<typename TagsT = Aws::Vector<Tag>>
335 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
336 template<typename TagsT = Aws::Vector<Tag>>
337 CreateContainerFleetRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
338 template<typename TagsT = Tag>
339 CreateContainerFleetRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
341 private:
342
343 Aws::String m_fleetRoleArn;
344 bool m_fleetRoleArnHasBeenSet = false;
345
346 Aws::String m_description;
347 bool m_descriptionHasBeenSet = false;
348
349 Aws::String m_gameServerContainerGroupDefinitionName;
350 bool m_gameServerContainerGroupDefinitionNameHasBeenSet = false;
351
352 Aws::String m_perInstanceContainerGroupDefinitionName;
353 bool m_perInstanceContainerGroupDefinitionNameHasBeenSet = false;
354
355 ConnectionPortRange m_instanceConnectionPortRange;
356 bool m_instanceConnectionPortRangeHasBeenSet = false;
357
358 Aws::Vector<IpPermission> m_instanceInboundPermissions;
359 bool m_instanceInboundPermissionsHasBeenSet = false;
360
361 int m_gameServerContainerGroupsPerInstance{0};
362 bool m_gameServerContainerGroupsPerInstanceHasBeenSet = false;
363
364 Aws::String m_instanceType;
365 bool m_instanceTypeHasBeenSet = false;
366
368 bool m_billingTypeHasBeenSet = false;
369
371 bool m_locationsHasBeenSet = false;
372
373 Aws::Vector<Aws::String> m_metricGroups;
374 bool m_metricGroupsHasBeenSet = false;
375
376 ProtectionPolicy m_newGameSessionProtectionPolicy{ProtectionPolicy::NOT_SET};
377 bool m_newGameSessionProtectionPolicyHasBeenSet = false;
378
379 GameSessionCreationLimitPolicy m_gameSessionCreationLimitPolicy;
380 bool m_gameSessionCreationLimitPolicyHasBeenSet = false;
381
382 LogConfiguration m_logConfiguration;
383 bool m_logConfigurationHasBeenSet = false;
384
385 Aws::Vector<Tag> m_tags;
386 bool m_tagsHasBeenSet = false;
387 };
388
389} // namespace Model
390} // namespace GameLift
391} // 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