module Stratosphere.QuickSight.Dashboard.DrillDownFilterProperty (
module Exports, DrillDownFilterProperty(..),
mkDrillDownFilterProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.CategoryDrillDownFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.NumericEqualityDrillDownFilterProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.TimeRangeDrillDownFilterProperty as Exports
import Stratosphere.ResourceProperties
data DrillDownFilterProperty
=
DrillDownFilterProperty {DrillDownFilterProperty -> ()
haddock_workaround_ :: (),
DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
categoryFilter :: (Prelude.Maybe CategoryDrillDownFilterProperty),
DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
numericEqualityFilter :: (Prelude.Maybe NumericEqualityDrillDownFilterProperty),
DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
timeRangeFilter :: (Prelude.Maybe TimeRangeDrillDownFilterProperty)}
deriving stock (DrillDownFilterProperty -> DrillDownFilterProperty -> Bool
(DrillDownFilterProperty -> DrillDownFilterProperty -> Bool)
-> (DrillDownFilterProperty -> DrillDownFilterProperty -> Bool)
-> Eq DrillDownFilterProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DrillDownFilterProperty -> DrillDownFilterProperty -> Bool
== :: DrillDownFilterProperty -> DrillDownFilterProperty -> Bool
$c/= :: DrillDownFilterProperty -> DrillDownFilterProperty -> Bool
/= :: DrillDownFilterProperty -> DrillDownFilterProperty -> Bool
Prelude.Eq, Int -> DrillDownFilterProperty -> ShowS
[DrillDownFilterProperty] -> ShowS
DrillDownFilterProperty -> String
(Int -> DrillDownFilterProperty -> ShowS)
-> (DrillDownFilterProperty -> String)
-> ([DrillDownFilterProperty] -> ShowS)
-> Show DrillDownFilterProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DrillDownFilterProperty -> ShowS
showsPrec :: Int -> DrillDownFilterProperty -> ShowS
$cshow :: DrillDownFilterProperty -> String
show :: DrillDownFilterProperty -> String
$cshowList :: [DrillDownFilterProperty] -> ShowS
showList :: [DrillDownFilterProperty] -> ShowS
Prelude.Show)
mkDrillDownFilterProperty :: DrillDownFilterProperty
mkDrillDownFilterProperty :: DrillDownFilterProperty
mkDrillDownFilterProperty
= DrillDownFilterProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), categoryFilter :: Maybe CategoryDrillDownFilterProperty
categoryFilter = Maybe CategoryDrillDownFilterProperty
forall a. Maybe a
Prelude.Nothing,
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
numericEqualityFilter = Maybe NumericEqualityDrillDownFilterProperty
forall a. Maybe a
Prelude.Nothing,
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
timeRangeFilter = Maybe TimeRangeDrillDownFilterProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties DrillDownFilterProperty where
toResourceProperties :: DrillDownFilterProperty -> ResourceProperties
toResourceProperties DrillDownFilterProperty {Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: DrillDownFilterProperty -> ()
categoryFilter :: DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::QuickSight::Dashboard.DrillDownFilter",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> CategoryDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CategoryFilter" (CategoryDrillDownFilterProperty -> (Key, Value))
-> Maybe CategoryDrillDownFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CategoryDrillDownFilterProperty
categoryFilter,
Key -> NumericEqualityDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericEqualityFilter"
(NumericEqualityDrillDownFilterProperty -> (Key, Value))
-> Maybe NumericEqualityDrillDownFilterProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericEqualityDrillDownFilterProperty
numericEqualityFilter,
Key -> TimeRangeDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeRangeFilter" (TimeRangeDrillDownFilterProperty -> (Key, Value))
-> Maybe TimeRangeDrillDownFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeRangeDrillDownFilterProperty
timeRangeFilter])}
instance JSON.ToJSON DrillDownFilterProperty where
toJSON :: DrillDownFilterProperty -> Value
toJSON DrillDownFilterProperty {Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: DrillDownFilterProperty -> ()
categoryFilter :: DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> CategoryDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CategoryFilter" (CategoryDrillDownFilterProperty -> (Key, Value))
-> Maybe CategoryDrillDownFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CategoryDrillDownFilterProperty
categoryFilter,
Key -> NumericEqualityDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NumericEqualityFilter"
(NumericEqualityDrillDownFilterProperty -> (Key, Value))
-> Maybe NumericEqualityDrillDownFilterProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NumericEqualityDrillDownFilterProperty
numericEqualityFilter,
Key -> TimeRangeDrillDownFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimeRangeFilter" (TimeRangeDrillDownFilterProperty -> (Key, Value))
-> Maybe TimeRangeDrillDownFilterProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimeRangeDrillDownFilterProperty
timeRangeFilter]))
instance Property "CategoryFilter" DrillDownFilterProperty where
type PropertyType "CategoryFilter" DrillDownFilterProperty = CategoryDrillDownFilterProperty
set :: PropertyType "CategoryFilter" DrillDownFilterProperty
-> DrillDownFilterProperty -> DrillDownFilterProperty
set PropertyType "CategoryFilter" DrillDownFilterProperty
newValue DrillDownFilterProperty {Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: DrillDownFilterProperty -> ()
categoryFilter :: DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
= DrillDownFilterProperty
{categoryFilter :: Maybe CategoryDrillDownFilterProperty
categoryFilter = CategoryDrillDownFilterProperty
-> Maybe CategoryDrillDownFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "CategoryFilter" DrillDownFilterProperty
CategoryDrillDownFilterProperty
newValue, Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: ()
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
instance Property "NumericEqualityFilter" DrillDownFilterProperty where
type PropertyType "NumericEqualityFilter" DrillDownFilterProperty = NumericEqualityDrillDownFilterProperty
set :: PropertyType "NumericEqualityFilter" DrillDownFilterProperty
-> DrillDownFilterProperty -> DrillDownFilterProperty
set PropertyType "NumericEqualityFilter" DrillDownFilterProperty
newValue DrillDownFilterProperty {Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: DrillDownFilterProperty -> ()
categoryFilter :: DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
= DrillDownFilterProperty
{numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
numericEqualityFilter = NumericEqualityDrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NumericEqualityFilter" DrillDownFilterProperty
NumericEqualityDrillDownFilterProperty
newValue, Maybe CategoryDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
instance Property "TimeRangeFilter" DrillDownFilterProperty where
type PropertyType "TimeRangeFilter" DrillDownFilterProperty = TimeRangeDrillDownFilterProperty
set :: PropertyType "TimeRangeFilter" DrillDownFilterProperty
-> DrillDownFilterProperty -> DrillDownFilterProperty
set PropertyType "TimeRangeFilter" DrillDownFilterProperty
newValue DrillDownFilterProperty {Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
Maybe TimeRangeDrillDownFilterProperty
()
haddock_workaround_ :: DrillDownFilterProperty -> ()
categoryFilter :: DrillDownFilterProperty -> Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: DrillDownFilterProperty
-> Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: DrillDownFilterProperty -> Maybe TimeRangeDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
..}
= DrillDownFilterProperty
{timeRangeFilter :: Maybe TimeRangeDrillDownFilterProperty
timeRangeFilter = TimeRangeDrillDownFilterProperty
-> Maybe TimeRangeDrillDownFilterProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TimeRangeFilter" DrillDownFilterProperty
TimeRangeDrillDownFilterProperty
newValue, Maybe CategoryDrillDownFilterProperty
Maybe NumericEqualityDrillDownFilterProperty
()
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
haddock_workaround_ :: ()
categoryFilter :: Maybe CategoryDrillDownFilterProperty
numericEqualityFilter :: Maybe NumericEqualityDrillDownFilterProperty
..}