{-# 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.DeviceFarm.Types.Test where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DeviceFarm.Types.Counters
import Amazonka.DeviceFarm.Types.DeviceMinutes
import Amazonka.DeviceFarm.Types.ExecutionResult
import Amazonka.DeviceFarm.Types.ExecutionStatus
import Amazonka.DeviceFarm.Types.TestType
import qualified Amazonka.Prelude as Prelude
data Test = Test'
{
Test -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
Test -> Maybe Counters
counters :: Prelude.Maybe Counters,
Test -> Maybe POSIX
created :: Prelude.Maybe Data.POSIX,
Test -> Maybe DeviceMinutes
deviceMinutes :: Prelude.Maybe DeviceMinutes,
Test -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
Test -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
Test -> Maybe ExecutionResult
result :: Prelude.Maybe ExecutionResult,
Test -> Maybe POSIX
started :: Prelude.Maybe Data.POSIX,
Test -> Maybe ExecutionStatus
status :: Prelude.Maybe ExecutionStatus,
Test -> Maybe POSIX
stopped :: Prelude.Maybe Data.POSIX,
Test -> Maybe TestType
type' :: Prelude.Maybe TestType
}
deriving (Test -> Test -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Test -> Test -> Bool
$c/= :: Test -> Test -> Bool
== :: Test -> Test -> Bool
$c== :: Test -> Test -> Bool
Prelude.Eq, ReadPrec [Test]
ReadPrec Test
Int -> ReadS Test
ReadS [Test]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Test]
$creadListPrec :: ReadPrec [Test]
readPrec :: ReadPrec Test
$creadPrec :: ReadPrec Test
readList :: ReadS [Test]
$creadList :: ReadS [Test]
readsPrec :: Int -> ReadS Test
$creadsPrec :: Int -> ReadS Test
Prelude.Read, Int -> Test -> ShowS
[Test] -> ShowS
Test -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Test] -> ShowS
$cshowList :: [Test] -> ShowS
show :: Test -> String
$cshow :: Test -> String
showsPrec :: Int -> Test -> ShowS
$cshowsPrec :: Int -> Test -> ShowS
Prelude.Show, forall x. Rep Test x -> Test
forall x. Test -> Rep Test x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Test x -> Test
$cfrom :: forall x. Test -> Rep Test x
Prelude.Generic)
newTest ::
Test
newTest :: Test
newTest =
Test'
{ $sel:arn:Test' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:counters:Test' :: Maybe Counters
counters = forall a. Maybe a
Prelude.Nothing,
$sel:created:Test' :: Maybe POSIX
created = forall a. Maybe a
Prelude.Nothing,
$sel:deviceMinutes:Test' :: Maybe DeviceMinutes
deviceMinutes = forall a. Maybe a
Prelude.Nothing,
$sel:message:Test' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
$sel:name:Test' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:result:Test' :: Maybe ExecutionResult
result = forall a. Maybe a
Prelude.Nothing,
$sel:started:Test' :: Maybe POSIX
started = forall a. Maybe a
Prelude.Nothing,
$sel:status:Test' :: Maybe ExecutionStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:stopped:Test' :: Maybe POSIX
stopped = forall a. Maybe a
Prelude.Nothing,
$sel:type':Test' :: Maybe TestType
type' = forall a. Maybe a
Prelude.Nothing
}
test_arn :: Lens.Lens' Test (Prelude.Maybe Prelude.Text)
test_arn :: Lens' Test (Maybe Text)
test_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe Text
arn :: Maybe Text
$sel:arn:Test' :: Test -> Maybe Text
arn} -> Maybe Text
arn) (\s :: Test
s@Test' {} Maybe Text
a -> Test
s {$sel:arn:Test' :: Maybe Text
arn = Maybe Text
a} :: Test)
test_counters :: Lens.Lens' Test (Prelude.Maybe Counters)
test_counters :: Lens' Test (Maybe Counters)
test_counters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe Counters
counters :: Maybe Counters
$sel:counters:Test' :: Test -> Maybe Counters
counters} -> Maybe Counters
counters) (\s :: Test
s@Test' {} Maybe Counters
a -> Test
s {$sel:counters:Test' :: Maybe Counters
counters = Maybe Counters
a} :: Test)
test_created :: Lens.Lens' Test (Prelude.Maybe Prelude.UTCTime)
test_created :: Lens' Test (Maybe UTCTime)
test_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe POSIX
created :: Maybe POSIX
$sel:created:Test' :: Test -> Maybe POSIX
created} -> Maybe POSIX
created) (\s :: Test
s@Test' {} Maybe POSIX
a -> Test
s {$sel:created:Test' :: Maybe POSIX
created = Maybe POSIX
a} :: Test) 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
test_deviceMinutes :: Lens.Lens' Test (Prelude.Maybe DeviceMinutes)
test_deviceMinutes :: Lens' Test (Maybe DeviceMinutes)
test_deviceMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe DeviceMinutes
deviceMinutes :: Maybe DeviceMinutes
$sel:deviceMinutes:Test' :: Test -> Maybe DeviceMinutes
deviceMinutes} -> Maybe DeviceMinutes
deviceMinutes) (\s :: Test
s@Test' {} Maybe DeviceMinutes
a -> Test
s {$sel:deviceMinutes:Test' :: Maybe DeviceMinutes
deviceMinutes = Maybe DeviceMinutes
a} :: Test)
test_message :: Lens.Lens' Test (Prelude.Maybe Prelude.Text)
test_message :: Lens' Test (Maybe Text)
test_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe Text
message :: Maybe Text
$sel:message:Test' :: Test -> Maybe Text
message} -> Maybe Text
message) (\s :: Test
s@Test' {} Maybe Text
a -> Test
s {$sel:message:Test' :: Maybe Text
message = Maybe Text
a} :: Test)
test_name :: Lens.Lens' Test (Prelude.Maybe Prelude.Text)
test_name :: Lens' Test (Maybe Text)
test_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe Text
name :: Maybe Text
$sel:name:Test' :: Test -> Maybe Text
name} -> Maybe Text
name) (\s :: Test
s@Test' {} Maybe Text
a -> Test
s {$sel:name:Test' :: Maybe Text
name = Maybe Text
a} :: Test)
test_result :: Lens.Lens' Test (Prelude.Maybe ExecutionResult)
test_result :: Lens' Test (Maybe ExecutionResult)
test_result = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe ExecutionResult
result :: Maybe ExecutionResult
$sel:result:Test' :: Test -> Maybe ExecutionResult
result} -> Maybe ExecutionResult
result) (\s :: Test
s@Test' {} Maybe ExecutionResult
a -> Test
s {$sel:result:Test' :: Maybe ExecutionResult
result = Maybe ExecutionResult
a} :: Test)
test_started :: Lens.Lens' Test (Prelude.Maybe Prelude.UTCTime)
test_started :: Lens' Test (Maybe UTCTime)
test_started = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe POSIX
started :: Maybe POSIX
$sel:started:Test' :: Test -> Maybe POSIX
started} -> Maybe POSIX
started) (\s :: Test
s@Test' {} Maybe POSIX
a -> Test
s {$sel:started:Test' :: Maybe POSIX
started = Maybe POSIX
a} :: Test) 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
test_status :: Lens.Lens' Test (Prelude.Maybe ExecutionStatus)
test_status :: Lens' Test (Maybe ExecutionStatus)
test_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe ExecutionStatus
status :: Maybe ExecutionStatus
$sel:status:Test' :: Test -> Maybe ExecutionStatus
status} -> Maybe ExecutionStatus
status) (\s :: Test
s@Test' {} Maybe ExecutionStatus
a -> Test
s {$sel:status:Test' :: Maybe ExecutionStatus
status = Maybe ExecutionStatus
a} :: Test)
test_stopped :: Lens.Lens' Test (Prelude.Maybe Prelude.UTCTime)
test_stopped :: Lens' Test (Maybe UTCTime)
test_stopped = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe POSIX
stopped :: Maybe POSIX
$sel:stopped:Test' :: Test -> Maybe POSIX
stopped} -> Maybe POSIX
stopped) (\s :: Test
s@Test' {} Maybe POSIX
a -> Test
s {$sel:stopped:Test' :: Maybe POSIX
stopped = Maybe POSIX
a} :: Test) 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
test_type :: Lens.Lens' Test (Prelude.Maybe TestType)
test_type :: Lens' Test (Maybe TestType)
test_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Test' {Maybe TestType
type' :: Maybe TestType
$sel:type':Test' :: Test -> Maybe TestType
type'} -> Maybe TestType
type') (\s :: Test
s@Test' {} Maybe TestType
a -> Test
s {$sel:type':Test' :: Maybe TestType
type' = Maybe TestType
a} :: Test)
instance Data.FromJSON Test where
parseJSON :: Value -> Parser Test
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"Test"
( \Object
x ->
Maybe Text
-> Maybe Counters
-> Maybe POSIX
-> Maybe DeviceMinutes
-> Maybe Text
-> Maybe Text
-> Maybe ExecutionResult
-> Maybe POSIX
-> Maybe ExecutionStatus
-> Maybe POSIX
-> Maybe TestType
-> Test
Test'
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
"counters")
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
"deviceMinutes")
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
"message")
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
"result")
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
"started")
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
"stopped")
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 Test where
hashWithSalt :: Int -> Test -> Int
hashWithSalt Int
_salt Test' {Maybe Text
Maybe POSIX
Maybe Counters
Maybe DeviceMinutes
Maybe ExecutionResult
Maybe ExecutionStatus
Maybe TestType
type' :: Maybe TestType
stopped :: Maybe POSIX
status :: Maybe ExecutionStatus
started :: Maybe POSIX
result :: Maybe ExecutionResult
name :: Maybe Text
message :: Maybe Text
deviceMinutes :: Maybe DeviceMinutes
created :: Maybe POSIX
counters :: Maybe Counters
arn :: Maybe Text
$sel:type':Test' :: Test -> Maybe TestType
$sel:stopped:Test' :: Test -> Maybe POSIX
$sel:status:Test' :: Test -> Maybe ExecutionStatus
$sel:started:Test' :: Test -> Maybe POSIX
$sel:result:Test' :: Test -> Maybe ExecutionResult
$sel:name:Test' :: Test -> Maybe Text
$sel:message:Test' :: Test -> Maybe Text
$sel:deviceMinutes:Test' :: Test -> Maybe DeviceMinutes
$sel:created:Test' :: Test -> Maybe POSIX
$sel:counters:Test' :: Test -> Maybe Counters
$sel:arn:Test' :: Test -> 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 Counters
counters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
created
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DeviceMinutes
deviceMinutes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
message
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExecutionResult
result
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
started
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExecutionStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
stopped
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TestType
type'
instance Prelude.NFData Test where
rnf :: Test -> ()
rnf Test' {Maybe Text
Maybe POSIX
Maybe Counters
Maybe DeviceMinutes
Maybe ExecutionResult
Maybe ExecutionStatus
Maybe TestType
type' :: Maybe TestType
stopped :: Maybe POSIX
status :: Maybe ExecutionStatus
started :: Maybe POSIX
result :: Maybe ExecutionResult
name :: Maybe Text
message :: Maybe Text
deviceMinutes :: Maybe DeviceMinutes
created :: Maybe POSIX
counters :: Maybe Counters
arn :: Maybe Text
$sel:type':Test' :: Test -> Maybe TestType
$sel:stopped:Test' :: Test -> Maybe POSIX
$sel:status:Test' :: Test -> Maybe ExecutionStatus
$sel:started:Test' :: Test -> Maybe POSIX
$sel:result:Test' :: Test -> Maybe ExecutionResult
$sel:name:Test' :: Test -> Maybe Text
$sel:message:Test' :: Test -> Maybe Text
$sel:deviceMinutes:Test' :: Test -> Maybe DeviceMinutes
$sel:created:Test' :: Test -> Maybe POSIX
$sel:counters:Test' :: Test -> Maybe Counters
$sel:arn:Test' :: Test -> 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 Counters
counters
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 DeviceMinutes
deviceMinutes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
message
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 ExecutionResult
result
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
started
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExecutionStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
stopped
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TestType
type'