/** * 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 a custom game build executable or a Realtime * Servers script. Each instruction set identifies the location of the custom game * build executable or Realtime launch script, optional launch parameters, and the * number of server processes with this configuration to maintain concurrently on * the instance. Server process configurations make up a fleet's * RuntimeConfiguration .

See Also:

AWS * API Reference

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

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

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 the server executable in a custom game build or the name of * the Realtime script file that contains the Init() function. Game * builds and Realtime scripts are installed on instances at the root:

    *
  • Windows (for 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 that use this configuration to run * concurrently on an instance.

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

The number of server processes that use this configuration to run * concurrently on an instance.

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

The number of server processes that use this configuration to run * concurrently on an instance.

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

The number of server processes that use this configuration to run * concurrently on an instance.

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