/** * 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 #include #include #include namespace Aws { namespace RoboMaker { namespace Model { /** */ class CreateSimulationApplicationRequest : public RoboMakerRequest { public: AWS_ROBOMAKER_API CreateSimulationApplicationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateSimulationApplication"; } AWS_ROBOMAKER_API Aws::String SerializePayload() const override; /** *

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The name of the simulation application.

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

The sources of the simulation application.

*/ inline const Aws::Vector& GetSources() const{ return m_sources; } /** *

The sources of the simulation application.

*/ inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } /** *

The sources of the simulation application.

*/ inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } /** *

The sources of the simulation application.

*/ inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } /** *

The sources of the simulation application.

*/ inline CreateSimulationApplicationRequest& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} /** *

The sources of the simulation application.

*/ inline CreateSimulationApplicationRequest& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} /** *

The sources of the simulation application.

*/ inline CreateSimulationApplicationRequest& AddSources(const SourceConfig& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } /** *

The sources of the simulation application.

*/ inline CreateSimulationApplicationRequest& AddSources(SourceConfig&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } /** *

The simulation software suite used by the simulation application.

*/ inline const SimulationSoftwareSuite& GetSimulationSoftwareSuite() const{ return m_simulationSoftwareSuite; } /** *

The simulation software suite used by the simulation application.

*/ inline bool SimulationSoftwareSuiteHasBeenSet() const { return m_simulationSoftwareSuiteHasBeenSet; } /** *

The simulation software suite used by the simulation application.

*/ inline void SetSimulationSoftwareSuite(const SimulationSoftwareSuite& value) { m_simulationSoftwareSuiteHasBeenSet = true; m_simulationSoftwareSuite = value; } /** *

The simulation software suite used by the simulation application.

*/ inline void SetSimulationSoftwareSuite(SimulationSoftwareSuite&& value) { m_simulationSoftwareSuiteHasBeenSet = true; m_simulationSoftwareSuite = std::move(value); } /** *

The simulation software suite used by the simulation application.

*/ inline CreateSimulationApplicationRequest& WithSimulationSoftwareSuite(const SimulationSoftwareSuite& value) { SetSimulationSoftwareSuite(value); return *this;} /** *

The simulation software suite used by the simulation application.

*/ inline CreateSimulationApplicationRequest& WithSimulationSoftwareSuite(SimulationSoftwareSuite&& value) { SetSimulationSoftwareSuite(std::move(value)); return *this;} /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline const RobotSoftwareSuite& GetRobotSoftwareSuite() const{ return m_robotSoftwareSuite; } /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline bool RobotSoftwareSuiteHasBeenSet() const { return m_robotSoftwareSuiteHasBeenSet; } /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline void SetRobotSoftwareSuite(const RobotSoftwareSuite& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = value; } /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline void SetRobotSoftwareSuite(RobotSoftwareSuite&& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = std::move(value); } /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline CreateSimulationApplicationRequest& WithRobotSoftwareSuite(const RobotSoftwareSuite& value) { SetRobotSoftwareSuite(value); return *this;} /** *

The robot software suite (ROS distribution) used by the simulation * application.

*/ inline CreateSimulationApplicationRequest& WithRobotSoftwareSuite(RobotSoftwareSuite&& value) { SetRobotSoftwareSuite(std::move(value)); return *this;} /** *

The rendering engine for the simulation application.

*/ inline const RenderingEngine& GetRenderingEngine() const{ return m_renderingEngine; } /** *

The rendering engine for the simulation application.

*/ inline bool RenderingEngineHasBeenSet() const { return m_renderingEngineHasBeenSet; } /** *

The rendering engine for the simulation application.

*/ inline void SetRenderingEngine(const RenderingEngine& value) { m_renderingEngineHasBeenSet = true; m_renderingEngine = value; } /** *

The rendering engine for the simulation application.

*/ inline void SetRenderingEngine(RenderingEngine&& value) { m_renderingEngineHasBeenSet = true; m_renderingEngine = std::move(value); } /** *

The rendering engine for the simulation application.

*/ inline CreateSimulationApplicationRequest& WithRenderingEngine(const RenderingEngine& value) { SetRenderingEngine(value); return *this;} /** *

The rendering engine for the simulation application.

*/ inline CreateSimulationApplicationRequest& WithRenderingEngine(RenderingEngine&& value) { SetRenderingEngine(std::move(value)); return *this;} /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A map that contains tag keys and tag values that are attached to the * simulation application.

*/ inline CreateSimulationApplicationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline const Environment& GetEnvironment() const{ return m_environment; } /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline void SetEnvironment(const Environment& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline void SetEnvironment(Environment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline CreateSimulationApplicationRequest& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;} /** *

The object that contains the Docker image URI used to create your simulation * application.

*/ inline CreateSimulationApplicationRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_sources; bool m_sourcesHasBeenSet = false; SimulationSoftwareSuite m_simulationSoftwareSuite; bool m_simulationSoftwareSuiteHasBeenSet = false; RobotSoftwareSuite m_robotSoftwareSuite; bool m_robotSoftwareSuiteHasBeenSet = false; RenderingEngine m_renderingEngine; bool m_renderingEngineHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Environment m_environment; bool m_environmentHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws