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

Information about a launch configuration.

See Also:

AWS * API Reference

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

The package name.

*/ inline const Aws::String& GetPackageName() const{ return m_packageName; } /** *

The package name.

*/ inline bool PackageNameHasBeenSet() const { return m_packageNameHasBeenSet; } /** *

The package name.

*/ inline void SetPackageName(const Aws::String& value) { m_packageNameHasBeenSet = true; m_packageName = value; } /** *

The package name.

*/ inline void SetPackageName(Aws::String&& value) { m_packageNameHasBeenSet = true; m_packageName = std::move(value); } /** *

The package name.

*/ inline void SetPackageName(const char* value) { m_packageNameHasBeenSet = true; m_packageName.assign(value); } /** *

The package name.

*/ inline LaunchConfig& WithPackageName(const Aws::String& value) { SetPackageName(value); return *this;} /** *

The package name.

*/ inline LaunchConfig& WithPackageName(Aws::String&& value) { SetPackageName(std::move(value)); return *this;} /** *

The package name.

*/ inline LaunchConfig& WithPackageName(const char* value) { SetPackageName(value); return *this;} /** *

The launch file name.

*/ inline const Aws::String& GetLaunchFile() const{ return m_launchFile; } /** *

The launch file name.

*/ inline bool LaunchFileHasBeenSet() const { return m_launchFileHasBeenSet; } /** *

The launch file name.

*/ inline void SetLaunchFile(const Aws::String& value) { m_launchFileHasBeenSet = true; m_launchFile = value; } /** *

The launch file name.

*/ inline void SetLaunchFile(Aws::String&& value) { m_launchFileHasBeenSet = true; m_launchFile = std::move(value); } /** *

The launch file name.

*/ inline void SetLaunchFile(const char* value) { m_launchFileHasBeenSet = true; m_launchFile.assign(value); } /** *

The launch file name.

*/ inline LaunchConfig& WithLaunchFile(const Aws::String& value) { SetLaunchFile(value); return *this;} /** *

The launch file name.

*/ inline LaunchConfig& WithLaunchFile(Aws::String&& value) { SetLaunchFile(std::move(value)); return *this;} /** *

The launch file name.

*/ inline LaunchConfig& WithLaunchFile(const char* value) { SetLaunchFile(value); return *this;} /** *

The environment variables for the application launch.

*/ inline const Aws::Map& GetEnvironmentVariables() const{ return m_environmentVariables; } /** *

The environment variables for the application launch.

*/ inline bool EnvironmentVariablesHasBeenSet() const { return m_environmentVariablesHasBeenSet; } /** *

The environment variables for the application launch.

*/ inline void SetEnvironmentVariables(const Aws::Map& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables = value; } /** *

The environment variables for the application launch.

*/ inline void SetEnvironmentVariables(Aws::Map&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables = std::move(value); } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& WithEnvironmentVariables(const Aws::Map& value) { SetEnvironmentVariables(value); return *this;} /** *

The environment variables for the application launch.

*/ inline LaunchConfig& WithEnvironmentVariables(Aws::Map&& value) { SetEnvironmentVariables(std::move(value)); return *this;} /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(const Aws::String& key, const Aws::String& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, value); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(Aws::String&& key, const Aws::String& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(const Aws::String& key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(Aws::String&& key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), std::move(value)); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(const char* key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(Aws::String&& key, const char* value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables for the application launch.

*/ inline LaunchConfig& AddEnvironmentVariables(const char* key, const char* value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, value); return *this; } /** *

The port forwarding configuration.

*/ inline const PortForwardingConfig& GetPortForwardingConfig() const{ return m_portForwardingConfig; } /** *

The port forwarding configuration.

*/ inline bool PortForwardingConfigHasBeenSet() const { return m_portForwardingConfigHasBeenSet; } /** *

The port forwarding configuration.

*/ inline void SetPortForwardingConfig(const PortForwardingConfig& value) { m_portForwardingConfigHasBeenSet = true; m_portForwardingConfig = value; } /** *

The port forwarding configuration.

*/ inline void SetPortForwardingConfig(PortForwardingConfig&& value) { m_portForwardingConfigHasBeenSet = true; m_portForwardingConfig = std::move(value); } /** *

The port forwarding configuration.

*/ inline LaunchConfig& WithPortForwardingConfig(const PortForwardingConfig& value) { SetPortForwardingConfig(value); return *this;} /** *

The port forwarding configuration.

*/ inline LaunchConfig& WithPortForwardingConfig(PortForwardingConfig&& value) { SetPortForwardingConfig(std::move(value)); return *this;} /** *

Boolean indicating whether a streaming session will be configured for the * application. If True, AWS RoboMaker will configure a connection so * you can interact with your application as it is running in the simulation. You * must configure and launch the component. It must have a graphical user * interface.

*/ inline bool GetStreamUI() const{ return m_streamUI; } /** *

Boolean indicating whether a streaming session will be configured for the * application. If True, AWS RoboMaker will configure a connection so * you can interact with your application as it is running in the simulation. You * must configure and launch the component. It must have a graphical user * interface.

*/ inline bool StreamUIHasBeenSet() const { return m_streamUIHasBeenSet; } /** *

Boolean indicating whether a streaming session will be configured for the * application. If True, AWS RoboMaker will configure a connection so * you can interact with your application as it is running in the simulation. You * must configure and launch the component. It must have a graphical user * interface.

*/ inline void SetStreamUI(bool value) { m_streamUIHasBeenSet = true; m_streamUI = value; } /** *

Boolean indicating whether a streaming session will be configured for the * application. If True, AWS RoboMaker will configure a connection so * you can interact with your application as it is running in the simulation. You * must configure and launch the component. It must have a graphical user * interface.

*/ inline LaunchConfig& WithStreamUI(bool value) { SetStreamUI(value); return *this;} /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline const Aws::Vector& GetCommand() const{ return m_command; } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline void SetCommand(const Aws::Vector& value) { m_commandHasBeenSet = true; m_command = value; } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline void SetCommand(Aws::Vector&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline LaunchConfig& WithCommand(const Aws::Vector& value) { SetCommand(value); return *this;} /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline LaunchConfig& WithCommand(Aws::Vector&& value) { SetCommand(std::move(value)); return *this;} /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline LaunchConfig& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline LaunchConfig& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; } /** *

If you've specified General as the value for your * RobotSoftwareSuite, you can use this field to specify a list of * commands for your container image.

If you've specified * SimulationRuntime as the value for your * SimulationSoftwareSuite, you can use this field to specify a list * of commands for your container image.

*/ inline LaunchConfig& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } private: Aws::String m_packageName; bool m_packageNameHasBeenSet; Aws::String m_launchFile; bool m_launchFileHasBeenSet; Aws::Map m_environmentVariables; bool m_environmentVariablesHasBeenSet; PortForwardingConfig m_portForwardingConfig; bool m_portForwardingConfigHasBeenSet; bool m_streamUI; bool m_streamUIHasBeenSet; Aws::Vector m_command; bool m_commandHasBeenSet; }; } // namespace Model } // namespace RoboMaker } // namespace Aws