/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 tool. Tools are used in a simulation job.

See * Also:

AWS API * Reference

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

Boolean indicating whether a streaming session will be configured for the * tool. If True, AWS RoboMaker will configure a connection so you can * interact with the tool as it is running in the simulation. It must have a * graphical user interface. The default is False.

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

Boolean indicating whether a streaming session will be configured for the * tool. If True, AWS RoboMaker will configure a connection so you can * interact with the tool as it is running in the simulation. It must have a * graphical user interface. The default is False.

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

Boolean indicating whether a streaming session will be configured for the * tool. If True, AWS RoboMaker will configure a connection so you can * interact with the tool as it is running in the simulation. It must have a * graphical user interface. The default is False.

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

Boolean indicating whether a streaming session will be configured for the * tool. If True, AWS RoboMaker will configure a connection so you can * interact with the tool as it is running in the simulation. It must have a * graphical user interface. The default is False.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

The name of the tool.

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

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

*/ inline void SetCommand(const char* value) { m_commandHasBeenSet = true; m_command.assign(value); } /** *

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

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

Command-line arguments for the tool. It must include the tool executable * name.

*/ inline Tool& WithCommand(const char* value) { SetCommand(value); return *this;} /** *

Boolean indicating whether logs will be recorded in CloudWatch for the tool. * The default is False.

*/ inline bool GetStreamOutputToCloudWatch() const{ return m_streamOutputToCloudWatch; } /** *

Boolean indicating whether logs will be recorded in CloudWatch for the tool. * The default is False.

*/ inline bool StreamOutputToCloudWatchHasBeenSet() const { return m_streamOutputToCloudWatchHasBeenSet; } /** *

Boolean indicating whether logs will be recorded in CloudWatch for the tool. * The default is False.

*/ inline void SetStreamOutputToCloudWatch(bool value) { m_streamOutputToCloudWatchHasBeenSet = true; m_streamOutputToCloudWatch = value; } /** *

Boolean indicating whether logs will be recorded in CloudWatch for the tool. * The default is False.

*/ inline Tool& WithStreamOutputToCloudWatch(bool value) { SetStreamOutputToCloudWatch(value); return *this;} /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline const ExitBehavior& GetExitBehavior() const{ return m_exitBehavior; } /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline bool ExitBehaviorHasBeenSet() const { return m_exitBehaviorHasBeenSet; } /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline void SetExitBehavior(const ExitBehavior& value) { m_exitBehaviorHasBeenSet = true; m_exitBehavior = value; } /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline void SetExitBehavior(ExitBehavior&& value) { m_exitBehaviorHasBeenSet = true; m_exitBehavior = std::move(value); } /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline Tool& WithExitBehavior(const ExitBehavior& value) { SetExitBehavior(value); return *this;} /** *

Exit behavior determines what happens when your tool quits running. * RESTART will cause your tool to be restarted. FAIL * will cause your job to exit. The default is RESTART.

*/ inline Tool& WithExitBehavior(ExitBehavior&& value) { SetExitBehavior(std::move(value)); return *this;} private: bool m_streamUI; bool m_streamUIHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_command; bool m_commandHasBeenSet = false; bool m_streamOutputToCloudWatch; bool m_streamOutputToCloudWatchHasBeenSet = false; ExitBehavior m_exitBehavior; bool m_exitBehaviorHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws