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

Information about a simulation application configuration.

See * Also:

AWS * API Reference

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The application information for the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The version of the simulation application.

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

The launch configuration for the simulation application.

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

The launch configuration for the simulation application.

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

The launch configuration for the simulation application.

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

The launch configuration for the simulation application.

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

The launch configuration for the simulation application.

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

The launch configuration for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

Information about upload configurations for the simulation application.

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

A list of world configurations.

*/ inline const Aws::Vector& GetWorldConfigs() const{ return m_worldConfigs; } /** *

A list of world configurations.

*/ inline bool WorldConfigsHasBeenSet() const { return m_worldConfigsHasBeenSet; } /** *

A list of world configurations.

*/ inline void SetWorldConfigs(const Aws::Vector& value) { m_worldConfigsHasBeenSet = true; m_worldConfigs = value; } /** *

A list of world configurations.

*/ inline void SetWorldConfigs(Aws::Vector&& value) { m_worldConfigsHasBeenSet = true; m_worldConfigs = std::move(value); } /** *

A list of world configurations.

*/ inline SimulationApplicationConfig& WithWorldConfigs(const Aws::Vector& value) { SetWorldConfigs(value); return *this;} /** *

A list of world configurations.

*/ inline SimulationApplicationConfig& WithWorldConfigs(Aws::Vector&& value) { SetWorldConfigs(std::move(value)); return *this;} /** *

A list of world configurations.

*/ inline SimulationApplicationConfig& AddWorldConfigs(const WorldConfig& value) { m_worldConfigsHasBeenSet = true; m_worldConfigs.push_back(value); return *this; } /** *

A list of world configurations.

*/ inline SimulationApplicationConfig& AddWorldConfigs(WorldConfig&& value) { m_worldConfigsHasBeenSet = true; m_worldConfigs.push_back(std::move(value)); return *this; } /** *

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

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

Information about tools configured for the simulation application.

*/ inline SimulationApplicationConfig& 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_worldConfigs; bool m_worldConfigsHasBeenSet = false; Aws::Vector m_tools; bool m_toolsHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws