/** * 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 RoboMaker { namespace Model { /** */ class UpdateRobotApplicationRequest : public RoboMakerRequest { public: AWS_ROBOMAKER_API UpdateRobotApplicationRequest(); // 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 "UpdateRobotApplication"; } AWS_ROBOMAKER_API Aws::String SerializePayload() const override; /** *

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 UpdateRobotApplicationRequest& WithApplication(const Aws::String& value) { SetApplication(value); return *this;} /** *

The application information for the robot application.

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

The application information for the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

The sources of the robot application.

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

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

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

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

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

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

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

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

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

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

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

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

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

The revision id for the robot application.

*/ inline const Aws::String& GetCurrentRevisionId() const{ return m_currentRevisionId; } /** *

The revision id for the robot application.

*/ inline bool CurrentRevisionIdHasBeenSet() const { return m_currentRevisionIdHasBeenSet; } /** *

The revision id for the robot application.

*/ inline void SetCurrentRevisionId(const Aws::String& value) { m_currentRevisionIdHasBeenSet = true; m_currentRevisionId = value; } /** *

The revision id for the robot application.

*/ inline void SetCurrentRevisionId(Aws::String&& value) { m_currentRevisionIdHasBeenSet = true; m_currentRevisionId = std::move(value); } /** *

The revision id for the robot application.

*/ inline void SetCurrentRevisionId(const char* value) { m_currentRevisionIdHasBeenSet = true; m_currentRevisionId.assign(value); } /** *

The revision id for the robot application.

*/ inline UpdateRobotApplicationRequest& WithCurrentRevisionId(const Aws::String& value) { SetCurrentRevisionId(value); return *this;} /** *

The revision id for the robot application.

*/ inline UpdateRobotApplicationRequest& WithCurrentRevisionId(Aws::String&& value) { SetCurrentRevisionId(std::move(value)); return *this;} /** *

The revision id for the robot application.

*/ inline UpdateRobotApplicationRequest& WithCurrentRevisionId(const char* value) { SetCurrentRevisionId(value); return *this;} /** *

The object that contains the Docker image URI for your robot application.

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

The object that contains the Docker image URI for your robot application.

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

The object that contains the Docker image URI for your robot application.

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

The object that contains the Docker image URI for your robot application.

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

The object that contains the Docker image URI for your robot application.

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

The object that contains the Docker image URI for your robot application.

*/ inline UpdateRobotApplicationRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;} private: Aws::String m_application; bool m_applicationHasBeenSet = false; Aws::Vector m_sources; bool m_sourcesHasBeenSet = false; RobotSoftwareSuite m_robotSoftwareSuite; bool m_robotSoftwareSuiteHasBeenSet = false; Aws::String m_currentRevisionId; bool m_currentRevisionIdHasBeenSet = false; Environment m_environment; bool m_environmentHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws