{-# 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.CodeBuild.Types.Report
-- 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.CodeBuild.Types.Report where

import Amazonka.CodeBuild.Types.CodeCoverageReportSummary
import Amazonka.CodeBuild.Types.ReportExportConfig
import Amazonka.CodeBuild.Types.ReportStatusType
import Amazonka.CodeBuild.Types.ReportType
import Amazonka.CodeBuild.Types.TestReportSummary
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

-- | Information about the results from running a series of test cases during
-- the run of a build project. The test cases are specified in the
-- buildspec for the build project using one or more paths to the test case
-- files. You can specify any type of tests you want, such as unit tests,
-- integration tests, and functional tests.
--
-- /See:/ 'newReport' smart constructor.
data Report = Report'
  { -- | The ARN of the report run.
    Report -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | A @CodeCoverageReportSummary@ object that contains a code coverage
    -- summary for this report.
    Report -> Maybe CodeCoverageReportSummary
codeCoverageSummary :: Prelude.Maybe CodeCoverageReportSummary,
    -- | The date and time this report run occurred.
    Report -> Maybe POSIX
created :: Prelude.Maybe Data.POSIX,
    -- | The ARN of the build run that generated this report.
    Report -> Maybe Text
executionId :: Prelude.Maybe Prelude.Text,
    -- | The date and time a report expires. A report expires 30 days after it is
    -- created. An expired report is not available to view in CodeBuild.
    Report -> Maybe POSIX
expired :: Prelude.Maybe Data.POSIX,
    -- | Information about where the raw data used to generate this report was
    -- exported.
    Report -> Maybe ReportExportConfig
exportConfig :: Prelude.Maybe ReportExportConfig,
    -- | The name of the report that was run.
    Report -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the report group associated with this report.
    Report -> Maybe Text
reportGroupArn :: Prelude.Maybe Prelude.Text,
    -- | The status of this report.
    Report -> Maybe ReportStatusType
status :: Prelude.Maybe ReportStatusType,
    -- | A @TestReportSummary@ object that contains information about this test
    -- report.
    Report -> Maybe TestReportSummary
testSummary :: Prelude.Maybe TestReportSummary,
    -- | A boolean that specifies if this report run is truncated. The list of
    -- test cases is truncated after the maximum number of test cases is
    -- reached.
    Report -> Maybe Bool
truncated :: Prelude.Maybe Prelude.Bool,
    -- | The type of the report that was run.
    --
    -- [CODE_COVERAGE]
    --     A code coverage report.
    --
    -- [TEST]
    --     A test report.
    Report -> Maybe ReportType
type' :: Prelude.Maybe ReportType
  }
  deriving (Report -> Report -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Report -> Report -> Bool
$c/= :: Report -> Report -> Bool
== :: Report -> Report -> Bool
$c== :: Report -> Report -> Bool
Prelude.Eq, ReadPrec [Report]
ReadPrec Report
Int -> ReadS Report
ReadS [Report]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Report]
$creadListPrec :: ReadPrec [Report]
readPrec :: ReadPrec Report
$creadPrec :: ReadPrec Report
readList :: ReadS [Report]
$creadList :: ReadS [Report]
readsPrec :: Int -> ReadS Report
$creadsPrec :: Int -> ReadS Report
Prelude.Read, Int -> Report -> ShowS
[Report] -> ShowS
Report -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Report] -> ShowS
$cshowList :: [Report] -> ShowS
show :: Report -> String
$cshow :: Report -> String
showsPrec :: Int -> Report -> ShowS
$cshowsPrec :: Int -> Report -> ShowS
Prelude.Show, forall x. Rep Report x -> Report
forall x. Report -> Rep Report x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Report x -> Report
$cfrom :: forall x. Report -> Rep Report x
Prelude.Generic)

