/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConfigService { namespace Model { /** *

A list that contains detailed configurations of a specified * resource.

See Also:

AWS * API Reference

*/ class ConfigurationItem { public: AWS_CONFIGSERVICE_API ConfigurationItem(); AWS_CONFIGSERVICE_API ConfigurationItem(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API ConfigurationItem& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The version number of the resource configuration.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

The version number of the resource configuration.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version number of the resource configuration.

*/ inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version number of the resource configuration.

*/ inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

The version number of the resource configuration.

*/ inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } /** *

The version number of the resource configuration.

*/ inline ConfigurationItem& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

The version number of the resource configuration.

*/ inline ConfigurationItem& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

The version number of the resource configuration.

*/ inline ConfigurationItem& WithVersion(const char* value) { SetVersion(value); return *this;} /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline ConfigurationItem& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline ConfigurationItem& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The 12-digit Amazon Web Services account ID associated with the resource.

*/ inline ConfigurationItem& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The time when the configuration recording was initiated.

*/ inline const Aws::Utils::DateTime& GetConfigurationItemCaptureTime() const{ return m_configurationItemCaptureTime; } /** *

The time when the configuration recording was initiated.

*/ inline bool ConfigurationItemCaptureTimeHasBeenSet() const { return m_configurationItemCaptureTimeHasBeenSet; } /** *

The time when the configuration recording was initiated.

*/ inline void SetConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = value; } /** *

The time when the configuration recording was initiated.

*/ inline void SetConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = std::move(value); } /** *

The time when the configuration recording was initiated.

*/ inline ConfigurationItem& WithConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { SetConfigurationItemCaptureTime(value); return *this;} /** *

The time when the configuration recording was initiated.

*/ inline ConfigurationItem& WithConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { SetConfigurationItemCaptureTime(std::move(value)); return *this;} /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline const ConfigurationItemStatus& GetConfigurationItemStatus() const{ return m_configurationItemStatus; } /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline bool ConfigurationItemStatusHasBeenSet() const { return m_configurationItemStatusHasBeenSet; } /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline void SetConfigurationItemStatus(const ConfigurationItemStatus& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = value; } /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline void SetConfigurationItemStatus(ConfigurationItemStatus&& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = std::move(value); } /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline ConfigurationItem& WithConfigurationItemStatus(const ConfigurationItemStatus& value) { SetConfigurationItemStatus(value); return *this;} /** *

The configuration item status. The valid values are:

  • OK – * The resource configuration has been updated

  • ResourceDiscovered * – The resource was newly discovered

  • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the * recorder excludes the recording of resources of this type

  • *

    ResourceDeleted – The resource was deleted

  • *

    ResourceDeletedNotRecorded – The resource was deleted but its configuration * was not recorded since the recorder excludes the recording of resources of this * type

The CIs do not incur any cost.

*/ inline ConfigurationItem& WithConfigurationItemStatus(ConfigurationItemStatus&& value) { SetConfigurationItemStatus(std::move(value)); return *this;} /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline const Aws::String& GetConfigurationStateId() const{ return m_configurationStateId; } /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline bool ConfigurationStateIdHasBeenSet() const { return m_configurationStateIdHasBeenSet; } /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline void SetConfigurationStateId(const Aws::String& value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId = value; } /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline void SetConfigurationStateId(Aws::String&& value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId = std::move(value); } /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline void SetConfigurationStateId(const char* value) { m_configurationStateIdHasBeenSet = true; m_configurationStateId.assign(value); } /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline ConfigurationItem& WithConfigurationStateId(const Aws::String& value) { SetConfigurationStateId(value); return *this;} /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline ConfigurationItem& WithConfigurationStateId(Aws::String&& value) { SetConfigurationStateId(std::move(value)); return *this;} /** *

An identifier that indicates the ordering of the configuration items of a * resource.

*/ inline ConfigurationItem& WithConfigurationStateId(const char* value) { SetConfigurationStateId(value); return *this;} /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline const Aws::String& GetConfigurationItemMD5Hash() const{ return m_configurationItemMD5Hash; } /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline bool ConfigurationItemMD5HashHasBeenSet() const { return m_configurationItemMD5HashHasBeenSet; } /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline void SetConfigurationItemMD5Hash(const Aws::String& value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash = value; } /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline void SetConfigurationItemMD5Hash(Aws::String&& value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash = std::move(value); } /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline void SetConfigurationItemMD5Hash(const char* value) { m_configurationItemMD5HashHasBeenSet = true; m_configurationItemMD5Hash.assign(value); } /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline ConfigurationItem& WithConfigurationItemMD5Hash(const Aws::String& value) { SetConfigurationItemMD5Hash(value); return *this;} /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline ConfigurationItem& WithConfigurationItemMD5Hash(Aws::String&& value) { SetConfigurationItemMD5Hash(std::move(value)); return *this;} /** *

Unique MD5 hash that represents the configuration item's state.

You * can use MD5 hash to compare the states of two or more configuration items that * are associated with the same resource.

*/ inline ConfigurationItem& WithConfigurationItemMD5Hash(const char* value) { SetConfigurationItemMD5Hash(value); return *this;} /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline ConfigurationItem& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline ConfigurationItem& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) associated with the resource.

