{-# 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.GaugeChartOptions 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.ArcAxisConfiguration
import Amazonka.QuickSight.Types.ArcConfiguration
import Amazonka.QuickSight.Types.ComparisonConfiguration
import Amazonka.QuickSight.Types.FontConfiguration
import Amazonka.QuickSight.Types.PrimaryValueDisplayType
data GaugeChartOptions = GaugeChartOptions'
{
GaugeChartOptions -> Maybe ArcConfiguration
arc :: Prelude.Maybe ArcConfiguration,
GaugeChartOptions -> Maybe ArcAxisConfiguration
arcAxis :: Prelude.Maybe ArcAxisConfiguration,
GaugeChartOptions -> Maybe ComparisonConfiguration
comparison :: Prelude.Maybe ComparisonConfiguration,
GaugeChartOptions -> Maybe PrimaryValueDisplayType
primaryValueDisplayType :: Prelude.Maybe PrimaryValueDisplayType,
GaugeChartOptions -> Maybe FontConfiguration
primaryValueFontConfiguration :: Prelude.Maybe FontConfiguration
}
deriving (GaugeChartOptions -> GaugeChartOptions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GaugeChartOptions -> GaugeChartOptions -> Bool
$c/= :: GaugeChartOptions -> GaugeChartOptions -> Bool
== :: GaugeChartOptions -> GaugeChartOptions -> Bool
$c== :: GaugeChartOptions -> GaugeChartOptions -> Bool
Prelude.Eq, Int -> GaugeChartOptions -> ShowS
[GaugeChartOptions] -> ShowS
GaugeChartOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GaugeChartOptions] -> ShowS
$cshowList :: [GaugeChartOptions] -> ShowS
show :: GaugeChartOptions -> String
$cshow :: GaugeChartOptions -> String
showsPrec :: Int -> GaugeChartOptions -> ShowS
$cshowsPrec :: Int -> GaugeChartOptions -> ShowS
Prelude.Show, forall x. Rep GaugeChartOptions x -> GaugeChartOptions
forall x. GaugeChartOptions -> Rep GaugeChartOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GaugeChartOptions x -> GaugeChartOptions
$cfrom :: forall x. GaugeChartOptions -> Rep GaugeChartOptions x
Prelude.Generic)
newGaugeChartOptions ::
GaugeChartOptions
newGaugeChartOptions :: GaugeChartOptions
newGaugeChartOptions =
GaugeChartOptions'
{ $sel:arc:GaugeChartOptions' :: Maybe ArcConfiguration
arc = forall a. Maybe a
Prelude.Nothing,
$sel:arcAxis:GaugeChartOptions' :: Maybe ArcAxisConfiguration
arcAxis = forall a. Maybe a
Prelude.Nothing,
$sel:comparison:GaugeChartOptions' :: Maybe ComparisonConfiguration
comparison = forall a. Maybe a
Prelude.Nothing,
$sel:primaryValueDisplayType:GaugeChartOptions' :: Maybe PrimaryValueDisplayType
primaryValueDisplayType = forall a. Maybe a
Prelude.Nothing,
$sel:primaryValueFontConfiguration:GaugeChartOptions' :: Maybe FontConfiguration
primaryValueFontConfiguration = forall a. Maybe a
Prelude.Nothing
}
gaugeChartOptions_arc :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ArcConfiguration)
gaugeChartOptions_arc :: Lens' GaugeChartOptions (Maybe ArcConfiguration)
gaugeChartOptions_arc = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartOptions' {Maybe ArcConfiguration
arc :: Maybe ArcConfiguration
$sel:arc:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcConfiguration
arc} -> Maybe ArcConfiguration
arc) (\s :: GaugeChartOptions
s@GaugeChartOptions' {} Maybe ArcConfiguration
a -> GaugeChartOptions
s {$sel:arc:GaugeChartOptions' :: Maybe ArcConfiguration
arc = Maybe ArcConfiguration
a} :: GaugeChartOptions)
gaugeChartOptions_arcAxis :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ArcAxisConfiguration)
gaugeChartOptions_arcAxis :: Lens' GaugeChartOptions (Maybe ArcAxisConfiguration)
gaugeChartOptions_arcAxis = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartOptions' {Maybe ArcAxisConfiguration
arcAxis :: Maybe ArcAxisConfiguration
$sel:arcAxis:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcAxisConfiguration
arcAxis} -> Maybe ArcAxisConfiguration
arcAxis) (\s :: GaugeChartOptions
s@GaugeChartOptions' {} Maybe ArcAxisConfiguration
a -> GaugeChartOptions
s {$sel:arcAxis:GaugeChartOptions' :: Maybe ArcAxisConfiguration
arcAxis = Maybe ArcAxisConfiguration
a} :: GaugeChartOptions)
gaugeChartOptions_comparison :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ComparisonConfiguration)
gaugeChartOptions_comparison :: Lens' GaugeChartOptions (Maybe ComparisonConfiguration)
gaugeChartOptions_comparison = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartOptions' {Maybe ComparisonConfiguration
comparison :: Maybe ComparisonConfiguration
$sel:comparison:GaugeChartOptions' :: GaugeChartOptions -> Maybe ComparisonConfiguration
comparison} -> Maybe ComparisonConfiguration
comparison) (\s :: GaugeChartOptions
s@GaugeChartOptions' {} Maybe ComparisonConfiguration
a -> GaugeChartOptions
s {$sel:comparison:GaugeChartOptions' :: Maybe ComparisonConfiguration
comparison = Maybe ComparisonConfiguration
a} :: GaugeChartOptions)
gaugeChartOptions_primaryValueDisplayType :: Lens.Lens' GaugeChartOptions (Prelude.Maybe PrimaryValueDisplayType)
gaugeChartOptions_primaryValueDisplayType :: Lens' GaugeChartOptions (Maybe PrimaryValueDisplayType)
gaugeChartOptions_primaryValueDisplayType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartOptions' {Maybe PrimaryValueDisplayType
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
$sel:primaryValueDisplayType:GaugeChartOptions' :: GaugeChartOptions -> Maybe PrimaryValueDisplayType
primaryValueDisplayType} -> Maybe PrimaryValueDisplayType
primaryValueDisplayType) (\s :: GaugeChartOptions
s@GaugeChartOptions' {} Maybe PrimaryValueDisplayType
a -> GaugeChartOptions
s {$sel:primaryValueDisplayType:GaugeChartOptions' :: Maybe PrimaryValueDisplayType
primaryValueDisplayType = Maybe PrimaryValueDisplayType
a} :: GaugeChartOptions)
gaugeChartOptions_primaryValueFontConfiguration :: Lens.Lens' GaugeChartOptions (Prelude.Maybe FontConfiguration)
gaugeChartOptions_primaryValueFontConfiguration :: Lens' GaugeChartOptions (Maybe FontConfiguration)
gaugeChartOptions_primaryValueFontConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GaugeChartOptions' {Maybe FontConfiguration
primaryValueFontConfiguration :: Maybe FontConfiguration
$sel:primaryValueFontConfiguration:GaugeChartOptions' :: GaugeChartOptions -> Maybe FontConfiguration
primaryValueFontConfiguration} -> Maybe FontConfiguration
primaryValueFontConfiguration) (\s :: GaugeChartOptions
s@GaugeChartOptions' {} Maybe FontConfiguration
a -> GaugeChartOptions
s {$sel:primaryValueFontConfiguration:GaugeChartOptions' :: Maybe FontConfiguration
primaryValueFontConfiguration = Maybe FontConfiguration
a} :: GaugeChartOptions)
instance Data.FromJSON GaugeChartOptions where
parseJSON :: Value -> Parser GaugeChartOptions
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"GaugeChartOptions"
( \Object
x ->
Maybe ArcConfiguration
-> Maybe ArcAxisConfiguration
-> Maybe ComparisonConfiguration
-> Maybe PrimaryValueDisplayType
-> Maybe FontConfiguration
-> GaugeChartOptions
GaugeChartOptions'
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
"Arc")
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
"ArcAxis")
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
"Comparison")
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
"PrimaryValueDisplayType")
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
"PrimaryValueFontConfiguration")
)
instance Prelude.Hashable GaugeChartOptions where
hashWithSalt :: Int -> GaugeChartOptions -> Int
hashWithSalt Int
_salt GaugeChartOptions' {Maybe ArcAxisConfiguration
Maybe ArcConfiguration
Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe ComparisonConfiguration
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
arcAxis :: Maybe ArcAxisConfiguration
arc :: Maybe ArcConfiguration
$sel:primaryValueFontConfiguration:GaugeChartOptions' :: GaugeChartOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:GaugeChartOptions' :: GaugeChartOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:GaugeChartOptions' :: GaugeChartOptions -> Maybe ComparisonConfiguration
$sel:arcAxis:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcAxisConfiguration
$sel:arc:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcConfiguration
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ArcConfiguration
arc
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ArcAxisConfiguration
arcAxis
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComparisonConfiguration
comparison
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrimaryValueDisplayType
primaryValueDisplayType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FontConfiguration
primaryValueFontConfiguration
instance Prelude.NFData GaugeChartOptions where
rnf :: GaugeChartOptions -> ()
rnf GaugeChartOptions' {Maybe ArcAxisConfiguration
Maybe ArcConfiguration
Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe ComparisonConfiguration
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
arcAxis :: Maybe ArcAxisConfiguration
arc :: Maybe ArcConfiguration
$sel:primaryValueFontConfiguration:GaugeChartOptions' :: GaugeChartOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:GaugeChartOptions' :: GaugeChartOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:GaugeChartOptions' :: GaugeChartOptions -> Maybe ComparisonConfiguration
$sel:arcAxis:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcAxisConfiguration
$sel:arc:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcConfiguration
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ArcConfiguration
arc
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ArcAxisConfiguration
arcAxis
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComparisonConfiguration
comparison
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrimaryValueDisplayType
primaryValueDisplayType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FontConfiguration
primaryValueFontConfiguration
instance Data.ToJSON GaugeChartOptions where
toJSON :: GaugeChartOptions -> Value
toJSON GaugeChartOptions' {Maybe ArcAxisConfiguration
Maybe ArcConfiguration
Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe ComparisonConfiguration
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
arcAxis :: Maybe ArcAxisConfiguration
arc :: Maybe ArcConfiguration
$sel:primaryValueFontConfiguration:GaugeChartOptions' :: GaugeChartOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:GaugeChartOptions' :: GaugeChartOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:GaugeChartOptions' :: GaugeChartOptions -> Maybe ComparisonConfiguration
$sel:arcAxis:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcAxisConfiguration
$sel:arc:GaugeChartOptions' :: GaugeChartOptions -> Maybe ArcConfiguration
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Arc" 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 ArcConfiguration
arc,
(Key
"ArcAxis" 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 ArcAxisConfiguration
arcAxis,
(Key
"Comparison" 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 ComparisonConfiguration
comparison,
(Key
"PrimaryValueDisplayType" 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 PrimaryValueDisplayType
primaryValueDisplayType,
(Key
"PrimaryValueFontConfiguration" 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 FontConfiguration
primaryValueFontConfiguration
]
)