-- |
-- Create a value of 'Report' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'arn', 'report_arn' - The ARN of the report run.
--
-- 'codeCoverageSummary', 'report_codeCoverageSummary' - A @CodeCoverageReportSummary@ object that contains a code coverage
-- summary for this report.
--
-- 'created', 'report_created' - The date and time this report run occurred.
--
-- 'executionId', 'report_executionId' - The ARN of the build run that generated this report.
--
-- 'expired', 'report_expired' - The date and time a report expires. A report expires 30 days after it is
-- created. An expired report is not available to view in CodeBuild.
--
-- 'exportConfig', 'report_exportConfig' - Information about where the raw data used to generate this report was
-- exported.
--
-- 'name', 'report_name' - The name of the report that was run.
--
-- 'reportGroupArn', 'report_reportGroupArn' - The ARN of the report group associated with this report.
--
-- 'status', 'report_status' - The status of this report.
--
-- 'testSummary', 'report_testSummary' - A @TestReportSummary@ object that contains information about this test
-- report.
--
-- 'truncated', 'report_truncated' - A boolean that specifies if this report run is truncated. The list of
-- test cases is truncated after the maximum number of test cases is
-- reached.
--
-- 'type'', 'report_type' - The type of the report that was run.
--
-- [CODE_COVERAGE]
--     A code coverage report.
--
-- [TEST]
--     A test report.
newReport ::
  Report
newReport :: Report
newReport =
  Report'
    { $sel:arn:Report' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:codeCoverageSummary:Report' :: Maybe CodeCoverageReportSummary
codeCoverageSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:created:Report' :: Maybe POSIX
created = forall a. Maybe a
Prelude.Nothing,
      $sel:executionId:Report' :: Maybe Text
executionId = forall a. Maybe a
Prelude.Nothing,
      $sel:expired:Report' :: Maybe POSIX
expired = forall a. Maybe a
Prelude.Nothing,
      $sel:exportConfig:Report' :: Maybe ReportExportConfig
exportConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:name:Report' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:reportGroupArn:Report' :: Maybe Text
reportGroupArn = forall a. Maybe a
Prelude.Nothing,
      $sel:status:Report' :: Maybe ReportStatusType
status = forall a. Maybe a
Prelude.Nothing,
      $sel:testSummary:Report' :: Maybe TestReportSummary
testSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:truncated:Report' :: Maybe Bool
truncated = forall a. Maybe a
Prelude.Nothing,
      $sel:type':Report' :: Maybe ReportType
type' = forall a. Maybe a
Prelude.Nothing
    }

-- | The ARN of the report run.
report_arn :: Lens.Lens' Report (Prelude.Maybe Prelude.Text)
report_arn :: Lens' Report (Maybe Text)
report_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe Text
arn :: Maybe Text
$sel:arn:Report' :: Report -> Maybe Text
arn} -> Maybe Text
arn) (\s :: Report
s@Report' {} Maybe Text
a -> Report
s {$sel:arn:Report' :: Maybe Text
arn = Maybe Text
a} :: Report)

-- | A @CodeCoverageReportSummary@ object that contains a code coverage
-- summary for this report.
report_codeCoverageSummary :: Lens.Lens' Report (Prelude.Maybe CodeCoverageReportSummary)
report_codeCoverageSummary :: Lens' Report (Maybe CodeCoverageReportSummary)
report_codeCoverageSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe CodeCoverageReportSummary
codeCoverageSummary :: Maybe CodeCoverageReportSummary
$sel:codeCoverageSummary:Report' :: Report -> Maybe CodeCoverageReportSummary
codeCoverageSummary} -> Maybe CodeCoverageReportSummary
codeCoverageSummary) (\s :: Report
s@Report' {} Maybe CodeCoverageReportSummary
a -> Report
s {$sel:codeCoverageSummary:Report' :: Maybe CodeCoverageReportSummary
codeCoverageSummary = Maybe CodeCoverageReportSummary
a} :: Report)

-- | The date and time this report run occurred.
report_created :: Lens.Lens' Report (Prelude.Maybe Prelude.UTCTime)
report_created :: Lens' Report (Maybe UTCTime)
report_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe POSIX
created :: Maybe POSIX
$sel:created:Report' :: Report -> Maybe POSIX
created} -> Maybe POSIX
created) (\s :: Report
s@Report' {} Maybe POSIX
a -> Report
s {$sel:created:Report' :: Maybe POSIX
created = Maybe POSIX
a} :: Report) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The ARN of the build run that generated this report.
report_executionId :: Lens.Lens' Report (Prelude.Maybe Prelude.Text)
report_executionId :: Lens' Report (Maybe Text)
report_executionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe Text
executionId :: Maybe Text
$sel:executionId:Report' :: Report -> Maybe Text
executionId} -> Maybe Text
executionId) (\s :: Report
s@Report' {} Maybe Text
a -> Report
s {$sel:executionId:Report' :: Maybe Text
executionId = Maybe Text
a} :: Report)

