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>
56 template <
typename FleetRoleArnT = Aws::String>
58 m_fleetRoleArnHasBeenSet =
true;
59 m_fleetRoleArn = std::forward<FleetRoleArnT>(value);
61 template <
typename FleetRoleArnT = Aws::String>
74 template <
typename DescriptionT = Aws::String>
76 m_descriptionHasBeenSet =
true;
77 m_description = std::forward<DescriptionT>(value);
79 template <
typename DescriptionT = Aws::String>
100 template <
typename GameServerContainerGroupDefinitionNameT = Aws::String>
102 m_gameServerContainerGroupDefinitionNameHasBeenSet =
true;
103 m_gameServerContainerGroupDefinitionName = std::forward<GameServerContainerGroupDefinitionNameT>(value);
105 template <
typename GameServerContainerGroupDefinitionNameT = Aws::String>
128 template <
typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
130 m_perInstanceContainerGroupDefinitionNameHasBeenSet =
true;
131 m_perInstanceContainerGroupDefinitionName = std::forward<PerInstanceContainerGroupDefinitionNameT>(value);
133 template <
typename PerInstanceContainerGroupDefinitionNameT = Aws::String>
159 template <
typename InstanceConnectionPortRangeT = ConnectionPortRange>
161 m_instanceConnectionPortRangeHasBeenSet =
true;
162 m_instanceConnectionPortRange = std::forward<InstanceConnectionPortRangeT>(value);
164 template <
typename InstanceConnectionPortRangeT = ConnectionPortRange>
192 template <
typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
194 m_instanceInboundPermissionsHasBeenSet =
true;
195 m_instanceInboundPermissions = std::forward<InstanceInboundPermissionsT>(value);
197 template <
typename InstanceInboundPermissionsT = Aws::Vector<IpPermission>>
202 template <
typename InstanceInboundPermissionsT = IpPermission>
204 m_instanceInboundPermissionsHasBeenSet =
true;
205 m_instanceInboundPermissions.emplace_back(std::forward<InstanceInboundPermissionsT>(value));
223 m_gameServerContainerGroupsPerInstanceHasBeenSet =
true;
224 m_gameServerContainerGroupsPerInstance = value;
248 template <
typename InstanceTypeT = Aws::String>
250 m_instanceTypeHasBeenSet =
true;
251 m_instanceType = std::forward<InstanceTypeT>(value);
253 template <
typename InstanceTypeT = Aws::String>
272 m_billingTypeHasBeenSet =
true;
273 m_billingType = value;
294 template <
typename LocationsT = Aws::Vector<LocationConfiguration>>
296 m_locationsHasBeenSet =
true;
297 m_locations = std::forward<LocationsT>(value);
299 template <
typename LocationsT = Aws::Vector<LocationConfiguration>>
304 template <
typename LocationsT = LocationConfiguration>
306 m_locationsHasBeenSet =
true;
307 m_locations.emplace_back(std::forward<LocationsT>(value));
322 template <
typename MetricGroupsT = Aws::Vector<Aws::String>>
324 m_metricGroupsHasBeenSet =
true;
325 m_metricGroups = std::forward<MetricGroupsT>(value);
327 template <
typename MetricGroupsT = Aws::Vector<Aws::String>>
332 template <
typename MetricGroupsT = Aws::String>
334 m_metricGroupsHasBeenSet =
true;
335 m_metricGroups.emplace_back(std::forward<MetricGroupsT>(value));
356 m_newGameSessionProtectionPolicyHasBeenSet =
true;
357 m_newGameSessionProtectionPolicy = value;
373 template <
typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
375 m_gameSessionCreationLimitPolicyHasBeenSet =
true;
376 m_gameSessionCreationLimitPolicy = std::forward<GameSessionCreationLimitPolicyT>(value);
378 template <
typename GameSessionCreationLimitPolicyT = GameSessionCreationLimitPolicy>
402 template <
typename LogConfigurationT = LogConfiguration>
404 m_logConfigurationHasBeenSet =
true;
405 m_logConfiguration = std::forward<LogConfigurationT>(value);
407 template <
typename LogConfigurationT = LogConfiguration>
426 template <
typename TagsT = Aws::Vector<Tag>>
428 m_tagsHasBeenSet =
true;
429 m_tags = std::forward<TagsT>(value);
431 template <
typename TagsT = Aws::Vector<Tag>>
433 SetTags(std::forward<TagsT>(value));
436 template <
typename TagsT = Tag>
438 m_tagsHasBeenSet =
true;
439 m_tags.emplace_back(std::forward<TagsT>(value));
448 Aws::String m_gameServerContainerGroupDefinitionName;
450 Aws::String m_perInstanceContainerGroupDefinitionName;
456 int m_gameServerContainerGroupsPerInstance{0};
468 GameSessionCreationLimitPolicy m_gameSessionCreationLimitPolicy;
470 LogConfiguration m_logConfiguration;
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;
virtual const char * GetServiceRequestName() const override
void SetTags(TagsT &&value)
CreateContainerFleetRequest & WithPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithGameServerContainerGroupsPerInstance(int value)
bool GameSessionCreationLimitPolicyHasBeenSet() const
void SetBillingType(ContainerFleetBillingType value)
bool GameServerContainerGroupDefinitionNameHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
CreateContainerFleetRequest & AddLocations(LocationsT &&value)
int GetGameServerContainerGroupsPerInstance() const
const ConnectionPortRange & GetInstanceConnectionPortRange() const
void SetGameServerContainerGroupsPerInstance(int value)
CreateContainerFleetRequest & WithGameSessionCreationLimitPolicy(GameSessionCreationLimitPolicyT &&value)
void SetGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT &&value)
CreateContainerFleetRequest & WithInstanceConnectionPortRange(InstanceConnectionPortRangeT &&value)
bool BillingTypeHasBeenSet() const
bool LogConfigurationHasBeenSet() const
bool FleetRoleArnHasBeenSet() const
void SetLocations(LocationsT &&value)
CreateContainerFleetRequest & WithDescription(DescriptionT &&value)
const LogConfiguration & GetLogConfiguration() const
CreateContainerFleetRequest & WithLogConfiguration(LogConfigurationT &&value)
CreateContainerFleetRequest & AddMetricGroups(MetricGroupsT &&value)
void SetMetricGroups(MetricGroupsT &&value)
void SetDescription(DescriptionT &&value)
const Aws::String & GetGameServerContainerGroupDefinitionName() const
bool TagsHasBeenSet() const
bool DescriptionHasBeenSet() const
CreateContainerFleetRequest & WithBillingType(ContainerFleetBillingType value)
void SetPerInstanceContainerGroupDefinitionName(PerInstanceContainerGroupDefinitionNameT &&value)
bool LocationsHasBeenSet() const
CreateContainerFleetRequest & WithInstanceInboundPermissions(InstanceInboundPermissionsT &&value)
CreateContainerFleetRequest & WithLocations(LocationsT &&value)
AWS_GAMELIFT_API CreateContainerFleetRequest()=default
ContainerFleetBillingType GetBillingType() const
bool InstanceInboundPermissionsHasBeenSet() const
void SetLogConfiguration(LogConfigurationT &&value)
bool MetricGroupsHasBeenSet() const
CreateContainerFleetRequest & WithFleetRoleArn(FleetRoleArnT &&value)
const Aws::String & GetFleetRoleArn() const
void SetInstanceType(InstanceTypeT &&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
bool NewGameSessionProtectionPolicyHasBeenSet() const
bool InstanceTypeHasBeenSet() 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)
bool PerInstanceContainerGroupDefinitionNameHasBeenSet() const
const Aws::String & GetInstanceType() const
CreateContainerFleetRequest & WithInstanceType(InstanceTypeT &&value)
const Aws::Vector< LocationConfiguration > & GetLocations() const
bool InstanceConnectionPortRangeHasBeenSet() const
ProtectionPolicy GetNewGameSessionProtectionPolicy() const
CreateContainerFleetRequest & WithNewGameSessionProtectionPolicy(ProtectionPolicy value)
void SetNewGameSessionProtectionPolicy(ProtectionPolicy value)
const Aws::String & GetPerInstanceContainerGroupDefinitionName() const
void SetInstanceConnectionPortRange(InstanceConnectionPortRangeT &&value)
CreateContainerFleetRequest & WithGameServerContainerGroupDefinitionName(GameServerContainerGroupDefinitionNameT &&value)
const Aws::String & GetDescription() const
CreateContainerFleetRequest & WithMetricGroups(MetricGroupsT &&value)
void SetFleetRoleArn(FleetRoleArnT &&value)
bool GameServerContainerGroupsPerInstanceHasBeenSet() const
ContainerFleetBillingType
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