{-# 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.KPIVisual 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.ColumnHierarchy
import Amazonka.QuickSight.Types.KPIConditionalFormatting
import Amazonka.QuickSight.Types.KPIConfiguration
import Amazonka.QuickSight.Types.VisualCustomAction
import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions
import Amazonka.QuickSight.Types.VisualTitleLabelOptions
data KPIVisual = KPIVisual'
{
KPIVisual -> Maybe [VisualCustomAction]
actions :: Prelude.Maybe [VisualCustomAction],
KPIVisual -> Maybe KPIConfiguration
chartConfiguration :: Prelude.Maybe KPIConfiguration,
KPIVisual -> Maybe [ColumnHierarchy]
columnHierarchies :: Prelude.Maybe [ColumnHierarchy],
KPIVisual -> Maybe KPIConditionalFormatting
conditionalFormatting :: Prelude.Maybe KPIConditionalFormatting,
KPIVisual -> Maybe VisualSubtitleLabelOptions
subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,
KPIVisual -> Maybe VisualTitleLabelOptions
title :: Prelude.Maybe VisualTitleLabelOptions,
KPIVisual -> Text
visualId :: Prelude.Text
}
deriving (KPIVisual -> KPIVisual -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KPIVisual -> KPIVisual -> Bool
$c/= :: KPIVisual -> KPIVisual -> Bool
== :: KPIVisual -> KPIVisual -> Bool
$c== :: KPIVisual -> KPIVisual -> Bool
Prelude.Eq, Int -> KPIVisual -> ShowS
[KPIVisual] -> ShowS
KPIVisual -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KPIVisual] -> ShowS
$cshowList :: [KPIVisual] -> ShowS
show :: KPIVisual -> String
$cshow :: KPIVisual -> String
showsPrec :: Int -> KPIVisual -> ShowS
$cshowsPrec :: Int -> KPIVisual -> ShowS
Prelude.Show, forall x. Rep KPIVisual x -> KPIVisual
forall x. KPIVisual -> Rep KPIVisual x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KPIVisual x -> KPIVisual
$cfrom :: forall x. KPIVisual -> Rep KPIVisual x
Prelude.Generic)
newKPIVisual ::
Prelude.Text ->
KPIVisual
newKPIVisual :: Text -> KPIVisual
newKPIVisual Text
pVisualId_ =
KPIVisual'
{ $sel:actions:KPIVisual' :: Maybe [VisualCustomAction]
actions = forall a. Maybe a
Prelude.Nothing,
$sel:chartConfiguration:KPIVisual' :: Maybe KPIConfiguration
chartConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:columnHierarchies:KPIVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = forall a. Maybe a
Prelude.Nothing,
$sel:conditionalFormatting:KPIVisual' :: Maybe KPIConditionalFormatting
conditionalFormatting = forall a. Maybe a
Prelude.Nothing,
$sel:subtitle:KPIVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = forall a. Maybe a
Prelude.Nothing,
$sel:title:KPIVisual' :: Maybe VisualTitleLabelOptions
title = forall a. Maybe a
Prelude.Nothing,
$sel:visualId:KPIVisual' :: Text
visualId = Text
pVisualId_
}
kPIVisual_actions :: Lens.Lens' KPIVisual (Prelude.Maybe [VisualCustomAction])
kPIVisual_actions :: Lens' KPIVisual (Maybe [VisualCustomAction])
kPIVisual_actions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe [VisualCustomAction]
actions :: Maybe [VisualCustomAction]
$sel:actions:KPIVisual' :: KPIVisual -> Maybe [VisualCustomAction]
actions} -> Maybe [VisualCustomAction]
actions) (\s :: KPIVisual
s@KPIVisual' {} Maybe [VisualCustomAction]
a -> KPIVisual
s {$sel:actions:KPIVisual' :: Maybe [VisualCustomAction]
actions = Maybe [VisualCustomAction]
a} :: KPIVisual) 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
kPIVisual_chartConfiguration :: Lens.Lens' KPIVisual (Prelude.Maybe KPIConfiguration)
kPIVisual_chartConfiguration :: Lens' KPIVisual (Maybe KPIConfiguration)
kPIVisual_chartConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe KPIConfiguration
chartConfiguration :: Maybe KPIConfiguration
$sel:chartConfiguration:KPIVisual' :: KPIVisual -> Maybe KPIConfiguration
chartConfiguration} -> Maybe KPIConfiguration
chartConfiguration) (\s :: KPIVisual
s@KPIVisual' {} Maybe KPIConfiguration
a -> KPIVisual
s {$sel:chartConfiguration:KPIVisual' :: Maybe KPIConfiguration
chartConfiguration = Maybe KPIConfiguration
a} :: KPIVisual)
kPIVisual_columnHierarchies :: Lens.Lens' KPIVisual (Prelude.Maybe [ColumnHierarchy])
kPIVisual_columnHierarchies :: Lens' KPIVisual (Maybe [ColumnHierarchy])
kPIVisual_columnHierarchies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe [ColumnHierarchy]
columnHierarchies :: Maybe [ColumnHierarchy]
$sel:columnHierarchies:KPIVisual' :: KPIVisual -> Maybe [ColumnHierarchy]
columnHierarchies} -> Maybe [ColumnHierarchy]
columnHierarchies) (\s :: KPIVisual
s@KPIVisual' {} Maybe [ColumnHierarchy]
a -> KPIVisual
s {$sel:columnHierarchies:KPIVisual' :: Maybe [ColumnHierarchy]
columnHierarchies = Maybe [ColumnHierarchy]
a} :: KPIVisual) 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
kPIVisual_conditionalFormatting :: Lens.Lens' KPIVisual (Prelude.Maybe KPIConditionalFormatting)
kPIVisual_conditionalFormatting :: Lens' KPIVisual (Maybe KPIConditionalFormatting)
kPIVisual_conditionalFormatting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe KPIConditionalFormatting
conditionalFormatting :: Maybe KPIConditionalFormatting
$sel:conditionalFormatting:KPIVisual' :: KPIVisual -> Maybe KPIConditionalFormatting
conditionalFormatting} -> Maybe KPIConditionalFormatting
conditionalFormatting) (\s :: KPIVisual
s@KPIVisual' {} Maybe KPIConditionalFormatting
a -> KPIVisual
s {$sel:conditionalFormatting:KPIVisual' :: Maybe KPIConditionalFormatting
conditionalFormatting = Maybe KPIConditionalFormatting
a} :: KPIVisual)
kPIVisual_subtitle :: Lens.Lens' KPIVisual (Prelude.Maybe VisualSubtitleLabelOptions)
kPIVisual_subtitle :: Lens' KPIVisual (Maybe VisualSubtitleLabelOptions)
kPIVisual_subtitle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe VisualSubtitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
$sel:subtitle:KPIVisual' :: KPIVisual -> Maybe VisualSubtitleLabelOptions
subtitle} -> Maybe VisualSubtitleLabelOptions
subtitle) (\s :: KPIVisual
s@KPIVisual' {} Maybe VisualSubtitleLabelOptions
a -> KPIVisual
s {$sel:subtitle:KPIVisual' :: Maybe VisualSubtitleLabelOptions
subtitle = Maybe VisualSubtitleLabelOptions
a} :: KPIVisual)
kPIVisual_title :: Lens.Lens' KPIVisual (Prelude.Maybe VisualTitleLabelOptions)
kPIVisual_title :: Lens' KPIVisual (Maybe VisualTitleLabelOptions)
kPIVisual_title = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Maybe VisualTitleLabelOptions
title :: Maybe VisualTitleLabelOptions
$sel:title:KPIVisual' :: KPIVisual -> Maybe VisualTitleLabelOptions
title} -> Maybe VisualTitleLabelOptions
title) (\s :: KPIVisual
s@KPIVisual' {} Maybe VisualTitleLabelOptions
a -> KPIVisual
s {$sel:title:KPIVisual' :: Maybe VisualTitleLabelOptions
title = Maybe VisualTitleLabelOptions
a} :: KPIVisual)
kPIVisual_visualId :: Lens.Lens' KPIVisual Prelude.Text
kPIVisual_visualId :: Lens' KPIVisual Text
kPIVisual_visualId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIVisual' {Text
visualId :: Text
$sel:visualId:KPIVisual' :: KPIVisual -> Text
visualId} -> Text
visualId) (\s :: KPIVisual
s@KPIVisual' {} Text
a -> KPIVisual
s {$sel:visualId:KPIVisual' :: Text
visualId = Text
a} :: KPIVisual)
instance Data.FromJSON KPIVisual where
parseJSON :: Value -> Parser KPIVisual
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"KPIVisual"
( \Object
x ->
Maybe [VisualCustomAction]
-> Maybe KPIConfiguration
-> Maybe [ColumnHierarchy]
-> Maybe KPIConditionalFormatting
-> Maybe VisualSubtitleLabelOptions
-> Maybe VisualTitleLabelOptions
-> Text
-> KPIVisual
KPIVisual'
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
"Actions" 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
"ChartConfiguration")
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
"ColumnHierarchies"
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
"ConditionalFormatting")
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
"Subtitle")
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
"Title")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"VisualId")
)
instance Prelude.Hashable KPIVisual where
hashWithSalt :: Int -> KPIVisual -> Int
hashWithSalt Int
_salt KPIVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe KPIConditionalFormatting
Maybe KPIConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
conditionalFormatting :: Maybe KPIConditionalFormatting
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe KPIConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:KPIVisual' :: KPIVisual -> Text
$sel:title:KPIVisual' :: KPIVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:KPIVisual' :: KPIVisual -> Maybe VisualSubtitleLabelOptions
$sel:conditionalFormatting:KPIVisual' :: KPIVisual -> Maybe KPIConditionalFormatting
$sel:columnHierarchies:KPIVisual' :: KPIVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:KPIVisual' :: KPIVisual -> Maybe KPIConfiguration
$sel:actions:KPIVisual' :: KPIVisual -> Maybe [VisualCustomAction]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [VisualCustomAction]
actions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KPIConfiguration
chartConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ColumnHierarchy]
columnHierarchies
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KPIConditionalFormatting
conditionalFormatting
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualSubtitleLabelOptions
subtitle
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualTitleLabelOptions
title
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
visualId
instance Prelude.NFData KPIVisual where
rnf :: KPIVisual -> ()
rnf KPIVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe KPIConditionalFormatting
Maybe KPIConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
conditionalFormatting :: Maybe KPIConditionalFormatting
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe KPIConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:KPIVisual' :: KPIVisual -> Text
$sel:title:KPIVisual' :: KPIVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:KPIVisual' :: KPIVisual -> Maybe VisualSubtitleLabelOptions
$sel:conditionalFormatting:KPIVisual' :: KPIVisual -> Maybe KPIConditionalFormatting
$sel:columnHierarchies:KPIVisual' :: KPIVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:KPIVisual' :: KPIVisual -> Maybe KPIConfiguration
$sel:actions:KPIVisual' :: KPIVisual -> Maybe [VisualCustomAction]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [VisualCustomAction]
actions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KPIConfiguration
chartConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ColumnHierarchy]
columnHierarchies
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KPIConditionalFormatting
conditionalFormatting
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualSubtitleLabelOptions
subtitle
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualTitleLabelOptions
title
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
visualId
instance Data.ToJSON KPIVisual where
toJSON :: KPIVisual -> Value
toJSON KPIVisual' {Maybe [ColumnHierarchy]
Maybe [VisualCustomAction]
Maybe KPIConditionalFormatting
Maybe KPIConfiguration
Maybe VisualSubtitleLabelOptions
Maybe VisualTitleLabelOptions
Text
visualId :: Text
title :: Maybe VisualTitleLabelOptions
subtitle :: Maybe VisualSubtitleLabelOptions
conditionalFormatting :: Maybe KPIConditionalFormatting
columnHierarchies :: Maybe [ColumnHierarchy]
chartConfiguration :: Maybe KPIConfiguration
actions :: Maybe [VisualCustomAction]
$sel:visualId:KPIVisual' :: KPIVisual -> Text
$sel:title:KPIVisual' :: KPIVisual -> Maybe VisualTitleLabelOptions
$sel:subtitle:KPIVisual' :: KPIVisual -> Maybe VisualSubtitleLabelOptions
$sel:conditionalFormatting:KPIVisual' :: KPIVisual -> Maybe KPIConditionalFormatting
$sel:columnHierarchies:KPIVisual' :: KPIVisual -> Maybe [ColumnHierarchy]
$sel:chartConfiguration:KPIVisual' :: KPIVisual -> Maybe KPIConfiguration
$sel:actions:KPIVisual' :: KPIVisual -> Maybe [VisualCustomAction]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Actions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [VisualCustomAction]
actions,
(Key
"ChartConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KPIConfiguration
chartConfiguration,
(Key
"ColumnHierarchies" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ColumnHierarchy]
columnHierarchies,
(Key
"ConditionalFormatting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KPIConditionalFormatting
conditionalFormatting,
(Key
"Subtitle" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VisualSubtitleLabelOptions
subtitle,
(Key
"Title" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VisualTitleLabelOptions
title,
forall a. a -> Maybe a
Prelude.Just (Key
"VisualId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
visualId)
]
)