-- | The date and time a report expires. A report expires 30 days after it is
-- created. An expired report is not available to view in CodeBuild.
report_expired :: Lens.Lens' Report (Prelude.Maybe Prelude.UTCTime)
report_expired :: Lens' Report (Maybe UTCTime)
report_expired = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe POSIX
expired :: Maybe POSIX
$sel:expired:Report' :: Report -> Maybe POSIX
expired} -> Maybe POSIX
expired) (\s :: Report
s@Report' {} Maybe POSIX
a -> Report
s {$sel:expired:Report' :: Maybe POSIX
expired = Maybe POSIX
a} :: Report) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Information about where the raw data used to generate this report was
-- exported.
report_exportConfig :: Lens.Lens' Report (Prelude.Maybe ReportExportConfig)
report_exportConfig :: Lens' Report (Maybe ReportExportConfig)
report_exportConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe ReportExportConfig
exportConfig :: Maybe ReportExportConfig
$sel:exportConfig:Report' :: Report -> Maybe ReportExportConfig
exportConfig} -> Maybe ReportExportConfig
exportConfig) (\s :: Report
s@Report' {} Maybe ReportExportConfig
a -> Report
s {$sel:exportConfig:Report' :: Maybe ReportExportConfig
exportConfig = Maybe ReportExportConfig
a} :: Report)

-- | The name of the report that was run.
report_name :: Lens.Lens' Report (Prelude.Maybe Prelude.Text)
report_name :: Lens' Report (Maybe Text)
report_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe Text
name :: Maybe Text
$sel:name:Report' :: Report -> Maybe Text
name} -> Maybe Text
name) (\s :: Report
s@Report' {} Maybe Text
a -> Report
s {$sel:name:Report' :: Maybe Text
name = Maybe Text
a} :: Report)

-- | The ARN of the report group associated with this report.
report_reportGroupArn :: Lens.Lens' Report (Prelude.Maybe Prelude.Text)
report_reportGroupArn :: Lens' Report (Maybe Text)
report_reportGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe Text
reportGroupArn :: Maybe Text
$sel:reportGroupArn:Report' :: Report -> Maybe Text
reportGroupArn} -> Maybe Text
reportGroupArn) (\s :: Report
s@Report' {} Maybe Text
a -> Report
s {$sel:reportGroupArn:Report' :: Maybe Text
reportGroupArn = Maybe Text
a} :: Report)

-- | The status of this report.
report_status :: Lens.Lens' Report (Prelude.Maybe ReportStatusType)
report_status :: Lens' Report (Maybe ReportStatusType)
report_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe ReportStatusType
status :: Maybe ReportStatusType
$sel:status:Report' :: Report -> Maybe ReportStatusType
status} -> Maybe ReportStatusType
status) (\s :: Report
s@Report' {} Maybe ReportStatusType
a -> Report
s {$sel:status:Report' :: Maybe ReportStatusType
status = Maybe ReportStatusType
a} :: Report)

-- | A @TestReportSummary@ object that contains information about this test
-- report.
report_testSummary :: Lens.Lens' Report (Prelude.Maybe TestReportSummary)
report_testSummary :: Lens' Report (Maybe TestReportSummary)
report_testSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe TestReportSummary
testSummary :: Maybe TestReportSummary
$sel:testSummary:Report' :: Report -> Maybe TestReportSummary
testSummary} -> Maybe TestReportSummary
testSummary) (\s :: Report
s@Report' {} Maybe TestReportSummary
a -> Report
s {$sel:testSummary:Report' :: Maybe TestReportSummary
testSummary = Maybe TestReportSummary
a} :: Report)

-- | A boolean that specifies if this report run is truncated. The list of
-- test cases is truncated after the maximum number of test cases is
-- reached.
report_truncated :: Lens.Lens' Report (Prelude.Maybe Prelude.Bool)
report_truncated :: Lens' Report (Maybe Bool)
report_truncated = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe Bool
truncated :: Maybe Bool
$sel:truncated:Report' :: Report -> Maybe Bool
truncated} -> Maybe Bool
truncated) (\s :: Report
s@Report' {} Maybe Bool
a -> Report
s {$sel:truncated:Report' :: Maybe Bool
truncated = Maybe Bool
a} :: Report)

