/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace RoboMaker { namespace Model { /** *

Application configuration information for a robot.

See Also:

* AWS * API Reference

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

The application information for the robot application.

*/ inline const Aws::String& GetApplication() const{ return m_application; } /** *

The application information for the robot application.

*/ inline bool ApplicationHasBeenSet() const { return m_applicationHasBeenSet; } /** *

The application information for the robot application.

*/ inline void SetApplication(const Aws::String& value) { m_applicationHasBeenSet = true; m_application = value; } /** *

The application information for the robot application.

*/ inline void SetApplication(Aws::String&& value) { m_applicationHasBeenSet = true; m_application = std::move(value); } /** *

The application information for the robot application.

*/ inline void SetApplication(const char* value) { m_applicationHasBeenSet = true; m_application.assign(value); } /** *

The application information for the robot application.

*/ inline RobotApplicationConfig& WithApplication(const Aws::String& value) { SetApplication(value); return *this;} /** *

The application information for the robot application.

*/ inline RobotApplicationConfig& WithApplication(Aws::String&& value) { SetApplication(std::move(value)); return *this;} /** *

The application information for the robot application.

*/ inline RobotApplicationConfig& WithApplication(const char* value) { SetApplication(value); return *this;} /** *

The version of the robot application.

*/ inline const Aws::String& GetApplicationVersion() const{ return m_applicationVersion; } /** *

The version of the robot application.

*/ inline bool ApplicationVersionHasBeenSet() const { return m_applicationVersionHasBeenSet; } /** *

The version of the robot application.

*/ inline void SetApplicationVersion(const Aws::String& value) { m_applicationVersionHasBeenSet = true; m_applicationVersion = value; } /** *

The version of the robot application.

*/ inline void SetApplicationVersion(Aws::String&& value) { m_applicationVersionHasBeenSet = true; m_applicationVersion = std::move(value); } /** *

The version of the robot application.

*/ inline void SetApplicationVersion(const char* value) { m_applicationVersionHasBeenSet = true; m_applicationVersion.assign(value); } /** *

The version of the robot application.

*/ inline RobotApplicationConfig& WithApplicationVersion(const Aws::String& value) { SetApplicationVersion(value); return *this;} /** *

The version of the robot application.

*/ inline RobotApplicationConfig& WithApplicationVersion(Aws::String&& value) { SetApplicationVersion(std::move(value)); return *this;} /** *

The version of the robot application.

*/ inline RobotApplicationConfig& WithApplicationVersion(const char* value) { SetApplicationVersion(value); return *this;} /** *

The launch configuration for the robot application.

*/ inline const LaunchConfig& GetLaunchConfig() const{ return m_launchConfig; } /** *

The launch configuration for the robot application.

*/ inline bool LaunchConfigHasBeenSet() const { return m_launchConfigHasBeenSet; } /** *

The launch configuration for the robot application.

*/ inline void SetLaunchConfig(const LaunchConfig& value) { m_launchConfigHasBeenSet = true; m_launchConfig = value; } /** *

The launch configuration for the robot application.

*/ inline void SetLaunchConfig(LaunchConfig&& value) { m_launchConfigHasBeenSet = true; m_launchConfig = std::move(value); } /** *

The launch configuration for the robot application.

*/ inline RobotApplicationConfig& WithLaunchConfig(const LaunchConfig& value) { SetLaunchConfig(value); return *this;} /** *

The launch configuration for the robot application.

*/ inline RobotApplicationConfig& WithLaunchConfig(LaunchConfig&& value) { SetLaunchConfig(std::move(value)); return *this;} /** *

The upload configurations for the robot application.

*/ inline const Aws::Vector& GetUploadConfigurations() const{ return m_uploadConfigurations; } /** *

The upload configurations for the robot application.

*/ inline bool UploadConfigurationsHasBeenSet() const { return m_uploadConfigurationsHasBeenSet; } /** *

The upload configurations for the robot application.

*/ inline void SetUploadConfigurations(const Aws::Vector& value) { m_uploadConfigurationsHasBeenSet = true; m_uploadConfigurations = value; } /** *

The upload configurations for the robot application.

*/ inline void SetUploadConfigurations(Aws::Vector&& value) { m_uploadConfigurationsHasBeenSet = true; m_uploadConfigurations = std::move(value); } /** *

The upload configurations for the robot application.

*/ inline RobotApplicationConfig& WithUploadConfigurations(const Aws::Vector& value) { SetUploadConfigurations(value); return *this;} /** *

The upload configurations for the robot application.

*/ inline RobotApplicationConfig& WithUploadConfigurations(Aws::Vector&& value) { SetUploadConfigurations(std::move(value)); return *this;} /** *

The upload configurations for the robot application.

*/ inline RobotApplicationConfig& AddUploadConfigurations(const UploadConfiguration& value) { m_uploadConfigurationsHasBeenSet = true; m_uploadConfigurations.push_back(value); return *this; } /** *

The upload configurations for the robot application.

*/ inline RobotApplicationConfig& AddUploadConfigurations(UploadConfiguration&& value) { m_uploadConfigurationsHasBeenSet = true; m_uploadConfigurations.push_back(std::move(value)); return *this; } /** *

Information about tools configured for the robot application.

*/ inline const Aws::Vector& GetTools() const{ return m_tools; } /** *

Information about tools configured for the robot application.

*/ inline bool ToolsHasBeenSet() const { return m_toolsHasBeenSet; } /** *

Information about tools configured for the robot application.

*/ inline void SetTools(const Aws::Vector& value) { m_toolsHasBeenSet = true; m_tools = value; } /** *

Information about tools configured for the robot application.

*/ inline void SetTools(Aws::Vector&& value) { m_toolsHasBeenSet = true; m_tools = std::move(value); } /** *

Information about tools configured for the robot application.

*/ inline RobotApplicationConfig& WithTools(const Aws::Vector& value) { SetTools(value); return *this;} /** *

Information about tools configured for the robot application.

*/ inline RobotApplicationConfig& WithTools(Aws::Vector&& value) { SetTools(std::move(value)); return *this;} /** *

Information about tools configured for the robot application.

*/ inline RobotApplicationConfig& AddTools(const Tool& value) { m_toolsHasBeenSet = true; m_tools.push_back(value); return *this; } /** *

Information about tools configured for the robot application.

*/ inline RobotApplicationConfig& AddTools(Tool&& value) { m_toolsHasBeenSet = true; m_tools.push_back(std::move(value)); return *this; } private: Aws::String m_application; bool m_applicationHasBeenSet = false; Aws::String m_applicationVersion; bool m_applicationVersionHasBeenSet = false; LaunchConfig m_launchConfig; bool m_launchConfigHasBeenSet = false; Aws::Vector m_uploadConfigurations; bool m_uploadConfigurationsHasBeenSet = false; Aws::Vector m_tools; bool m_toolsHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws