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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/robomaker/model/SimulationSoftwareSuite.h>
11 #include <aws/robomaker/model/RobotSoftwareSuite.h>
12 #include <aws/robomaker/model/RenderingEngine.h>
13 #include <aws/core/utils/DateTime.h>
14 #include <aws/core/utils/memory/stl/AWSMap.h>
15 #include <aws/robomaker/model/Environment.h>
16 #include <aws/robomaker/model/Source.h>
17 #include <utility>
18 
19 namespace Aws
20 {
21 template<typename RESULT_TYPE>
22 class AmazonWebServiceResult;
23 
24 namespace Utils
25 {
26 namespace Json
27 {
28   class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace RoboMaker
32 {
33 namespace Model
34 {
35   class AWS_ROBOMAKER_API DescribeSimulationApplicationResult
36   {
37   public:
38     DescribeSimulationApplicationResult();
39     DescribeSimulationApplicationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40     DescribeSimulationApplicationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
45      */
GetArn()46     inline const Aws::String& GetArn() const{ return m_arn; }
47 
48     /**
49      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
50      */
SetArn(const Aws::String & value)51     inline void SetArn(const Aws::String& value) { m_arn = value; }
52 
53     /**
54      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
55      */
SetArn(Aws::String && value)56     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
57 
58     /**
59      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
60      */
SetArn(const char * value)61     inline void SetArn(const char* value) { m_arn.assign(value); }
62 
63     /**
64      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
65      */
WithArn(const Aws::String & value)66     inline DescribeSimulationApplicationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
67 
68     /**
69      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
70      */
WithArn(Aws::String && value)71     inline DescribeSimulationApplicationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) of the robot simulation application.</p>
75      */
WithArn(const char * value)76     inline DescribeSimulationApplicationResult& WithArn(const char* value) { SetArn(value); return *this;}
77 
78 
79     /**
80      * <p>The name of the simulation application.</p>
81      */
GetName()82     inline const Aws::String& GetName() const{ return m_name; }
83 
84     /**
85      * <p>The name of the simulation application.</p>
86      */
SetName(const Aws::String & value)87     inline void SetName(const Aws::String& value) { m_name = value; }
88 
89     /**
90      * <p>The name of the simulation application.</p>
91      */
SetName(Aws::String && value)92     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
93 
94     /**
95      * <p>The name of the simulation application.</p>
96      */
SetName(const char * value)97     inline void SetName(const char* value) { m_name.assign(value); }
98 
99     /**
100      * <p>The name of the simulation application.</p>
101      */
WithName(const Aws::String & value)102     inline DescribeSimulationApplicationResult& WithName(const Aws::String& value) { SetName(value); return *this;}
103 
104     /**
105      * <p>The name of the simulation application.</p>
106      */
WithName(Aws::String && value)107     inline DescribeSimulationApplicationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
108 
109     /**
110      * <p>The name of the simulation application.</p>
111      */
WithName(const char * value)112     inline DescribeSimulationApplicationResult& WithName(const char* value) { SetName(value); return *this;}
113 
114 
115     /**
116      * <p>The version of the simulation application.</p>
117      */
GetVersion()118     inline const Aws::String& GetVersion() const{ return m_version; }
119 
120     /**
121      * <p>The version of the simulation application.</p>
122      */
SetVersion(const Aws::String & value)123     inline void SetVersion(const Aws::String& value) { m_version = value; }
124 
125     /**
126      * <p>The version of the simulation application.</p>
127      */
SetVersion(Aws::String && value)128     inline void SetVersion(Aws::String&& value) { m_version = std::move(value); }
129 
130     /**
131      * <p>The version of the simulation application.</p>
132      */
SetVersion(const char * value)133     inline void SetVersion(const char* value) { m_version.assign(value); }
134 
135     /**
136      * <p>The version of the simulation application.</p>
137      */
WithVersion(const Aws::String & value)138     inline DescribeSimulationApplicationResult& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
139 
140     /**
141      * <p>The version of the simulation application.</p>
142      */
WithVersion(Aws::String && value)143     inline DescribeSimulationApplicationResult& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
144 
145     /**
146      * <p>The version of the simulation application.</p>
147      */
WithVersion(const char * value)148     inline DescribeSimulationApplicationResult& WithVersion(const char* value) { SetVersion(value); return *this;}
149 
150 
151     /**
152      * <p>The sources of the simulation application.</p>
153      */
GetSources()154     inline const Aws::Vector<Source>& GetSources() const{ return m_sources; }
155 
156     /**
157      * <p>The sources of the simulation application.</p>
158      */
SetSources(const Aws::Vector<Source> & value)159     inline void SetSources(const Aws::Vector<Source>& value) { m_sources = value; }
160 
161     /**
162      * <p>The sources of the simulation application.</p>
163      */
SetSources(Aws::Vector<Source> && value)164     inline void SetSources(Aws::Vector<Source>&& value) { m_sources = std::move(value); }
165 
166     /**
167      * <p>The sources of the simulation application.</p>
168      */
WithSources(const Aws::Vector<Source> & value)169     inline DescribeSimulationApplicationResult& WithSources(const Aws::Vector<Source>& value) { SetSources(value); return *this;}
170 
171     /**
172      * <p>The sources of the simulation application.</p>
173      */
WithSources(Aws::Vector<Source> && value)174     inline DescribeSimulationApplicationResult& WithSources(Aws::Vector<Source>&& value) { SetSources(std::move(value)); return *this;}
175 
176     /**
177      * <p>The sources of the simulation application.</p>
178      */
AddSources(const Source & value)179     inline DescribeSimulationApplicationResult& AddSources(const Source& value) { m_sources.push_back(value); return *this; }
180 
181     /**
182      * <p>The sources of the simulation application.</p>
183      */
AddSources(Source && value)184     inline DescribeSimulationApplicationResult& AddSources(Source&& value) { m_sources.push_back(std::move(value)); return *this; }
185 
186 
187     /**
188      * <p>The simulation software suite used by the simulation application.</p>
189      */
GetSimulationSoftwareSuite()190     inline const SimulationSoftwareSuite& GetSimulationSoftwareSuite() const{ return m_simulationSoftwareSuite; }
191 
192     /**
193      * <p>The simulation software suite used by the simulation application.</p>
194      */
SetSimulationSoftwareSuite(const SimulationSoftwareSuite & value)195     inline void SetSimulationSoftwareSuite(const SimulationSoftwareSuite& value) { m_simulationSoftwareSuite = value; }
196 
197     /**
198      * <p>The simulation software suite used by the simulation application.</p>
199      */
SetSimulationSoftwareSuite(SimulationSoftwareSuite && value)200     inline void SetSimulationSoftwareSuite(SimulationSoftwareSuite&& value) { m_simulationSoftwareSuite = std::move(value); }
201 
202     /**
203      * <p>The simulation software suite used by the simulation application.</p>
204      */
WithSimulationSoftwareSuite(const SimulationSoftwareSuite & value)205     inline DescribeSimulationApplicationResult& WithSimulationSoftwareSuite(const SimulationSoftwareSuite& value) { SetSimulationSoftwareSuite(value); return *this;}
206 
207     /**
208      * <p>The simulation software suite used by the simulation application.</p>
209      */
WithSimulationSoftwareSuite(SimulationSoftwareSuite && value)210     inline DescribeSimulationApplicationResult& WithSimulationSoftwareSuite(SimulationSoftwareSuite&& value) { SetSimulationSoftwareSuite(std::move(value)); return *this;}
211 
212 
213     /**
214      * <p>Information about the robot software suite (ROS distribution).</p>
215      */
GetRobotSoftwareSuite()216     inline const RobotSoftwareSuite& GetRobotSoftwareSuite() const{ return m_robotSoftwareSuite; }
217 
218     /**
219      * <p>Information about the robot software suite (ROS distribution).</p>
220      */
SetRobotSoftwareSuite(const RobotSoftwareSuite & value)221     inline void SetRobotSoftwareSuite(const RobotSoftwareSuite& value) { m_robotSoftwareSuite = value; }
222 
223     /**
224      * <p>Information about the robot software suite (ROS distribution).</p>
225      */
SetRobotSoftwareSuite(RobotSoftwareSuite && value)226     inline void SetRobotSoftwareSuite(RobotSoftwareSuite&& value) { m_robotSoftwareSuite = std::move(value); }
227 
228     /**
229      * <p>Information about the robot software suite (ROS distribution).</p>
230      */
WithRobotSoftwareSuite(const RobotSoftwareSuite & value)231     inline DescribeSimulationApplicationResult& WithRobotSoftwareSuite(const RobotSoftwareSuite& value) { SetRobotSoftwareSuite(value); return *this;}
232 
233     /**
234      * <p>Information about the robot software suite (ROS distribution).</p>
235      */
WithRobotSoftwareSuite(RobotSoftwareSuite && value)236     inline DescribeSimulationApplicationResult& WithRobotSoftwareSuite(RobotSoftwareSuite&& value) { SetRobotSoftwareSuite(std::move(value)); return *this;}
237 
238 
239     /**
240      * <p>The rendering engine for the simulation application.</p>
241      */
GetRenderingEngine()242     inline const RenderingEngine& GetRenderingEngine() const{ return m_renderingEngine; }
243 
244     /**
245      * <p>The rendering engine for the simulation application.</p>
246      */
SetRenderingEngine(const RenderingEngine & value)247     inline void SetRenderingEngine(const RenderingEngine& value) { m_renderingEngine = value; }
248 
249     /**
250      * <p>The rendering engine for the simulation application.</p>
251      */
SetRenderingEngine(RenderingEngine && value)252     inline void SetRenderingEngine(RenderingEngine&& value) { m_renderingEngine = std::move(value); }
253 
254     /**
255      * <p>The rendering engine for the simulation application.</p>
256      */
WithRenderingEngine(const RenderingEngine & value)257     inline DescribeSimulationApplicationResult& WithRenderingEngine(const RenderingEngine& value) { SetRenderingEngine(value); return *this;}
258 
259     /**
260      * <p>The rendering engine for the simulation application.</p>
261      */
WithRenderingEngine(RenderingEngine && value)262     inline DescribeSimulationApplicationResult& WithRenderingEngine(RenderingEngine&& value) { SetRenderingEngine(std::move(value)); return *this;}
263 
264 
265     /**
266      * <p>The revision id of the simulation application.</p>
267      */
GetRevisionId()268     inline const Aws::String& GetRevisionId() const{ return m_revisionId; }
269 
270     /**
271      * <p>The revision id of the simulation application.</p>
272      */
SetRevisionId(const Aws::String & value)273     inline void SetRevisionId(const Aws::String& value) { m_revisionId = value; }
274 
275     /**
276      * <p>The revision id of the simulation application.</p>
277      */
SetRevisionId(Aws::String && value)278     inline void SetRevisionId(Aws::String&& value) { m_revisionId = std::move(value); }
279 
280     /**
281      * <p>The revision id of the simulation application.</p>
282      */
SetRevisionId(const char * value)283     inline void SetRevisionId(const char* value) { m_revisionId.assign(value); }
284 
285     /**
286      * <p>The revision id of the simulation application.</p>
287      */
WithRevisionId(const Aws::String & value)288     inline DescribeSimulationApplicationResult& WithRevisionId(const Aws::String& value) { SetRevisionId(value); return *this;}
289 
290     /**
291      * <p>The revision id of the simulation application.</p>
292      */
WithRevisionId(Aws::String && value)293     inline DescribeSimulationApplicationResult& WithRevisionId(Aws::String&& value) { SetRevisionId(std::move(value)); return *this;}
294 
295     /**
296      * <p>The revision id of the simulation application.</p>
297      */
WithRevisionId(const char * value)298     inline DescribeSimulationApplicationResult& WithRevisionId(const char* value) { SetRevisionId(value); return *this;}
299 
300 
301     /**
302      * <p>The time, in milliseconds since the epoch, when the simulation application
303      * was last updated.</p>
304      */
GetLastUpdatedAt()305     inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
306 
307     /**
308      * <p>The time, in milliseconds since the epoch, when the simulation application
309      * was last updated.</p>
310      */
SetLastUpdatedAt(const Aws::Utils::DateTime & value)311     inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; }
312 
313     /**
314      * <p>The time, in milliseconds since the epoch, when the simulation application
315      * was last updated.</p>
316      */
SetLastUpdatedAt(Aws::Utils::DateTime && value)317     inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); }
318 
319     /**
320      * <p>The time, in milliseconds since the epoch, when the simulation application
321      * was last updated.</p>
322      */
WithLastUpdatedAt(const Aws::Utils::DateTime & value)323     inline DescribeSimulationApplicationResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;}
324 
325     /**
326      * <p>The time, in milliseconds since the epoch, when the simulation application
327      * was last updated.</p>
328      */
WithLastUpdatedAt(Aws::Utils::DateTime && value)329     inline DescribeSimulationApplicationResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;}
330 
331 
332     /**
333      * <p>The list of all tags added to the specified simulation application.</p>
334      */
GetTags()335     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
336 
337     /**
338      * <p>The list of all tags added to the specified simulation application.</p>
339      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)340     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
341 
342     /**
343      * <p>The list of all tags added to the specified simulation application.</p>
344      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)345     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
346 
347     /**
348      * <p>The list of all tags added to the specified simulation application.</p>
349      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)350     inline DescribeSimulationApplicationResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
351 
352     /**
353      * <p>The list of all tags added to the specified simulation application.</p>
354      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)355     inline DescribeSimulationApplicationResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
356 
357     /**
358      * <p>The list of all tags added to the specified simulation application.</p>
359      */
AddTags(const Aws::String & key,const Aws::String & value)360     inline DescribeSimulationApplicationResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
361 
362     /**
363      * <p>The list of all tags added to the specified simulation application.</p>
364      */
AddTags(Aws::String && key,const Aws::String & value)365     inline DescribeSimulationApplicationResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
366 
367     /**
368      * <p>The list of all tags added to the specified simulation application.</p>
369      */
AddTags(const Aws::String & key,Aws::String && value)370     inline DescribeSimulationApplicationResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
371 
372     /**
373      * <p>The list of all tags added to the specified simulation application.</p>
374      */
AddTags(Aws::String && key,Aws::String && value)375     inline DescribeSimulationApplicationResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
376 
377     /**
378      * <p>The list of all tags added to the specified simulation application.</p>
379      */
AddTags(const char * key,Aws::String && value)380     inline DescribeSimulationApplicationResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
381 
382     /**
383      * <p>The list of all tags added to the specified simulation application.</p>
384      */
AddTags(Aws::String && key,const char * value)385     inline DescribeSimulationApplicationResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
386 
387     /**
388      * <p>The list of all tags added to the specified simulation application.</p>
389      */
AddTags(const char * key,const char * value)390     inline DescribeSimulationApplicationResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
391 
392 
393     /**
394      * <p>The object that contains the Docker image URI used to create the simulation
395      * application.</p>
396      */
GetEnvironment()397     inline const Environment& GetEnvironment() const{ return m_environment; }
398 
399     /**
400      * <p>The object that contains the Docker image URI used to create the simulation
401      * application.</p>
402      */
SetEnvironment(const Environment & value)403     inline void SetEnvironment(const Environment& value) { m_environment = value; }
404 
405     /**
406      * <p>The object that contains the Docker image URI used to create the simulation
407      * application.</p>
408      */
SetEnvironment(Environment && value)409     inline void SetEnvironment(Environment&& value) { m_environment = std::move(value); }
410 
411     /**
412      * <p>The object that contains the Docker image URI used to create the simulation
413      * application.</p>
414      */
WithEnvironment(const Environment & value)415     inline DescribeSimulationApplicationResult& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;}
416 
417     /**
418      * <p>The object that contains the Docker image URI used to create the simulation
419      * application.</p>
420      */
WithEnvironment(Environment && value)421     inline DescribeSimulationApplicationResult& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;}
422 
423 
424     /**
425      * <p>A SHA256 identifier for the Docker image that you use for your simulation
426      * application.</p>
427      */
GetImageDigest()428     inline const Aws::String& GetImageDigest() const{ return m_imageDigest; }
429 
430     /**
431      * <p>A SHA256 identifier for the Docker image that you use for your simulation
432      * application.</p>
433      */
SetImageDigest(const Aws::String & value)434     inline void SetImageDigest(const Aws::String& value) { m_imageDigest = value; }
435 
436     /**
437      * <p>A SHA256 identifier for the Docker image that you use for your simulation
438      * application.</p>
439      */
SetImageDigest(Aws::String && value)440     inline void SetImageDigest(Aws::String&& value) { m_imageDigest = std::move(value); }
441 
442     /**
443      * <p>A SHA256 identifier for the Docker image that you use for your simulation
444      * application.</p>
445      */
SetImageDigest(const char * value)446     inline void SetImageDigest(const char* value) { m_imageDigest.assign(value); }
447 
448     /**
449      * <p>A SHA256 identifier for the Docker image that you use for your simulation
450      * application.</p>
451      */
WithImageDigest(const Aws::String & value)452     inline DescribeSimulationApplicationResult& WithImageDigest(const Aws::String& value) { SetImageDigest(value); return *this;}
453 
454     /**
455      * <p>A SHA256 identifier for the Docker image that you use for your simulation
456      * application.</p>
457      */
WithImageDigest(Aws::String && value)458     inline DescribeSimulationApplicationResult& WithImageDigest(Aws::String&& value) { SetImageDigest(std::move(value)); return *this;}
459 
460     /**
461      * <p>A SHA256 identifier for the Docker image that you use for your simulation
462      * application.</p>
463      */
WithImageDigest(const char * value)464     inline DescribeSimulationApplicationResult& WithImageDigest(const char* value) { SetImageDigest(value); return *this;}
465 
466   private:
467 
468     Aws::String m_arn;
469 
470     Aws::String m_name;
471 
472     Aws::String m_version;
473 
474     Aws::Vector<Source> m_sources;
475 
476     SimulationSoftwareSuite m_simulationSoftwareSuite;
477 
478     RobotSoftwareSuite m_robotSoftwareSuite;
479 
480     RenderingEngine m_renderingEngine;
481 
482     Aws::String m_revisionId;
483 
484     Aws::Utils::DateTime m_lastUpdatedAt;
485 
486     Aws::Map<Aws::String, Aws::String> m_tags;
487 
488     Environment m_environment;
489 
490     Aws::String m_imageDigest;
491   };
492 
493 } // namespace Model
494 } // namespace RoboMaker
495 } // namespace Aws
496