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/config/ConfigService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/config/model/ConfigurationItemStatus.h>
11 #include <aws/config/model/ResourceType.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <aws/core/utils/memory/stl/AWSVector.h>
14 #include <aws/config/model/Relationship.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace ConfigService
28 {
29 namespace Model
30 {
31 
32   /**
33    * <p>A list that contains detailed configurations of a specified
34    * resource.</p><p><h3>See Also:</h3>   <a
35    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigurationItem">AWS
36    * API Reference</a></p>
37    */
38   class AWS_CONFIGSERVICE_API ConfigurationItem
39   {
40   public:
41     ConfigurationItem();
42     ConfigurationItem(Aws::Utils::Json::JsonView jsonValue);
43     ConfigurationItem& operator=(Aws::Utils::Json::JsonView jsonValue);
44     Aws::Utils::Json::JsonValue Jsonize() const;
45 
46 
47     /**
48      * <p>The version number of the resource configuration.</p>
49      */
GetVersion()50     inline const Aws::String& GetVersion() const{ return m_version; }
51 
52     /**
53      * <p>The version number of the resource configuration.</p>
54      */
VersionHasBeenSet()55     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
56 
57     /**
58      * <p>The version number of the resource configuration.</p>
59      */
SetVersion(const Aws::String & value)60     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
61 
62     /**
63      * <p>The version number of the resource configuration.</p>
64      */
SetVersion(Aws::String && value)65     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
66 
67     /**
68      * <p>The version number of the resource configuration.</p>
69      */
SetVersion(const char * value)70     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
71 
72     /**
73      * <p>The version number of the resource configuration.</p>
74      */
WithVersion(const Aws::String & value)75     inline ConfigurationItem& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
76 
77     /**
78      * <p>The version number of the resource configuration.</p>
79      */
WithVersion(Aws::String && value)80     inline ConfigurationItem& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
81 
82     /**
83      * <p>The version number of the resource configuration.</p>
84      */
WithVersion(const char * value)85     inline ConfigurationItem& WithVersion(const char* value) { SetVersion(value); return *this;}
86 
87 
88     /**
89      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
90      */
GetAccountId()91     inline const Aws::String& GetAccountId() const{ return m_accountId; }
92 
93     /**
94      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
95      */
AccountIdHasBeenSet()96     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
97 
98     /**
99      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
100      */
SetAccountId(const Aws::String & value)101     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
102 
103     /**
104      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
105      */
SetAccountId(Aws::String && value)106     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
107 
108     /**
109      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
110      */
SetAccountId(const char * value)111     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
112 
113     /**
114      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
115      */
WithAccountId(const Aws::String & value)116     inline ConfigurationItem& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
117 
118     /**
119      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
120      */
WithAccountId(Aws::String && value)121     inline ConfigurationItem& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
122 
123     /**
124      * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
125      */
WithAccountId(const char * value)126     inline ConfigurationItem& WithAccountId(const char* value) { SetAccountId(value); return *this;}
127 
128 
129     /**
130      * <p>The time when the configuration recording was initiated.</p>
131      */
GetConfigurationItemCaptureTime()132     inline const Aws::Utils::DateTime& GetConfigurationItemCaptureTime() const{ return m_configurationItemCaptureTime; }
133 
134     /**
135      * <p>The time when the configuration recording was initiated.</p>
136      */
ConfigurationItemCaptureTimeHasBeenSet()137     inline bool ConfigurationItemCaptureTimeHasBeenSet() const { return m_configurationItemCaptureTimeHasBeenSet; }
138 
139     /**
140      * <p>The time when the configuration recording was initiated.</p>
141      */
SetConfigurationItemCaptureTime(const Aws::Utils::DateTime & value)142     inline void SetConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = value; }
143 
144     /**
145      * <p>The time when the configuration recording was initiated.</p>
146      */
SetConfigurationItemCaptureTime(Aws::Utils::DateTime && value)147     inline void SetConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = std::move(value); }
148 
149     /**
150      * <p>The time when the configuration recording was initiated.</p>
151      */
WithConfigurationItemCaptureTime(const Aws::Utils::DateTime & value)152     inline ConfigurationItem& WithConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { SetConfigurationItemCaptureTime(value); return *this;}
153 
154     /**
155      * <p>The time when the configuration recording was initiated.</p>
156      */
WithConfigurationItemCaptureTime(Aws::Utils::DateTime && value)157     inline ConfigurationItem& WithConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { SetConfigurationItemCaptureTime(std::move(value)); return *this;}
158 
159 
160     /**
161      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
162      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
163      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
164      * resource was discovered but its configuration was not recorded since the
165      * recorder excludes the recording of resources of this type</p> </li> <li>
166      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
167      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
168      * was not recorded since the recorder excludes the recording of resources of this
169      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
170      */
GetConfigurationItemStatus()171     inline const ConfigurationItemStatus& GetConfigurationItemStatus() const{ return m_configurationItemStatus; }
172 
173     /**
174      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
175      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
176      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
177      * resource was discovered but its configuration was not recorded since the
178      * recorder excludes the recording of resources of this type</p> </li> <li>
179      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
180      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
181      * was not recorded since the recorder excludes the recording of resources of this
182      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
183      */
ConfigurationItemStatusHasBeenSet()184     inline bool ConfigurationItemStatusHasBeenSet() const { return m_configurationItemStatusHasBeenSet; }
185 
186     /**
187      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
188      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
189      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
190      * resource was discovered but its configuration was not recorded since the
191      * recorder excludes the recording of resources of this type</p> </li> <li>
192      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
193      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
194      * was not recorded since the recorder excludes the recording of resources of this
195      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
196      */
SetConfigurationItemStatus(const ConfigurationItemStatus & value)197     inline void SetConfigurationItemStatus(const ConfigurationItemStatus& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = value; }
198 
199     /**
200      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
201      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
202      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
203      * resource was discovered but its configuration was not recorded since the
204      * recorder excludes the recording of resources of this type</p> </li> <li>
205      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
206      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
207      * was not recorded since the recorder excludes the recording of resources of this
208      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
209      */
SetConfigurationItemStatus(ConfigurationItemStatus && value)210     inline void SetConfigurationItemStatus(ConfigurationItemStatus&& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = std::move(value); }
211 
212     /**
213      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
214      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
215      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
216      * resource was discovered but its configuration was not recorded since the
217      * recorder excludes the recording of resources of this type</p> </li> <li>
218      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
219      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
220      * was not recorded since the recorder excludes the recording of resources of this
221      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
222      */
WithConfigurationItemStatus(const ConfigurationItemStatus & value)223     inline ConfigurationItem& WithConfigurationItemStatus(const ConfigurationItemStatus& value) { SetConfigurationItemStatus(value); return *this;}
224 
225     /**
226      * <p>The configuration item status. The valid values are:</p> <ul> <li> <p>OK –
227      * The resource configuration has been updated</p> </li> <li> <p>ResourceDiscovered
228      * – The resource was newly discovered</p> </li> <li> <p>ResourceNotRecorded – The
229      * resource was discovered but its configuration was not recorded since the
230      * recorder excludes the recording of resources of this type</p> </li> <li>
231      * <p>ResourceDeleted – The resource was deleted</p> </li> <li>
232      * <p>ResourceDeletedNotRecorded ��� The resource was deleted but its configuration
233      * was not recorded since the recorder excludes the recording of resources of this
234      * type</p> </li> </ul>  <p>The CIs do not incur any cost.</p>
235      */
WithConfigurationItemStatus(ConfigurationItemStatus && value)236     inline ConfigurationItem& WithConfigurationItemStatus(ConfigurationItemStatus&& value) { SetConfigurationItemStatus(std::move(value)); return *this;}
237 
238 
239     /**
240      * <p>An identifier that indicates the ordering of the configuration items of a
241      * resource.</p>
242      */
GetConfigurationStateId()243     inline const Aws::String& GetConfigurationStateId() const{ return m_configurationStateId; }
244 
245     /**
246      * <p>An identifier that indicates the ordering of the configuration items of a
247      * resource.</p>
248      */
ConfigurationStateIdHasBeenSet()249     inline bool ConfigurationStateIdHasBeenSet() const { return m_configurationStateIdHasBeenSet; }
250 
251     /**
252      * <p>An identifier that indicates the ordering of the configuration items of a
253      * resource.</p>
254      */
SetConfigurationStateId(const Aws::String & value)255     inline void SetConfigurationStateId(const Aws::String& value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId = value; }
256 
257     /**
258      * <p>An identifier that indicates the ordering of the configuration items of a
259      * resource.</p>
260      */
SetConfigurationStateId(Aws::String && value)261     inline void SetConfigurationStateId(Aws::String&& value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId = std::move(value); }
262 
263     /**
264      * <p>An identifier that indicates the ordering of the configuration items of a
265      * resource.</p>
266      */
SetConfigurationStateId(const char * value)267     inline void SetConfigurationStateId(const char* value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId.assign(value); }
268 
269     /**
270      * <p>An identifier that indicates the ordering of the configuration items of a
271      * resource.</p>
272      */
WithConfigurationStateId(const Aws::String & value)273     inline ConfigurationItem& WithConfigurationStateId(const Aws::String& value) { SetConfigurationStateId(value); return *this;}
274 
275     /**
276      * <p>An identifier that indicates the ordering of the configuration items of a
277      * resource.</p>
278      */
WithConfigurationStateId(Aws::String && value)279     inline ConfigurationItem& WithConfigurationStateId(Aws::String&& value) { SetConfigurationStateId(std::move(value)); return *this;}
280 
281     /**
282      * <p>An identifier that indicates the ordering of the configuration items of a
283      * resource.</p>
284      */
WithConfigurationStateId(const char * value)285     inline ConfigurationItem& WithConfigurationStateId(const char* value) { SetConfigurationStateId(value); return *this;}
286 
287 
288     /**
289      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
290      * can use MD5 hash to compare the states of two or more configuration items that
291      * are associated with the same resource.</p>
292      */
GetConfigurationItemMD5Hash()293     inline const Aws::String& GetConfigurationItemMD5Hash() const{ return m_configurationItemMD5Hash; }
294 
295     /**
296      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
297      * can use MD5 hash to compare the states of two or more configuration items that
298      * are associated with the same resource.</p>
299      */
ConfigurationItemMD5HashHasBeenSet()300     inline bool ConfigurationItemMD5HashHasBeenSet() const { return m_configurationItemMD5HashHasBeenSet; }
301 
302     /**
303      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
304      * can use MD5 hash to compare the states of two or more configuration items that
305      * are associated with the same resource.</p>
306      */
SetConfigurationItemMD5Hash(const Aws::String & value)307     inline void SetConfigurationItemMD5Hash(const Aws::String& value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash = value; }
308 
309     /**
310      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
311      * can use MD5 hash to compare the states of two or more configuration items that
312      * are associated with the same resource.</p>
313      */
SetConfigurationItemMD5Hash(Aws::String && value)314     inline void SetConfigurationItemMD5Hash(Aws::String&& value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash = std::move(value); }
315 
316     /**
317      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
318      * can use MD5 hash to compare the states of two or more configuration items that
319      * are associated with the same resource.</p>
320      */
SetConfigurationItemMD5Hash(const char * value)321     inline void SetConfigurationItemMD5Hash(const char* value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash.assign(value); }
322 
323     /**
324      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
325      * can use MD5 hash to compare the states of two or more configuration items that
326      * are associated with the same resource.</p>
327      */
WithConfigurationItemMD5Hash(const Aws::String & value)328     inline ConfigurationItem& WithConfigurationItemMD5Hash(const Aws::String& value) { SetConfigurationItemMD5Hash(value); return *this;}
329 
330     /**
331      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
332      * can use MD5 hash to compare the states of two or more configuration items that
333      * are associated with the same resource.</p>
334      */
WithConfigurationItemMD5Hash(Aws::String && value)335     inline ConfigurationItem& WithConfigurationItemMD5Hash(Aws::String&& value) { SetConfigurationItemMD5Hash(std::move(value)); return *this;}
336 
337     /**
338      * <p>Unique MD5 hash that represents the configuration item's state.</p> <p>You
339      * can use MD5 hash to compare the states of two or more configuration items that
340      * are associated with the same resource.</p>
341      */
WithConfigurationItemMD5Hash(const char * value)342     inline ConfigurationItem& WithConfigurationItemMD5Hash(const char* value) { SetConfigurationItemMD5Hash(value); return *this;}
343 
344 
345     /**
346      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
347      */
GetArn()348     inline const Aws::String& GetArn() const{ return m_arn; }
349 
350     /**
351      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
352      */
ArnHasBeenSet()353     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
354 
355     /**
356      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
357      */
SetArn(const Aws::String & value)358     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
359 
360     /**
361      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
362      */
SetArn(Aws::String && value)363     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
364 
365     /**
366      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
367      */
SetArn(const char * value)368     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
369 
370     /**
371      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
372      */
WithArn(const Aws::String & value)373     inline ConfigurationItem& WithArn(const Aws::String& value) { SetArn(value); return *this;}
374 
375     /**
376      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
377      */
WithArn(Aws::String && value)378     inline ConfigurationItem& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
379 
380     /**
381      * <p>Amazon Resource Name (ARN) associated with the resource.</p>
382      */
WithArn(const char * value)383     inline ConfigurationItem& WithArn(const char* value) { SetArn(value); return *this;}
384 
385 
386     /**
387      * <p>The type of Amazon Web Services resource.</p>
388      */
GetResourceType()389     inline const ResourceType& GetResourceType() const{ return m_resourceType; }
390 
391     /**
392      * <p>The type of Amazon Web Services resource.</p>
393      */
ResourceTypeHasBeenSet()394     inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
395 
396     /**
397      * <p>The type of Amazon Web Services resource.</p>
398      */
SetResourceType(const ResourceType & value)399     inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
400 
401     /**
402      * <p>The type of Amazon Web Services resource.</p>
403      */
SetResourceType(ResourceType && value)404     inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
405 
406     /**
407      * <p>The type of Amazon Web Services resource.</p>
408      */
WithResourceType(const ResourceType & value)409     inline ConfigurationItem& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;}
410 
411     /**
412      * <p>The type of Amazon Web Services resource.</p>
413      */
WithResourceType(ResourceType && value)414     inline ConfigurationItem& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;}
415 
416 
417     /**
418      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
419      */
GetResourceId()420     inline const Aws::String& GetResourceId() const{ return m_resourceId; }
421 
422     /**
423      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
424      */
ResourceIdHasBeenSet()425     inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
426 
427     /**
428      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
429      */
SetResourceId(const Aws::String & value)430     inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
431 
432     /**
433      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
434      */
SetResourceId(Aws::String && value)435     inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
436 
437     /**
438      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
439      */
SetResourceId(const char * value)440     inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
441 
442     /**
443      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
444      */
WithResourceId(const Aws::String & value)445     inline ConfigurationItem& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
446 
447     /**
448      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
449      */
WithResourceId(Aws::String && value)450     inline ConfigurationItem& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
451 
452     /**
453      * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p>
454      */
WithResourceId(const char * value)455     inline ConfigurationItem& WithResourceId(const char* value) { SetResourceId(value); return *this;}
456 
457 
458     /**
459      * <p>The custom name of the resource, if available.</p>
460      */
GetResourceName()461     inline const Aws::String& GetResourceName() const{ return m_resourceName; }
462 
463     /**
464      * <p>The custom name of the resource, if available.</p>
465      */
ResourceNameHasBeenSet()466     inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; }
467 
468     /**
469      * <p>The custom name of the resource, if available.</p>
470      */
SetResourceName(const Aws::String & value)471     inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; }
472 
473     /**
474      * <p>The custom name of the resource, if available.</p>
475      */
SetResourceName(Aws::String && value)476     inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); }
477 
478     /**
479      * <p>The custom name of the resource, if available.</p>
480      */
SetResourceName(const char * value)481     inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); }
482 
483     /**
484      * <p>The custom name of the resource, if available.</p>
485      */
WithResourceName(const Aws::String & value)486     inline ConfigurationItem& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;}
487 
488     /**
489      * <p>The custom name of the resource, if available.</p>
490      */
WithResourceName(Aws::String && value)491     inline ConfigurationItem& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;}
492 
493     /**
494      * <p>The custom name of the resource, if available.</p>
495      */
WithResourceName(const char * value)496     inline ConfigurationItem& WithResourceName(const char* value) { SetResourceName(value); return *this;}
497 
498 
499     /**
500      * <p>The region where the resource resides.</p>
501      */
GetAwsRegion()502     inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; }
503 
504     /**
505      * <p>The region where the resource resides.</p>
506      */
AwsRegionHasBeenSet()507     inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; }
508 
509     /**
510      * <p>The region where the resource resides.</p>
511      */
SetAwsRegion(const Aws::String & value)512     inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; }
513 
514     /**
515      * <p>The region where the resource resides.</p>
516      */
SetAwsRegion(Aws::String && value)517     inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); }
518 
519     /**
520      * <p>The region where the resource resides.</p>
521      */
SetAwsRegion(const char * value)522     inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); }
523 
524     /**
525      * <p>The region where the resource resides.</p>
526      */
WithAwsRegion(const Aws::String & value)527     inline ConfigurationItem& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;}
528 
529     /**
530      * <p>The region where the resource resides.</p>
531      */
WithAwsRegion(Aws::String && value)532     inline ConfigurationItem& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;}
533 
534     /**
535      * <p>The region where the resource resides.</p>
536      */
WithAwsRegion(const char * value)537     inline ConfigurationItem& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;}
538 
539 
540     /**
541      * <p>The Availability Zone associated with the resource.</p>
542      */
GetAvailabilityZone()543     inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
544 
545     /**
546      * <p>The Availability Zone associated with the resource.</p>
547      */
AvailabilityZoneHasBeenSet()548     inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
549 
550     /**
551      * <p>The Availability Zone associated with the resource.</p>
552      */
SetAvailabilityZone(const Aws::String & value)553     inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
554 
555     /**
556      * <p>The Availability Zone associated with the resource.</p>
557      */
SetAvailabilityZone(Aws::String && value)558     inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); }
559 
560     /**
561      * <p>The Availability Zone associated with the resource.</p>
562      */
SetAvailabilityZone(const char * value)563     inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
564 
565     /**
566      * <p>The Availability Zone associated with the resource.</p>
567      */
WithAvailabilityZone(const Aws::String & value)568     inline ConfigurationItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
569 
570     /**
571      * <p>The Availability Zone associated with the resource.</p>
572      */
WithAvailabilityZone(Aws::String && value)573     inline ConfigurationItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;}
574 
575     /**
576      * <p>The Availability Zone associated with the resource.</p>
577      */
WithAvailabilityZone(const char * value)578     inline ConfigurationItem& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
579 
580 
581     /**
582      * <p>The time stamp when the resource was created.</p>
583      */
GetResourceCreationTime()584     inline const Aws::Utils::DateTime& GetResourceCreationTime() const{ return m_resourceCreationTime; }
585 
586     /**
587      * <p>The time stamp when the resource was created.</p>
588      */
ResourceCreationTimeHasBeenSet()589     inline bool ResourceCreationTimeHasBeenSet() const { return m_resourceCreationTimeHasBeenSet; }
590 
591     /**
592      * <p>The time stamp when the resource was created.</p>
593      */
SetResourceCreationTime(const Aws::Utils::DateTime & value)594     inline void SetResourceCreationTime(const Aws::Utils::DateTime& value) { m_resourceCreationTimeHasBeenSet = true; m_resourceCreationTime = value; }
595 
596     /**
597      * <p>The time stamp when the resource was created.</p>
598      */
SetResourceCreationTime(Aws::Utils::DateTime && value)599     inline void SetResourceCreationTime(Aws::Utils::DateTime&& value) { m_resourceCreationTimeHasBeenSet = true; m_resourceCreationTime = std::move(value); }
600 
601     /**
602      * <p>The time stamp when the resource was created.</p>
603      */
WithResourceCreationTime(const Aws::Utils::DateTime & value)604     inline ConfigurationItem& WithResourceCreationTime(const Aws::Utils::DateTime& value) { SetResourceCreationTime(value); return *this;}
605 
606     /**
607      * <p>The time stamp when the resource was created.</p>
608      */
WithResourceCreationTime(Aws::Utils::DateTime && value)609     inline ConfigurationItem& WithResourceCreationTime(Aws::Utils::DateTime&& value) { SetResourceCreationTime(std::move(value)); return *this;}
610 
611 
612     /**
613      * <p>A mapping of key value tags associated with the resource.</p>
614      */
GetTags()615     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
616 
617     /**
618      * <p>A mapping of key value tags associated with the resource.</p>
619      */
TagsHasBeenSet()620     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
621 
622     /**
623      * <p>A mapping of key value tags associated with the resource.</p>
624      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)625     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
626 
627     /**
628      * <p>A mapping of key value tags associated with the resource.</p>
629      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)630     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
631 
632     /**
633      * <p>A mapping of key value tags associated with the resource.</p>
634      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)635     inline ConfigurationItem& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
636 
637     /**
638      * <p>A mapping of key value tags associated with the resource.</p>
639      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)640     inline ConfigurationItem& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
641 
642     /**
643      * <p>A mapping of key value tags associated with the resource.</p>
644      */
AddTags(const Aws::String & key,const Aws::String & value)645     inline ConfigurationItem& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
646 
647     /**
648      * <p>A mapping of key value tags associated with the resource.</p>
649      */
AddTags(Aws::String && key,const Aws::String & value)650     inline ConfigurationItem& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
651 
652     /**
653      * <p>A mapping of key value tags associated with the resource.</p>
654      */
AddTags(const Aws::String & key,Aws::String && value)655     inline ConfigurationItem& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
656 
657     /**
658      * <p>A mapping of key value tags associated with the resource.</p>
659      */
AddTags(Aws::String && key,Aws::String && value)660     inline ConfigurationItem& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
661 
662     /**
663      * <p>A mapping of key value tags associated with the resource.</p>
664      */
AddTags(const char * key,Aws::String && value)665     inline ConfigurationItem& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
666 
667     /**
668      * <p>A mapping of key value tags associated with the resource.</p>
669      */
AddTags(Aws::String && key,const char * value)670     inline ConfigurationItem& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
671 
672     /**
673      * <p>A mapping of key value tags associated with the resource.</p>
674      */
AddTags(const char * key,const char * value)675     inline ConfigurationItem& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
676 
677 
678     /**
679      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
680      * current configuration was initiated by the events recorded in the CloudTrail
681      * log. For more information about CloudTrail, see <a
682      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
683      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
684      * configuration was not initiated by any event. As of Version 1.3, the
685      * relatedEvents field is empty. You can access the <a
686      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
687      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
688      * resource.</p>
689      */
GetRelatedEvents()690     inline const Aws::Vector<Aws::String>& GetRelatedEvents() const{ return m_relatedEvents; }
691 
692     /**
693      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
694      * current configuration was initiated by the events recorded in the CloudTrail
695      * log. For more information about CloudTrail, see <a
696      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
697      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
698      * configuration was not initiated by any event. As of Version 1.3, the
699      * relatedEvents field is empty. You can access the <a
700      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
701      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
702      * resource.</p>
703      */
RelatedEventsHasBeenSet()704     inline bool RelatedEventsHasBeenSet() const { return m_relatedEventsHasBeenSet; }
705 
706     /**
707      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
708      * current configuration was initiated by the events recorded in the CloudTrail
709      * log. For more information about CloudTrail, see <a
710      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
711      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
712      * configuration was not initiated by any event. As of Version 1.3, the
713      * relatedEvents field is empty. You can access the <a
714      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
715      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
716      * resource.</p>
717      */
SetRelatedEvents(const Aws::Vector<Aws::String> & value)718     inline void SetRelatedEvents(const Aws::Vector<Aws::String>& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents = value; }
719 
720     /**
721      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
722      * current configuration was initiated by the events recorded in the CloudTrail
723      * log. For more information about CloudTrail, see <a
724      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
725      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
726      * configuration was not initiated by any event. As of Version 1.3, the
727      * relatedEvents field is empty. You can access the <a
728      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
729      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
730      * resource.</p>
731      */
SetRelatedEvents(Aws::Vector<Aws::String> && value)732     inline void SetRelatedEvents(Aws::Vector<Aws::String>&& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents = std::move(value); }
733 
734     /**
735      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
736      * current configuration was initiated by the events recorded in the CloudTrail
737      * log. For more information about CloudTrail, see <a
738      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
739      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
740      * configuration was not initiated by any event. As of Version 1.3, the
741      * relatedEvents field is empty. You can access the <a
742      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
743      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
744      * resource.</p>
745      */
WithRelatedEvents(const Aws::Vector<Aws::String> & value)746     inline ConfigurationItem& WithRelatedEvents(const Aws::Vector<Aws::String>& value) { SetRelatedEvents(value); return *this;}
747 
748     /**
749      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
750      * current configuration was initiated by the events recorded in the CloudTrail
751      * log. For more information about CloudTrail, see <a
752      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
753      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
754      * configuration was not initiated by any event. As of Version 1.3, the
755      * relatedEvents field is empty. You can access the <a
756      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
757      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
758      * resource.</p>
759      */
WithRelatedEvents(Aws::Vector<Aws::String> && value)760     inline ConfigurationItem& WithRelatedEvents(Aws::Vector<Aws::String>&& value) { SetRelatedEvents(std::move(value)); return *this;}
761 
762     /**
763      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
764      * current configuration was initiated by the events recorded in the CloudTrail
765      * log. For more information about CloudTrail, see <a
766      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
767      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
768      * configuration was not initiated by any event. As of Version 1.3, the
769      * relatedEvents field is empty. You can access the <a
770      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
771      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
772      * resource.</p>
773      */
AddRelatedEvents(const Aws::String & value)774     inline ConfigurationItem& AddRelatedEvents(const Aws::String& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(value); return *this; }
775 
776     /**
777      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
778      * current configuration was initiated by the events recorded in the CloudTrail
779      * log. For more information about CloudTrail, see <a
780      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
781      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
782      * configuration was not initiated by any event. As of Version 1.3, the
783      * relatedEvents field is empty. You can access the <a
784      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
785      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
786      * resource.</p>
787      */
AddRelatedEvents(Aws::String && value)788     inline ConfigurationItem& AddRelatedEvents(Aws::String&& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(std::move(value)); return *this; }
789 
790     /**
791      * <p>A list of CloudTrail event IDs.</p> <p>A populated field indicates that the
792      * current configuration was initiated by the events recorded in the CloudTrail
793      * log. For more information about CloudTrail, see <a
794      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What
795      * Is CloudTrail</a>.</p> <p>An empty field indicates that the current
796      * configuration was not initiated by any event. As of Version 1.3, the
797      * relatedEvents field is empty. You can access the <a
798      * href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents
799      * API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the
800      * resource.</p>
801      */
AddRelatedEvents(const char * value)802     inline ConfigurationItem& AddRelatedEvents(const char* value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(value); return *this; }
803 
804 
805     /**
806      * <p>A list of related Amazon Web Services resources.</p>
807      */
GetRelationships()808     inline const Aws::Vector<Relationship>& GetRelationships() const{ return m_relationships; }
809 
810     /**
811      * <p>A list of related Amazon Web Services resources.</p>
812      */
RelationshipsHasBeenSet()813     inline bool RelationshipsHasBeenSet() const { return m_relationshipsHasBeenSet; }
814 
815     /**
816      * <p>A list of related Amazon Web Services resources.</p>
817      */
SetRelationships(const Aws::Vector<Relationship> & value)818     inline void SetRelationships(const Aws::Vector<Relationship>& value) { m_relationshipsHasBeenSet = true; m_relationships = value; }
819 
820     /**
821      * <p>A list of related Amazon Web Services resources.</p>
822      */
SetRelationships(Aws::Vector<Relationship> && value)823     inline void SetRelationships(Aws::Vector<Relationship>&& value) { m_relationshipsHasBeenSet = true; m_relationships = std::move(value); }
824 
825     /**
826      * <p>A list of related Amazon Web Services resources.</p>
827      */
WithRelationships(const Aws::Vector<Relationship> & value)828     inline ConfigurationItem& WithRelationships(const Aws::Vector<Relationship>& value) { SetRelationships(value); return *this;}
829 
830     /**
831      * <p>A list of related Amazon Web Services resources.</p>
832      */
WithRelationships(Aws::Vector<Relationship> && value)833     inline ConfigurationItem& WithRelationships(Aws::Vector<Relationship>&& value) { SetRelationships(std::move(value)); return *this;}
834 
835     /**
836      * <p>A list of related Amazon Web Services resources.</p>
837      */
AddRelationships(const Relationship & value)838     inline ConfigurationItem& AddRelationships(const Relationship& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(value); return *this; }
839 
840     /**
841      * <p>A list of related Amazon Web Services resources.</p>
842      */
AddRelationships(Relationship && value)843     inline ConfigurationItem& AddRelationships(Relationship&& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(std::move(value)); return *this; }
844 
845 
846     /**
847      * <p>The description of the resource configuration.</p>
848      */
GetConfiguration()849     inline const Aws::String& GetConfiguration() const{ return m_configuration; }
850 
851     /**
852      * <p>The description of the resource configuration.</p>
853      */
ConfigurationHasBeenSet()854     inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
855 
856     /**
857      * <p>The description of the resource configuration.</p>
858      */
SetConfiguration(const Aws::String & value)859     inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; }
860 
861     /**
862      * <p>The description of the resource configuration.</p>
863      */
SetConfiguration(Aws::String && value)864     inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
865 
866     /**
867      * <p>The description of the resource configuration.</p>
868      */
SetConfiguration(const char * value)869     inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); }
870 
871     /**
872      * <p>The description of the resource configuration.</p>
873      */
WithConfiguration(const Aws::String & value)874     inline ConfigurationItem& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;}
875 
876     /**
877      * <p>The description of the resource configuration.</p>
878      */
WithConfiguration(Aws::String && value)879     inline ConfigurationItem& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;}
880 
881     /**
882      * <p>The description of the resource configuration.</p>
883      */
WithConfiguration(const char * value)884     inline ConfigurationItem& WithConfiguration(const char* value) { SetConfiguration(value); return *this;}
885 
886 
887     /**
888      * <p>Configuration attributes that Config returns for certain resource types to
889      * supplement the information returned for the <code>configuration</code>
890      * parameter.</p>
891      */
GetSupplementaryConfiguration()892     inline const Aws::Map<Aws::String, Aws::String>& GetSupplementaryConfiguration() const{ return m_supplementaryConfiguration; }
893 
894     /**
895      * <p>Configuration attributes that Config returns for certain resource types to
896      * supplement the information returned for the <code>configuration</code>
897      * parameter.</p>
898      */
SupplementaryConfigurationHasBeenSet()899     inline bool SupplementaryConfigurationHasBeenSet() const { return m_supplementaryConfigurationHasBeenSet; }
900 
901     /**
902      * <p>Configuration attributes that Config returns for certain resource types to
903      * supplement the information returned for the <code>configuration</code>
904      * parameter.</p>
905      */
SetSupplementaryConfiguration(const Aws::Map<Aws::String,Aws::String> & value)906     inline void SetSupplementaryConfiguration(const Aws::Map<Aws::String, Aws::String>& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration = value; }
907 
908     /**
909      * <p>Configuration attributes that Config returns for certain resource types to
910      * supplement the information returned for the <code>configuration</code>
911      * parameter.</p>
912      */
SetSupplementaryConfiguration(Aws::Map<Aws::String,Aws::String> && value)913     inline void SetSupplementaryConfiguration(Aws::Map<Aws::String, Aws::String>&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration = std::move(value); }
914 
915     /**
916      * <p>Configuration attributes that Config returns for certain resource types to
917      * supplement the information returned for the <code>configuration</code>
918      * parameter.</p>
919      */
WithSupplementaryConfiguration(const Aws::Map<Aws::String,Aws::String> & value)920     inline ConfigurationItem& WithSupplementaryConfiguration(const Aws::Map<Aws::String, Aws::String>& value) { SetSupplementaryConfiguration(value); return *this;}
921 
922     /**
923      * <p>Configuration attributes that Config returns for certain resource types to
924      * supplement the information returned for the <code>configuration</code>
925      * parameter.</p>
926      */
WithSupplementaryConfiguration(Aws::Map<Aws::String,Aws::String> && value)927     inline ConfigurationItem& WithSupplementaryConfiguration(Aws::Map<Aws::String, Aws::String>&& value) { SetSupplementaryConfiguration(std::move(value)); return *this;}
928 
929     /**
930      * <p>Configuration attributes that Config returns for certain resource types to
931      * supplement the information returned for the <code>configuration</code>
932      * parameter.</p>
933      */
AddSupplementaryConfiguration(const Aws::String & key,const Aws::String & value)934     inline ConfigurationItem& AddSupplementaryConfiguration(const Aws::String& key, const Aws::String& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; }
935 
936     /**
937      * <p>Configuration attributes that Config returns for certain resource types to
938      * supplement the information returned for the <code>configuration</code>
939      * parameter.</p>
940      */
AddSupplementaryConfiguration(Aws::String && key,const Aws::String & value)941     inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, const Aws::String& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), value); return *this; }
942 
943     /**
944      * <p>Configuration attributes that Config returns for certain resource types to
945      * supplement the information returned for the <code>configuration</code>
946      * parameter.</p>
947      */
AddSupplementaryConfiguration(const Aws::String & key,Aws::String && value)948     inline ConfigurationItem& AddSupplementaryConfiguration(const Aws::String& key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, std::move(value)); return *this; }
949 
950     /**
951      * <p>Configuration attributes that Config returns for certain resource types to
952      * supplement the information returned for the <code>configuration</code>
953      * parameter.</p>
954      */
AddSupplementaryConfiguration(Aws::String && key,Aws::String && value)955     inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), std::move(value)); return *this; }
956 
957     /**
958      * <p>Configuration attributes that Config returns for certain resource types to
959      * supplement the information returned for the <code>configuration</code>
960      * parameter.</p>
961      */
AddSupplementaryConfiguration(const char * key,Aws::String && value)962     inline ConfigurationItem& AddSupplementaryConfiguration(const char* key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, std::move(value)); return *this; }
963 
964     /**
965      * <p>Configuration attributes that Config returns for certain resource types to
966      * supplement the information returned for the <code>configuration</code>
967      * parameter.</p>
968      */
AddSupplementaryConfiguration(Aws::String && key,const char * value)969     inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), value); return *this; }
970 
971     /**
972      * <p>Configuration attributes that Config returns for certain resource types to
973      * supplement the information returned for the <code>configuration</code>
974      * parameter.</p>
975      */
AddSupplementaryConfiguration(const char * key,const char * value)976     inline ConfigurationItem& AddSupplementaryConfiguration(const char* key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; }
977 
978   private:
979 
980     Aws::String m_version;
981     bool m_versionHasBeenSet;
982 
983     Aws::String m_accountId;
984     bool m_accountIdHasBeenSet;
985 
986     Aws::Utils::DateTime m_configurationItemCaptureTime;
987     bool m_configurationItemCaptureTimeHasBeenSet;
988 
989     ConfigurationItemStatus m_configurationItemStatus;
990     bool m_configurationItemStatusHasBeenSet;
991 
992     Aws::String m_configurationStateId;
993     bool m_configurationStateIdHasBeenSet;
994 
995     Aws::String m_configurationItemMD5Hash;
996     bool m_configurationItemMD5HashHasBeenSet;
997 
998     Aws::String m_arn;
999     bool m_arnHasBeenSet;
1000 
1001     ResourceType m_resourceType;
1002     bool m_resourceTypeHasBeenSet;
1003 
1004     Aws::String m_resourceId;
1005     bool m_resourceIdHasBeenSet;
1006 
1007     Aws::String m_resourceName;
1008     bool m_resourceNameHasBeenSet;
1009 
1010     Aws::String m_awsRegion;
1011     bool m_awsRegionHasBeenSet;
1012 
1013     Aws::String m_availabilityZone;
1014     bool m_availabilityZoneHasBeenSet;
1015 
1016     Aws::Utils::DateTime m_resourceCreationTime;
1017     bool m_resourceCreationTimeHasBeenSet;
1018 
1019     Aws::Map<Aws::String, Aws::String> m_tags;
1020     bool m_tagsHasBeenSet;
1021 
1022     Aws::Vector<Aws::String> m_relatedEvents;
1023     bool m_relatedEventsHasBeenSet;
1024 
1025     Aws::Vector<Relationship> m_relationships;
1026     bool m_relationshipsHasBeenSet;
1027 
1028     Aws::String m_configuration;
1029     bool m_configurationHasBeenSet;
1030 
1031     Aws::Map<Aws::String, Aws::String> m_supplementaryConfiguration;
1032     bool m_supplementaryConfigurationHasBeenSet;
1033   };
1034 
1035 } // namespace Model
1036 } // namespace ConfigService
1037 } // namespace Aws
1038