*/ inline ConfigurationItem& WithArn(const char* value) { SetArn(value); return *this;} /** *

The type of Amazon Web Services resource.

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The type of Amazon Web Services resource.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The type of Amazon Web Services resource.

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The type of Amazon Web Services resource.

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The type of Amazon Web Services resource.

*/ inline ConfigurationItem& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The type of Amazon Web Services resource.

*/ inline ConfigurationItem& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline ConfigurationItem& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline ConfigurationItem& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The ID of the resource (for example, sg-xxxxxx).

*/ inline ConfigurationItem& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The custom name of the resource, if available.

*/ inline const Aws::String& GetResourceName() const{ return m_resourceName; } /** *

The custom name of the resource, if available.

*/ inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } /** *

The custom name of the resource, if available.

*/ inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } /** *

The custom name of the resource, if available.

*/ inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } /** *

The custom name of the resource, if available.

*/ inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } /** *

The custom name of the resource, if available.

*/ inline ConfigurationItem& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *

The custom name of the resource, if available.

*/ inline ConfigurationItem& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *

The custom name of the resource, if available.

*/ inline ConfigurationItem& WithResourceName(const char* value) { SetResourceName(value); return *this;} /** *

The region where the resource resides.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The region where the resource resides.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The region where the resource resides.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The region where the resource resides.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The region where the resource resides.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The region where the resource resides.

*/ inline ConfigurationItem& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The region where the resource resides.

*/ inline ConfigurationItem& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The region where the resource resides.

*/ inline ConfigurationItem& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

The Availability Zone associated with the resource.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone associated with the resource.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone associated with the resource.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone associated with the resource.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone associated with the resource.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone associated with the resource.

*/ inline ConfigurationItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone associated with the resource.

*/ inline ConfigurationItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone associated with the resource.

*/ inline ConfigurationItem& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The time stamp when the resource was created.

