{-# 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.QuickSight.Types.ThemeVersion 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.QuickSight.Types.ResourceStatus
import Amazonka.QuickSight.Types.ThemeConfiguration
import Amazonka.QuickSight.Types.ThemeError
data ThemeVersion = ThemeVersion'
{
ThemeVersion -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
ThemeVersion -> Maybe Text
baseThemeId :: Prelude.Maybe Prelude.Text,
ThemeVersion -> Maybe ThemeConfiguration
configuration :: Prelude.Maybe ThemeConfiguration,
ThemeVersion -> Maybe POSIX
createdTime :: Prelude.Maybe Data.POSIX,
ThemeVersion -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ThemeVersion -> Maybe (NonEmpty ThemeError)
errors :: Prelude.Maybe (Prelude.NonEmpty ThemeError),
ThemeVersion -> Maybe ResourceStatus
status :: Prelude.Maybe ResourceStatus,
ThemeVersion -> Maybe Natural
versionNumber :: Prelude.Maybe Prelude.Natural
}
deriving (ThemeVersion -> ThemeVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ThemeVersion -> ThemeVersion -> Bool
$c/= :: ThemeVersion -> ThemeVersion -> Bool
== :: ThemeVersion -> ThemeVersion -> Bool
$c== :: ThemeVersion -> ThemeVersion -> Bool
Prelude.Eq, ReadPrec [ThemeVersion]
ReadPrec ThemeVersion
Int -> ReadS ThemeVersion
ReadS [ThemeVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ThemeVersion]
$creadListPrec :: ReadPrec [ThemeVersion]
readPrec :: ReadPrec ThemeVersion
$creadPrec :: ReadPrec ThemeVersion
readList :: ReadS [ThemeVersion]
$creadList :: ReadS [ThemeVersion]
readsPrec :: Int -> ReadS ThemeVersion
$creadsPrec :: Int -> ReadS ThemeVersion
Prelude.Read, Int -> ThemeVersion -> ShowS
[ThemeVersion] -> ShowS
ThemeVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ThemeVersion] -> ShowS
$cshowList :: [ThemeVersion] -> ShowS
show :: ThemeVersion -> String
$cshow :: ThemeVersion -> String
showsPrec :: Int -> ThemeVersion -> ShowS
$cshowsPrec :: Int -> ThemeVersion -> ShowS
Prelude.Show, forall x. Rep ThemeVersion x -> ThemeVersion
forall x. ThemeVersion -> Rep ThemeVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ThemeVersion x -> ThemeVersion
$cfrom :: forall x. ThemeVersion -> Rep ThemeVersion x
Prelude.Generic)
newThemeVersion ::
ThemeVersion
newThemeVersion :: ThemeVersion
newThemeVersion =
ThemeVersion'
{ $sel:arn:ThemeVersion' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:baseThemeId:ThemeVersion' :: Maybe Text
baseThemeId = forall a. Maybe a
Prelude.Nothing,
$sel:configuration:ThemeVersion' :: Maybe ThemeConfiguration
configuration = forall a. Maybe a
Prelude.Nothing,
$sel:createdTime:ThemeVersion' :: Maybe POSIX
createdTime = forall a. Maybe a
Prelude.Nothing,
$sel:description:ThemeVersion' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:errors:ThemeVersion' :: Maybe (NonEmpty ThemeError)
errors = forall a. Maybe a
Prelude.Nothing,
$sel:status:ThemeVersion' :: Maybe ResourceStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:versionNumber:ThemeVersion' :: Maybe Natural
versionNumber = forall a. Maybe a
Prelude.Nothing
}
themeVersion_arn :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)
themeVersion_arn :: Lens' ThemeVersion (Maybe Text)
themeVersion_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe Text
arn :: Maybe Text
$sel:arn:ThemeVersion' :: ThemeVersion -> Maybe Text
arn} -> Maybe Text
arn) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe Text
a -> ThemeVersion
s {$sel:arn:ThemeVersion' :: Maybe Text
arn = Maybe Text
a} :: ThemeVersion)
themeVersion_baseThemeId :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)
themeVersion_baseThemeId :: Lens' ThemeVersion (Maybe Text)
themeVersion_baseThemeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe Text
baseThemeId :: Maybe Text
$sel:baseThemeId:ThemeVersion' :: ThemeVersion -> Maybe Text
baseThemeId} -> Maybe Text
baseThemeId) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe Text
a -> ThemeVersion
s {$sel:baseThemeId:ThemeVersion' :: Maybe Text
baseThemeId = Maybe Text
a} :: ThemeVersion)
themeVersion_configuration :: Lens.Lens' ThemeVersion (Prelude.Maybe ThemeConfiguration)
themeVersion_configuration :: Lens' ThemeVersion (Maybe ThemeConfiguration)
themeVersion_configuration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe ThemeConfiguration
configuration :: Maybe ThemeConfiguration
$sel:configuration:ThemeVersion' :: ThemeVersion -> Maybe ThemeConfiguration
configuration} -> Maybe ThemeConfiguration
configuration) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe ThemeConfiguration
a -> ThemeVersion
s {$sel:configuration:ThemeVersion' :: Maybe ThemeConfiguration
configuration = Maybe ThemeConfiguration
a} :: ThemeVersion)
themeVersion_createdTime :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.UTCTime)
themeVersion_createdTime :: Lens' ThemeVersion (Maybe UTCTime)
themeVersion_createdTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe POSIX
createdTime :: Maybe POSIX
$sel:createdTime:ThemeVersion' :: ThemeVersion -> Maybe POSIX
createdTime} -> Maybe POSIX
createdTime) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe POSIX
a -> ThemeVersion
s {$sel:createdTime:ThemeVersion' :: Maybe POSIX
createdTime = Maybe POSIX
a} :: ThemeVersion) 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
themeVersion_description :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)
themeVersion_description :: Lens' ThemeVersion (Maybe Text)
themeVersion_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe Text
description :: Maybe Text
$sel:description:ThemeVersion' :: ThemeVersion -> Maybe Text
description} -> Maybe Text
description) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe Text
a -> ThemeVersion
s {$sel:description:ThemeVersion' :: Maybe Text
description = Maybe Text
a} :: ThemeVersion)
themeVersion_errors :: Lens.Lens' ThemeVersion (Prelude.Maybe (Prelude.NonEmpty ThemeError))
themeVersion_errors :: Lens' ThemeVersion (Maybe (NonEmpty ThemeError))
themeVersion_errors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe (NonEmpty ThemeError)
errors :: Maybe (NonEmpty ThemeError)
$sel:errors:ThemeVersion' :: ThemeVersion -> Maybe (NonEmpty ThemeError)
errors} -> Maybe (NonEmpty ThemeError)
errors) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe (NonEmpty ThemeError)
a -> ThemeVersion
s {$sel:errors:ThemeVersion' :: Maybe (NonEmpty ThemeError)
errors = Maybe (NonEmpty ThemeError)
a} :: ThemeVersion) 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
themeVersion_status :: Lens.Lens' ThemeVersion (Prelude.Maybe ResourceStatus)
themeVersion_status :: Lens' ThemeVersion (Maybe ResourceStatus)
themeVersion_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe ResourceStatus
status :: Maybe ResourceStatus
$sel:status:ThemeVersion' :: ThemeVersion -> Maybe ResourceStatus
status} -> Maybe ResourceStatus
status) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe ResourceStatus
a -> ThemeVersion
s {$sel:status:ThemeVersion' :: Maybe ResourceStatus
status = Maybe ResourceStatus
a} :: ThemeVersion)
themeVersion_versionNumber :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Natural)
themeVersion_versionNumber :: Lens' ThemeVersion (Maybe Natural)
themeVersion_versionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ThemeVersion' {Maybe Natural
versionNumber :: Maybe Natural
$sel:versionNumber:ThemeVersion' :: ThemeVersion -> Maybe Natural
versionNumber} -> Maybe Natural
versionNumber) (\s :: ThemeVersion
s@ThemeVersion' {} Maybe Natural
a -> ThemeVersion
s {$sel:versionNumber:ThemeVersion' :: Maybe Natural
versionNumber = Maybe Natural
a} :: ThemeVersion)
instance Data.FromJSON ThemeVersion where
parseJSON :: Value -> Parser ThemeVersion
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ThemeVersion"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Maybe ThemeConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe (NonEmpty ThemeError)
-> Maybe ResourceStatus
-> Maybe Natural
-> ThemeVersion
ThemeVersion'
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
"BaseThemeId")
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
"Configuration")
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
"CreatedTime")
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
"Description")
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
"Errors")
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
"VersionNumber")
)
instance Prelude.Hashable ThemeVersion where
hashWithSalt :: Int -> ThemeVersion -> Int
hashWithSalt Int
_salt ThemeVersion' {Maybe Natural
Maybe (NonEmpty ThemeError)
Maybe Text
Maybe POSIX
Maybe ResourceStatus
Maybe ThemeConfiguration
versionNumber :: Maybe Natural
status :: Maybe ResourceStatus
errors :: Maybe (NonEmpty ThemeError)
description :: Maybe Text
createdTime :: Maybe POSIX
configuration :: Maybe ThemeConfiguration
baseThemeId :: Maybe Text
arn :: Maybe Text
$sel:versionNumber:ThemeVersion' :: ThemeVersion -> Maybe Natural
$sel:status:ThemeVersion' :: ThemeVersion -> Maybe ResourceStatus
$sel:errors:ThemeVersion' :: ThemeVersion -> Maybe (NonEmpty ThemeError)
$sel:description:ThemeVersion' :: ThemeVersion -> Maybe Text
$sel:createdTime:ThemeVersion' :: ThemeVersion -> Maybe POSIX
$sel:configuration:ThemeVersion' :: ThemeVersion -> Maybe ThemeConfiguration
$sel:baseThemeId:ThemeVersion' :: ThemeVersion -> Maybe Text
$sel:arn:ThemeVersion' :: ThemeVersion -> 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 Text
baseThemeId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ThemeConfiguration
configuration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty ThemeError)
errors
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
versionNumber
instance Prelude.NFData ThemeVersion where
rnf :: ThemeVersion -> ()
rnf ThemeVersion' {Maybe Natural
Maybe (NonEmpty ThemeError)
Maybe Text
Maybe POSIX
Maybe ResourceStatus
Maybe ThemeConfiguration
versionNumber :: Maybe Natural
status :: Maybe ResourceStatus
errors :: Maybe (NonEmpty ThemeError)
description :: Maybe Text
createdTime :: Maybe POSIX
configuration :: Maybe ThemeConfiguration
baseThemeId :: Maybe Text
arn :: Maybe Text
$sel:versionNumber:ThemeVersion' :: ThemeVersion -> Maybe Natural
$sel:status:ThemeVersion' :: ThemeVersion -> Maybe ResourceStatus
$sel:errors:ThemeVersion' :: ThemeVersion -> Maybe (NonEmpty ThemeError)
$sel:description:ThemeVersion' :: ThemeVersion -> Maybe Text
$sel:createdTime:ThemeVersion' :: ThemeVersion -> Maybe POSIX
$sel:configuration:ThemeVersion' :: ThemeVersion -> Maybe ThemeConfiguration
$sel:baseThemeId:ThemeVersion' :: ThemeVersion -> Maybe Text
$sel:arn:ThemeVersion' :: ThemeVersion -> 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 Text
baseThemeId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ThemeConfiguration
configuration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty ThemeError)
errors
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
versionNumber