{-# 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 #-}
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
data Report = Report'
{
Report -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
Report -> Maybe CodeCoverageReportSummary
codeCoverageSummary :: Prelude.Maybe CodeCoverageReportSummary,
Report -> Maybe POSIX
created :: Prelude.Maybe Data.POSIX,
Report -> Maybe Text
executionId :: Prelude.Maybe Prelude.Text,
Report -> Maybe POSIX
expired :: Prelude.Maybe Data.POSIX,
Report -> Maybe ReportExportConfig
exportConfig :: Prelude.Maybe ReportExportConfig,
Report -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
Report -> Maybe Text
reportGroupArn :: Prelude.Maybe Prelude.Text,
Report -> Maybe ReportStatusType
status :: Prelude.Maybe ReportStatusType,
Report -> Maybe TestReportSummary
testSummary :: Prelude.Maybe TestReportSummary,
Report -> Maybe Bool
truncated :: Prelude.Maybe Prelude.Bool,
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)
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
}
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)
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)
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
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)
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
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)
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)
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)
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)
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)
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)
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'