/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The detailed configuration of a specified resource.See Also:
* AWS
* API Reference
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 BaseConfigurationItem& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *The version number of the resource configuration.
*/ inline BaseConfigurationItem& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *The version number of the resource configuration.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *The 12-digit Amazon Web Services account ID associated with the resource.
*/ inline BaseConfigurationItem& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *The 12-digit Amazon Web Services account ID associated with the resource.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { SetConfigurationItemCaptureTime(value); return *this;} /** *The time when the configuration recording was initiated.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& WithConfigurationStateId(const Aws::String& value) { SetConfigurationStateId(value); return *this;} /** *An identifier that indicates the ordering of the configuration items of a * resource.
*/ inline BaseConfigurationItem& WithConfigurationStateId(Aws::String&& value) { SetConfigurationStateId(std::move(value)); return *this;} /** *An identifier that indicates the ordering of the configuration items of a * resource.
*/ inline BaseConfigurationItem& WithConfigurationStateId(const char* value) { SetConfigurationStateId(value); return *this;} /** *The Amazon Resource Name (ARN) of the resource.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the resource.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the resource.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the resource.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the resource.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the resource.
*/ inline BaseConfigurationItem& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the resource.
*/ inline BaseConfigurationItem& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the resource.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *The type of Amazon Web Services resource.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *The ID of the resource (for example., sg-xxxxxx).
*/ inline BaseConfigurationItem& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *The ID of the resource (for example., sg-xxxxxx).
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *The custom name of the resource, if available.
*/ inline BaseConfigurationItem& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *The custom name of the resource, if available.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *The region where the resource resides.
*/ inline BaseConfigurationItem& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *The region where the resource resides.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The Availability Zone associated with the resource.
*/ inline BaseConfigurationItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone associated with the resource.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& WithResourceCreationTime(const Aws::Utils::DateTime& value) { SetResourceCreationTime(value); return *this;} /** *The time stamp when the resource was created.
*/ inline BaseConfigurationItem& WithResourceCreationTime(Aws::Utils::DateTime&& value) { SetResourceCreationTime(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 BaseConfigurationItem& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;} /** *The description of the resource configuration.
*/ inline BaseConfigurationItem& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;} /** *The description of the resource configuration.
*/ inline BaseConfigurationItem& 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::MapConfiguration 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::MapConfiguration attributes that Config returns for certain resource types to * supplement the information returned for the configuration parameter.
*/ inline void SetSupplementaryConfiguration(Aws::MapConfiguration attributes that Config returns for certain resource types to * supplement the information returned for the configuration parameter.
*/ inline BaseConfigurationItem& WithSupplementaryConfiguration(const Aws::MapConfiguration attributes that Config returns for certain resource types to * supplement the information returned for the configuration parameter.
*/ inline BaseConfigurationItem& WithSupplementaryConfiguration(Aws::MapConfiguration attributes that Config returns for certain resource types to * supplement the information returned for the configuration parameter.
*/ inline BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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 BaseConfigurationItem& 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_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::String m_configuration; bool m_configurationHasBeenSet = false; Aws::Map