/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace GameLift { namespace Model { /** *

Represents the input for a request action.

See Also:

AWS * API Reference

*/ class AWS_GAMELIFT_API CreateFleetRequest : public GameLiftRequest { public: CreateFleetRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateFleet"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline CreateFleetRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline CreateFleetRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A descriptive label that is associated with a fleet. Fleet names do not need * to be unique.

*/ inline CreateFleetRequest& WithName(const char* value) { SetName(value); return *this;} /** *

A human-readable description of a fleet.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A human-readable description of a fleet.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A human-readable description of a fleet.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A human-readable description of a fleet.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A human-readable description of a fleet.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A human-readable description of a fleet.

*/ inline CreateFleetRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A human-readable description of a fleet.

*/ inline CreateFleetRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A human-readable description of a fleet.

*/ inline CreateFleetRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline const Aws::String& GetBuildId() const{ return m_buildId; } /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline bool BuildIdHasBeenSet() const { return m_buildIdHasBeenSet; } /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline void SetBuildId(const Aws::String& value) { m_buildIdHasBeenSet = true; m_buildId = value; } /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline void SetBuildId(Aws::String&& value) { m_buildIdHasBeenSet = true; m_buildId = std::move(value); } /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline void SetBuildId(const char* value) { m_buildIdHasBeenSet = true; m_buildId.assign(value); } /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline CreateFleetRequest& WithBuildId(const Aws::String& value) { SetBuildId(value); return *this;} /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline CreateFleetRequest& WithBuildId(Aws::String&& value) { SetBuildId(std::move(value)); return *this;} /** *

A unique identifier for a build to be deployed on the new fleet. You can use * either the build ID or ARN value. The custom game server build must have been * successfully uploaded to Amazon GameLift and be in a READY status. * This fleet setting cannot be changed once the fleet is created.

*/ inline CreateFleetRequest& WithBuildId(const char* value) { SetBuildId(value); return *this;} /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline const Aws::String& GetScriptId() const{ return m_scriptId; } /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline bool ScriptIdHasBeenSet() const { return m_scriptIdHasBeenSet; } /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline void SetScriptId(const Aws::String& value) { m_scriptIdHasBeenSet = true; m_scriptId = value; } /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline void SetScriptId(Aws::String&& value) { m_scriptIdHasBeenSet = true; m_scriptId = std::move(value); } /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline void SetScriptId(const char* value) { m_scriptIdHasBeenSet = true; m_scriptId.assign(value); } /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline CreateFleetRequest& WithScriptId(const Aws::String& value) { SetScriptId(value); return *this;} /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline CreateFleetRequest& WithScriptId(Aws::String&& value) { SetScriptId(std::move(value)); return *this;} /** *

A unique identifier for a Realtime script to be deployed on the new fleet. * You can use either the script ID or ARN value. The Realtime script must have * been successfully uploaded to Amazon GameLift. This fleet setting cannot be * changed once the fleet is created.

*/ inline CreateFleetRequest& WithScriptId(const char* value) { SetScriptId(value); return *this;} /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline const Aws::String& GetServerLaunchPath() const{ return m_serverLaunchPath; } /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline bool ServerLaunchPathHasBeenSet() const { return m_serverLaunchPathHasBeenSet; } /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline void SetServerLaunchPath(const Aws::String& value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath = value; } /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline void SetServerLaunchPath(Aws::String&& value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath = std::move(value); } /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline void SetServerLaunchPath(const char* value) { m_serverLaunchPathHasBeenSet = true; m_serverLaunchPath.assign(value); } /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline CreateFleetRequest& WithServerLaunchPath(const Aws::String& value) { SetServerLaunchPath(value); return *this;} /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline CreateFleetRequest& WithServerLaunchPath(Aws::String&& value) { SetServerLaunchPath(std::move(value)); return *this;} /** *

This parameter is no longer used. Instead, specify a server launch path using * the RuntimeConfiguration parameter. Requests that specify a server * launch path and launch parameters instead of a runtime configuration will * continue to work.

*/ inline CreateFleetRequest& WithServerLaunchPath(const char* value) { SetServerLaunchPath(value); return *this;} /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline const Aws::String& GetServerLaunchParameters() const{ return m_serverLaunchParameters; } /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline bool ServerLaunchParametersHasBeenSet() const { return m_serverLaunchParametersHasBeenSet; } /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline void SetServerLaunchParameters(const Aws::String& value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters = value; } /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline void SetServerLaunchParameters(Aws::String&& value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters = std::move(value); } /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline void SetServerLaunchParameters(const char* value) { m_serverLaunchParametersHasBeenSet = true; m_serverLaunchParameters.assign(value); } /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline CreateFleetRequest& WithServerLaunchParameters(const Aws::String& value) { SetServerLaunchParameters(value); return *this;} /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline CreateFleetRequest& WithServerLaunchParameters(Aws::String&& value) { SetServerLaunchParameters(std::move(value)); return *this;} /** *

This parameter is no longer used. Instead, specify server launch parameters * in the RuntimeConfiguration parameter. (Requests that specify a * server launch path and launch parameters instead of a runtime configuration will * continue to work.)

*/ inline CreateFleetRequest& WithServerLaunchParameters(const char* value) { SetServerLaunchParameters(value); return *this;} /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline const Aws::Vector& GetLogPaths() const{ return m_logPaths; } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline bool LogPathsHasBeenSet() const { return m_logPathsHasBeenSet; } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline void SetLogPaths(const Aws::Vector& value) { m_logPathsHasBeenSet = true; m_logPaths = value; } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline void SetLogPaths(Aws::Vector&& value) { m_logPathsHasBeenSet = true; m_logPaths = std::move(value); } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline CreateFleetRequest& WithLogPaths(const Aws::Vector& value) { SetLogPaths(value); return *this;} /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline CreateFleetRequest& WithLogPaths(Aws::Vector&& value) { SetLogPaths(std::move(value)); return *this;} /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline CreateFleetRequest& AddLogPaths(const Aws::String& value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(value); return *this; } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline CreateFleetRequest& AddLogPaths(Aws::String&& value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(std::move(value)); return *this; } /** *

This parameter is no longer used. Instead, to specify where Amazon GameLift * should store log files once a server process shuts down, use the Amazon GameLift * server API ProcessReady() and specify one or more directory paths * in logParameters. See more information in the Server * API Reference.

*/ inline CreateFleetRequest& AddLogPaths(const char* value) { m_logPathsHasBeenSet = true; m_logPaths.push_back(value); return *this; } /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline const EC2InstanceType& GetEC2InstanceType() const{ return m_eC2InstanceType; } /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline bool EC2InstanceTypeHasBeenSet() const { return m_eC2InstanceTypeHasBeenSet; } /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline void SetEC2InstanceType(const EC2InstanceType& value) { m_eC2InstanceTypeHasBeenSet = true; m_eC2InstanceType = value; } /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline void SetEC2InstanceType(EC2InstanceType&& value) { m_eC2InstanceTypeHasBeenSet = true; m_eC2InstanceType = std::move(value); } /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline CreateFleetRequest& WithEC2InstanceType(const EC2InstanceType& value) { SetEC2InstanceType(value); return *this;} /** *

The name of an EC2 instance type that is supported in Amazon GameLift. A * fleet instance type determines the computing resources of each instance in the * fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift * supports the following EC2 instance types. See Amazon EC2 Instance Types * for detailed descriptions.

*/ inline CreateFleetRequest& WithEC2InstanceType(EC2InstanceType&& value) { SetEC2InstanceType(std::move(value)); return *this;} /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline const Aws::Vector& GetEC2InboundPermissions() const{ return m_eC2InboundPermissions; } /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline bool EC2InboundPermissionsHasBeenSet() const { return m_eC2InboundPermissionsHasBeenSet; } /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline void SetEC2InboundPermissions(const Aws::Vector& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions = value; } /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline void SetEC2InboundPermissions(Aws::Vector&& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions = std::move(value); } /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline CreateFleetRequest& WithEC2InboundPermissions(const Aws::Vector& value) { SetEC2InboundPermissions(value); return *this;} /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline CreateFleetRequest& WithEC2InboundPermissions(Aws::Vector&& value) { SetEC2InboundPermissions(std::move(value)); return *this;} /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline CreateFleetRequest& AddEC2InboundPermissions(const IpPermission& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions.push_back(value); return *this; } /** *

Range of IP addresses and port settings that permit inbound traffic to access * game sessions that are running on the fleet. For fleets using a custom game * build, this parameter is required before game sessions running on the fleet can * accept connections. For Realtime Servers fleets, Amazon GameLift automatically * sets TCP and UDP ranges for use by the Realtime servers. You can specify * multiple permission settings or add more by updating the fleet.

*/ inline CreateFleetRequest& AddEC2InboundPermissions(IpPermission&& value) { m_eC2InboundPermissionsHasBeenSet = true; m_eC2InboundPermissions.push_back(std::move(value)); return *this; } /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline const ProtectionPolicy& GetNewGameSessionProtectionPolicy() const{ return m_newGameSessionProtectionPolicy; } /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline bool NewGameSessionProtectionPolicyHasBeenSet() const { return m_newGameSessionProtectionPolicyHasBeenSet; } /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline void SetNewGameSessionProtectionPolicy(const ProtectionPolicy& value) { m_newGameSessionProtectionPolicyHasBeenSet = true; m_newGameSessionProtectionPolicy = value; } /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline void SetNewGameSessionProtectionPolicy(ProtectionPolicy&& value) { m_newGameSessionProtectionPolicyHasBeenSet = true; m_newGameSessionProtectionPolicy = std::move(value); } /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline CreateFleetRequest& WithNewGameSessionProtectionPolicy(const ProtectionPolicy& value) { SetNewGameSessionProtectionPolicy(value); return *this;} /** *

A game session protection policy to apply to all instances in this fleet. If * this parameter is not set, instances in this fleet default to no protection. You * can change a fleet's protection policy using UpdateFleetAttributes, but * this change will only affect sessions created after the policy change. You can * also set protection for individual instances using UpdateGameSession.

*
  • NoProtection - The game session can be terminated during a * scale-down event.

  • FullProtection - If the game session * is in an ACTIVE status, it cannot be terminated during a scale-down * event.

*/ inline CreateFleetRequest& WithNewGameSessionProtectionPolicy(ProtectionPolicy&& value) { SetNewGameSessionProtectionPolicy(std::move(value)); return *this;} /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline const RuntimeConfiguration& GetRuntimeConfiguration() const{ return m_runtimeConfiguration; } /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline bool RuntimeConfigurationHasBeenSet() const { return m_runtimeConfigurationHasBeenSet; } /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline void SetRuntimeConfiguration(const RuntimeConfiguration& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration = value; } /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline void SetRuntimeConfiguration(RuntimeConfiguration&& value) { m_runtimeConfigurationHasBeenSet = true; m_runtimeConfiguration = std::move(value); } /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline CreateFleetRequest& WithRuntimeConfiguration(const RuntimeConfiguration& value) { SetRuntimeConfiguration(value); return *this;} /** *

Instructions for launching server processes on each instance in the fleet. * Server processes run either a custom game build executable or a Realtime script. * The runtime configuration defines the server executables or launch script file, * launch parameters, and the number of processes to run concurrently on each * instance. When creating a fleet, the runtime configuration must have at least * one server process configuration; otherwise the request fails with an invalid * request exception. (This parameter replaces the parameters * ServerLaunchPath and ServerLaunchParameters, although * requests that contain values for these parameters instead of a runtime * configuration will continue to work.) This parameter is required unless the * parameters ServerLaunchPath and ServerLaunchParameters * are defined. Runtime configuration replaced these parameters, but fleets that * use them will continue to work.

*/ inline CreateFleetRequest& WithRuntimeConfiguration(RuntimeConfiguration&& value) { SetRuntimeConfiguration(std::move(value)); return *this;} /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline const ResourceCreationLimitPolicy& GetResourceCreationLimitPolicy() const{ return m_resourceCreationLimitPolicy; } /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline bool ResourceCreationLimitPolicyHasBeenSet() const { return m_resourceCreationLimitPolicyHasBeenSet; } /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline void SetResourceCreationLimitPolicy(const ResourceCreationLimitPolicy& value) { m_resourceCreationLimitPolicyHasBeenSet = true; m_resourceCreationLimitPolicy = value; } /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline void SetResourceCreationLimitPolicy(ResourceCreationLimitPolicy&& value) { m_resourceCreationLimitPolicyHasBeenSet = true; m_resourceCreationLimitPolicy = std::move(value); } /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline CreateFleetRequest& WithResourceCreationLimitPolicy(const ResourceCreationLimitPolicy& value) { SetResourceCreationLimitPolicy(value); return *this;} /** *

A policy that limits the number of game sessions an individual player can * create over a span of time for this fleet.

*/ inline CreateFleetRequest& WithResourceCreationLimitPolicy(ResourceCreationLimitPolicy&& value) { SetResourceCreationLimitPolicy(std::move(value)); return *this;} /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline const Aws::Vector& GetMetricGroups() const{ return m_metricGroups; } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline bool MetricGroupsHasBeenSet() const { return m_metricGroupsHasBeenSet; } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline void SetMetricGroups(const Aws::Vector& value) { m_metricGroupsHasBeenSet = true; m_metricGroups = value; } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline void SetMetricGroups(Aws::Vector&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups = std::move(value); } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline CreateFleetRequest& WithMetricGroups(const Aws::Vector& value) { SetMetricGroups(value); return *this;} /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline CreateFleetRequest& WithMetricGroups(Aws::Vector&& value) { SetMetricGroups(std::move(value)); return *this;} /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline CreateFleetRequest& AddMetricGroups(const Aws::String& value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(value); return *this; } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline CreateFleetRequest& AddMetricGroups(Aws::String&& value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(std::move(value)); return *this; } /** *

The name of an Amazon CloudWatch metric group to add this fleet to. A metric * group aggregates the metrics for all fleets in the group. Specify an existing * metric group name, or provide a new name to create a new metric group. A fleet * can only be included in one metric group at a time.

*/ inline CreateFleetRequest& AddMetricGroups(const char* value) { m_metricGroupsHasBeenSet = true; m_metricGroups.push_back(value); return *this; } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline const Aws::String& GetPeerVpcAwsAccountId() const{ return m_peerVpcAwsAccountId; } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline bool PeerVpcAwsAccountIdHasBeenSet() const { return m_peerVpcAwsAccountIdHasBeenSet; } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline void SetPeerVpcAwsAccountId(const Aws::String& value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId = value; } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline void SetPeerVpcAwsAccountId(Aws::String&& value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId = std::move(value); } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline void SetPeerVpcAwsAccountId(const char* value) { m_peerVpcAwsAccountIdHasBeenSet = true; m_peerVpcAwsAccountId.assign(value); } /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline CreateFleetRequest& WithPeerVpcAwsAccountId(const Aws::String& value) { SetPeerVpcAwsAccountId(value); return *this;} /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline CreateFleetRequest& WithPeerVpcAwsAccountId(Aws::String&& value) { SetPeerVpcAwsAccountId(std::move(value)); return *this;} /** *

A unique identifier for the AWS account with the VPC that you want to peer * your Amazon GameLift fleet with. You can find your account ID in the AWS * Management Console under account settings.

*/ inline CreateFleetRequest& WithPeerVpcAwsAccountId(const char* value) { SetPeerVpcAwsAccountId(value); return *this;} /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline const Aws::String& GetPeerVpcId() const{ return m_peerVpcId; } /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline bool PeerVpcIdHasBeenSet() const { return m_peerVpcIdHasBeenSet; } /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline void SetPeerVpcId(const Aws::String& value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId = value; } /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline void SetPeerVpcId(Aws::String&& value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId = std::move(value); } /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline void SetPeerVpcId(const char* value) { m_peerVpcIdHasBeenSet = true; m_peerVpcId.assign(value); } /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline CreateFleetRequest& WithPeerVpcId(const Aws::String& value) { SetPeerVpcId(value); return *this;} /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline CreateFleetRequest& WithPeerVpcId(Aws::String&& value) { SetPeerVpcId(std::move(value)); return *this;} /** *

A unique identifier for a VPC with resources to be accessed by your Amazon * GameLift fleet. The VPC must be in the same Region as your fleet. To look up a * VPC ID, use the VPC Dashboard * in the AWS Management Console. Learn more about VPC peering in VPC * Peering with Amazon GameLift Fleets.

*/ inline CreateFleetRequest& WithPeerVpcId(const char* value) { SetPeerVpcId(value); return *this;} /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline const FleetType& GetFleetType() const{ return m_fleetType; } /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline bool FleetTypeHasBeenSet() const { return m_fleetTypeHasBeenSet; } /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline void SetFleetType(const FleetType& value) { m_fleetTypeHasBeenSet = true; m_fleetType = value; } /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline void SetFleetType(FleetType&& value) { m_fleetTypeHasBeenSet = true; m_fleetType = std::move(value); } /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline CreateFleetRequest& WithFleetType(const FleetType& value) { SetFleetType(value); return *this;} /** *

Indicates whether to use On-Demand instances or Spot instances for this * fleet. If empty, the default is ON_DEMAND. Both categories of * instances use identical hardware and configurations based on the instance type * selected for this fleet. Learn more about * On-Demand versus Spot Instances.

*/ inline CreateFleetRequest& WithFleetType(FleetType&& value) { SetFleetType(std::move(value)); return *this;} /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline const Aws::String& GetInstanceRoleArn() const{ return m_instanceRoleArn; } /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline bool InstanceRoleArnHasBeenSet() const { return m_instanceRoleArnHasBeenSet; } /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline void SetInstanceRoleArn(const Aws::String& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = value; } /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline void SetInstanceRoleArn(Aws::String&& value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn = std::move(value); } /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline void SetInstanceRoleArn(const char* value) { m_instanceRoleArnHasBeenSet = true; m_instanceRoleArn.assign(value); } /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline CreateFleetRequest& WithInstanceRoleArn(const Aws::String& value) { SetInstanceRoleArn(value); return *this;} /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline CreateFleetRequest& WithInstanceRoleArn(Aws::String&& value) { SetInstanceRoleArn(std::move(value)); return *this;} /** *

A unique identifier for an AWS IAM role that manages access to your AWS * services. With an instance role ARN set, any application that runs on an * instance in this fleet can assume the role, including install scripts, server * processes, and daemons (background processes). Create a role or look up a role's * ARN from the IAM dashboard in * the AWS Management Console. Learn more about using on-box credentials for your * game servers at * Access external resources from a game server.

*/ inline CreateFleetRequest& WithInstanceRoleArn(const char* value) { SetInstanceRoleArn(value); return *this;} /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline const CertificateConfiguration& GetCertificateConfiguration() const{ return m_certificateConfiguration; } /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline bool CertificateConfigurationHasBeenSet() const { return m_certificateConfigurationHasBeenSet; } /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline void SetCertificateConfiguration(const CertificateConfiguration& value) { m_certificateConfigurationHasBeenSet = true; m_certificateConfiguration = value; } /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline void SetCertificateConfiguration(CertificateConfiguration&& value) { m_certificateConfigurationHasBeenSet = true; m_certificateConfiguration = std::move(value); } /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline CreateFleetRequest& WithCertificateConfiguration(const CertificateConfiguration& value) { SetCertificateConfiguration(value); return *this;} /** *

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS * certificates are used for encrypting traffic between game clients and game * servers running on GameLift. If this parameter is not specified, the default * value, DISABLED, is used. This fleet setting cannot be changed once the fleet is * created. Learn more at Securing * Client/Server Communication.

Note: This feature requires the AWS * Certificate Manager (ACM) service, which is available in the AWS global * partition but not in all other partitions. When working in a partition that does * not support this feature, a request for a new fleet with certificate generation * results fails with a 4xx unsupported Region error.

Valid values include: *

  • GENERATED - Generate a TLS/SSL certificate for this * fleet.

  • DISABLED - (default) Do not generate a TLS/SSL * certificate for this fleet.

*/ inline CreateFleetRequest& WithCertificateConfiguration(CertificateConfiguration&& value) { SetCertificateConfiguration(std::move(value)); return *this;} /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateFleetRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateFleetRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateFleetRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of labels to assign to the new fleet resource. Tags are * developer-defined key-value pairs. Tagging AWS resources are useful for resource * management, access management and cost allocation. For more information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateFleetRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; Aws::String m_buildId; bool m_buildIdHasBeenSet; Aws::String m_scriptId; bool m_scriptIdHasBeenSet; Aws::String m_serverLaunchPath; bool m_serverLaunchPathHasBeenSet; Aws::String m_serverLaunchParameters; bool m_serverLaunchParametersHasBeenSet; Aws::Vector m_logPaths; bool m_logPathsHasBeenSet; EC2InstanceType m_eC2InstanceType; bool m_eC2InstanceTypeHasBeenSet; Aws::Vector m_eC2InboundPermissions; bool m_eC2InboundPermissionsHasBeenSet; ProtectionPolicy m_newGameSessionProtectionPolicy; bool m_newGameSessionProtectionPolicyHasBeenSet; RuntimeConfiguration m_runtimeConfiguration; bool m_runtimeConfigurationHasBeenSet; ResourceCreationLimitPolicy m_resourceCreationLimitPolicy; bool m_resourceCreationLimitPolicyHasBeenSet; Aws::Vector m_metricGroups; bool m_metricGroupsHasBeenSet; Aws::String m_peerVpcAwsAccountId; bool m_peerVpcAwsAccountIdHasBeenSet; Aws::String m_peerVpcId; bool m_peerVpcIdHasBeenSet; FleetType m_fleetType; bool m_fleetTypeHasBeenSet; Aws::String m_instanceRoleArn; bool m_instanceRoleArnHasBeenSet; CertificateConfiguration m_certificateConfiguration; bool m_certificateConfigurationHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; }; } // namespace Model } // namespace GameLift } // namespace Aws