{-# 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.TableConfiguration 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.TableFieldOptions
import Amazonka.QuickSight.Types.TableFieldWells
import Amazonka.QuickSight.Types.TableOptions
import Amazonka.QuickSight.Types.TablePaginatedReportOptions
import Amazonka.QuickSight.Types.TableSortConfiguration
import Amazonka.QuickSight.Types.TotalOptions
data TableConfiguration = TableConfiguration'
{
TableConfiguration -> Maybe TableFieldOptions
fieldOptions :: Prelude.Maybe TableFieldOptions,
TableConfiguration -> Maybe TableFieldWells
fieldWells :: Prelude.Maybe TableFieldWells,
TableConfiguration -> Maybe TablePaginatedReportOptions
paginatedReportOptions :: Prelude.Maybe TablePaginatedReportOptions,
TableConfiguration -> Maybe TableSortConfiguration
sortConfiguration :: Prelude.Maybe TableSortConfiguration,
TableConfiguration -> Maybe TableOptions
tableOptions :: Prelude.Maybe TableOptions,
TableConfiguration -> Maybe TotalOptions
totalOptions :: Prelude.Maybe TotalOptions
}
deriving (TableConfiguration -> TableConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableConfiguration -> TableConfiguration -> Bool
$c/= :: TableConfiguration -> TableConfiguration -> Bool
== :: TableConfiguration -> TableConfiguration -> Bool
$c== :: TableConfiguration -> TableConfiguration -> Bool
Prelude.Eq, Int -> TableConfiguration -> ShowS
[TableConfiguration] -> ShowS
TableConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TableConfiguration] -> ShowS
$cshowList :: [TableConfiguration] -> ShowS
show :: TableConfiguration -> String
$cshow :: TableConfiguration -> String
showsPrec :: Int -> TableConfiguration -> ShowS
$cshowsPrec :: Int -> TableConfiguration -> ShowS
Prelude.Show, forall x. Rep TableConfiguration x -> TableConfiguration
forall x. TableConfiguration -> Rep TableConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TableConfiguration x -> TableConfiguration
$cfrom :: forall x. TableConfiguration -> Rep TableConfiguration x
Prelude.Generic)
newTableConfiguration ::
TableConfiguration
newTableConfiguration :: TableConfiguration
newTableConfiguration =
TableConfiguration'
{ $sel:fieldOptions:TableConfiguration' :: Maybe TableFieldOptions
fieldOptions = forall a. Maybe a
Prelude.Nothing,
$sel:fieldWells:TableConfiguration' :: Maybe TableFieldWells
fieldWells = forall a. Maybe a
Prelude.Nothing,
$sel:paginatedReportOptions:TableConfiguration' :: Maybe TablePaginatedReportOptions
paginatedReportOptions = forall a. Maybe a
Prelude.Nothing,
$sel:sortConfiguration:TableConfiguration' :: Maybe TableSortConfiguration
sortConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:tableOptions:TableConfiguration' :: Maybe TableOptions
tableOptions = forall a. Maybe a
Prelude.Nothing,
$sel:totalOptions:TableConfiguration' :: Maybe TotalOptions
totalOptions = forall a. Maybe a
Prelude.Nothing
}
tableConfiguration_fieldOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TableFieldOptions)
tableConfiguration_fieldOptions :: Lens' TableConfiguration (Maybe TableFieldOptions)
tableConfiguration_fieldOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TableFieldOptions
fieldOptions :: Maybe TableFieldOptions
$sel:fieldOptions:TableConfiguration' :: TableConfiguration -> Maybe TableFieldOptions
fieldOptions} -> Maybe TableFieldOptions
fieldOptions) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TableFieldOptions
a -> TableConfiguration
s {$sel:fieldOptions:TableConfiguration' :: Maybe TableFieldOptions
fieldOptions = Maybe TableFieldOptions
a} :: TableConfiguration)
tableConfiguration_fieldWells :: Lens.Lens' TableConfiguration (Prelude.Maybe TableFieldWells)
tableConfiguration_fieldWells :: Lens' TableConfiguration (Maybe TableFieldWells)
tableConfiguration_fieldWells = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TableFieldWells
fieldWells :: Maybe TableFieldWells
$sel:fieldWells:TableConfiguration' :: TableConfiguration -> Maybe TableFieldWells
fieldWells} -> Maybe TableFieldWells
fieldWells) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TableFieldWells
a -> TableConfiguration
s {$sel:fieldWells:TableConfiguration' :: Maybe TableFieldWells
fieldWells = Maybe TableFieldWells
a} :: TableConfiguration)
tableConfiguration_paginatedReportOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TablePaginatedReportOptions)
tableConfiguration_paginatedReportOptions :: Lens' TableConfiguration (Maybe TablePaginatedReportOptions)
tableConfiguration_paginatedReportOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TablePaginatedReportOptions
paginatedReportOptions :: Maybe TablePaginatedReportOptions
$sel:paginatedReportOptions:TableConfiguration' :: TableConfiguration -> Maybe TablePaginatedReportOptions
paginatedReportOptions} -> Maybe TablePaginatedReportOptions
paginatedReportOptions) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TablePaginatedReportOptions
a -> TableConfiguration
s {$sel:paginatedReportOptions:TableConfiguration' :: Maybe TablePaginatedReportOptions
paginatedReportOptions = Maybe TablePaginatedReportOptions
a} :: TableConfiguration)
tableConfiguration_sortConfiguration :: Lens.Lens' TableConfiguration (Prelude.Maybe TableSortConfiguration)
tableConfiguration_sortConfiguration :: Lens' TableConfiguration (Maybe TableSortConfiguration)
tableConfiguration_sortConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TableSortConfiguration
sortConfiguration :: Maybe TableSortConfiguration
$sel:sortConfiguration:TableConfiguration' :: TableConfiguration -> Maybe TableSortConfiguration
sortConfiguration} -> Maybe TableSortConfiguration
sortConfiguration) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TableSortConfiguration
a -> TableConfiguration
s {$sel:sortConfiguration:TableConfiguration' :: Maybe TableSortConfiguration
sortConfiguration = Maybe TableSortConfiguration
a} :: TableConfiguration)
tableConfiguration_tableOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TableOptions)
tableConfiguration_tableOptions :: Lens' TableConfiguration (Maybe TableOptions)
tableConfiguration_tableOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TableOptions
tableOptions :: Maybe TableOptions
$sel:tableOptions:TableConfiguration' :: TableConfiguration -> Maybe TableOptions
tableOptions} -> Maybe TableOptions
tableOptions) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TableOptions
a -> TableConfiguration
s {$sel:tableOptions:TableConfiguration' :: Maybe TableOptions
tableOptions = Maybe TableOptions
a} :: TableConfiguration)
tableConfiguration_totalOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TotalOptions)
tableConfiguration_totalOptions :: Lens' TableConfiguration (Maybe TotalOptions)
tableConfiguration_totalOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableConfiguration' {Maybe TotalOptions
totalOptions :: Maybe TotalOptions
$sel:totalOptions:TableConfiguration' :: TableConfiguration -> Maybe TotalOptions
totalOptions} -> Maybe TotalOptions
totalOptions) (\s :: TableConfiguration
s@TableConfiguration' {} Maybe TotalOptions
a -> TableConfiguration
s {$sel:totalOptions:TableConfiguration' :: Maybe TotalOptions
totalOptions = Maybe TotalOptions
a} :: TableConfiguration)
instance Data.FromJSON TableConfiguration where
parseJSON :: Value -> Parser TableConfiguration
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"TableConfiguration"
( \Object
x ->
Maybe TableFieldOptions
-> Maybe TableFieldWells
-> Maybe TablePaginatedReportOptions
-> Maybe TableSortConfiguration
-> Maybe TableOptions
-> Maybe TotalOptions
-> TableConfiguration
TableConfiguration'
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 TableConfiguration where
hashWithSalt :: Int -> TableConfiguration -> Int
hashWithSalt Int
_salt TableConfiguration' {Maybe TableSortConfiguration
Maybe TableFieldWells
Maybe TablePaginatedReportOptions
Maybe TableFieldOptions
Maybe TotalOptions
Maybe TableOptions
totalOptions :: Maybe TotalOptions
tableOptions :: Maybe TableOptions
sortConfiguration :: Maybe TableSortConfiguration
paginatedReportOptions :: Maybe TablePaginatedReportOptions
fieldWells :: Maybe TableFieldWells
fieldOptions :: Maybe TableFieldOptions
$sel:totalOptions:TableConfiguration' :: TableConfiguration -> Maybe TotalOptions
$sel:tableOptions:TableConfiguration' :: TableConfiguration -> Maybe TableOptions
$sel:sortConfiguration:TableConfiguration' :: TableConfiguration -> Maybe TableSortConfiguration
$sel:paginatedReportOptions:TableConfiguration' :: TableConfiguration -> Maybe TablePaginatedReportOptions
$sel:fieldWells:TableConfiguration' :: TableConfiguration -> Maybe TableFieldWells
$sel:fieldOptions:TableConfiguration' :: TableConfiguration -> Maybe TableFieldOptions
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableFieldOptions
fieldOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableFieldWells
fieldWells
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TablePaginatedReportOptions
paginatedReportOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableSortConfiguration
sortConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableOptions
tableOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TotalOptions
totalOptions
instance Prelude.NFData TableConfiguration where
rnf :: TableConfiguration -> ()
rnf TableConfiguration' {Maybe TableSortConfiguration
Maybe TableFieldWells
Maybe TablePaginatedReportOptions
Maybe TableFieldOptions
Maybe TotalOptions
Maybe TableOptions
totalOptions :: Maybe TotalOptions
tableOptions :: Maybe TableOptions
sortConfiguration :: Maybe TableSortConfiguration
paginatedReportOptions :: Maybe TablePaginatedReportOptions
fieldWells :: Maybe TableFieldWells
fieldOptions :: Maybe TableFieldOptions
$sel:totalOptions:TableConfiguration' :: TableConfiguration -> Maybe TotalOptions
$sel:tableOptions:TableConfiguration' :: TableConfiguration -> Maybe TableOptions
$sel:sortConfiguration:TableConfiguration' :: TableConfiguration -> Maybe TableSortConfiguration
$sel:paginatedReportOptions:TableConfiguration' :: TableConfiguration -> Maybe TablePaginatedReportOptions
$sel:fieldWells:TableConfiguration' :: TableConfiguration -> Maybe TableFieldWells
$sel:fieldOptions:TableConfiguration' :: TableConfiguration -> Maybe TableFieldOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe TableFieldOptions
fieldOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableFieldWells
fieldWells
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TablePaginatedReportOptions
paginatedReportOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableSortConfiguration
sortConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableOptions
tableOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TotalOptions
totalOptions
instance Data.ToJSON TableConfiguration where
toJSON :: TableConfiguration -> Value
toJSON TableConfiguration' {Maybe TableSortConfiguration
Maybe TableFieldWells
Maybe TablePaginatedReportOptions
Maybe TableFieldOptions
Maybe TotalOptions
Maybe TableOptions
totalOptions :: Maybe TotalOptions
tableOptions :: Maybe TableOptions
sortConfiguration :: Maybe TableSortConfiguration
paginatedReportOptions :: Maybe TablePaginatedReportOptions
fieldWells :: Maybe TableFieldWells
fieldOptions :: Maybe TableFieldOptions
$sel:totalOptions:TableConfiguration' :: TableConfiguration -> Maybe TotalOptions
$sel:tableOptions:TableConfiguration' :: TableConfiguration -> Maybe TableOptions
$sel:sortConfiguration:TableConfiguration' :: TableConfiguration -> Maybe TableSortConfiguration
$sel:paginatedReportOptions:TableConfiguration' :: TableConfiguration -> Maybe TablePaginatedReportOptions
$sel:fieldWells:TableConfiguration' :: TableConfiguration -> Maybe TableFieldWells
$sel:fieldOptions:TableConfiguration' :: TableConfiguration -> Maybe TableFieldOptions
..} =
[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 TableFieldOptions
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 TableFieldWells
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 TablePaginatedReportOptions
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 TableSortConfiguration
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 TableOptions
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 TotalOptions
totalOptions
]
)