*/ inline const Aws::Utils::DateTime& GetResourceCreationTime() const{ return m_resourceCreationTime; } /** *

The time stamp when the resource was created.

*/ inline bool ResourceCreationTimeHasBeenSet() const { return m_resourceCreationTimeHasBeenSet; } /** *

The time stamp when the resource was created.

*/ inline void SetResourceCreationTime(const Aws::Utils::DateTime& value) { m_resourceCreationTimeHasBeenSet = true; m_resourceCreationTime = value; } /** *

The time stamp when the resource was created.

*/ inline void SetResourceCreationTime(Aws::Utils::DateTime&& value) { m_resourceCreationTimeHasBeenSet = true; m_resourceCreationTime = std::move(value); } /** *

The time stamp when the resource was created.

*/ inline ConfigurationItem& WithResourceCreationTime(const Aws::Utils::DateTime& value) { SetResourceCreationTime(value); return *this;} /** *

The time stamp when the resource was created.

*/ inline ConfigurationItem& WithResourceCreationTime(Aws::Utils::DateTime&& value) { SetResourceCreationTime(std::move(value)); return *this;} /** *

A mapping of key value tags associated with the resource.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A mapping of key value tags associated with the resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A mapping of key value tags associated with the resource.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A mapping of key value tags associated with the resource.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A mapping of key value tags associated with the resource.

*/ inline ConfigurationItem& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline const Aws::Vector& GetRelatedEvents() const{ return m_relatedEvents; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline bool RelatedEventsHasBeenSet() const { return m_relatedEventsHasBeenSet; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline void SetRelatedEvents(const Aws::Vector& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents = value; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline void SetRelatedEvents(Aws::Vector&& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents = std::move(value); } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline ConfigurationItem& WithRelatedEvents(const Aws::Vector& value) { SetRelatedEvents(value); return *this;} /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline ConfigurationItem& WithRelatedEvents(Aws::Vector&& value) { SetRelatedEvents(std::move(value)); return *this;} /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline ConfigurationItem& AddRelatedEvents(const Aws::String& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(value); return *this; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline ConfigurationItem& AddRelatedEvents(Aws::String&& value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(std::move(value)); return *this; } /** *

A list of CloudTrail event IDs.

A populated field indicates that the * current configuration was initiated by the events recorded in the CloudTrail * log. For more information about CloudTrail, see What * Is CloudTrail.

An empty field indicates that the current * configuration was not initiated by any event. As of Version 1.3, the * relatedEvents field is empty. You can access the LookupEvents * API in the CloudTrail API Reference to retrieve the events for the * resource.

*/ inline ConfigurationItem& AddRelatedEvents(const char* value) { m_relatedEventsHasBeenSet = true; m_relatedEvents.push_back(value); return *this; } /** *

A list of related Amazon Web Services resources.

*/ inline const Aws::Vector& GetRelationships() const{ return m_relationships; } /** *

A list of related Amazon Web Services resources.

*/ inline bool RelationshipsHasBeenSet() const { return m_relationshipsHasBeenSet; } /** *

A list of related Amazon Web Services resources.

*/ inline void SetRelationships(const Aws::Vector& value) { m_relationshipsHasBeenSet = true; m_relationships = value; } /** *

A list of related Amazon Web Services resources.

*/ inline void SetRelationships(Aws::Vector&& value) { m_relationshipsHasBeenSet = true; m_relationships = std::move(value); } /** *

A list of related Amazon Web Services resources.

*/ inline ConfigurationItem& WithRelationships(const Aws::Vector& value) { SetRelationships(value); return *this;} /** *

A list of related Amazon Web Services resources.

*/ inline ConfigurationItem& WithRelationships(Aws::Vector&& value) { SetRelationships(std::move(value)); return *this;} /** *

A list of related Amazon Web Services resources.

*/ inline ConfigurationItem& AddRelationships(const Relationship& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(value); return *this; } /** *

A list of related Amazon Web Services resources.

*/ inline ConfigurationItem& AddRelationships(Relationship&& value) { m_relationshipsHasBeenSet = true; m_relationships.push_back(std::move(value)); return *this; } /** *

The description of the resource configuration.

*/ inline const Aws::String& GetConfiguration() const{ return m_configuration; } /** *

The description of the resource configuration.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The description of the resource configuration.

*/ inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The description of the resource configuration.

*/ inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The description of the resource configuration.

*/ inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); } /** *

The description of the resource configuration.

*/ inline ConfigurationItem& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;} /** *

The description of the resource configuration.

*/ inline ConfigurationItem& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The description of the resource configuration.

*/ inline ConfigurationItem& WithConfiguration(const char* value) { SetConfiguration(value); return *this;} /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline const Aws::Map& GetSupplementaryConfiguration() const{ return m_supplementaryConfiguration; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline bool SupplementaryConfigurationHasBeenSet() const { return m_supplementaryConfigurationHasBeenSet; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline void SetSupplementaryConfiguration(const Aws::Map& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration = value; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline void SetSupplementaryConfiguration(Aws::Map&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration = std::move(value); } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& WithSupplementaryConfiguration(const Aws::Map& value) { SetSupplementaryConfiguration(value); return *this;} /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& WithSupplementaryConfiguration(Aws::Map&& value) { SetSupplementaryConfiguration(std::move(value)); return *this;} /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(const Aws::String& key, const Aws::String& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, const Aws::String& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), value); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(const Aws::String& key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, std::move(value)); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), std::move(value)); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(const char* key, Aws::String&& value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, std::move(value)); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(Aws::String&& key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(std::move(key), value); return *this; } /** *

Configuration attributes that Config returns for certain resource types to * supplement the information returned for the configuration * parameter.

*/ inline ConfigurationItem& AddSupplementaryConfiguration(const char* key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; } private: Aws::String m_version; bool m_versionHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::Utils::DateTime m_configurationItemCaptureTime; bool m_configurationItemCaptureTimeHasBeenSet = false; ConfigurationItemStatus m_configurationItemStatus; bool m_configurationItemStatusHasBeenSet = false; Aws::String m_configurationStateId; bool m_configurationStateIdHasBeenSet = false; Aws::String m_configurationItemMD5Hash; bool m_configurationItemMD5HashHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceName; bool m_resourceNameHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::Utils::DateTime m_resourceCreationTime; bool m_resourceCreationTimeHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_relatedEvents; bool m_relatedEventsHasBeenSet = false; Aws::Vector m_relationships; bool m_relationshipsHasBeenSet = false; Aws::String m_configuration; bool m_configurationHasBeenSet = false; Aws::Map m_supplementaryConfiguration; bool m_supplementaryConfigurationHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws