/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A record that contains the information needed to demonstrate compliance with
* the requirements specified by a control. Examples of evidence include change
* activity invoked by a user, or a system configuration snapshot. See
* Also:
AWS
* API Reference
The data source where the evidence was collected from.
*/ inline const Aws::String& GetDataSource() const{ return m_dataSource; } /** *The data source where the evidence was collected from.
*/ inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } /** *The data source where the evidence was collected from.
*/ inline void SetDataSource(const Aws::String& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } /** *The data source where the evidence was collected from.
*/ inline void SetDataSource(Aws::String&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } /** *The data source where the evidence was collected from.
*/ inline void SetDataSource(const char* value) { m_dataSourceHasBeenSet = true; m_dataSource.assign(value); } /** *The data source where the evidence was collected from.
*/ inline Evidence& WithDataSource(const Aws::String& value) { SetDataSource(value); return *this;} /** *The data source where the evidence was collected from.
*/ inline Evidence& WithDataSource(Aws::String&& value) { SetDataSource(std::move(value)); return *this;} /** *The data source where the evidence was collected from.
*/ inline Evidence& WithDataSource(const char* value) { SetDataSource(value); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline const Aws::String& GetEvidenceAwsAccountId() const{ return m_evidenceAwsAccountId; } /** *The identifier for the Amazon Web Services account.
*/ inline bool EvidenceAwsAccountIdHasBeenSet() const { return m_evidenceAwsAccountIdHasBeenSet; } /** *The identifier for the Amazon Web Services account.
*/ inline void SetEvidenceAwsAccountId(const Aws::String& value) { m_evidenceAwsAccountIdHasBeenSet = true; m_evidenceAwsAccountId = value; } /** *The identifier for the Amazon Web Services account.
*/ inline void SetEvidenceAwsAccountId(Aws::String&& value) { m_evidenceAwsAccountIdHasBeenSet = true; m_evidenceAwsAccountId = std::move(value); } /** *The identifier for the Amazon Web Services account.
*/ inline void SetEvidenceAwsAccountId(const char* value) { m_evidenceAwsAccountIdHasBeenSet = true; m_evidenceAwsAccountId.assign(value); } /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithEvidenceAwsAccountId(const Aws::String& value) { SetEvidenceAwsAccountId(value); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithEvidenceAwsAccountId(Aws::String&& value) { SetEvidenceAwsAccountId(std::move(value)); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithEvidenceAwsAccountId(const char* value) { SetEvidenceAwsAccountId(value); return *this;} /** *The timestamp that represents when the evidence was collected.
*/ inline const Aws::Utils::DateTime& GetTime() const{ return m_time; } /** *The timestamp that represents when the evidence was collected.
*/ inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } /** *The timestamp that represents when the evidence was collected.
*/ inline void SetTime(const Aws::Utils::DateTime& value) { m_timeHasBeenSet = true; m_time = value; } /** *The timestamp that represents when the evidence was collected.
*/ inline void SetTime(Aws::Utils::DateTime&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } /** *The timestamp that represents when the evidence was collected.
*/ inline Evidence& WithTime(const Aws::Utils::DateTime& value) { SetTime(value); return *this;} /** *The timestamp that represents when the evidence was collected.
*/ inline Evidence& WithTime(Aws::Utils::DateTime&& value) { SetTime(std::move(value)); return *this;} /** *The Amazon Web Service that the evidence is collected from.
*/ inline const Aws::String& GetEventSource() const{ return m_eventSource; } /** *The Amazon Web Service that the evidence is collected from.
*/ inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; } /** *The Amazon Web Service that the evidence is collected from.
*/ inline void SetEventSource(const Aws::String& value) { m_eventSourceHasBeenSet = true; m_eventSource = value; } /** *The Amazon Web Service that the evidence is collected from.
*/ inline void SetEventSource(Aws::String&& value) { m_eventSourceHasBeenSet = true; m_eventSource = std::move(value); } /** *The Amazon Web Service that the evidence is collected from.
*/ inline void SetEventSource(const char* value) { m_eventSourceHasBeenSet = true; m_eventSource.assign(value); } /** *The Amazon Web Service that the evidence is collected from.
*/ inline Evidence& WithEventSource(const Aws::String& value) { SetEventSource(value); return *this;} /** *The Amazon Web Service that the evidence is collected from.
*/ inline Evidence& WithEventSource(Aws::String&& value) { SetEventSource(std::move(value)); return *this;} /** *The Amazon Web Service that the evidence is collected from.
*/ inline Evidence& WithEventSource(const char* value) { SetEventSource(value); return *this;} /** *The name of the evidence event.
*/ inline const Aws::String& GetEventName() const{ return m_eventName; } /** *The name of the evidence event.
*/ inline bool EventNameHasBeenSet() const { return m_eventNameHasBeenSet; } /** *The name of the evidence event.
*/ inline void SetEventName(const Aws::String& value) { m_eventNameHasBeenSet = true; m_eventName = value; } /** *The name of the evidence event.
*/ inline void SetEventName(Aws::String&& value) { m_eventNameHasBeenSet = true; m_eventName = std::move(value); } /** *The name of the evidence event.
*/ inline void SetEventName(const char* value) { m_eventNameHasBeenSet = true; m_eventName.assign(value); } /** *The name of the evidence event.
*/ inline Evidence& WithEventName(const Aws::String& value) { SetEventName(value); return *this;} /** *The name of the evidence event.
*/ inline Evidence& WithEventName(Aws::String&& value) { SetEventName(std::move(value)); return *this;} /** *The name of the evidence event.
*/ inline Evidence& WithEventName(const char* value) { SetEventName(value); return *this;} /** *The type of automated evidence.
*/ inline const Aws::String& GetEvidenceByType() const{ return m_evidenceByType; } /** *The type of automated evidence.
*/ inline bool EvidenceByTypeHasBeenSet() const { return m_evidenceByTypeHasBeenSet; } /** *The type of automated evidence.
*/ inline void SetEvidenceByType(const Aws::String& value) { m_evidenceByTypeHasBeenSet = true; m_evidenceByType = value; } /** *The type of automated evidence.
*/ inline void SetEvidenceByType(Aws::String&& value) { m_evidenceByTypeHasBeenSet = true; m_evidenceByType = std::move(value); } /** *The type of automated evidence.
*/ inline void SetEvidenceByType(const char* value) { m_evidenceByTypeHasBeenSet = true; m_evidenceByType.assign(value); } /** *The type of automated evidence.
*/ inline Evidence& WithEvidenceByType(const Aws::String& value) { SetEvidenceByType(value); return *this;} /** *The type of automated evidence.
*/ inline Evidence& WithEvidenceByType(Aws::String&& value) { SetEvidenceByType(std::move(value)); return *this;} /** *The type of automated evidence.
*/ inline Evidence& WithEvidenceByType(const char* value) { SetEvidenceByType(value); return *this;} /** *The list of resources that are assessed to generate the evidence.
*/ inline const Aws::VectorThe list of resources that are assessed to generate the evidence.
*/ inline bool ResourcesIncludedHasBeenSet() const { return m_resourcesIncludedHasBeenSet; } /** *The list of resources that are assessed to generate the evidence.
*/ inline void SetResourcesIncluded(const Aws::VectorThe list of resources that are assessed to generate the evidence.
*/ inline void SetResourcesIncluded(Aws::VectorThe list of resources that are assessed to generate the evidence.
*/ inline Evidence& WithResourcesIncluded(const Aws::VectorThe list of resources that are assessed to generate the evidence.
*/ inline Evidence& WithResourcesIncluded(Aws::VectorThe list of resources that are assessed to generate the evidence.
*/ inline Evidence& AddResourcesIncluded(const Resource& value) { m_resourcesIncludedHasBeenSet = true; m_resourcesIncluded.push_back(value); return *this; } /** *The list of resources that are assessed to generate the evidence.
*/ inline Evidence& AddResourcesIncluded(Resource&& value) { m_resourcesIncludedHasBeenSet = true; m_resourcesIncluded.push_back(std::move(value)); return *this; } /** * The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The names and values that are used by the evidence event. This includes an
* attribute name (such as allowUsersToChangePassword
) and value (such
* as true
or false
).
The unique identifier for the user or role that's associated with the * evidence.
*/ inline const Aws::String& GetIamId() const{ return m_iamId; } /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline bool IamIdHasBeenSet() const { return m_iamIdHasBeenSet; } /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline void SetIamId(const Aws::String& value) { m_iamIdHasBeenSet = true; m_iamId = value; } /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline void SetIamId(Aws::String&& value) { m_iamIdHasBeenSet = true; m_iamId = std::move(value); } /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline void SetIamId(const char* value) { m_iamIdHasBeenSet = true; m_iamId.assign(value); } /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline Evidence& WithIamId(const Aws::String& value) { SetIamId(value); return *this;} /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline Evidence& WithIamId(Aws::String&& value) { SetIamId(std::move(value)); return *this;} /** *The unique identifier for the user or role that's associated with the * evidence.
*/ inline Evidence& WithIamId(const char* value) { SetIamId(value); return *this;} /** *The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The evaluation status for automated evidence that falls under the compliance * check category.
Audit Manager classes evidence as non-compliant * if Security Hub reports a Fail result, or if Config reports a * Non-compliant result.
Audit Manager classes evidence as * compliant if Security Hub reports a Pass result, or if Config reports a * Compliant result.
If a compliance check isn't available * or applicable, then no compliance evaluation can be made for that evidence. This * is the case if the evidence uses Config or Security Hub as the underlying data * source type, but those services aren't enabled. This is also the case if the * evidence uses an underlying data source type that doesn't support compliance * checks (such as manual evidence, Amazon Web Services API calls, or CloudTrail). *
The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline const Aws::String& GetAwsOrganization() const{ return m_awsOrganization; } /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline bool AwsOrganizationHasBeenSet() const { return m_awsOrganizationHasBeenSet; } /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline void SetAwsOrganization(const Aws::String& value) { m_awsOrganizationHasBeenSet = true; m_awsOrganization = value; } /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline void SetAwsOrganization(Aws::String&& value) { m_awsOrganizationHasBeenSet = true; m_awsOrganization = std::move(value); } /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline void SetAwsOrganization(const char* value) { m_awsOrganizationHasBeenSet = true; m_awsOrganization.assign(value); } /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline Evidence& WithAwsOrganization(const Aws::String& value) { SetAwsOrganization(value); return *this;} /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline Evidence& WithAwsOrganization(Aws::String&& value) { SetAwsOrganization(std::move(value)); return *this;} /** *The Amazon Web Services account that the evidence is collected from, and its * organization path.
*/ inline Evidence& WithAwsOrganization(const char* value) { SetAwsOrganization(value); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *The identifier for the Amazon Web Services account.
*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *The identifier for the Amazon Web Services account.
*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *The identifier for the Amazon Web Services account.
*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *The identifier for the Amazon Web Services account.
*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *The identifier for the Amazon Web Services account.
*/ inline Evidence& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *The identifier for the folder that the evidence is stored in.
*/ inline const Aws::String& GetEvidenceFolderId() const{ return m_evidenceFolderId; } /** *The identifier for the folder that the evidence is stored in.
*/ inline bool EvidenceFolderIdHasBeenSet() const { return m_evidenceFolderIdHasBeenSet; } /** *The identifier for the folder that the evidence is stored in.
*/ inline void SetEvidenceFolderId(const Aws::String& value) { m_evidenceFolderIdHasBeenSet = true; m_evidenceFolderId = value; } /** *The identifier for the folder that the evidence is stored in.
*/ inline void SetEvidenceFolderId(Aws::String&& value) { m_evidenceFolderIdHasBeenSet = true; m_evidenceFolderId = std::move(value); } /** *The identifier for the folder that the evidence is stored in.
*/ inline void SetEvidenceFolderId(const char* value) { m_evidenceFolderIdHasBeenSet = true; m_evidenceFolderId.assign(value); } /** *The identifier for the folder that the evidence is stored in.
*/ inline Evidence& WithEvidenceFolderId(const Aws::String& value) { SetEvidenceFolderId(value); return *this;} /** *The identifier for the folder that the evidence is stored in.
*/ inline Evidence& WithEvidenceFolderId(Aws::String&& value) { SetEvidenceFolderId(std::move(value)); return *this;} /** *The identifier for the folder that the evidence is stored in.
*/ inline Evidence& WithEvidenceFolderId(const char* value) { SetEvidenceFolderId(value); return *this;} /** *The identifier for the evidence.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The identifier for the evidence.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The identifier for the evidence.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The identifier for the evidence.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The identifier for the evidence.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The identifier for the evidence.
*/ inline Evidence& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The identifier for the evidence.
*/ inline Evidence& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The identifier for the evidence.
*/ inline Evidence& WithId(const char* value) { SetId(value); return *this;} /** *Specifies whether the evidence is included in the assessment report.
*/ inline const Aws::String& GetAssessmentReportSelection() const{ return m_assessmentReportSelection; } /** *Specifies whether the evidence is included in the assessment report.
*/ inline bool AssessmentReportSelectionHasBeenSet() const { return m_assessmentReportSelectionHasBeenSet; } /** *Specifies whether the evidence is included in the assessment report.
*/ inline void SetAssessmentReportSelection(const Aws::String& value) { m_assessmentReportSelectionHasBeenSet = true; m_assessmentReportSelection = value; } /** *Specifies whether the evidence is included in the assessment report.
*/ inline void SetAssessmentReportSelection(Aws::String&& value) { m_assessmentReportSelectionHasBeenSet = true; m_assessmentReportSelection = std::move(value); } /** *Specifies whether the evidence is included in the assessment report.
*/ inline void SetAssessmentReportSelection(const char* value) { m_assessmentReportSelectionHasBeenSet = true; m_assessmentReportSelection.assign(value); } /** *Specifies whether the evidence is included in the assessment report.
*/ inline Evidence& WithAssessmentReportSelection(const Aws::String& value) { SetAssessmentReportSelection(value); return *this;} /** *Specifies whether the evidence is included in the assessment report.
*/ inline Evidence& WithAssessmentReportSelection(Aws::String&& value) { SetAssessmentReportSelection(std::move(value)); return *this;} /** *Specifies whether the evidence is included in the assessment report.
*/ inline Evidence& WithAssessmentReportSelection(const char* value) { SetAssessmentReportSelection(value); return *this;} private: Aws::String m_dataSource; bool m_dataSourceHasBeenSet = false; Aws::String m_evidenceAwsAccountId; bool m_evidenceAwsAccountIdHasBeenSet = false; Aws::Utils::DateTime m_time; bool m_timeHasBeenSet = false; Aws::String m_eventSource; bool m_eventSourceHasBeenSet = false; Aws::String m_eventName; bool m_eventNameHasBeenSet = false; Aws::String m_evidenceByType; bool m_evidenceByTypeHasBeenSet = false; Aws::Vector