{-# 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.TopBottomMoversComputation 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.DimensionField
import Amazonka.QuickSight.Types.MeasureField
import Amazonka.QuickSight.Types.TopBottomComputationType
import Amazonka.QuickSight.Types.TopBottomSortOrder
data TopBottomMoversComputation = TopBottomMoversComputation'
{
TopBottomMoversComputation -> Maybe Natural
moverSize :: Prelude.Maybe Prelude.Natural,
TopBottomMoversComputation -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
TopBottomMoversComputation -> Maybe TopBottomSortOrder
sortOrder :: Prelude.Maybe TopBottomSortOrder,
TopBottomMoversComputation -> Maybe MeasureField
value :: Prelude.Maybe MeasureField,
TopBottomMoversComputation -> Text
computationId :: Prelude.Text,
TopBottomMoversComputation -> DimensionField
time :: DimensionField,
TopBottomMoversComputation -> DimensionField
category :: DimensionField,
TopBottomMoversComputation -> TopBottomComputationType
type' :: TopBottomComputationType
}
deriving (TopBottomMoversComputation -> TopBottomMoversComputation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TopBottomMoversComputation -> TopBottomMoversComputation -> Bool
$c/= :: TopBottomMoversComputation -> TopBottomMoversComputation -> Bool
== :: TopBottomMoversComputation -> TopBottomMoversComputation -> Bool
$c== :: TopBottomMoversComputation -> TopBottomMoversComputation -> Bool
Prelude.Eq, Int -> TopBottomMoversComputation -> ShowS
[TopBottomMoversComputation] -> ShowS
TopBottomMoversComputation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TopBottomMoversComputation] -> ShowS
$cshowList :: [TopBottomMoversComputation] -> ShowS
show :: TopBottomMoversComputation -> String
$cshow :: TopBottomMoversComputation -> String
showsPrec :: Int -> TopBottomMoversComputation -> ShowS
$cshowsPrec :: Int -> TopBottomMoversComputation -> ShowS
Prelude.Show, forall x.
Rep TopBottomMoversComputation x -> TopBottomMoversComputation
forall x.
TopBottomMoversComputation -> Rep TopBottomMoversComputation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep TopBottomMoversComputation x -> TopBottomMoversComputation
$cfrom :: forall x.
TopBottomMoversComputation -> Rep TopBottomMoversComputation x
Prelude.Generic)
newTopBottomMoversComputation ::
Prelude.Text ->
DimensionField ->
DimensionField ->
TopBottomComputationType ->
TopBottomMoversComputation
newTopBottomMoversComputation :: Text
-> DimensionField
-> DimensionField
-> TopBottomComputationType
-> TopBottomMoversComputation
newTopBottomMoversComputation
Text
pComputationId_
DimensionField
pTime_
DimensionField
pCategory_
TopBottomComputationType
pType_ =
TopBottomMoversComputation'
{ $sel:moverSize:TopBottomMoversComputation' :: Maybe Natural
moverSize =
forall a. Maybe a
Prelude.Nothing,
$sel:name:TopBottomMoversComputation' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:sortOrder:TopBottomMoversComputation' :: Maybe TopBottomSortOrder
sortOrder = forall a. Maybe a
Prelude.Nothing,
$sel:value:TopBottomMoversComputation' :: Maybe MeasureField
value = forall a. Maybe a
Prelude.Nothing,
$sel:computationId:TopBottomMoversComputation' :: Text
computationId = Text
pComputationId_,
$sel:time:TopBottomMoversComputation' :: DimensionField
time = DimensionField
pTime_,
$sel:category:TopBottomMoversComputation' :: DimensionField
category = DimensionField
pCategory_,
$sel:type':TopBottomMoversComputation' :: TopBottomComputationType
type' = TopBottomComputationType
pType_
}
topBottomMoversComputation_moverSize :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe Prelude.Natural)
topBottomMoversComputation_moverSize :: Lens' TopBottomMoversComputation (Maybe Natural)
topBottomMoversComputation_moverSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {Maybe Natural
moverSize :: Maybe Natural
$sel:moverSize:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Natural
moverSize} -> Maybe Natural
moverSize) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} Maybe Natural
a -> TopBottomMoversComputation
s {$sel:moverSize:TopBottomMoversComputation' :: Maybe Natural
moverSize = Maybe Natural
a} :: TopBottomMoversComputation)
topBottomMoversComputation_name :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe Prelude.Text)
topBottomMoversComputation_name :: Lens' TopBottomMoversComputation (Maybe Text)
topBottomMoversComputation_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {Maybe Text
name :: Maybe Text
$sel:name:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Text
name} -> Maybe Text
name) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} Maybe Text
a -> TopBottomMoversComputation
s {$sel:name:TopBottomMoversComputation' :: Maybe Text
name = Maybe Text
a} :: TopBottomMoversComputation)
topBottomMoversComputation_sortOrder :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe TopBottomSortOrder)
topBottomMoversComputation_sortOrder :: Lens' TopBottomMoversComputation (Maybe TopBottomSortOrder)
topBottomMoversComputation_sortOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {Maybe TopBottomSortOrder
sortOrder :: Maybe TopBottomSortOrder
$sel:sortOrder:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe TopBottomSortOrder
sortOrder} -> Maybe TopBottomSortOrder
sortOrder) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} Maybe TopBottomSortOrder
a -> TopBottomMoversComputation
s {$sel:sortOrder:TopBottomMoversComputation' :: Maybe TopBottomSortOrder
sortOrder = Maybe TopBottomSortOrder
a} :: TopBottomMoversComputation)
topBottomMoversComputation_value :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe MeasureField)
topBottomMoversComputation_value :: Lens' TopBottomMoversComputation (Maybe MeasureField)
topBottomMoversComputation_value = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {Maybe MeasureField
value :: Maybe MeasureField
$sel:value:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe MeasureField
value} -> Maybe MeasureField
value) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} Maybe MeasureField
a -> TopBottomMoversComputation
s {$sel:value:TopBottomMoversComputation' :: Maybe MeasureField
value = Maybe MeasureField
a} :: TopBottomMoversComputation)
topBottomMoversComputation_computationId :: Lens.Lens' TopBottomMoversComputation Prelude.Text
topBottomMoversComputation_computationId :: Lens' TopBottomMoversComputation Text
topBottomMoversComputation_computationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {Text
computationId :: Text
$sel:computationId:TopBottomMoversComputation' :: TopBottomMoversComputation -> Text
computationId} -> Text
computationId) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} Text
a -> TopBottomMoversComputation
s {$sel:computationId:TopBottomMoversComputation' :: Text
computationId = Text
a} :: TopBottomMoversComputation)
topBottomMoversComputation_time :: Lens.Lens' TopBottomMoversComputation DimensionField
topBottomMoversComputation_time :: Lens' TopBottomMoversComputation DimensionField
topBottomMoversComputation_time = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {DimensionField
time :: DimensionField
$sel:time:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
time} -> DimensionField
time) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} DimensionField
a -> TopBottomMoversComputation
s {$sel:time:TopBottomMoversComputation' :: DimensionField
time = DimensionField
a} :: TopBottomMoversComputation)
topBottomMoversComputation_category :: Lens.Lens' TopBottomMoversComputation DimensionField
topBottomMoversComputation_category :: Lens' TopBottomMoversComputation DimensionField
topBottomMoversComputation_category = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {DimensionField
category :: DimensionField
$sel:category:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
category} -> DimensionField
category) (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} DimensionField
a -> TopBottomMoversComputation
s {$sel:category:TopBottomMoversComputation' :: DimensionField
category = DimensionField
a} :: TopBottomMoversComputation)
topBottomMoversComputation_type :: Lens.Lens' TopBottomMoversComputation TopBottomComputationType
topBottomMoversComputation_type :: Lens' TopBottomMoversComputation TopBottomComputationType
topBottomMoversComputation_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TopBottomMoversComputation' {TopBottomComputationType
type' :: TopBottomComputationType
$sel:type':TopBottomMoversComputation' :: TopBottomMoversComputation -> TopBottomComputationType
type'} -> TopBottomComputationType
type') (\s :: TopBottomMoversComputation
s@TopBottomMoversComputation' {} TopBottomComputationType
a -> TopBottomMoversComputation
s {$sel:type':TopBottomMoversComputation' :: TopBottomComputationType
type' = TopBottomComputationType
a} :: TopBottomMoversComputation)
instance Data.FromJSON TopBottomMoversComputation where
parseJSON :: Value -> Parser TopBottomMoversComputation
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"TopBottomMoversComputation"
( \Object
x ->
Maybe Natural
-> Maybe Text
-> Maybe TopBottomSortOrder
-> Maybe MeasureField
-> Text
-> DimensionField
-> DimensionField
-> TopBottomComputationType
-> TopBottomMoversComputation
TopBottomMoversComputation'
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
"MoverSize")
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
"Name")
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
"SortOrder")
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
"Value")
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
"ComputationId")
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
"Time")
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
"Category")
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
"Type")
)
instance Prelude.Hashable TopBottomMoversComputation where
hashWithSalt :: Int -> TopBottomMoversComputation -> Int
hashWithSalt Int
_salt TopBottomMoversComputation' {Maybe Natural
Maybe Text
Maybe TopBottomSortOrder
Maybe MeasureField
Text
TopBottomComputationType
DimensionField
type' :: TopBottomComputationType
category :: DimensionField
time :: DimensionField
computationId :: Text
value :: Maybe MeasureField
sortOrder :: Maybe TopBottomSortOrder
name :: Maybe Text
moverSize :: Maybe Natural
$sel:type':TopBottomMoversComputation' :: TopBottomMoversComputation -> TopBottomComputationType
$sel:category:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:time:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:computationId:TopBottomMoversComputation' :: TopBottomMoversComputation -> Text
$sel:value:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe MeasureField
$sel:sortOrder:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe TopBottomSortOrder
$sel:name:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Text
$sel:moverSize:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
moverSize
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TopBottomSortOrder
sortOrder
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MeasureField
value
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
computationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DimensionField
time
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DimensionField
category
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TopBottomComputationType
type'
instance Prelude.NFData TopBottomMoversComputation where
rnf :: TopBottomMoversComputation -> ()
rnf TopBottomMoversComputation' {Maybe Natural
Maybe Text
Maybe TopBottomSortOrder
Maybe MeasureField
Text
TopBottomComputationType
DimensionField
type' :: TopBottomComputationType
category :: DimensionField
time :: DimensionField
computationId :: Text
value :: Maybe MeasureField
sortOrder :: Maybe TopBottomSortOrder
name :: Maybe Text
moverSize :: Maybe Natural
$sel:type':TopBottomMoversComputation' :: TopBottomMoversComputation -> TopBottomComputationType
$sel:category:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:time:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:computationId:TopBottomMoversComputation' :: TopBottomMoversComputation -> Text
$sel:value:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe MeasureField
$sel:sortOrder:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe TopBottomSortOrder
$sel:name:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Text
$sel:moverSize:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
moverSize
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TopBottomSortOrder
sortOrder
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MeasureField
value
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
computationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DimensionField
time
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DimensionField
category
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TopBottomComputationType
type'
instance Data.ToJSON TopBottomMoversComputation where
toJSON :: TopBottomMoversComputation -> Value
toJSON TopBottomMoversComputation' {Maybe Natural
Maybe Text
Maybe TopBottomSortOrder
Maybe MeasureField
Text
TopBottomComputationType
DimensionField
type' :: TopBottomComputationType
category :: DimensionField
time :: DimensionField
computationId :: Text
value :: Maybe MeasureField
sortOrder :: Maybe TopBottomSortOrder
name :: Maybe Text
moverSize :: Maybe Natural
$sel:type':TopBottomMoversComputation' :: TopBottomMoversComputation -> TopBottomComputationType
$sel:category:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:time:TopBottomMoversComputation' :: TopBottomMoversComputation -> DimensionField
$sel:computationId:TopBottomMoversComputation' :: TopBottomMoversComputation -> Text
$sel:value:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe MeasureField
$sel:sortOrder:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe TopBottomSortOrder
$sel:name:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Text
$sel:moverSize:TopBottomMoversComputation' :: TopBottomMoversComputation -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"MoverSize" 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 Natural
moverSize,
(Key
"Name" 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 Text
name,
(Key
"SortOrder" 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 TopBottomSortOrder
sortOrder,
(Key
"Value" 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 MeasureField
value,
forall a. a -> Maybe a
Prelude.Just (Key
"ComputationId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
computationId),
forall a. a -> Maybe a
Prelude.Just (Key
"Time" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DimensionField
time),
forall a. a -> Maybe a
Prelude.Just (Key
"Category" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DimensionField
category),
forall a. a -> Maybe a
Prelude.Just (Key
"Type" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= TopBottomComputationType
type')
]
)