{-# 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.GaugeChartConfiguration 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.DataLabelOptions
import Amazonka.QuickSight.Types.GaugeChartFieldWells
import Amazonka.QuickSight.Types.GaugeChartOptions
import Amazonka.QuickSight.Types.TooltipOptions
import Amazonka.QuickSight.Types.VisualPalette
data GaugeChartConfiguration = GaugeChartConfiguration'
{
GaugeChartConfiguration -> Maybe DataLabelOptions
dataLabels :: Prelude.Maybe DataLabelOptions,
GaugeChartConfiguration -> Maybe GaugeChartFieldWells
fieldWells :: Prelude.Maybe GaugeChartFieldWells,
GaugeChartConfiguration -> Maybe GaugeChartOptions
gaugeChartOptions :: Prelude.Maybe GaugeChartOptions,
GaugeChartConfiguration -> Maybe TooltipOptions
tooltipOptions :: Prelude.Maybe TooltipOptions,
GaugeChartConfiguration -> Maybe VisualPalette
visualPalette :: Prelude.Maybe VisualPalette
}
deriving (GaugeChartConfiguration -> GaugeChartConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GaugeChartConfiguration -> GaugeChartConfiguration -> Bool
$c/= :: GaugeChartConfiguration -> GaugeChartConfiguration -> Bool
== :: GaugeChartConfiguration -> GaugeChartConfiguration -> Bool
$c== :: GaugeChartConfiguration -> GaugeChartConfiguration -> Bool
Prelude.Eq, Int -> GaugeChartConfiguration -> ShowS
[GaugeChartConfiguration] -> ShowS
GaugeChartConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GaugeChartConfiguration] -> ShowS
$cshowList :: [GaugeChartConfiguration] -> ShowS
show :: GaugeChartConfiguration -> String
$cshow :: GaugeChartConfiguration -> String
showsPrec :: Int -> GaugeChartConfiguration -> ShowS
$cshowsPrec :: Int -> GaugeChartConfiguration -> ShowS
Prelude.Show, forall x. Rep GaugeChartConfiguration x -> GaugeChartConfiguration
forall x. GaugeChartConfiguration -> Rep GaugeChartConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GaugeChartConfiguration x -> GaugeChartConfiguration
$cfrom :: forall x. GaugeChartConfiguration -> Rep GaugeChartConfiguration x
Prelude.Generic)
newGaugeChartConfiguration ::
GaugeChartConfiguration
newGaugeChartConfiguration :: GaugeChartConfiguration
newGaugeChartConfiguration =
GaugeChartConfiguration'
{ $sel:dataLabels:GaugeChartConfiguration' :: Maybe DataLabelOptions
dataLabels =
forall a. Maybe a
Prelude.Nothing,
$sel:fieldWells:GaugeChartConfiguration' :: Maybe GaugeChartFieldWells
fieldWells = forall a. Maybe a
Prelude.Nothing,
$sel:gaugeChartOptions:GaugeChartConfiguration' :: Maybe GaugeChartOptions
gaugeChartOptions = forall a. Maybe a
Prelude.Nothing,
$sel:tooltipOptions:GaugeChartConfiguration' :: Maybe TooltipOptions
tooltipOptions = forall a. Maybe a
Prelude.Nothing,
$sel:visualPalette:GaugeChartConfiguration' :: Maybe VisualPalette
visualPalette = forall a. Maybe a
Prelude.Nothing
}
gaugeChartConfiguration_dataLabels :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe DataLabelOptions)
gaugeChartConfiguration_dataLabels :: Lens' GaugeChartConfiguration (Maybe DataLabelOptions)
gaugeChartConfiguration_dataLabels = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartConfiguration' {Maybe DataLabelOptions
dataLabels :: Maybe DataLabelOptions
$sel:dataLabels:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe DataLabelOptions
dataLabels} -> Maybe DataLabelOptions
dataLabels) (\s :: GaugeChartConfiguration
s@GaugeChartConfiguration' {} Maybe DataLabelOptions
a -> GaugeChartConfiguration
s {$sel:dataLabels:GaugeChartConfiguration' :: Maybe DataLabelOptions
dataLabels = Maybe DataLabelOptions
a} :: GaugeChartConfiguration)
gaugeChartConfiguration_fieldWells :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe GaugeChartFieldWells)
gaugeChartConfiguration_fieldWells :: Lens' GaugeChartConfiguration (Maybe GaugeChartFieldWells)
gaugeChartConfiguration_fieldWells = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartConfiguration' {Maybe GaugeChartFieldWells
fieldWells :: Maybe GaugeChartFieldWells
$sel:fieldWells:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartFieldWells
fieldWells} -> Maybe GaugeChartFieldWells
fieldWells) (\s :: GaugeChartConfiguration
s@GaugeChartConfiguration' {} Maybe GaugeChartFieldWells
a -> GaugeChartConfiguration
s {$sel:fieldWells:GaugeChartConfiguration' :: Maybe GaugeChartFieldWells
fieldWells = Maybe GaugeChartFieldWells
a} :: GaugeChartConfiguration)
gaugeChartConfiguration_gaugeChartOptions :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe GaugeChartOptions)
gaugeChartConfiguration_gaugeChartOptions :: Lens' GaugeChartConfiguration (Maybe GaugeChartOptions)
gaugeChartConfiguration_gaugeChartOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartConfiguration' {Maybe GaugeChartOptions
gaugeChartOptions :: Maybe GaugeChartOptions
$sel:gaugeChartOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartOptions
gaugeChartOptions} -> Maybe GaugeChartOptions
gaugeChartOptions) (\s :: GaugeChartConfiguration
s@GaugeChartConfiguration' {} Maybe GaugeChartOptions
a -> GaugeChartConfiguration
s {$sel:gaugeChartOptions:GaugeChartConfiguration' :: Maybe GaugeChartOptions
gaugeChartOptions = Maybe GaugeChartOptions
a} :: GaugeChartConfiguration)
gaugeChartConfiguration_tooltipOptions :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe TooltipOptions)
gaugeChartConfiguration_tooltipOptions :: Lens' GaugeChartConfiguration (Maybe TooltipOptions)
gaugeChartConfiguration_tooltipOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartConfiguration' {Maybe TooltipOptions
tooltipOptions :: Maybe TooltipOptions
$sel:tooltipOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe TooltipOptions
tooltipOptions} -> Maybe TooltipOptions
tooltipOptions) (\s :: GaugeChartConfiguration
s@GaugeChartConfiguration' {} Maybe TooltipOptions
a -> GaugeChartConfiguration
s {$sel:tooltipOptions:GaugeChartConfiguration' :: Maybe TooltipOptions
tooltipOptions = Maybe TooltipOptions
a} :: GaugeChartConfiguration)
gaugeChartConfiguration_visualPalette :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe VisualPalette)
gaugeChartConfiguration_visualPalette :: Lens' GaugeChartConfiguration (Maybe VisualPalette)
gaugeChartConfiguration_visualPalette = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartConfiguration' {Maybe VisualPalette
visualPalette :: Maybe VisualPalette
$sel:visualPalette:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe VisualPalette
visualPalette} -> Maybe VisualPalette
visualPalette) (\s :: GaugeChartConfiguration
s@GaugeChartConfiguration' {} Maybe VisualPalette
a -> GaugeChartConfiguration
s {$sel:visualPalette:GaugeChartConfiguration' :: Maybe VisualPalette
visualPalette = Maybe VisualPalette
a} :: GaugeChartConfiguration)
instance Data.FromJSON GaugeChartConfiguration where
parseJSON :: Value -> Parser GaugeChartConfiguration
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"GaugeChartConfiguration"
( \Object
x ->
Maybe DataLabelOptions
-> Maybe GaugeChartFieldWells
-> Maybe GaugeChartOptions
-> Maybe TooltipOptions
-> Maybe VisualPalette
-> GaugeChartConfiguration
GaugeChartConfiguration'
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
"DataLabels")
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
"FieldWells")
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
"GaugeChartOptions")
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
"TooltipOptions")
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
"VisualPalette")
)
instance Prelude.Hashable GaugeChartConfiguration where
hashWithSalt :: Int -> GaugeChartConfiguration -> Int
hashWithSalt Int
_salt GaugeChartConfiguration' {Maybe GaugeChartOptions
Maybe GaugeChartFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe VisualPalette
visualPalette :: Maybe VisualPalette
tooltipOptions :: Maybe TooltipOptions
gaugeChartOptions :: Maybe GaugeChartOptions
fieldWells :: Maybe GaugeChartFieldWells
dataLabels :: Maybe DataLabelOptions
$sel:visualPalette:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe VisualPalette
$sel:tooltipOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe TooltipOptions
$sel:gaugeChartOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartOptions
$sel:fieldWells:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartFieldWells
$sel:dataLabels:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe DataLabelOptions
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataLabelOptions
dataLabels
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GaugeChartFieldWells
fieldWells
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GaugeChartOptions
gaugeChartOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TooltipOptions
tooltipOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VisualPalette
visualPalette
instance Prelude.NFData GaugeChartConfiguration where
rnf :: GaugeChartConfiguration -> ()
rnf GaugeChartConfiguration' {Maybe GaugeChartOptions
Maybe GaugeChartFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe VisualPalette
visualPalette :: Maybe VisualPalette
tooltipOptions :: Maybe TooltipOptions
gaugeChartOptions :: Maybe GaugeChartOptions
fieldWells :: Maybe GaugeChartFieldWells
dataLabels :: Maybe DataLabelOptions
$sel:visualPalette:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe VisualPalette
$sel:tooltipOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe TooltipOptions
$sel:gaugeChartOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartOptions
$sel:fieldWells:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartFieldWells
$sel:dataLabels:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe DataLabelOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DataLabelOptions
dataLabels
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GaugeChartFieldWells
fieldWells
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GaugeChartOptions
gaugeChartOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TooltipOptions
tooltipOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VisualPalette
visualPalette
instance Data.ToJSON GaugeChartConfiguration where
toJSON :: GaugeChartConfiguration -> Value
toJSON GaugeChartConfiguration' {Maybe GaugeChartOptions
Maybe GaugeChartFieldWells
Maybe DataLabelOptions
Maybe TooltipOptions
Maybe VisualPalette
visualPalette :: Maybe VisualPalette
tooltipOptions :: Maybe TooltipOptions
gaugeChartOptions :: Maybe GaugeChartOptions
fieldWells :: Maybe GaugeChartFieldWells
dataLabels :: Maybe DataLabelOptions
$sel:visualPalette:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe VisualPalette
$sel:tooltipOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe TooltipOptions
$sel:gaugeChartOptions:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartOptions
$sel:fieldWells:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe GaugeChartFieldWells
$sel:dataLabels:GaugeChartConfiguration' :: GaugeChartConfiguration -> Maybe DataLabelOptions
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DataLabels" 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 DataLabelOptions
dataLabels,
(Key
"FieldWells" 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 GaugeChartFieldWells
fieldWells,
(Key
"GaugeChartOptions" 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 GaugeChartOptions
gaugeChartOptions,
(Key
"TooltipOptions" 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 TooltipOptions
tooltipOptions,
(Key
"VisualPalette" 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 VisualPalette
visualPalette
]
)