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

A set of instructions for launching server processes on each instance in a * fleet. Server processes run either an executable in a custom game build or a * Realtime Servers script. Server process configurations are part of a fleet's * runtime configuration.

See Also:

AWS * API Reference

*/ class ServerProcess { public: AWS_GAMELIFT_API ServerProcess(); AWS_GAMELIFT_API ServerProcess(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API ServerProcess& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline const Aws::String& GetLaunchPath() const{ return m_launchPath; } /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline bool LaunchPathHasBeenSet() const { return m_launchPathHasBeenSet; } /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline void SetLaunchPath(const Aws::String& value) { m_launchPathHasBeenSet = true; m_launchPath = value; } /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline void SetLaunchPath(Aws::String&& value) { m_launchPathHasBeenSet = true; m_launchPath = std::move(value); } /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline void SetLaunchPath(const char* value) { m_launchPathHasBeenSet = true; m_launchPath.assign(value); } /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline ServerProcess& WithLaunchPath(const Aws::String& value) { SetLaunchPath(value); return *this;} /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline ServerProcess& WithLaunchPath(Aws::String&& value) { SetLaunchPath(std::move(value)); return *this;} /** *

The location of a game build executable or the Realtime script file that * contains the Init() function. Game builds and Realtime scripts are * installed on instances at the root:

  • Windows (custom game * builds only): C:\game. Example: * "C:\game\MyGame\server.exe"

  • Linux: * /local/game. Examples: "/local/game/MyGame/server.exe" * or "/local/game/MyRealtimeScript.js"

*/ inline ServerProcess& WithLaunchPath(const char* value) { SetLaunchPath(value); return *this;} /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline const Aws::String& GetParameters() const{ return m_parameters; } /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline void SetParameters(const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline void SetParameters(Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline void SetParameters(const char* value) { m_parametersHasBeenSet = true; m_parameters.assign(value); } /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline ServerProcess& WithParameters(const Aws::String& value) { SetParameters(value); return *this;} /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline ServerProcess& WithParameters(Aws::String&& value) { SetParameters(std::move(value)); return *this;} /** *

An optional list of parameters to pass to the server executable or Realtime * script on launch.

*/ inline ServerProcess& WithParameters(const char* value) { SetParameters(value); return *this;} /** *

The number of server processes using this configuration that run concurrently * on each instance.

*/ inline int GetConcurrentExecutions() const{ return m_concurrentExecutions; } /** *

The number of server processes using this configuration that run concurrently * on each instance.

*/ inline bool ConcurrentExecutionsHasBeenSet() const { return m_concurrentExecutionsHasBeenSet; } /** *

The number of server processes using this configuration that run concurrently * on each instance.

*/ inline void SetConcurrentExecutions(int value) { m_concurrentExecutionsHasBeenSet = true; m_concurrentExecutions = value; } /** *

The number of server processes using this configuration that run concurrently * on each instance.

*/ inline ServerProcess& WithConcurrentExecutions(int value) { SetConcurrentExecutions(value); return *this;} private: Aws::String m_launchPath; bool m_launchPathHasBeenSet = false; Aws::String m_parameters; bool m_parametersHasBeenSet = false; int m_concurrentExecutions; bool m_concurrentExecutionsHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws