1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/robomaker/RoboMaker_EXPORTS.h> 8 #include <aws/robomaker/RoboMakerRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/robomaker/model/RobotSoftwareSuite.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <aws/robomaker/model/Environment.h> 14 #include <aws/robomaker/model/SourceConfig.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace RoboMaker 20 { 21 namespace Model 22 { 23 24 /** 25 */ 26 class AWS_ROBOMAKER_API CreateRobotApplicationRequest : public RoboMakerRequest 27 { 28 public: 29 CreateRobotApplicationRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "CreateRobotApplication"; } 36 37 Aws::String SerializePayload() const override; 38 39 40 /** 41 * <p>The name of the robot application.</p> 42 */ GetName()43 inline const Aws::String& GetName() const{ return m_name; } 44 45 /** 46 * <p>The name of the robot application.</p> 47 */ NameHasBeenSet()48 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 49 50 /** 51 * <p>The name of the robot application.</p> 52 */ SetName(const Aws::String & value)53 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 54 55 /** 56 * <p>The name of the robot application.</p> 57 */ SetName(Aws::String && value)58 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 59 60 /** 61 * <p>The name of the robot application.</p> 62 */ SetName(const char * value)63 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 64 65 /** 66 * <p>The name of the robot application.</p> 67 */ WithName(const Aws::String & value)68 inline CreateRobotApplicationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 69 70 /** 71 * <p>The name of the robot application.</p> 72 */ WithName(Aws::String && value)73 inline CreateRobotApplicationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 74 75 /** 76 * <p>The name of the robot application.</p> 77 */ WithName(const char * value)78 inline CreateRobotApplicationRequest& WithName(const char* value) { SetName(value); return *this;} 79 80 81 /** 82 * <p>The sources of the robot application.</p> 83 */ GetSources()84 inline const Aws::Vector<SourceConfig>& GetSources() const{ return m_sources; } 85 86 /** 87 * <p>The sources of the robot application.</p> 88 */ SourcesHasBeenSet()89 inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } 90 91 /** 92 * <p>The sources of the robot application.</p> 93 */ SetSources(const Aws::Vector<SourceConfig> & value)94 inline void SetSources(const Aws::Vector<SourceConfig>& value) { m_sourcesHasBeenSet = true; m_sources = value; } 95 96 /** 97 * <p>The sources of the robot application.</p> 98 */ SetSources(Aws::Vector<SourceConfig> && value)99 inline void SetSources(Aws::Vector<SourceConfig>&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } 100 101 /** 102 * <p>The sources of the robot application.</p> 103 */ WithSources(const Aws::Vector<SourceConfig> & value)104 inline CreateRobotApplicationRequest& WithSources(const Aws::Vector<SourceConfig>& value) { SetSources(value); return *this;} 105 106 /** 107 * <p>The sources of the robot application.</p> 108 */ WithSources(Aws::Vector<SourceConfig> && value)109 inline CreateRobotApplicationRequest& WithSources(Aws::Vector<SourceConfig>&& value) { SetSources(std::move(value)); return *this;} 110 111 /** 112 * <p>The sources of the robot application.</p> 113 */ AddSources(const SourceConfig & value)114 inline CreateRobotApplicationRequest& AddSources(const SourceConfig& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } 115 116 /** 117 * <p>The sources of the robot application.</p> 118 */ AddSources(SourceConfig && value)119 inline CreateRobotApplicationRequest& AddSources(SourceConfig&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } 120 121 122 /** 123 * <p>The robot software suite (ROS distribuition) used by the robot 124 * application.</p> 125 */ GetRobotSoftwareSuite()126 inline const RobotSoftwareSuite& GetRobotSoftwareSuite() const{ return m_robotSoftwareSuite; } 127 128 /** 129 * <p>The robot software suite (ROS distribuition) used by the robot 130 * application.</p> 131 */ RobotSoftwareSuiteHasBeenSet()132 inline bool RobotSoftwareSuiteHasBeenSet() const { return m_robotSoftwareSuiteHasBeenSet; } 133 134 /** 135 * <p>The robot software suite (ROS distribuition) used by the robot 136 * application.</p> 137 */ SetRobotSoftwareSuite(const RobotSoftwareSuite & value)138 inline void SetRobotSoftwareSuite(const RobotSoftwareSuite& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = value; } 139 140 /** 141 * <p>The robot software suite (ROS distribuition) used by the robot 142 * application.</p> 143 */ SetRobotSoftwareSuite(RobotSoftwareSuite && value)144 inline void SetRobotSoftwareSuite(RobotSoftwareSuite&& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = std::move(value); } 145 146 /** 147 * <p>The robot software suite (ROS distribuition) used by the robot 148 * application.</p> 149 */ WithRobotSoftwareSuite(const RobotSoftwareSuite & value)150 inline CreateRobotApplicationRequest& WithRobotSoftwareSuite(const RobotSoftwareSuite& value) { SetRobotSoftwareSuite(value); return *this;} 151 152 /** 153 * <p>The robot software suite (ROS distribuition) used by the robot 154 * application.</p> 155 */ WithRobotSoftwareSuite(RobotSoftwareSuite && value)156 inline CreateRobotApplicationRequest& WithRobotSoftwareSuite(RobotSoftwareSuite&& value) { SetRobotSoftwareSuite(std::move(value)); return *this;} 157 158 159 /** 160 * <p>A map that contains tag keys and tag values that are attached to the robot 161 * application.</p> 162 */ GetTags()163 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 164 165 /** 166 * <p>A map that contains tag keys and tag values that are attached to the robot 167 * application.</p> 168 */ TagsHasBeenSet()169 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 170 171 /** 172 * <p>A map that contains tag keys and tag values that are attached to the robot 173 * application.</p> 174 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)175 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 176 177 /** 178 * <p>A map that contains tag keys and tag values that are attached to the robot 179 * application.</p> 180 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)181 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 182 183 /** 184 * <p>A map that contains tag keys and tag values that are attached to the robot 185 * application.</p> 186 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)187 inline CreateRobotApplicationRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 188 189 /** 190 * <p>A map that contains tag keys and tag values that are attached to the robot 191 * application.</p> 192 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)193 inline CreateRobotApplicationRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 194 195 /** 196 * <p>A map that contains tag keys and tag values that are attached to the robot 197 * application.</p> 198 */ AddTags(const Aws::String & key,const Aws::String & value)199 inline CreateRobotApplicationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 200 201 /** 202 * <p>A map that contains tag keys and tag values that are attached to the robot 203 * application.</p> 204 */ AddTags(Aws::String && key,const Aws::String & value)205 inline CreateRobotApplicationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 206 207 /** 208 * <p>A map that contains tag keys and tag values that are attached to the robot 209 * application.</p> 210 */ AddTags(const Aws::String & key,Aws::String && value)211 inline CreateRobotApplicationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 212 213 /** 214 * <p>A map that contains tag keys and tag values that are attached to the robot 215 * application.</p> 216 */ AddTags(Aws::String && key,Aws::String && value)217 inline CreateRobotApplicationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 218 219 /** 220 * <p>A map that contains tag keys and tag values that are attached to the robot 221 * application.</p> 222 */ AddTags(const char * key,Aws::String && value)223 inline CreateRobotApplicationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 224 225 /** 226 * <p>A map that contains tag keys and tag values that are attached to the robot 227 * application.</p> 228 */ AddTags(Aws::String && key,const char * value)229 inline CreateRobotApplicationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 230 231 /** 232 * <p>A map that contains tag keys and tag values that are attached to the robot 233 * application.</p> 234 */ AddTags(const char * key,const char * value)235 inline CreateRobotApplicationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 236 237 238 /** 239 * <p>The object that contains that URI of the Docker image that you use for your 240 * robot application.</p> 241 */ GetEnvironment()242 inline const Environment& GetEnvironment() const{ return m_environment; } 243 244 /** 245 * <p>The object that contains that URI of the Docker image that you use for your 246 * robot application.</p> 247 */ EnvironmentHasBeenSet()248 inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } 249 250 /** 251 * <p>The object that contains that URI of the Docker image that you use for your 252 * robot application.</p> 253 */ SetEnvironment(const Environment & value)254 inline void SetEnvironment(const Environment& value) { m_environmentHasBeenSet = true; m_environment = value; } 255 256 /** 257 * <p>The object that contains that URI of the Docker image that you use for your 258 * robot application.</p> 259 */ SetEnvironment(Environment && value)260 inline void SetEnvironment(Environment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } 261 262 /** 263 * <p>The object that contains that URI of the Docker image that you use for your 264 * robot application.</p> 265 */ WithEnvironment(const Environment & value)266 inline CreateRobotApplicationRequest& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;} 267 268 /** 269 * <p>The object that contains that URI of the Docker image that you use for your 270 * robot application.</p> 271 */ WithEnvironment(Environment && value)272 inline CreateRobotApplicationRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;} 273 274 private: 275 276 Aws::String m_name; 277 bool m_nameHasBeenSet; 278 279 Aws::Vector<SourceConfig> m_sources; 280 bool m_sourcesHasBeenSet; 281 282 RobotSoftwareSuite m_robotSoftwareSuite; 283 bool m_robotSoftwareSuiteHasBeenSet; 284 285 Aws::Map<Aws::String, Aws::String> m_tags; 286 bool m_tagsHasBeenSet; 287 288 Environment m_environment; 289 bool m_environmentHasBeenSet; 290 }; 291 292 } // namespace Model 293 } // namespace RoboMaker 294 } // namespace Aws 295