{-# 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.PivotTableConfiguration 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.PivotTableFieldOptions
import Amazonka.QuickSight.Types.PivotTableFieldWells
import Amazonka.QuickSight.Types.PivotTableOptions
import Amazonka.QuickSight.Types.PivotTablePaginatedReportOptions
import Amazonka.QuickSight.Types.PivotTableSortConfiguration
import Amazonka.QuickSight.Types.PivotTableTotalOptions
data PivotTableConfiguration = PivotTableConfiguration'
{
PivotTableConfiguration -> Maybe PivotTableFieldOptions
fieldOptions :: Prelude.Maybe PivotTableFieldOptions,
PivotTableConfiguration -> Maybe PivotTableFieldWells
fieldWells :: Prelude.Maybe PivotTableFieldWells,
PivotTableConfiguration -> Maybe PivotTablePaginatedReportOptions
paginatedReportOptions :: Prelude.Maybe PivotTablePaginatedReportOptions,
PivotTableConfiguration -> Maybe PivotTableSortConfiguration
sortConfiguration :: Prelude.Maybe PivotTableSortConfiguration,
PivotTableConfiguration -> Maybe PivotTableOptions
tableOptions :: Prelude.Maybe PivotTableOptions,
PivotTableConfiguration -> Maybe PivotTableTotalOptions
totalOptions :: Prelude.Maybe PivotTableTotalOptions
}
deriving (PivotTableConfiguration -> PivotTableConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PivotTableConfiguration -> PivotTableConfiguration -> Bool
$c/= :: PivotTableConfiguration -> PivotTableConfiguration -> Bool
== :: PivotTableConfiguration -> PivotTableConfiguration -> Bool
$c== :: PivotTableConfiguration -> PivotTableConfiguration -> Bool
Prelude.Eq, Int -> PivotTableConfiguration -> ShowS
[PivotTableConfiguration] -> ShowS
PivotTableConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PivotTableConfiguration] -> ShowS
$cshowList :: [PivotTableConfiguration] -> ShowS
show :: PivotTableConfiguration -> String
$cshow :: PivotTableConfiguration -> String
showsPrec :: Int -> PivotTableConfiguration -> ShowS
$cshowsPrec :: Int -> PivotTableConfiguration -> ShowS
Prelude.Show, forall x. Rep PivotTableConfiguration x -> PivotTableConfiguration
forall x. PivotTableConfiguration -> Rep PivotTableConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PivotTableConfiguration x -> PivotTableConfiguration
$cfrom :: forall x. PivotTableConfiguration -> Rep PivotTableConfiguration x
Prelude.Generic)
newPivotTableConfiguration ::
PivotTableConfiguration
newPivotTableConfiguration :: PivotTableConfiguration
newPivotTableConfiguration =
PivotTableConfiguration'
{ $sel:fieldOptions:PivotTableConfiguration' :: Maybe PivotTableFieldOptions
fieldOptions =
forall a. Maybe a
Prelude.Nothing,
$sel:fieldWells:PivotTableConfiguration' :: Maybe PivotTableFieldWells
fieldWells = forall a. Maybe a
Prelude.Nothing,
$sel:paginatedReportOptions:PivotTableConfiguration' :: Maybe PivotTablePaginatedReportOptions
paginatedReportOptions = forall a. Maybe a
Prelude.Nothing,
$sel:sortConfiguration:PivotTableConfiguration' :: Maybe PivotTableSortConfiguration
sortConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:tableOptions:PivotTableConfiguration' :: Maybe PivotTableOptions
tableOptions = forall a. Maybe a
Prelude.Nothing,
$sel:totalOptions:PivotTableConfiguration' :: Maybe PivotTableTotalOptions
totalOptions = forall a. Maybe a
Prelude.Nothing
}
pivotTableConfiguration_fieldOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableFieldOptions)
pivotTableConfiguration_fieldOptions :: Lens' PivotTableConfiguration (Maybe PivotTableFieldOptions)
pivotTableConfiguration_fieldOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTableFieldOptions
fieldOptions :: Maybe PivotTableFieldOptions
$sel:fieldOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldOptions
fieldOptions} -> Maybe PivotTableFieldOptions
fieldOptions) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTableFieldOptions
a -> PivotTableConfiguration
s {$sel:fieldOptions:PivotTableConfiguration' :: Maybe PivotTableFieldOptions
fieldOptions = Maybe PivotTableFieldOptions
a} :: PivotTableConfiguration)
pivotTableConfiguration_fieldWells :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableFieldWells)
pivotTableConfiguration_fieldWells :: Lens' PivotTableConfiguration (Maybe PivotTableFieldWells)
pivotTableConfiguration_fieldWells = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTableFieldWells
fieldWells :: Maybe PivotTableFieldWells
$sel:fieldWells:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldWells
fieldWells} -> Maybe PivotTableFieldWells
fieldWells) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTableFieldWells
a -> PivotTableConfiguration
s {$sel:fieldWells:PivotTableConfiguration' :: Maybe PivotTableFieldWells
fieldWells = Maybe PivotTableFieldWells
a} :: PivotTableConfiguration)
pivotTableConfiguration_paginatedReportOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTablePaginatedReportOptions)
pivotTableConfiguration_paginatedReportOptions :: Lens'
PivotTableConfiguration (Maybe PivotTablePaginatedReportOptions)
pivotTableConfiguration_paginatedReportOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTablePaginatedReportOptions
paginatedReportOptions :: Maybe PivotTablePaginatedReportOptions
$sel:paginatedReportOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTablePaginatedReportOptions
paginatedReportOptions} -> Maybe PivotTablePaginatedReportOptions
paginatedReportOptions) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTablePaginatedReportOptions
a -> PivotTableConfiguration
s {$sel:paginatedReportOptions:PivotTableConfiguration' :: Maybe PivotTablePaginatedReportOptions
paginatedReportOptions = Maybe PivotTablePaginatedReportOptions
a} :: PivotTableConfiguration)
pivotTableConfiguration_sortConfiguration :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableSortConfiguration)
pivotTableConfiguration_sortConfiguration :: Lens' PivotTableConfiguration (Maybe PivotTableSortConfiguration)
pivotTableConfiguration_sortConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTableSortConfiguration
sortConfiguration :: Maybe PivotTableSortConfiguration
$sel:sortConfiguration:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableSortConfiguration
sortConfiguration} -> Maybe PivotTableSortConfiguration
sortConfiguration) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTableSortConfiguration
a -> PivotTableConfiguration
s {$sel:sortConfiguration:PivotTableConfiguration' :: Maybe PivotTableSortConfiguration
sortConfiguration = Maybe PivotTableSortConfiguration
a} :: PivotTableConfiguration)
pivotTableConfiguration_tableOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableOptions)
pivotTableConfiguration_tableOptions :: Lens' PivotTableConfiguration (Maybe PivotTableOptions)
pivotTableConfiguration_tableOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTableOptions
tableOptions :: Maybe PivotTableOptions
$sel:tableOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableOptions
tableOptions} -> Maybe PivotTableOptions
tableOptions) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTableOptions
a -> PivotTableConfiguration
s {$sel:tableOptions:PivotTableConfiguration' :: Maybe PivotTableOptions
tableOptions = Maybe PivotTableOptions
a} :: PivotTableConfiguration)
pivotTableConfiguration_totalOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableTotalOptions)
pivotTableConfiguration_totalOptions :: Lens' PivotTableConfiguration (Maybe PivotTableTotalOptions)
pivotTableConfiguration_totalOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PivotTableConfiguration' {Maybe PivotTableTotalOptions
totalOptions :: Maybe PivotTableTotalOptions
$sel:totalOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableTotalOptions
totalOptions} -> Maybe PivotTableTotalOptions
totalOptions) (\s :: PivotTableConfiguration
s@PivotTableConfiguration' {} Maybe PivotTableTotalOptions
a -> PivotTableConfiguration
s {$sel:totalOptions:PivotTableConfiguration' :: Maybe PivotTableTotalOptions
totalOptions = Maybe PivotTableTotalOptions
a} :: PivotTableConfiguration)
instance Data.FromJSON PivotTableConfiguration where
parseJSON :: Value -> Parser PivotTableConfiguration
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"PivotTableConfiguration"
( \Object
x ->
Maybe PivotTableFieldOptions
-> Maybe PivotTableFieldWells
-> Maybe PivotTablePaginatedReportOptions
-> Maybe PivotTableSortConfiguration
-> Maybe PivotTableOptions
-> Maybe PivotTableTotalOptions
-> PivotTableConfiguration
PivotTableConfiguration'
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
"FieldOptions")
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
"PaginatedReportOptions")
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
"SortConfiguration")
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
"TableOptions")
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
"TotalOptions")
)
instance Prelude.Hashable PivotTableConfiguration where
hashWithSalt :: Int -> PivotTableConfiguration -> Int
hashWithSalt Int
_salt PivotTableConfiguration' {Maybe PivotTableSortConfiguration
Maybe PivotTableFieldWells
Maybe PivotTableTotalOptions
Maybe PivotTablePaginatedReportOptions
Maybe PivotTableFieldOptions
Maybe PivotTableOptions
totalOptions :: Maybe PivotTableTotalOptions
tableOptions :: Maybe PivotTableOptions
sortConfiguration :: Maybe PivotTableSortConfiguration
paginatedReportOptions :: Maybe PivotTablePaginatedReportOptions
fieldWells :: Maybe PivotTableFieldWells
fieldOptions :: Maybe PivotTableFieldOptions
$sel:totalOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableTotalOptions
$sel:tableOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableOptions
$sel:sortConfiguration:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableSortConfiguration
$sel:paginatedReportOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTablePaginatedReportOptions
$sel:fieldWells:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldWells
$sel:fieldOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldOptions
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTableFieldOptions
fieldOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTableFieldWells
fieldWells
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTablePaginatedReportOptions
paginatedReportOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTableSortConfiguration
sortConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTableOptions
tableOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PivotTableTotalOptions
totalOptions
instance Prelude.NFData PivotTableConfiguration where
rnf :: PivotTableConfiguration -> ()
rnf PivotTableConfiguration' {Maybe PivotTableSortConfiguration
Maybe PivotTableFieldWells
Maybe PivotTableTotalOptions
Maybe PivotTablePaginatedReportOptions
Maybe PivotTableFieldOptions
Maybe PivotTableOptions
totalOptions :: Maybe PivotTableTotalOptions
tableOptions :: Maybe PivotTableOptions
sortConfiguration :: Maybe PivotTableSortConfiguration
paginatedReportOptions :: Maybe PivotTablePaginatedReportOptions
fieldWells :: Maybe PivotTableFieldWells
fieldOptions :: Maybe PivotTableFieldOptions
$sel:totalOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableTotalOptions
$sel:tableOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableOptions
$sel:sortConfiguration:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableSortConfiguration
$sel:paginatedReportOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTablePaginatedReportOptions
$sel:fieldWells:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldWells
$sel:fieldOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTableFieldOptions
fieldOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTableFieldWells
fieldWells
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTablePaginatedReportOptions
paginatedReportOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTableSortConfiguration
sortConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTableOptions
tableOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PivotTableTotalOptions
totalOptions
instance Data.ToJSON PivotTableConfiguration where
toJSON :: PivotTableConfiguration -> Value
toJSON PivotTableConfiguration' {Maybe PivotTableSortConfiguration
Maybe PivotTableFieldWells
Maybe PivotTableTotalOptions
Maybe PivotTablePaginatedReportOptions
Maybe PivotTableFieldOptions
Maybe PivotTableOptions
totalOptions :: Maybe PivotTableTotalOptions
tableOptions :: Maybe PivotTableOptions
sortConfiguration :: Maybe PivotTableSortConfiguration
paginatedReportOptions :: Maybe PivotTablePaginatedReportOptions
fieldWells :: Maybe PivotTableFieldWells
fieldOptions :: Maybe PivotTableFieldOptions
$sel:totalOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableTotalOptions
$sel:tableOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableOptions
$sel:sortConfiguration:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableSortConfiguration
$sel:paginatedReportOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTablePaginatedReportOptions
$sel:fieldWells:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldWells
$sel:fieldOptions:PivotTableConfiguration' :: PivotTableConfiguration -> Maybe PivotTableFieldOptions
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"FieldOptions" 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 PivotTableFieldOptions
fieldOptions,
(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 PivotTableFieldWells
fieldWells,
(Key
"PaginatedReportOptions" 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 PivotTablePaginatedReportOptions
paginatedReportOptions,
(Key
"SortConfiguration" 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 PivotTableSortConfiguration
sortConfiguration,
(Key
"TableOptions" 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 PivotTableOptions
tableOptions,
(Key
"TotalOptions" 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 PivotTableTotalOptions
totalOptions
]
)