-- | The type of the report that was run.
--
-- [CODE_COVERAGE]
--     A code coverage report.
--
-- [TEST]
--     A test report.
report_type :: Lens.Lens' Report (Prelude.Maybe ReportType)
report_type :: Lens' Report (Maybe ReportType)
report_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Report' {Maybe ReportType
type' :: Maybe ReportType
$sel:type':Report' :: Report -> Maybe ReportType
type'} -> Maybe ReportType
type') (\s :: Report
s@Report' {} Maybe ReportType
a -> Report
s {$sel:type':Report' :: Maybe ReportType
type' = Maybe ReportType
a} :: Report)

instance Data.FromJSON Report where
  parseJSON :: Value -> Parser Report
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Report"
      ( \Object
x ->
          Maybe Text
-> Maybe CodeCoverageReportSummary
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe ReportExportConfig
-> Maybe Text
-> Maybe Text
-> Maybe ReportStatusType
-> Maybe TestReportSummary
-> Maybe Bool
-> Maybe ReportType
-> Report
Report'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"codeCoverageSummary")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"created")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"executionId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"expired")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"exportConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"reportGroupArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"testSummary")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"truncated")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"type")
      )

instance Prelude.Hashable Report where
  hashWithSalt :: Int -> Report -> Int
hashWithSalt Int
_salt Report' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe CodeCoverageReportSummary
Maybe ReportStatusType
Maybe ReportType
Maybe ReportExportConfig
Maybe TestReportSummary
type' :: Maybe ReportType
truncated :: Maybe Bool
testSummary :: Maybe TestReportSummary
status :: Maybe ReportStatusType
reportGroupArn :: Maybe Text
name :: Maybe Text
exportConfig :: Maybe ReportExportConfig
expired :: Maybe POSIX
executionId :: Maybe Text
created :: Maybe POSIX
codeCoverageSummary :: Maybe CodeCoverageReportSummary
arn :: Maybe Text
$sel:type':Report' :: Report -> Maybe ReportType
$sel:truncated:Report' :: Report -> Maybe Bool
$sel:testSummary:Report' :: Report -> Maybe TestReportSummary
$sel:status:Report' :: Report -> Maybe ReportStatusType
$sel:reportGroupArn:Report' :: Report -> Maybe Text
$sel:name:Report' :: Report -> Maybe Text
$sel:exportConfig:Report' :: Report -> Maybe ReportExportConfig
$sel:expired:Report' :: Report -> Maybe POSIX
$sel:executionId:Report' :: Report -> Maybe Text
$sel:created:Report' :: Report -> Maybe POSIX
$sel:codeCoverageSummary:Report' :: Report -> Maybe CodeCoverageReportSummary
$sel:arn:Report' :: Report -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CodeCoverageReportSummary
codeCoverageSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
created
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
expired
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReportExportConfig
exportConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
reportGroupArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReportStatusType
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TestReportSummary
testSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
truncated
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReportType
type'

instance Prelude.NFData Report where
  rnf :: Report -> ()
rnf Report' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe CodeCoverageReportSummary
Maybe ReportStatusType
Maybe ReportType
Maybe ReportExportConfig
Maybe TestReportSummary
type' :: Maybe ReportType
truncated :: Maybe Bool
testSummary :: Maybe TestReportSummary
status :: Maybe ReportStatusType
reportGroupArn :: Maybe Text
name :: Maybe Text
exportConfig :: Maybe ReportExportConfig
expired :: Maybe POSIX
executionId :: Maybe Text
created :: Maybe POSIX
codeCoverageSummary :: Maybe CodeCoverageReportSummary
arn :: Maybe Text
$sel:type':Report' :: Report -> Maybe ReportType
$sel:truncated:Report' :: Report -> Maybe Bool
$sel:testSummary:Report' :: Report -> Maybe TestReportSummary
$sel:status:Report' :: Report -> Maybe ReportStatusType
$sel:reportGroupArn:Report' :: Report -> Maybe Text
$sel:name:Report' :: Report -> Maybe Text
$sel:exportConfig:Report' :: Report -> Maybe ReportExportConfig
$sel:expired:Report' :: Report -> Maybe POSIX
$sel:executionId:Report' :: Report -> Maybe Text
$sel:created:Report' :: Report -> Maybe POSIX
$sel:codeCoverageSummary:Report' :: Report -> Maybe CodeCoverageReportSummary
$sel:arn:Report' :: Report -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CodeCoverageReportSummary
codeCoverageSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
created
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
expired
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReportExportConfig
exportConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
reportGroupArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReportStatusType
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TestReportSummary
testSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
truncated
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReportType
type'