{-# 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.MigrationHubStrategy.Types.AssessmentSummary -- 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.MigrationHubStrategy.Types.AssessmentSummary where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.MigrationHubStrategy.Types.AntipatternReportStatus import Amazonka.MigrationHubStrategy.Types.AntipatternSeveritySummary import Amazonka.MigrationHubStrategy.Types.ApplicationComponentStatusSummary import Amazonka.MigrationHubStrategy.Types.ApplicationComponentSummary import Amazonka.MigrationHubStrategy.Types.S3Object import Amazonka.MigrationHubStrategy.Types.ServerStatusSummary import Amazonka.MigrationHubStrategy.Types.ServerSummary import Amazonka.MigrationHubStrategy.Types.StrategySummary import qualified Amazonka.Prelude as Prelude -- | Contains the summary of the assessment results. -- -- /See:/ 'newAssessmentSummary' smart constructor. data AssessmentSummary = AssessmentSummary' { -- | The Amazon S3 object containing the anti-pattern report. antipatternReportS3Object :: Prelude.Maybe S3Object, -- | The status of the anti-pattern report. antipatternReportStatus :: Prelude.Maybe AntipatternReportStatus, -- | The status message of the anti-pattern report. antipatternReportStatusMessage :: Prelude.Maybe Prelude.Text, -- | The time the assessment was performed. lastAnalyzedTimestamp :: Prelude.Maybe Data.POSIX, -- | List of AntipatternSeveritySummary. listAntipatternSeveritySummary :: Prelude.Maybe [AntipatternSeveritySummary], -- | List of status summaries of the analyzed application components. listApplicationComponentStatusSummary :: Prelude.Maybe [ApplicationComponentStatusSummary], -- | List of ApplicationComponentStrategySummary. listApplicationComponentStrategySummary :: Prelude.Maybe [StrategySummary], -- | List of ApplicationComponentSummary. listApplicationComponentSummary :: Prelude.Maybe [ApplicationComponentSummary], -- | List of status summaries of the analyzed servers. listServerStatusSummary :: Prelude.Maybe [ServerStatusSummary], -- | List of ServerStrategySummary. listServerStrategySummary :: Prelude.Maybe [StrategySummary], -- | List of ServerSummary. listServerSummary :: Prelude.Maybe [ServerSummary] } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AssessmentSummary' 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: -- -- 'antipatternReportS3Object', 'assessmentSummary_antipatternReportS3Object' - The Amazon S3 object containing the anti-pattern report. -- -- 'antipatternReportStatus', 'assessmentSummary_antipatternReportStatus' - The status of the anti-pattern report. -- -- 'antipatternReportStatusMessage', 'assessmentSummary_antipatternReportStatusMessage' - The status message of the anti-pattern report. -- -- 'lastAnalyzedTimestamp', 'assessmentSummary_lastAnalyzedTimestamp' - The time the assessment was performed. -- -- 'listAntipatternSeveritySummary', 'assessmentSummary_listAntipatternSeveritySummary' - List of AntipatternSeveritySummary. -- -- 'listApplicationComponentStatusSummary', 'assessmentSummary_listApplicationComponentStatusSummary' - List of status summaries of the analyzed application components. -- -- 'listApplicationComponentStrategySummary', 'assessmentSummary_listApplicationComponentStrategySummary' - List of ApplicationComponentStrategySummary. -- -- 'listApplicationComponentSummary', 'assessmentSummary_listApplicationComponentSummary' - List of ApplicationComponentSummary. -- -- 'listServerStatusSummary', 'assessmentSummary_listServerStatusSummary' - List of status summaries of the analyzed servers. -- -- 'listServerStrategySummary', 'assessmentSummary_listServerStrategySummary' - List of ServerStrategySummary. -- -- 'listServerSummary', 'assessmentSummary_listServerSummary' - List of ServerSummary. newAssessmentSummary :: AssessmentSummary newAssessmentSummary = AssessmentSummary' { antipatternReportS3Object = Prelude.Nothing, antipatternReportStatus = Prelude.Nothing, antipatternReportStatusMessage = Prelude.Nothing, lastAnalyzedTimestamp = Prelude.Nothing, listAntipatternSeveritySummary = Prelude.Nothing, listApplicationComponentStatusSummary = Prelude.Nothing, listApplicationComponentStrategySummary = Prelude.Nothing, listApplicationComponentSummary = Prelude.Nothing, listServerStatusSummary = Prelude.Nothing, listServerStrategySummary = Prelude.Nothing, listServerSummary = Prelude.Nothing } -- | The Amazon S3 object containing the anti-pattern report. assessmentSummary_antipatternReportS3Object :: Lens.Lens' AssessmentSummary (Prelude.Maybe S3Object) assessmentSummary_antipatternReportS3Object = Lens.lens (\AssessmentSummary' {antipatternReportS3Object} -> antipatternReportS3Object) (\s@AssessmentSummary' {} a -> s {antipatternReportS3Object = a} :: AssessmentSummary) -- | The status of the anti-pattern report. assessmentSummary_antipatternReportStatus :: Lens.Lens' AssessmentSummary (Prelude.Maybe AntipatternReportStatus) assessmentSummary_antipatternReportStatus = Lens.lens (\AssessmentSummary' {antipatternReportStatus} -> antipatternReportStatus) (\s@AssessmentSummary' {} a -> s {antipatternReportStatus = a} :: AssessmentSummary) -- | The status message of the anti-pattern report. assessmentSummary_antipatternReportStatusMessage :: Lens.Lens' AssessmentSummary (Prelude.Maybe Prelude.Text) assessmentSummary_antipatternReportStatusMessage = Lens.lens (\AssessmentSummary' {antipatternReportStatusMessage} -> antipatternReportStatusMessage) (\s@AssessmentSummary' {} a -> s {antipatternReportStatusMessage = a} :: AssessmentSummary) -- | The time the assessment was performed. assessmentSummary_lastAnalyzedTimestamp :: Lens.Lens' AssessmentSummary (Prelude.Maybe Prelude.UTCTime) assessmentSummary_lastAnalyzedTimestamp = Lens.lens (\AssessmentSummary' {lastAnalyzedTimestamp} -> lastAnalyzedTimestamp) (\s@AssessmentSummary' {} a -> s {lastAnalyzedTimestamp = a} :: AssessmentSummary) Prelude.. Lens.mapping Data._Time -- | List of AntipatternSeveritySummary. assessmentSummary_listAntipatternSeveritySummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [AntipatternSeveritySummary]) assessmentSummary_listAntipatternSeveritySummary = Lens.lens (\AssessmentSummary' {listAntipatternSeveritySummary} -> listAntipatternSeveritySummary) (\s@AssessmentSummary' {} a -> s {listAntipatternSeveritySummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of status summaries of the analyzed application components. assessmentSummary_listApplicationComponentStatusSummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [ApplicationComponentStatusSummary]) assessmentSummary_listApplicationComponentStatusSummary = Lens.lens (\AssessmentSummary' {listApplicationComponentStatusSummary} -> listApplicationComponentStatusSummary) (\s@AssessmentSummary' {} a -> s {listApplicationComponentStatusSummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of ApplicationComponentStrategySummary. assessmentSummary_listApplicationComponentStrategySummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [StrategySummary]) assessmentSummary_listApplicationComponentStrategySummary = Lens.lens (\AssessmentSummary' {listApplicationComponentStrategySummary} -> listApplicationComponentStrategySummary) (\s@AssessmentSummary' {} a -> s {listApplicationComponentStrategySummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of ApplicationComponentSummary. assessmentSummary_listApplicationComponentSummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [ApplicationComponentSummary]) assessmentSummary_listApplicationComponentSummary = Lens.lens (\AssessmentSummary' {listApplicationComponentSummary} -> listApplicationComponentSummary) (\s@AssessmentSummary' {} a -> s {listApplicationComponentSummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of status summaries of the analyzed servers. assessmentSummary_listServerStatusSummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [ServerStatusSummary]) assessmentSummary_listServerStatusSummary = Lens.lens (\AssessmentSummary' {listServerStatusSummary} -> listServerStatusSummary) (\s@AssessmentSummary' {} a -> s {listServerStatusSummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of ServerStrategySummary. assessmentSummary_listServerStrategySummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [StrategySummary]) assessmentSummary_listServerStrategySummary = Lens.lens (\AssessmentSummary' {listServerStrategySummary} -> listServerStrategySummary) (\s@AssessmentSummary' {} a -> s {listServerStrategySummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced -- | List of ServerSummary. assessmentSummary_listServerSummary :: Lens.Lens' AssessmentSummary (Prelude.Maybe [ServerSummary]) assessmentSummary_listServerSummary = Lens.lens (\AssessmentSummary' {listServerSummary} -> listServerSummary) (\s@AssessmentSummary' {} a -> s {listServerSummary = a} :: AssessmentSummary) Prelude.. Lens.mapping Lens.coerced instance Data.FromJSON AssessmentSummary where parseJSON = Data.withObject "AssessmentSummary" ( \x -> AssessmentSummary' Prelude.<$> (x Data..:? "antipatternReportS3Object") Prelude.<*> (x Data..:? "antipatternReportStatus") Prelude.<*> (x Data..:? "antipatternReportStatusMessage") Prelude.<*> (x Data..:? "lastAnalyzedTimestamp") Prelude.<*> ( x Data..:? "listAntipatternSeveritySummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listApplicationComponentStatusSummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listApplicationComponentStrategySummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listApplicationComponentSummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listServerStatusSummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listServerStrategySummary" Data..!= Prelude.mempty ) Prelude.<*> ( x Data..:? "listServerSummary" Data..!= Prelude.mempty ) ) instance Prelude.Hashable AssessmentSummary where hashWithSalt _salt AssessmentSummary' {..} = _salt `Prelude.hashWithSalt` antipatternReportS3Object `Prelude.hashWithSalt` antipatternReportStatus `Prelude.hashWithSalt` antipatternReportStatusMessage `Prelude.hashWithSalt` lastAnalyzedTimestamp `Prelude.hashWithSalt` listAntipatternSeveritySummary `Prelude.hashWithSalt` listApplicationComponentStatusSummary `Prelude.hashWithSalt` listApplicationComponentStrategySummary `Prelude.hashWithSalt` listApplicationComponentSummary `Prelude.hashWithSalt` listServerStatusSummary `Prelude.hashWithSalt` listServerStrategySummary `Prelude.hashWithSalt` listServerSummary instance Prelude.NFData AssessmentSummary where rnf AssessmentSummary' {..} = Prelude.rnf antipatternReportS3Object `Prelude.seq` Prelude.rnf antipatternReportStatus `Prelude.seq` Prelude.rnf antipatternReportStatusMessage `Prelude.seq` Prelude.rnf lastAnalyzedTimestamp `Prelude.seq` Prelude.rnf listAntipatternSeveritySummary `Prelude.seq` Prelude.rnf listApplicationComponentStatusSummary `Prelude.seq` Prelude.rnf listApplicationComponentStrategySummary `Prelude.seq` Prelude.rnf listApplicationComponentSummary `Prelude.seq` Prelude.rnf listServerStatusSummary `Prelude.seq` Prelude.rnf listServerStrategySummary `Prelude.seq` Prelude.rnf listServerSummary