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/DateTime.h>
10 #include <aws/robomaker/model/RobotSoftwareSuite.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace RoboMaker
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Summary information for a robot application.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RobotApplicationSummary">AWS
31    * API Reference</a></p>
32    */
33   class AWS_ROBOMAKER_API RobotApplicationSummary
34   {
35   public:
36     RobotApplicationSummary();
37     RobotApplicationSummary(Aws::Utils::Json::JsonView jsonValue);
38     RobotApplicationSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the robot application.</p>
44      */
GetName()45     inline const Aws::String& GetName() const{ return m_name; }
46 
47     /**
48      * <p>The name of the robot application.</p>
49      */
NameHasBeenSet()50     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
51 
52     /**
53      * <p>The name of the robot application.</p>
54      */
SetName(const Aws::String & value)55     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
56 
57     /**
58      * <p>The name of the robot application.</p>
59      */
SetName(Aws::String && value)60     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
61 
62     /**
63      * <p>The name of the robot application.</p>
64      */
SetName(const char * value)65     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
66 
67     /**
68      * <p>The name of the robot application.</p>
69      */
WithName(const Aws::String & value)70     inline RobotApplicationSummary& WithName(const Aws::String& value) { SetName(value); return *this;}
71 
72     /**
73      * <p>The name of the robot application.</p>
74      */
WithName(Aws::String && value)75     inline RobotApplicationSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
76 
77     /**
78      * <p>The name of the robot application.</p>
79      */
WithName(const char * value)80     inline RobotApplicationSummary& WithName(const char* value) { SetName(value); return *this;}
81 
82 
83     /**
84      * <p>The Amazon Resource Name (ARN) of the robot.</p>
85      */
GetArn()86     inline const Aws::String& GetArn() const{ return m_arn; }
87 
88     /**
89      * <p>The Amazon Resource Name (ARN) of the robot.</p>
90      */
ArnHasBeenSet()91     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
92 
93     /**
94      * <p>The Amazon Resource Name (ARN) of the robot.</p>
95      */
SetArn(const Aws::String & value)96     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
97 
98     /**
99      * <p>The Amazon Resource Name (ARN) of the robot.</p>
100      */
SetArn(Aws::String && value)101     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
102 
103     /**
104      * <p>The Amazon Resource Name (ARN) of the robot.</p>
105      */
SetArn(const char * value)106     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
107 
108     /**
109      * <p>The Amazon Resource Name (ARN) of the robot.</p>
110      */
WithArn(const Aws::String & value)111     inline RobotApplicationSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;}
112 
113     /**
114      * <p>The Amazon Resource Name (ARN) of the robot.</p>
115      */
WithArn(Aws::String && value)116     inline RobotApplicationSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
117 
118     /**
119      * <p>The Amazon Resource Name (ARN) of the robot.</p>
120      */
WithArn(const char * value)121     inline RobotApplicationSummary& WithArn(const char* value) { SetArn(value); return *this;}
122 
123 
124     /**
125      * <p>The version of the robot application.</p>
126      */
GetVersion()127     inline const Aws::String& GetVersion() const{ return m_version; }
128 
129     /**
130      * <p>The version of the robot application.</p>
131      */
VersionHasBeenSet()132     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
133 
134     /**
135      * <p>The version of the robot application.</p>
136      */
SetVersion(const Aws::String & value)137     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
138 
139     /**
140      * <p>The version of the robot application.</p>
141      */
SetVersion(Aws::String && value)142     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
143 
144     /**
145      * <p>The version of the robot application.</p>
146      */
SetVersion(const char * value)147     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
148 
149     /**
150      * <p>The version of the robot application.</p>
151      */
WithVersion(const Aws::String & value)152     inline RobotApplicationSummary& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
153 
154     /**
155      * <p>The version of the robot application.</p>
156      */
WithVersion(Aws::String && value)157     inline RobotApplicationSummary& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
158 
159     /**
160      * <p>The version of the robot application.</p>
161      */
WithVersion(const char * value)162     inline RobotApplicationSummary& WithVersion(const char* value) { SetVersion(value); return *this;}
163 
164 
165     /**
166      * <p>The time, in milliseconds since the epoch, when the robot application was
167      * last updated.</p>
168      */
GetLastUpdatedAt()169     inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
170 
171     /**
172      * <p>The time, in milliseconds since the epoch, when the robot application was
173      * last updated.</p>
174      */
LastUpdatedAtHasBeenSet()175     inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
176 
177     /**
178      * <p>The time, in milliseconds since the epoch, when the robot application was
179      * last updated.</p>
180      */
SetLastUpdatedAt(const Aws::Utils::DateTime & value)181     inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
182 
183     /**
184      * <p>The time, in milliseconds since the epoch, when the robot application was
185      * last updated.</p>
186      */
SetLastUpdatedAt(Aws::Utils::DateTime && value)187     inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); }
188 
189     /**
190      * <p>The time, in milliseconds since the epoch, when the robot application was
191      * last updated.</p>
192      */
WithLastUpdatedAt(const Aws::Utils::DateTime & value)193     inline RobotApplicationSummary& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;}
194 
195     /**
196      * <p>The time, in milliseconds since the epoch, when the robot application was
197      * last updated.</p>
198      */
WithLastUpdatedAt(Aws::Utils::DateTime && value)199     inline RobotApplicationSummary& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;}
200 
201 
202     /**
203      * <p>Information about a robot software suite (ROS distribution).</p>
204      */
GetRobotSoftwareSuite()205     inline const RobotSoftwareSuite& GetRobotSoftwareSuite() const{ return m_robotSoftwareSuite; }
206 
207     /**
208      * <p>Information about a robot software suite (ROS distribution).</p>
209      */
RobotSoftwareSuiteHasBeenSet()210     inline bool RobotSoftwareSuiteHasBeenSet() const { return m_robotSoftwareSuiteHasBeenSet; }
211 
212     /**
213      * <p>Information about a robot software suite (ROS distribution).</p>
214      */
SetRobotSoftwareSuite(const RobotSoftwareSuite & value)215     inline void SetRobotSoftwareSuite(const RobotSoftwareSuite& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = value; }
216 
217     /**
218      * <p>Information about a robot software suite (ROS distribution).</p>
219      */
SetRobotSoftwareSuite(RobotSoftwareSuite && value)220     inline void SetRobotSoftwareSuite(RobotSoftwareSuite&& value) { m_robotSoftwareSuiteHasBeenSet = true; m_robotSoftwareSuite = std::move(value); }
221 
222     /**
223      * <p>Information about a robot software suite (ROS distribution).</p>
224      */
WithRobotSoftwareSuite(const RobotSoftwareSuite & value)225     inline RobotApplicationSummary& WithRobotSoftwareSuite(const RobotSoftwareSuite& value) { SetRobotSoftwareSuite(value); return *this;}
226 
227     /**
228      * <p>Information about a robot software suite (ROS distribution).</p>
229      */
WithRobotSoftwareSuite(RobotSoftwareSuite && value)230     inline RobotApplicationSummary& WithRobotSoftwareSuite(RobotSoftwareSuite&& value) { SetRobotSoftwareSuite(std::move(value)); return *this;}
231 
232   private:
233 
234     Aws::String m_name;
235     bool m_nameHasBeenSet;
236 
237     Aws::String m_arn;
238     bool m_arnHasBeenSet;
239 
240     Aws::String m_version;
241     bool m_versionHasBeenSet;
242 
243     Aws::Utils::DateTime m_lastUpdatedAt;
244     bool m_lastUpdatedAtHasBeenSet;
245 
246     RobotSoftwareSuite m_robotSoftwareSuite;
247     bool m_robotSoftwareSuiteHasBeenSet;
248   };
249 
250 } // namespace Model
251 } // namespace RoboMaker
252 } // namespace Aws
253