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/servicecatalog-appregistry/AppRegistry_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/core/utils/memory/stl/AWSMap.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace AppRegistry
26 {
27 namespace Model
28 {
29   class AWS_APPREGISTRY_API GetAttributeGroupResult
30   {
31   public:
32     GetAttributeGroupResult();
33     GetAttributeGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetAttributeGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The identifier of the attribute group.</p>
39      */
GetId()40     inline const Aws::String& GetId() const{ return m_id; }
41 
42     /**
43      * <p>The identifier of the attribute group.</p>
44      */
SetId(const Aws::String & value)45     inline void SetId(const Aws::String& value) { m_id = value; }
46 
47     /**
48      * <p>The identifier of the attribute group.</p>
49      */
SetId(Aws::String && value)50     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
51 
52     /**
53      * <p>The identifier of the attribute group.</p>
54      */
SetId(const char * value)55     inline void SetId(const char* value) { m_id.assign(value); }
56 
57     /**
58      * <p>The identifier of the attribute group.</p>
59      */
WithId(const Aws::String & value)60     inline GetAttributeGroupResult& WithId(const Aws::String& value) { SetId(value); return *this;}
61 
62     /**
63      * <p>The identifier of the attribute group.</p>
64      */
WithId(Aws::String && value)65     inline GetAttributeGroupResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
66 
67     /**
68      * <p>The identifier of the attribute group.</p>
69      */
WithId(const char * value)70     inline GetAttributeGroupResult& WithId(const char* value) { SetId(value); return *this;}
71 
72 
73     /**
74      * <p>The Amazon resource name (ARN) that specifies the attribute group across
75      * services.</p>
76      */
GetArn()77     inline const Aws::String& GetArn() const{ return m_arn; }
78 
79     /**
80      * <p>The Amazon resource name (ARN) that specifies the attribute group across
81      * services.</p>
82      */
SetArn(const Aws::String & value)83     inline void SetArn(const Aws::String& value) { m_arn = value; }
84 
85     /**
86      * <p>The Amazon resource name (ARN) that specifies the attribute group across
87      * services.</p>
88      */
SetArn(Aws::String && value)89     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
90 
91     /**
92      * <p>The Amazon resource name (ARN) that specifies the attribute group across
93      * services.</p>
94      */
SetArn(const char * value)95     inline void SetArn(const char* value) { m_arn.assign(value); }
96 
97     /**
98      * <p>The Amazon resource name (ARN) that specifies the attribute group across
99      * services.</p>
100      */
WithArn(const Aws::String & value)101     inline GetAttributeGroupResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
102 
103     /**
104      * <p>The Amazon resource name (ARN) that specifies the attribute group across
105      * services.</p>
106      */
WithArn(Aws::String && value)107     inline GetAttributeGroupResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
108 
109     /**
110      * <p>The Amazon resource name (ARN) that specifies the attribute group across
111      * services.</p>
112      */
WithArn(const char * value)113     inline GetAttributeGroupResult& WithArn(const char* value) { SetArn(value); return *this;}
114 
115 
116     /**
117      * <p>The name of the attribute group.</p>
118      */
GetName()119     inline const Aws::String& GetName() const{ return m_name; }
120 
121     /**
122      * <p>The name of the attribute group.</p>
123      */
SetName(const Aws::String & value)124     inline void SetName(const Aws::String& value) { m_name = value; }
125 
126     /**
127      * <p>The name of the attribute group.</p>
128      */
SetName(Aws::String && value)129     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
130 
131     /**
132      * <p>The name of the attribute group.</p>
133      */
SetName(const char * value)134     inline void SetName(const char* value) { m_name.assign(value); }
135 
136     /**
137      * <p>The name of the attribute group.</p>
138      */
WithName(const Aws::String & value)139     inline GetAttributeGroupResult& WithName(const Aws::String& value) { SetName(value); return *this;}
140 
141     /**
142      * <p>The name of the attribute group.</p>
143      */
WithName(Aws::String && value)144     inline GetAttributeGroupResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
145 
146     /**
147      * <p>The name of the attribute group.</p>
148      */
WithName(const char * value)149     inline GetAttributeGroupResult& WithName(const char* value) { SetName(value); return *this;}
150 
151 
152     /**
153      * <p>The description of the attribute group that the user provides.</p>
154      */
GetDescription()155     inline const Aws::String& GetDescription() const{ return m_description; }
156 
157     /**
158      * <p>The description of the attribute group that the user provides.</p>
159      */
SetDescription(const Aws::String & value)160     inline void SetDescription(const Aws::String& value) { m_description = value; }
161 
162     /**
163      * <p>The description of the attribute group that the user provides.</p>
164      */
SetDescription(Aws::String && value)165     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
166 
167     /**
168      * <p>The description of the attribute group that the user provides.</p>
169      */
SetDescription(const char * value)170     inline void SetDescription(const char* value) { m_description.assign(value); }
171 
172     /**
173      * <p>The description of the attribute group that the user provides.</p>
174      */
WithDescription(const Aws::String & value)175     inline GetAttributeGroupResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
176 
177     /**
178      * <p>The description of the attribute group that the user provides.</p>
179      */
WithDescription(Aws::String && value)180     inline GetAttributeGroupResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
181 
182     /**
183      * <p>The description of the attribute group that the user provides.</p>
184      */
WithDescription(const char * value)185     inline GetAttributeGroupResult& WithDescription(const char* value) { SetDescription(value); return *this;}
186 
187 
188     /**
189      * <p>A JSON string in the form of nested key-value pairs that represent the
190      * attributes in the group and describes an application and its components.</p>
191      */
GetAttributes()192     inline const Aws::String& GetAttributes() const{ return m_attributes; }
193 
194     /**
195      * <p>A JSON string in the form of nested key-value pairs that represent the
196      * attributes in the group and describes an application and its components.</p>
197      */
SetAttributes(const Aws::String & value)198     inline void SetAttributes(const Aws::String& value) { m_attributes = value; }
199 
200     /**
201      * <p>A JSON string in the form of nested key-value pairs that represent the
202      * attributes in the group and describes an application and its components.</p>
203      */
SetAttributes(Aws::String && value)204     inline void SetAttributes(Aws::String&& value) { m_attributes = std::move(value); }
205 
206     /**
207      * <p>A JSON string in the form of nested key-value pairs that represent the
208      * attributes in the group and describes an application and its components.</p>
209      */
SetAttributes(const char * value)210     inline void SetAttributes(const char* value) { m_attributes.assign(value); }
211 
212     /**
213      * <p>A JSON string in the form of nested key-value pairs that represent the
214      * attributes in the group and describes an application and its components.</p>
215      */
WithAttributes(const Aws::String & value)216     inline GetAttributeGroupResult& WithAttributes(const Aws::String& value) { SetAttributes(value); return *this;}
217 
218     /**
219      * <p>A JSON string in the form of nested key-value pairs that represent the
220      * attributes in the group and describes an application and its components.</p>
221      */
WithAttributes(Aws::String && value)222     inline GetAttributeGroupResult& WithAttributes(Aws::String&& value) { SetAttributes(std::move(value)); return *this;}
223 
224     /**
225      * <p>A JSON string in the form of nested key-value pairs that represent the
226      * attributes in the group and describes an application and its components.</p>
227      */
WithAttributes(const char * value)228     inline GetAttributeGroupResult& WithAttributes(const char* value) { SetAttributes(value); return *this;}
229 
230 
231     /**
232      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was
233      * created.</p>
234      */
GetCreationTime()235     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
236 
237     /**
238      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was
239      * created.</p>
240      */
SetCreationTime(const Aws::Utils::DateTime & value)241     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
242 
243     /**
244      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was
245      * created.</p>
246      */
SetCreationTime(Aws::Utils::DateTime && value)247     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
248 
249     /**
250      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was
251      * created.</p>
252      */
WithCreationTime(const Aws::Utils::DateTime & value)253     inline GetAttributeGroupResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
254 
255     /**
256      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was
257      * created.</p>
258      */
WithCreationTime(Aws::Utils::DateTime && value)259     inline GetAttributeGroupResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
260 
261 
262     /**
263      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was last
264      * updated. This time is the same as the creationTime for a newly created attribute
265      * group.</p>
266      */
GetLastUpdateTime()267     inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; }
268 
269     /**
270      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was last
271      * updated. This time is the same as the creationTime for a newly created attribute
272      * group.</p>
273      */
SetLastUpdateTime(const Aws::Utils::DateTime & value)274     inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTime = value; }
275 
276     /**
277      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was last
278      * updated. This time is the same as the creationTime for a newly created attribute
279      * group.</p>
280      */
SetLastUpdateTime(Aws::Utils::DateTime && value)281     inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTime = std::move(value); }
282 
283     /**
284      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was last
285      * updated. This time is the same as the creationTime for a newly created attribute
286      * group.</p>
287      */
WithLastUpdateTime(const Aws::Utils::DateTime & value)288     inline GetAttributeGroupResult& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;}
289 
290     /**
291      * <p>The ISO-8601 formatted timestamp of the moment the attribute group was last
292      * updated. This time is the same as the creationTime for a newly created attribute
293      * group.</p>
294      */
WithLastUpdateTime(Aws::Utils::DateTime && value)295     inline GetAttributeGroupResult& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;}
296 
297 
298     /**
299      * <p>Key-value pairs associated with the attribute group.</p>
300      */
GetTags()301     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
302 
303     /**
304      * <p>Key-value pairs associated with the attribute group.</p>
305      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)306     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
307 
308     /**
309      * <p>Key-value pairs associated with the attribute group.</p>
310      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)311     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
312 
313     /**
314      * <p>Key-value pairs associated with the attribute group.</p>
315      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)316     inline GetAttributeGroupResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
317 
318     /**
319      * <p>Key-value pairs associated with the attribute group.</p>
320      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)321     inline GetAttributeGroupResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
322 
323     /**
324      * <p>Key-value pairs associated with the attribute group.</p>
325      */
AddTags(const Aws::String & key,const Aws::String & value)326     inline GetAttributeGroupResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
327 
328     /**
329      * <p>Key-value pairs associated with the attribute group.</p>
330      */
AddTags(Aws::String && key,const Aws::String & value)331     inline GetAttributeGroupResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
332 
333     /**
334      * <p>Key-value pairs associated with the attribute group.</p>
335      */
AddTags(const Aws::String & key,Aws::String && value)336     inline GetAttributeGroupResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
337 
338     /**
339      * <p>Key-value pairs associated with the attribute group.</p>
340      */
AddTags(Aws::String && key,Aws::String && value)341     inline GetAttributeGroupResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
342 
343     /**
344      * <p>Key-value pairs associated with the attribute group.</p>
345      */
AddTags(const char * key,Aws::String && value)346     inline GetAttributeGroupResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
347 
348     /**
349      * <p>Key-value pairs associated with the attribute group.</p>
350      */
AddTags(Aws::String && key,const char * value)351     inline GetAttributeGroupResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
352 
353     /**
354      * <p>Key-value pairs associated with the attribute group.</p>
355      */
AddTags(const char * key,const char * value)356     inline GetAttributeGroupResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
357 
358   private:
359 
360     Aws::String m_id;
361 
362     Aws::String m_arn;
363 
364     Aws::String m_name;
365 
366     Aws::String m_description;
367 
368     Aws::String m_attributes;
369 
370     Aws::Utils::DateTime m_creationTime;
371 
372     Aws::Utils::DateTime m_lastUpdateTime;
373 
374     Aws::Map<Aws::String, Aws::String> m_tags;
375   };
376 
377 } // namespace Model
378 } // namespace AppRegistry
379 } // namespace Aws
380