{-# 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.WellArchitected.Types.LensReview 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.WellArchitected.Types.LensStatus
import Amazonka.WellArchitected.Types.PillarReviewSummary
import Amazonka.WellArchitected.Types.Risk
data LensReview = LensReview'
{ LensReview -> Maybe Text
lensAlias :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe Text
lensArn :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe Text
lensName :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe LensStatus
lensStatus :: Prelude.Maybe LensStatus,
LensReview -> Maybe Text
lensVersion :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe Text
notes :: Prelude.Maybe Prelude.Text,
LensReview -> Maybe [PillarReviewSummary]
pillarReviewSummaries :: Prelude.Maybe [PillarReviewSummary],
LensReview -> Maybe (HashMap Risk Natural)
riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),
LensReview -> Maybe POSIX
updatedAt :: Prelude.Maybe Data.POSIX
}
deriving (LensReview -> LensReview -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LensReview -> LensReview -> Bool
$c/= :: LensReview -> LensReview -> Bool
== :: LensReview -> LensReview -> Bool
$c== :: LensReview -> LensReview -> Bool
Prelude.Eq, ReadPrec [LensReview]
ReadPrec LensReview
Int -> ReadS LensReview
ReadS [LensReview]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LensReview]
$creadListPrec :: ReadPrec [LensReview]
readPrec :: ReadPrec LensReview
$creadPrec :: ReadPrec LensReview
readList :: ReadS [LensReview]
$creadList :: ReadS [LensReview]
readsPrec :: Int -> ReadS LensReview
$creadsPrec :: Int -> ReadS LensReview
Prelude.Read, Int -> LensReview -> ShowS
[LensReview] -> ShowS
LensReview -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LensReview] -> ShowS
$cshowList :: [LensReview] -> ShowS
show :: LensReview -> String
$cshow :: LensReview -> String
showsPrec :: Int -> LensReview -> ShowS
$cshowsPrec :: Int -> LensReview -> ShowS
Prelude.Show, forall x. Rep LensReview x -> LensReview
forall x. LensReview -> Rep LensReview x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LensReview x -> LensReview
$cfrom :: forall x. LensReview -> Rep LensReview x
Prelude.Generic)
newLensReview ::
LensReview
newLensReview :: LensReview
newLensReview =
LensReview'
{ $sel:lensAlias:LensReview' :: Maybe Text
lensAlias = forall a. Maybe a
Prelude.Nothing,
$sel:lensArn:LensReview' :: Maybe Text
lensArn = forall a. Maybe a
Prelude.Nothing,
$sel:lensName:LensReview' :: Maybe Text
lensName = forall a. Maybe a
Prelude.Nothing,
$sel:lensStatus:LensReview' :: Maybe LensStatus
lensStatus = forall a. Maybe a
Prelude.Nothing,
$sel:lensVersion:LensReview' :: Maybe Text
lensVersion = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:LensReview' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:notes:LensReview' :: Maybe Text
notes = forall a. Maybe a
Prelude.Nothing,
$sel:pillarReviewSummaries:LensReview' :: Maybe [PillarReviewSummary]
pillarReviewSummaries = forall a. Maybe a
Prelude.Nothing,
$sel:riskCounts:LensReview' :: Maybe (HashMap Risk Natural)
riskCounts = forall a. Maybe a
Prelude.Nothing,
$sel:updatedAt:LensReview' :: Maybe POSIX
updatedAt = forall a. Maybe a
Prelude.Nothing
}
lensReview_lensAlias :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_lensAlias :: Lens' LensReview (Maybe Text)
lensReview_lensAlias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
lensAlias :: Maybe Text
$sel:lensAlias:LensReview' :: LensReview -> Maybe Text
lensAlias} -> Maybe Text
lensAlias) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:lensAlias:LensReview' :: Maybe Text
lensAlias = Maybe Text
a} :: LensReview)
lensReview_lensArn :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_lensArn :: Lens' LensReview (Maybe Text)
lensReview_lensArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
lensArn :: Maybe Text
$sel:lensArn:LensReview' :: LensReview -> Maybe Text
lensArn} -> Maybe Text
lensArn) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:lensArn:LensReview' :: Maybe Text
lensArn = Maybe Text
a} :: LensReview)
lensReview_lensName :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_lensName :: Lens' LensReview (Maybe Text)
lensReview_lensName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
lensName :: Maybe Text
$sel:lensName:LensReview' :: LensReview -> Maybe Text
lensName} -> Maybe Text
lensName) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:lensName:LensReview' :: Maybe Text
lensName = Maybe Text
a} :: LensReview)
lensReview_lensStatus :: Lens.Lens' LensReview (Prelude.Maybe LensStatus)
lensReview_lensStatus :: Lens' LensReview (Maybe LensStatus)
lensReview_lensStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe LensStatus
lensStatus :: Maybe LensStatus
$sel:lensStatus:LensReview' :: LensReview -> Maybe LensStatus
lensStatus} -> Maybe LensStatus
lensStatus) (\s :: LensReview
s@LensReview' {} Maybe LensStatus
a -> LensReview
s {$sel:lensStatus:LensReview' :: Maybe LensStatus
lensStatus = Maybe LensStatus
a} :: LensReview)
lensReview_lensVersion :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_lensVersion :: Lens' LensReview (Maybe Text)
lensReview_lensVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
lensVersion :: Maybe Text
$sel:lensVersion:LensReview' :: LensReview -> Maybe Text
lensVersion} -> Maybe Text
lensVersion) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:lensVersion:LensReview' :: Maybe Text
lensVersion = Maybe Text
a} :: LensReview)
lensReview_nextToken :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_nextToken :: Lens' LensReview (Maybe Text)
lensReview_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:LensReview' :: LensReview -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:nextToken:LensReview' :: Maybe Text
nextToken = Maybe Text
a} :: LensReview)
lensReview_notes :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)
lensReview_notes :: Lens' LensReview (Maybe Text)
lensReview_notes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe Text
notes :: Maybe Text
$sel:notes:LensReview' :: LensReview -> Maybe Text
notes} -> Maybe Text
notes) (\s :: LensReview
s@LensReview' {} Maybe Text
a -> LensReview
s {$sel:notes:LensReview' :: Maybe Text
notes = Maybe Text
a} :: LensReview)
lensReview_pillarReviewSummaries :: Lens.Lens' LensReview (Prelude.Maybe [PillarReviewSummary])
lensReview_pillarReviewSummaries :: Lens' LensReview (Maybe [PillarReviewSummary])
lensReview_pillarReviewSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe [PillarReviewSummary]
pillarReviewSummaries :: Maybe [PillarReviewSummary]
$sel:pillarReviewSummaries:LensReview' :: LensReview -> Maybe [PillarReviewSummary]
pillarReviewSummaries} -> Maybe [PillarReviewSummary]
pillarReviewSummaries) (\s :: LensReview
s@LensReview' {} Maybe [PillarReviewSummary]
a -> LensReview
s {$sel:pillarReviewSummaries:LensReview' :: Maybe [PillarReviewSummary]
pillarReviewSummaries = Maybe [PillarReviewSummary]
a} :: LensReview) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
lensReview_riskCounts :: Lens.Lens' LensReview (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))
lensReview_riskCounts :: Lens' LensReview (Maybe (HashMap Risk Natural))
lensReview_riskCounts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe (HashMap Risk Natural)
riskCounts :: Maybe (HashMap Risk Natural)
$sel:riskCounts:LensReview' :: LensReview -> Maybe (HashMap Risk Natural)
riskCounts} -> Maybe (HashMap Risk Natural)
riskCounts) (\s :: LensReview
s@LensReview' {} Maybe (HashMap Risk Natural)
a -> LensReview
s {$sel:riskCounts:LensReview' :: Maybe (HashMap Risk Natural)
riskCounts = Maybe (HashMap Risk Natural)
a} :: LensReview) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
lensReview_updatedAt :: Lens.Lens' LensReview (Prelude.Maybe Prelude.UTCTime)
lensReview_updatedAt :: Lens' LensReview (Maybe UTCTime)
lensReview_updatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LensReview' {Maybe POSIX
updatedAt :: Maybe POSIX
$sel:updatedAt:LensReview' :: LensReview -> Maybe POSIX
updatedAt} -> Maybe POSIX
updatedAt) (\s :: LensReview
s@LensReview' {} Maybe POSIX
a -> LensReview
s {$sel:updatedAt:LensReview' :: Maybe POSIX
updatedAt = Maybe POSIX
a} :: LensReview) 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
instance Data.FromJSON LensReview where
parseJSON :: Value -> Parser LensReview
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"LensReview"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LensStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [PillarReviewSummary]
-> Maybe (HashMap Risk Natural)
-> Maybe POSIX
-> LensReview
LensReview'
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
"LensAlias")
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
"LensArn")
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
"LensName")
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
"LensStatus")
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
"LensVersion")
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
"NextToken")
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
"Notes")
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
"PillarReviewSummaries"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
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
"RiskCounts" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
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
"UpdatedAt")
)
instance Prelude.Hashable LensReview where
hashWithSalt :: Int -> LensReview -> Int
hashWithSalt Int
_salt LensReview' {Maybe [PillarReviewSummary]
Maybe Text
Maybe (HashMap Risk Natural)
Maybe POSIX
Maybe LensStatus
updatedAt :: Maybe POSIX
riskCounts :: Maybe (HashMap Risk Natural)
pillarReviewSummaries :: Maybe [PillarReviewSummary]
notes :: Maybe Text
nextToken :: Maybe Text
lensVersion :: Maybe Text
lensStatus :: Maybe LensStatus
lensName :: Maybe Text
lensArn :: Maybe Text
lensAlias :: Maybe Text
$sel:updatedAt:LensReview' :: LensReview -> Maybe POSIX
$sel:riskCounts:LensReview' :: LensReview -> Maybe (HashMap Risk Natural)
$sel:pillarReviewSummaries:LensReview' :: LensReview -> Maybe [PillarReviewSummary]
$sel:notes:LensReview' :: LensReview -> Maybe Text
$sel:nextToken:LensReview' :: LensReview -> Maybe Text
$sel:lensVersion:LensReview' :: LensReview -> Maybe Text
$sel:lensStatus:LensReview' :: LensReview -> Maybe LensStatus
$sel:lensName:LensReview' :: LensReview -> Maybe Text
$sel:lensArn:LensReview' :: LensReview -> Maybe Text
$sel:lensAlias:LensReview' :: LensReview -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lensAlias
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lensArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lensName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LensStatus
lensStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lensVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
notes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PillarReviewSummary]
pillarReviewSummaries
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Risk Natural)
riskCounts
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
updatedAt
instance Prelude.NFData LensReview where
rnf :: LensReview -> ()
rnf LensReview' {Maybe [PillarReviewSummary]
Maybe Text
Maybe (HashMap Risk Natural)
Maybe POSIX
Maybe LensStatus
updatedAt :: Maybe POSIX
riskCounts :: Maybe (HashMap Risk Natural)
pillarReviewSummaries :: Maybe [PillarReviewSummary]
notes :: Maybe Text
nextToken :: Maybe Text
lensVersion :: Maybe Text
lensStatus :: Maybe LensStatus
lensName :: Maybe Text
lensArn :: Maybe Text
lensAlias :: Maybe Text
$sel:updatedAt:LensReview' :: LensReview -> Maybe POSIX
$sel:riskCounts:LensReview' :: LensReview -> Maybe (HashMap Risk Natural)
$sel:pillarReviewSummaries:LensReview' :: LensReview -> Maybe [PillarReviewSummary]
$sel:notes:LensReview' :: LensReview -> Maybe Text
$sel:nextToken:LensReview' :: LensReview -> Maybe Text
$sel:lensVersion:LensReview' :: LensReview -> Maybe Text
$sel:lensStatus:LensReview' :: LensReview -> Maybe LensStatus
$sel:lensName:LensReview' :: LensReview -> Maybe Text
$sel:lensArn:LensReview' :: LensReview -> Maybe Text
$sel:lensAlias:LensReview' :: LensReview -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lensAlias
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lensArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lensName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LensStatus
lensStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lensVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
notes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PillarReviewSummary]
pillarReviewSummaries
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Risk Natural)
riskCounts
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
updatedAt