{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.AuditManager.Types.AssessmentEvidenceFolder -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.AuditManager.Types.AssessmentEvidenceFolder where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import qualified Amazonka.Prelude as Prelude -- | The folder where Audit Manager stores evidence for an assessment. -- -- /See:/ 'newAssessmentEvidenceFolder' smart constructor. data AssessmentEvidenceFolder = AssessmentEvidenceFolder' { -- | The identifier for the assessment. assessmentId :: Prelude.Maybe Prelude.Text, -- | The total count of evidence that\'s included in the assessment report. assessmentReportSelectionCount :: Prelude.Maybe Prelude.Int, -- | The name of the user who created the evidence folder. author :: Prelude.Maybe Prelude.Text, -- | The unique identifier for the control. controlId :: Prelude.Maybe Prelude.Text, -- | The name of the control. controlName :: Prelude.Maybe Prelude.Text, -- | The identifier for the control set. controlSetId :: Prelude.Maybe Prelude.Text, -- | The Amazon Web Service that the evidence was collected from. dataSource :: Prelude.Maybe Prelude.Text, -- | The date when the first evidence was added to the evidence folder. date :: Prelude.Maybe Data.POSIX, -- | The total number of Amazon Web Services resources that were assessed to -- generate the evidence. evidenceAwsServiceSourceCount :: Prelude.Maybe Prelude.Int, -- | The number of evidence that falls under the compliance check category. -- This evidence is collected from Config or Security Hub. evidenceByTypeComplianceCheckCount :: Prelude.Maybe Prelude.Int, -- | The total number of issues that were reported directly from Security -- Hub, Config, or both. evidenceByTypeComplianceCheckIssuesCount :: Prelude.Maybe Prelude.Int, -- | The number of evidence that falls under the configuration data category. -- This evidence is collected from configuration snapshots of other Amazon -- Web Services such as Amazon EC2, Amazon S3, or IAM. evidenceByTypeConfigurationDataCount :: Prelude.Maybe Prelude.Int, -- | The number of evidence that falls under the manual category. This -- evidence is imported manually. evidenceByTypeManualCount :: Prelude.Maybe Prelude.Int, -- | The number of evidence that falls under the user activity category. This -- evidence is collected from CloudTrail logs. evidenceByTypeUserActivityCount :: Prelude.Maybe Prelude.Int, -- | The amount of evidence that\'s included in the evidence folder. evidenceResourcesIncludedCount :: Prelude.Maybe Prelude.Int, -- | The identifier for the folder that the evidence is stored in. id :: Prelude.Maybe Prelude.Text, -- | The name of the evidence folder. name :: Prelude.Maybe Prelude.Text, -- | The total amount of evidence in the evidence folder. totalEvidence :: Prelude.Maybe Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AssessmentEvidenceFolder' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'assessmentId', 'assessmentEvidenceFolder_assessmentId' - The identifier for the assessment. -- -- 'assessmentReportSelectionCount', 'assessmentEvidenceFolder_assessmentReportSelectionCount' - The total count of evidence that\'s included in the assessment report. -- -- 'author', 'assessmentEvidenceFolder_author' - The name of the user who created the evidence folder. -- -- 'controlId', 'assessmentEvidenceFolder_controlId' - The unique identifier for the control. -- -- 'controlName', 'assessmentEvidenceFolder_controlName' - The name of the control. -- -- 'controlSetId', 'assessmentEvidenceFolder_controlSetId' - The identifier for the control set. -- -- 'dataSource', 'assessmentEvidenceFolder_dataSource' - The Amazon Web Service that the evidence was collected from. -- -- 'date', 'assessmentEvidenceFolder_date' - The date when the first evidence was added to the evidence folder. -- -- 'evidenceAwsServiceSourceCount', 'assessmentEvidenceFolder_evidenceAwsServiceSourceCount' - The total number of Amazon Web Services resources that were assessed to -- generate the evidence. -- -- 'evidenceByTypeComplianceCheckCount', 'assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount' - The number of evidence that falls under the compliance check category. -- This evidence is collected from Config or Security Hub. -- -- 'evidenceByTypeComplianceCheckIssuesCount', 'assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount' - The total number of issues that were reported directly from Security -- Hub, Config, or both. -- -- 'evidenceByTypeConfigurationDataCount', 'assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount' - The number of evidence that falls under the configuration data category. -- This evidence is collected from configuration snapshots of other Amazon -- Web Services such as Amazon EC2, Amazon S3, or IAM. -- -- 'evidenceByTypeManualCount', 'assessmentEvidenceFolder_evidenceByTypeManualCount' - The number of evidence that falls under the manual category. This -- evidence is imported manually. -- -- 'evidenceByTypeUserActivityCount', 'assessmentEvidenceFolder_evidenceByTypeUserActivityCount' - The number of evidence that falls under the user activity category. This -- evidence is collected from CloudTrail logs. -- -- 'evidenceResourcesIncludedCount', 'assessmentEvidenceFolder_evidenceResourcesIncludedCount' - The amount of evidence that\'s included in the evidence folder. -- -- 'id', 'assessmentEvidenceFolder_id' - The identifier for the folder that the evidence is stored in. -- -- 'name', 'assessmentEvidenceFolder_name' - The name of the evidence folder. -- -- 'totalEvidence', 'assessmentEvidenceFolder_totalEvidence' - The total amount of evidence in the evidence folder. newAssessmentEvidenceFolder :: AssessmentEvidenceFolder newAssessmentEvidenceFolder = AssessmentEvidenceFolder' { assessmentId = Prelude.Nothing, assessmentReportSelectionCount = Prelude.Nothing, author = Prelude.Nothing, controlId = Prelude.Nothing, controlName = Prelude.Nothing, controlSetId = Prelude.Nothing, dataSource = Prelude.Nothing, date = Prelude.Nothing, evidenceAwsServiceSourceCount = Prelude.Nothing, evidenceByTypeComplianceCheckCount = Prelude.Nothing, evidenceByTypeComplianceCheckIssuesCount = Prelude.Nothing, evidenceByTypeConfigurationDataCount = Prelude.Nothing, evidenceByTypeManualCount = Prelude.Nothing, evidenceByTypeUserActivityCount = Prelude.Nothing, evidenceResourcesIncludedCount = Prelude.Nothing, id = Prelude.Nothing, name = Prelude.Nothing, totalEvidence = Prelude.Nothing } -- | The identifier for the assessment. assessmentEvidenceFolder_assessmentId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_assessmentId = Lens.lens (\AssessmentEvidenceFolder' {assessmentId} -> assessmentId) (\s@AssessmentEvidenceFolder' {} a -> s {assessmentId = a} :: AssessmentEvidenceFolder) -- | The total count of evidence that\'s included in the assessment report. assessmentEvidenceFolder_assessmentReportSelectionCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_assessmentReportSelectionCount = Lens.lens (\AssessmentEvidenceFolder' {assessmentReportSelectionCount} -> assessmentReportSelectionCount) (\s@AssessmentEvidenceFolder' {} a -> s {assessmentReportSelectionCount = a} :: AssessmentEvidenceFolder) -- | The name of the user who created the evidence folder. assessmentEvidenceFolder_author :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_author = Lens.lens (\AssessmentEvidenceFolder' {author} -> author) (\s@AssessmentEvidenceFolder' {} a -> s {author = a} :: AssessmentEvidenceFolder) -- | The unique identifier for the control. assessmentEvidenceFolder_controlId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_controlId = Lens.lens (\AssessmentEvidenceFolder' {controlId} -> controlId) (\s@AssessmentEvidenceFolder' {} a -> s {controlId = a} :: AssessmentEvidenceFolder) -- | The name of the control. assessmentEvidenceFolder_controlName :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_controlName = Lens.lens (\AssessmentEvidenceFolder' {controlName} -> controlName) (\s@AssessmentEvidenceFolder' {} a -> s {controlName = a} :: AssessmentEvidenceFolder) -- | The identifier for the control set. assessmentEvidenceFolder_controlSetId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_controlSetId = Lens.lens (\AssessmentEvidenceFolder' {controlSetId} -> controlSetId) (\s@AssessmentEvidenceFolder' {} a -> s {controlSetId = a} :: AssessmentEvidenceFolder) -- | The Amazon Web Service that the evidence was collected from. assessmentEvidenceFolder_dataSource :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_dataSource = Lens.lens (\AssessmentEvidenceFolder' {dataSource} -> dataSource) (\s@AssessmentEvidenceFolder' {} a -> s {dataSource = a} :: AssessmentEvidenceFolder) -- | The date when the first evidence was added to the evidence folder. assessmentEvidenceFolder_date :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.UTCTime) assessmentEvidenceFolder_date = Lens.lens (\AssessmentEvidenceFolder' {date} -> date) (\s@AssessmentEvidenceFolder' {} a -> s {date = a} :: AssessmentEvidenceFolder) Prelude.. Lens.mapping Data._Time -- | The total number of Amazon Web Services resources that were assessed to -- generate the evidence. assessmentEvidenceFolder_evidenceAwsServiceSourceCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceAwsServiceSourceCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceAwsServiceSourceCount} -> evidenceAwsServiceSourceCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceAwsServiceSourceCount = a} :: AssessmentEvidenceFolder) -- | The number of evidence that falls under the compliance check category. -- This evidence is collected from Config or Security Hub. assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeComplianceCheckCount} -> evidenceByTypeComplianceCheckCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeComplianceCheckCount = a} :: AssessmentEvidenceFolder) -- | The total number of issues that were reported directly from Security -- Hub, Config, or both. assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeComplianceCheckIssuesCount} -> evidenceByTypeComplianceCheckIssuesCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeComplianceCheckIssuesCount = a} :: AssessmentEvidenceFolder) -- | The number of evidence that falls under the configuration data category. -- This evidence is collected from configuration snapshots of other Amazon -- Web Services such as Amazon EC2, Amazon S3, or IAM. assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeConfigurationDataCount} -> evidenceByTypeConfigurationDataCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeConfigurationDataCount = a} :: AssessmentEvidenceFolder) -- | The number of evidence that falls under the manual category. This -- evidence is imported manually. assessmentEvidenceFolder_evidenceByTypeManualCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceByTypeManualCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeManualCount} -> evidenceByTypeManualCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeManualCount = a} :: AssessmentEvidenceFolder) -- | The number of evidence that falls under the user activity category. This -- evidence is collected from CloudTrail logs. assessmentEvidenceFolder_evidenceByTypeUserActivityCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceByTypeUserActivityCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeUserActivityCount} -> evidenceByTypeUserActivityCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeUserActivityCount = a} :: AssessmentEvidenceFolder) -- | The amount of evidence that\'s included in the evidence folder. assessmentEvidenceFolder_evidenceResourcesIncludedCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_evidenceResourcesIncludedCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceResourcesIncludedCount} -> evidenceResourcesIncludedCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceResourcesIncludedCount = a} :: AssessmentEvidenceFolder) -- | The identifier for the folder that the evidence is stored in. assessmentEvidenceFolder_id :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_id = Lens.lens (\AssessmentEvidenceFolder' {id} -> id) (\s@AssessmentEvidenceFolder' {} a -> s {id = a} :: AssessmentEvidenceFolder) -- | The name of the evidence folder. assessmentEvidenceFolder_name :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text) assessmentEvidenceFolder_name = Lens.lens (\AssessmentEvidenceFolder' {name} -> name) (\s@AssessmentEvidenceFolder' {} a -> s {name = a} :: AssessmentEvidenceFolder) -- | The total amount of evidence in the evidence folder. assessmentEvidenceFolder_totalEvidence :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int) assessmentEvidenceFolder_totalEvidence = Lens.lens (\AssessmentEvidenceFolder' {totalEvidence} -> totalEvidence) (\s@AssessmentEvidenceFolder' {} a -> s {totalEvidence = a} :: AssessmentEvidenceFolder) instance Data.FromJSON AssessmentEvidenceFolder where parseJSON = Data.withObject "AssessmentEvidenceFolder" ( \x -> AssessmentEvidenceFolder' Prelude.<$> (x Data..:? "assessmentId") Prelude.<*> (x Data..:? "assessmentReportSelectionCount") Prelude.<*> (x Data..:? "author") Prelude.<*> (x Data..:? "controlId") Prelude.<*> (x Data..:? "controlName") Prelude.<*> (x Data..:? "controlSetId") Prelude.<*> (x Data..:? "dataSource") Prelude.<*> (x Data..:? "date") Prelude.<*> (x Data..:? "evidenceAwsServiceSourceCount") Prelude.<*> (x Data..:? "evidenceByTypeComplianceCheckCount") Prelude.<*> ( x Data..:? "evidenceByTypeComplianceCheckIssuesCount" ) Prelude.<*> (x Data..:? "evidenceByTypeConfigurationDataCount") Prelude.<*> (x Data..:? "evidenceByTypeManualCount") Prelude.<*> (x Data..:? "evidenceByTypeUserActivityCount") Prelude.<*> (x Data..:? "evidenceResourcesIncludedCount") Prelude.<*> (x Data..:? "id") Prelude.<*> (x Data..:? "name") Prelude.<*> (x Data..:? "totalEvidence") ) instance Prelude.Hashable AssessmentEvidenceFolder where hashWithSalt _salt AssessmentEvidenceFolder' {..} = _salt `Prelude.hashWithSalt` assessmentId `Prelude.hashWithSalt` assessmentReportSelectionCount `Prelude.hashWithSalt` author `Prelude.hashWithSalt` controlId `Prelude.hashWithSalt` controlName `Prelude.hashWithSalt` controlSetId `Prelude.hashWithSalt` dataSource `Prelude.hashWithSalt` date `Prelude.hashWithSalt` evidenceAwsServiceSourceCount `Prelude.hashWithSalt` evidenceByTypeComplianceCheckCount `Prelude.hashWithSalt` evidenceByTypeComplianceCheckIssuesCount `Prelude.hashWithSalt` evidenceByTypeConfigurationDataCount `Prelude.hashWithSalt` evidenceByTypeManualCount `Prelude.hashWithSalt` evidenceByTypeUserActivityCount `Prelude.hashWithSalt` evidenceResourcesIncludedCount `Prelude.hashWithSalt` id `Prelude.hashWithSalt` name `Prelude.hashWithSalt` totalEvidence instance Prelude.NFData AssessmentEvidenceFolder where rnf AssessmentEvidenceFolder' {..} = Prelude.rnf assessmentId `Prelude.seq` Prelude.rnf assessmentReportSelectionCount `Prelude.seq` Prelude.rnf author `Prelude.seq` Prelude.rnf controlId `Prelude.seq` Prelude.rnf controlName `Prelude.seq` Prelude.rnf controlSetId `Prelude.seq` Prelude.rnf dataSource `Prelude.seq` Prelude.rnf date `Prelude.seq` Prelude.rnf evidenceAwsServiceSourceCount `Prelude.seq` Prelude.rnf evidenceByTypeComplianceCheckCount `Prelude.seq` Prelude.rnf evidenceByTypeComplianceCheckIssuesCount `Prelude.seq` Prelude.rnf evidenceByTypeConfigurationDataCount `Prelude.seq` Prelude.rnf evidenceByTypeManualCount `Prelude.seq` Prelude.rnf evidenceByTypeUserActivityCount `Prelude.seq` Prelude.rnf evidenceResourcesIncludedCount `Prelude.seq` Prelude.rnf id `Prelude.seq` Prelude.rnf name `Prelude.seq` Prelude.rnf totalEvidence