{-# 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.SMS.Types.ValidationOutput 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
import Amazonka.SMS.Types.AppValidationOutput
import Amazonka.SMS.Types.ServerValidationOutput
import Amazonka.SMS.Types.ValidationStatus
data ValidationOutput = ValidationOutput'
{
ValidationOutput -> Maybe AppValidationOutput
appValidationOutput :: Prelude.Maybe AppValidationOutput,
ValidationOutput -> Maybe POSIX
latestValidationTime :: Prelude.Maybe Data.POSIX,
ValidationOutput -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
ValidationOutput -> Maybe ServerValidationOutput
serverValidationOutput :: Prelude.Maybe ServerValidationOutput,
ValidationOutput -> Maybe ValidationStatus
status :: Prelude.Maybe ValidationStatus,
ValidationOutput -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
ValidationOutput -> Maybe Text
validationId :: Prelude.Maybe Prelude.Text
}
deriving (ValidationOutput -> ValidationOutput -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ValidationOutput -> ValidationOutput -> Bool
$c/= :: ValidationOutput -> ValidationOutput -> Bool
== :: ValidationOutput -> ValidationOutput -> Bool
$c== :: ValidationOutput -> ValidationOutput -> Bool
Prelude.Eq, ReadPrec [ValidationOutput]
ReadPrec ValidationOutput
Int -> ReadS ValidationOutput
ReadS [ValidationOutput]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ValidationOutput]
$creadListPrec :: ReadPrec [ValidationOutput]
readPrec :: ReadPrec ValidationOutput
$creadPrec :: ReadPrec ValidationOutput
readList :: ReadS [ValidationOutput]
$creadList :: ReadS [ValidationOutput]
readsPrec :: Int -> ReadS ValidationOutput
$creadsPrec :: Int -> ReadS ValidationOutput
Prelude.Read, Int -> ValidationOutput -> ShowS
[ValidationOutput] -> ShowS
ValidationOutput -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ValidationOutput] -> ShowS
$cshowList :: [ValidationOutput] -> ShowS
show :: ValidationOutput -> String
$cshow :: ValidationOutput -> String
showsPrec :: Int -> ValidationOutput -> ShowS
$cshowsPrec :: Int -> ValidationOutput -> ShowS
Prelude.Show, forall x. Rep ValidationOutput x -> ValidationOutput
forall x. ValidationOutput -> Rep ValidationOutput x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ValidationOutput x -> ValidationOutput
$cfrom :: forall x. ValidationOutput -> Rep ValidationOutput x
Prelude.Generic)
newValidationOutput ::
ValidationOutput
newValidationOutput :: ValidationOutput
newValidationOutput =
ValidationOutput'
{ $sel:appValidationOutput:ValidationOutput' :: Maybe AppValidationOutput
appValidationOutput =
forall a. Maybe a
Prelude.Nothing,
$sel:latestValidationTime:ValidationOutput' :: Maybe POSIX
latestValidationTime = forall a. Maybe a
Prelude.Nothing,
$sel:name:ValidationOutput' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:serverValidationOutput:ValidationOutput' :: Maybe ServerValidationOutput
serverValidationOutput = forall a. Maybe a
Prelude.Nothing,
$sel:status:ValidationOutput' :: Maybe ValidationStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusMessage:ValidationOutput' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
$sel:validationId:ValidationOutput' :: Maybe Text
validationId = forall a. Maybe a
Prelude.Nothing
}
validationOutput_appValidationOutput :: Lens.Lens' ValidationOutput (Prelude.Maybe AppValidationOutput)
validationOutput_appValidationOutput :: Lens' ValidationOutput (Maybe AppValidationOutput)
validationOutput_appValidationOutput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe AppValidationOutput
appValidationOutput :: Maybe AppValidationOutput
$sel:appValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe AppValidationOutput
appValidationOutput} -> Maybe AppValidationOutput
appValidationOutput) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe AppValidationOutput
a -> ValidationOutput
s {$sel:appValidationOutput:ValidationOutput' :: Maybe AppValidationOutput
appValidationOutput = Maybe AppValidationOutput
a} :: ValidationOutput)
validationOutput_latestValidationTime :: Lens.Lens' ValidationOutput (Prelude.Maybe Prelude.UTCTime)
validationOutput_latestValidationTime :: Lens' ValidationOutput (Maybe UTCTime)
validationOutput_latestValidationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe POSIX
latestValidationTime :: Maybe POSIX
$sel:latestValidationTime:ValidationOutput' :: ValidationOutput -> Maybe POSIX
latestValidationTime} -> Maybe POSIX
latestValidationTime) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe POSIX
a -> ValidationOutput
s {$sel:latestValidationTime:ValidationOutput' :: Maybe POSIX
latestValidationTime = Maybe POSIX
a} :: ValidationOutput) 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
validationOutput_name :: Lens.Lens' ValidationOutput (Prelude.Maybe Prelude.Text)
validationOutput_name :: Lens' ValidationOutput (Maybe Text)
validationOutput_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe Text
name :: Maybe Text
$sel:name:ValidationOutput' :: ValidationOutput -> Maybe Text
name} -> Maybe Text
name) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe Text
a -> ValidationOutput
s {$sel:name:ValidationOutput' :: Maybe Text
name = Maybe Text
a} :: ValidationOutput)
validationOutput_serverValidationOutput :: Lens.Lens' ValidationOutput (Prelude.Maybe ServerValidationOutput)
validationOutput_serverValidationOutput :: Lens' ValidationOutput (Maybe ServerValidationOutput)
validationOutput_serverValidationOutput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe ServerValidationOutput
serverValidationOutput :: Maybe ServerValidationOutput
$sel:serverValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe ServerValidationOutput
serverValidationOutput} -> Maybe ServerValidationOutput
serverValidationOutput) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe ServerValidationOutput
a -> ValidationOutput
s {$sel:serverValidationOutput:ValidationOutput' :: Maybe ServerValidationOutput
serverValidationOutput = Maybe ServerValidationOutput
a} :: ValidationOutput)
validationOutput_status :: Lens.Lens' ValidationOutput (Prelude.Maybe ValidationStatus)
validationOutput_status :: Lens' ValidationOutput (Maybe ValidationStatus)
validationOutput_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe ValidationStatus
status :: Maybe ValidationStatus
$sel:status:ValidationOutput' :: ValidationOutput -> Maybe ValidationStatus
status} -> Maybe ValidationStatus
status) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe ValidationStatus
a -> ValidationOutput
s {$sel:status:ValidationOutput' :: Maybe ValidationStatus
status = Maybe ValidationStatus
a} :: ValidationOutput)
validationOutput_statusMessage :: Lens.Lens' ValidationOutput (Prelude.Maybe Prelude.Text)
validationOutput_statusMessage :: Lens' ValidationOutput (Maybe Text)
validationOutput_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:ValidationOutput' :: ValidationOutput -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe Text
a -> ValidationOutput
s {$sel:statusMessage:ValidationOutput' :: Maybe Text
statusMessage = Maybe Text
a} :: ValidationOutput)
validationOutput_validationId :: Lens.Lens' ValidationOutput (Prelude.Maybe Prelude.Text)
validationOutput_validationId :: Lens' ValidationOutput (Maybe Text)
validationOutput_validationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ValidationOutput' {Maybe Text
validationId :: Maybe Text
$sel:validationId:ValidationOutput' :: ValidationOutput -> Maybe Text
validationId} -> Maybe Text
validationId) (\s :: ValidationOutput
s@ValidationOutput' {} Maybe Text
a -> ValidationOutput
s {$sel:validationId:ValidationOutput' :: Maybe Text
validationId = Maybe Text
a} :: ValidationOutput)
instance Data.FromJSON ValidationOutput where
parseJSON :: Value -> Parser ValidationOutput
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ValidationOutput"
( \Object
x ->
Maybe AppValidationOutput
-> Maybe POSIX
-> Maybe Text
-> Maybe ServerValidationOutput
-> Maybe ValidationStatus
-> Maybe Text
-> Maybe Text
-> ValidationOutput
ValidationOutput'
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
"appValidationOutput")
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
"latestValidationTime")
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
"serverValidationOutput")
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
"statusMessage")
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
"validationId")
)
instance Prelude.Hashable ValidationOutput where
hashWithSalt :: Int -> ValidationOutput -> Int
hashWithSalt Int
_salt ValidationOutput' {Maybe Text
Maybe POSIX
Maybe AppValidationOutput
Maybe ValidationStatus
Maybe ServerValidationOutput
validationId :: Maybe Text
statusMessage :: Maybe Text
status :: Maybe ValidationStatus
serverValidationOutput :: Maybe ServerValidationOutput
name :: Maybe Text
latestValidationTime :: Maybe POSIX
appValidationOutput :: Maybe AppValidationOutput
$sel:validationId:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:statusMessage:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:status:ValidationOutput' :: ValidationOutput -> Maybe ValidationStatus
$sel:serverValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe ServerValidationOutput
$sel:name:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:latestValidationTime:ValidationOutput' :: ValidationOutput -> Maybe POSIX
$sel:appValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe AppValidationOutput
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AppValidationOutput
appValidationOutput
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
latestValidationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServerValidationOutput
serverValidationOutput
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ValidationStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
validationId
instance Prelude.NFData ValidationOutput where
rnf :: ValidationOutput -> ()
rnf ValidationOutput' {Maybe Text
Maybe POSIX
Maybe AppValidationOutput
Maybe ValidationStatus
Maybe ServerValidationOutput
validationId :: Maybe Text
statusMessage :: Maybe Text
status :: Maybe ValidationStatus
serverValidationOutput :: Maybe ServerValidationOutput
name :: Maybe Text
latestValidationTime :: Maybe POSIX
appValidationOutput :: Maybe AppValidationOutput
$sel:validationId:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:statusMessage:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:status:ValidationOutput' :: ValidationOutput -> Maybe ValidationStatus
$sel:serverValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe ServerValidationOutput
$sel:name:ValidationOutput' :: ValidationOutput -> Maybe Text
$sel:latestValidationTime:ValidationOutput' :: ValidationOutput -> Maybe POSIX
$sel:appValidationOutput:ValidationOutput' :: ValidationOutput -> Maybe AppValidationOutput
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AppValidationOutput
appValidationOutput
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
latestValidationTime
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 ServerValidationOutput
serverValidationOutput
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ValidationStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
validationId